提交
Showing
27 changed files
with
7681 additions
and
171 deletions
package-lock.json
0 → 100644
This diff could not be displayed because it is too large.
| ... | @@ -19,6 +19,7 @@ | ... | @@ -19,6 +19,7 @@ |
| 19 | "vant": "^2.12.48", | 19 | "vant": "^2.12.48", |
| 20 | "vue": "^2.7.8", | 20 | "vue": "^2.7.8", |
| 21 | "vue-router": "^3.5.4", | 21 | "vue-router": "^3.5.4", |
| 22 | "vuedraggable": "^2.24.3", | ||
| 22 | "vuex": "^3.6.2" | 23 | "vuex": "^3.6.2" |
| 23 | }, | 24 | }, |
| 24 | "devDependencies": { | 25 | "devDependencies": { | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style" /> | 10 | <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style" /> |
| 11 | <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet" /> | 11 | <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet" /> |
| 12 | <% } %> --> | 12 | <% } %> --> |
| 13 | <title><%= webpackConfig.name %></title> | 13 | <title>demo</title> |
| 14 | </head> | 14 | </head> |
| 15 | <body> | 15 | <body> |
| 16 | <noscript> | 16 | <noscript> | ... | ... |
| 1 | const api = { | 1 | const api = { |
| 2 | Login: '/user/login', | 2 | Login: '/user/login', |
| 3 | UserInfo: '/user/userinfo', | 3 | UserInfo: '/user/userinfo', |
| 4 | UserName: '/user/name' | 4 | UserName: '/user/name', |
| 5 | plan: 'apis/api', | ||
| 6 | session: 'session/os/oauth/token' | ||
| 5 | } | 7 | } |
| 6 | 8 | ||
| 7 | export default api | 9 | export default api | ... | ... |
| ... | @@ -30,3 +30,35 @@ export function getUserName(params) { | ... | @@ -30,3 +30,35 @@ export function getUserName(params) { |
| 30 | hideloading: true | 30 | hideloading: true |
| 31 | }) | 31 | }) |
| 32 | } | 32 | } |
| 33 | |||
| 34 | // 规划 | ||
| 35 | export function getPlan(data, params) { | ||
| 36 | return request({ | ||
| 37 | url: api.plan, | ||
| 38 | method: 'post', | ||
| 39 | data, | ||
| 40 | params, | ||
| 41 | hideloading: true | ||
| 42 | }) | ||
| 43 | } | ||
| 44 | // 规划2 | ||
| 45 | export function getPlan2(data, params) { | ||
| 46 | return request({ | ||
| 47 | url: api.plan, | ||
| 48 | method: 'post', | ||
| 49 | data, | ||
| 50 | params, | ||
| 51 | hideloading: true | ||
| 52 | }) | ||
| 53 | } | ||
| 54 | |||
| 55 | // 获取session | ||
| 56 | export function getSession(params, data) { | ||
| 57 | return request({ | ||
| 58 | url: api.session, | ||
| 59 | method: 'post', | ||
| 60 | params, | ||
| 61 | data, | ||
| 62 | headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, | ||
| 63 | }) | ||
| 64 | } | ... | ... |
| ... | @@ -2,14 +2,14 @@ | ... | @@ -2,14 +2,14 @@ |
| 2 | // 清除浮动 | 2 | // 清除浮动 |
| 3 | @mixin clearfix { | 3 | @mixin clearfix { |
| 4 | &:after { | 4 | &:after { |
| 5 | content: ""; | 5 | content: ''; |
| 6 | display: table; | 6 | display: table; |
| 7 | clear: both; | 7 | clear: both; |
| 8 | } | 8 | } |
| 9 | } | 9 | } |
| 10 | 10 | ||
| 11 | // 多行隐藏 | 11 | // 多行隐藏 |
| 12 | @mixin textoverflow($clamp:1) { | 12 | @mixin textoverflow($clamp: 1) { |
| 13 | display: block; | 13 | display: block; |
| 14 | overflow: hidden; | 14 | overflow: hidden; |
| 15 | text-overflow: ellipsis; | 15 | text-overflow: ellipsis; |
| ... | @@ -19,9 +19,26 @@ | ... | @@ -19,9 +19,26 @@ |
| 19 | /*! autoprefixer: ignore next */ | 19 | /*! autoprefixer: ignore next */ |
| 20 | -webkit-box-orient: vertical; | 20 | -webkit-box-orient: vertical; |
| 21 | } | 21 | } |
| 22 | 22 | .city { | |
| 23 | font-family: '微软雅黑'; | ||
| 24 | background: rgba(0, 0, 0, 0); | ||
| 25 | width: 249px; | ||
| 26 | height: 60px; | ||
| 27 | font-size: 36px; | ||
| 28 | text-align: center; | ||
| 29 | border: 1px #1a1a1a solid; | ||
| 30 | border-radius: 5px; | ||
| 31 | } | ||
| 32 | .text-button { | ||
| 33 | border: none; | ||
| 34 | background-color: transparent; | ||
| 35 | color: #328985; | ||
| 36 | font-size: 24px; | ||
| 37 | text-decoration: underline; | ||
| 38 | cursor: pointer; | ||
| 39 | } | ||
| 23 | //flex box | 40 | //flex box |
| 24 | @mixin flexbox($jc:space-between, $ai:center, $fd:row, $fw:nowrap) { | 41 | @mixin flexbox($jc: space-between, $ai: center, $fd: row, $fw: nowrap) { |
| 25 | display: flex; | 42 | display: flex; |
| 26 | display: -webkit-flex; | 43 | display: -webkit-flex; |
| 27 | flex: 1; | 44 | flex: 1; |
| ... | @@ -34,3 +51,25 @@ | ... | @@ -34,3 +51,25 @@ |
| 34 | flex-wrap: $fw; | 51 | flex-wrap: $fw; |
| 35 | -webkit-flex-wrap: $fw; | 52 | -webkit-flex-wrap: $fw; |
| 36 | } | 53 | } |
| 54 | /*定义滚动条高宽及背景 | ||
| 55 | 高宽分别对应横竖滚动条的尺寸*/ | ||
| 56 | ::-webkit-scrollbar { | ||
| 57 | width: 16px; | ||
| 58 | height: 16px; | ||
| 59 | background-color: #f5f5f5; | ||
| 60 | z-index: 999; | ||
| 61 | } | ||
| 62 | /*定义滚动条轨道 | ||
| 63 | 内阴影+圆角*/ | ||
| 64 | ::-webkit-scrollbar-track { | ||
| 65 | -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); | ||
| 66 | border-radius: 10px; | ||
| 67 | background-color: #f5f5f5; | ||
| 68 | } | ||
| 69 | /*定义滑块 | ||
| 70 | 内阴影+圆角*/ | ||
| 71 | ::-webkit-scrollbar-thumb { | ||
| 72 | border-radius: 10px; | ||
| 73 | -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); | ||
| 74 | background-color: #555; | ||
| 75 | } | ... | ... |
src/components/Table.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="vant-table"> | ||
| 3 | <table cellspacing="0" class="table" :style="{ width: width }"> | ||
| 4 | <vuedraggable v-model="orginData" :options="{ draggable: this.vuedraggable }" @start="onStart" @end="onEnd"> | ||
| 5 | <tr slot="header"> | ||
| 6 | <th class="th" v-if="showCheck"> | ||
| 7 | <input | ||
| 8 | type="checkbox" | ||
| 9 | id="j_cbAll" | ||
| 10 | :checked="isAllSelected" | ||
| 11 | @change="selectAllRows" | ||
| 12 | v-model="isAllSelected" | ||
| 13 | /> | ||
| 14 | </th> | ||
| 15 | <th class="th" v-for="(item, index) in option.column" :key="index" :style="{ width: item.width }"> | ||
| 16 | {{ item.label }} | ||
| 17 | </th> | ||
| 18 | </tr> | ||
| 19 | <tr | ||
| 20 | v-for="item in orginData" | ||
| 21 | :key="item.rowNo" | ||
| 22 | class="list-tr" | ||
| 23 | @click="handleRowClick(item)" | ||
| 24 | :class="{ 'selected-row': item.isClick }" | ||
| 25 | > | ||
| 26 | <td v-if="showCheck"> | ||
| 27 | <input type="checkbox" :checked="item.isSelected" v-model="item.isSelected" @change="selectRow(item)" /> | ||
| 28 | </td> | ||
| 29 | <td | ||
| 30 | v-for="(context, i) in option.column" | ||
| 31 | :key="i" | ||
| 32 | :style="[ | ||
| 33 | item[context.tableDataprop] === '已去' ? { color: 'green' } : {}, | ||
| 34 | item.type === 'new' ? { color: 'red' } : {}, | ||
| 35 | { textAlign: context.align }, | ||
| 36 | { width: context.width } | ||
| 37 | ]" | ||
| 38 | > | ||
| 39 | <slot :name="context.tableDataprop" :item="item"> <span v-html="item[context.tableDataprop]"></span></slot> | ||
| 40 | <!-- <slot :name="opreate" :item="item"></slot> --> | ||
| 41 | </td> | ||
| 42 | </tr> | ||
| 43 | </vuedraggable> | ||
| 44 | </table> | ||
| 45 | <div style="margin: 15px 15px"></div> | ||
| 46 | </div> | ||
| 47 | </template> | ||
| 48 | <script> | ||
| 49 | import vuedraggable from 'vuedraggable' | ||
| 50 | import _ from 'lodash' | ||
| 51 | export default { | ||
| 52 | name: 'TableVant', | ||
| 53 | components: { vuedraggable }, | ||
| 54 | props: { | ||
| 55 | bgcolor: { | ||
| 56 | type: Object | ||
| 57 | }, | ||
| 58 | width: { | ||
| 59 | type: String | ||
| 60 | }, | ||
| 61 | tableData: { | ||
| 62 | type: Array | ||
| 63 | }, | ||
| 64 | filterTable: { | ||
| 65 | type: Array | ||
| 66 | }, | ||
| 67 | delTable: { | ||
| 68 | type: Array | ||
| 69 | }, | ||
| 70 | option: { | ||
| 71 | type: Object | ||
| 72 | }, | ||
| 73 | showCheck: { | ||
| 74 | type: Boolean, | ||
| 75 | default: false | ||
| 76 | }, | ||
| 77 | vuedraggable: { | ||
| 78 | type: String | ||
| 79 | }, | ||
| 80 | rowClick: { | ||
| 81 | type: Boolean, | ||
| 82 | default: false | ||
| 83 | } | ||
| 84 | }, | ||
| 85 | watch: { | ||
| 86 | tableData: { | ||
| 87 | handler: function () { | ||
| 88 | this.orginData = _.cloneDeep(this.tableData) || [] | ||
| 89 | }, | ||
| 90 | deep: true, | ||
| 91 | immediate: true | ||
| 92 | }, | ||
| 93 | filterTable: { | ||
| 94 | handler: function () { | ||
| 95 | this.filterData = _.cloneDeep(this.filterTable) || [] | ||
| 96 | this.filterFlag = this.filterData.length > 0 ? true : false | ||
| 97 | }, | ||
| 98 | deep: true, | ||
| 99 | immediate: true | ||
| 100 | }, | ||
| 101 | delTable: { | ||
| 102 | handler: function () { | ||
| 103 | this.delData = _.cloneDeep(this.delTable) || [] | ||
| 104 | this.deleteFlag = this.delData.length > 0 ? true : false | ||
| 105 | }, | ||
| 106 | deep: true, | ||
| 107 | immediate: true | ||
| 108 | } | ||
| 109 | }, | ||
| 110 | data() { | ||
| 111 | return { | ||
| 112 | orginData: [], | ||
| 113 | filterData: [], | ||
| 114 | delData: [], | ||
| 115 | filterFlag: false, | ||
| 116 | deleteFlag: false, | ||
| 117 | isAllSelected: false, | ||
| 118 | selectedRows: [] | ||
| 119 | } | ||
| 120 | }, | ||
| 121 | created() {}, | ||
| 122 | mounted() {}, | ||
| 123 | methods: { | ||
| 124 | onStart() { | ||
| 125 | this.drag = true | ||
| 126 | console.log('1', this.orginData) | ||
| 127 | }, | ||
| 128 | handleRowClick(data) { | ||
| 129 | if (this.rowClick) { | ||
| 130 | this.orginData = this.orginData.map(item => { | ||
| 131 | item.isClick = false | ||
| 132 | return item | ||
| 133 | }) | ||
| 134 | this.$set(data, 'isClick', true) | ||
| 135 | this.$bus.$emit('rowData', data) | ||
| 136 | } | ||
| 137 | }, | ||
| 138 | onEnd() { | ||
| 139 | this.drag = false | ||
| 140 | console.log('2', this.orginData) | ||
| 141 | this.$bus.$emit('sortTableData', this.orginData) | ||
| 142 | }, | ||
| 143 | selectAllRows() { | ||
| 144 | if (this.isAllSelected) { | ||
| 145 | this.selectedRows = [...this.orginData] | ||
| 146 | this.orginData.forEach(item => { | ||
| 147 | this.$set(item, 'isSelected', true) | ||
| 148 | }) | ||
| 149 | } else { | ||
| 150 | this.selectedRows = [] | ||
| 151 | this.orginData.forEach(item => { | ||
| 152 | this.$set(item, 'isSelected', false) | ||
| 153 | }) | ||
| 154 | } | ||
| 155 | this.selectedRows = this.isAllSelected ? this.orginData : [] | ||
| 156 | this.$bus.$emit('selecte', this.selectedRows) | ||
| 157 | console.log(this.selectedRows) | ||
| 158 | }, | ||
| 159 | selectRow() { | ||
| 160 | this.selectedRows = this.orginData.filter(row => row.isSelected) | ||
| 161 | this.isAllSelected = this.selectedRows.length === this.orginData.length | ||
| 162 | this.$bus.$emit('selecte', this.selectedRows) | ||
| 163 | console.log(this.selectedRows) | ||
| 164 | } | ||
| 165 | } | ||
| 166 | } | ||
| 167 | </script> | ||
| 168 | |||
| 169 | <style scoped> | ||
| 170 | .selected-row { | ||
| 171 | background-color: yellow; | ||
| 172 | } | ||
| 173 | .vant-table { | ||
| 174 | margin-top: 20px; | ||
| 175 | } | ||
| 176 | |||
| 177 | table { | ||
| 178 | border-radius: 0.185185rem; | ||
| 179 | border-collapse: collapse; | ||
| 180 | /* 合并边框,美化表格样式 */ | ||
| 181 | table-layout: fixed; | ||
| 182 | table-layout: fixed; | ||
| 183 | width: 100%; | ||
| 184 | } | ||
| 185 | |||
| 186 | .table { | ||
| 187 | border-radius: 0.185185rem; | ||
| 188 | border-collapse: collapse; | ||
| 189 | /* 合并边框,美化表格样式 */ | ||
| 190 | table-layout: fixed; | ||
| 191 | display: flex; | ||
| 192 | table-layout: fixed; | ||
| 193 | word-wrap: break-word; | ||
| 194 | word-break: break-all; | ||
| 195 | } | ||
| 196 | |||
| 197 | th, | ||
| 198 | td { | ||
| 199 | border: 1px solid black; | ||
| 200 | /* 添加边框,美化表格样式 */ | ||
| 201 | padding: 1px; | ||
| 202 | /* 添加内边距,使内容与边框有一定距离 */ | ||
| 203 | } | ||
| 204 | |||
| 205 | .th { | ||
| 206 | height: 1.074074rem; | ||
| 207 | line-height: 1.074074rem; | ||
| 208 | background-color: #328985; | ||
| 209 | color: white; | ||
| 210 | text-align: center; | ||
| 211 | font-size: 24px; | ||
| 212 | } | ||
| 213 | |||
| 214 | td { | ||
| 215 | white-space: pre-wrap; | ||
| 216 | } | ||
| 217 | |||
| 218 | table tr { | ||
| 219 | margin-bottom: 10px; | ||
| 220 | /* 调整间距大小 */ | ||
| 221 | } | ||
| 222 | |||
| 223 | .filter-tr, | ||
| 224 | .list-tr { | ||
| 225 | height: 1.074074rem; | ||
| 226 | line-height: 1.074074rem; | ||
| 227 | font-size: 24px; | ||
| 228 | } | ||
| 229 | |||
| 230 | .filter-tr:last-child { | ||
| 231 | margin-bottom: 10px; | ||
| 232 | } | ||
| 233 | |||
| 234 | tr > td:nth-child(1) { | ||
| 235 | text-align: center; | ||
| 236 | } | ||
| 237 | |||
| 238 | .del-text { | ||
| 239 | font-size: 24px; | ||
| 240 | font-weight: bold; | ||
| 241 | } | ||
| 242 | </style> |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | module.exports = { | 2 | module.exports = { |
| 3 | title: 'vue-h5-template', | 3 | title: 'vue-h5-template', |
| 4 | baseUrl: 'http://localhost:9018', // 项目地址 | 4 | baseUrl: 'http://localhost:9018', // 项目地址 |
| 5 | baseApi: 'https://test.xxx.com/api', // 本地api请求地址,注意:如果你使用了代理,请设置成'/' | 5 | baseApi: '/', // 本地api请求地址,注意:如果你使用了代理,请设置成'/' |
| 6 | APPID: 'xxx', | 6 | APPID: 'xxx', |
| 7 | APPSECRET: 'xxx', | 7 | APPSECRET: 'xxx', |
| 8 | $cdn: 'https://www.sunniejs.cn/static' | 8 | $cdn: 'https://www.sunniejs.cn/static' | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | module.exports = { | 2 | module.exports = { |
| 3 | title: 'vue-h5-template', | 3 | title: 'vue-h5-template', |
| 4 | baseUrl: 'https://www.xxx.com/', // 正式项目地址 | 4 | baseUrl: 'https://www.xxx.com/', // 正式项目地址 |
| 5 | baseApi: 'https://www.xxx.com/api', // 正式api请求地址 | 5 | baseApi: 'https://tsapi.amap.com', // 正式api请求地址 |
| 6 | APPID: 'xxx', | 6 | APPID: 'xxx', |
| 7 | APPSECRET: 'xxx', | 7 | APPSECRET: 'xxx', |
| 8 | $cdn: 'https://www.sunniejs.cn/static' | 8 | $cdn: 'https://www.sunniejs.cn/static' | ... | ... |
| 1 | module.exports = { | 1 | module.exports = { |
| 2 | title: 'vue-h5-template', | 2 | title: 'vue-h5-template', |
| 3 | baseUrl: 'https://test.xxx.com', // 测试项目地址 | 3 | baseUrl: 'https://test.xxx.com', // 测试项目地址 |
| 4 | baseApi: 'https://test.xxx.com/api', // 测试api请求地址 | 4 | baseApi: 'https://tsapi.amap.com', // 测试api请求地址 |
| 5 | APPID: 'xxx', | 5 | APPID: 'xxx', |
| 6 | APPSECRET: 'xxx', | 6 | APPSECRET: 'xxx', |
| 7 | $cdn: 'https://www.sunniejs.cn/static' | 7 | $cdn: 'https://www.sunniejs.cn/static' | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | *格式化时间 | 2 | *格式化时间 |
| 3 | *yyyy-MM-dd hh:mm:ss | 3 | *yyyy-MM-dd hh:mm:ss |
| 4 | */ | 4 | */ |
| 5 | export function formatDate(time, fmt) { | 5 | export function formatDate(time, fmt = 'yyyy-MM-dd') { |
| 6 | if (time === undefined || '') { | 6 | if (time === undefined || '') { |
| 7 | return | 7 | return |
| 8 | } | 8 | } | ... | ... |
| ... | @@ -2,12 +2,13 @@ | ... | @@ -2,12 +2,13 @@ |
| 2 | // https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfill | 2 | // https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfill |
| 3 | import 'core-js/stable' | 3 | import 'core-js/stable' |
| 4 | import 'regenerator-runtime/runtime' | 4 | import 'regenerator-runtime/runtime' |
| 5 | |||
| 6 | import Vue from 'vue' | 5 | import Vue from 'vue' |
| 7 | import App from './App.vue' | 6 | import App from './App.vue' |
| 8 | import router from './router' | 7 | import router from './router' |
| 9 | import store from './store' | 8 | import store from './store' |
| 9 | import Bus from '../src/utils/bus' //这是我的路径,正确引用你们的路径 | ||
| 10 | 10 | ||
| 11 | Vue.prototype.$bus = Bus | ||
| 11 | // 设置 js中可以访问 $cdn | 12 | // 设置 js中可以访问 $cdn |
| 12 | import { $cdn } from '@/config' | 13 | import { $cdn } from '@/config' |
| 13 | Vue.prototype.$cdn = $cdn | 14 | Vue.prototype.$cdn = $cdn | ... | ... |
| 1 | // 按需全局引入 vant组件 | 1 | // 按需全局引入 vant组件 |
| 2 | import Vue from 'vue' | 2 | import Vue from 'vue' |
| 3 | import { Button, List, Cell, Tabbar, TabbarItem } from 'vant' | 3 | import { |
| 4 | Button, | ||
| 5 | List, | ||
| 6 | Cell, | ||
| 7 | Tabbar, | ||
| 8 | TabbarItem, | ||
| 9 | Col, | ||
| 10 | Row, | ||
| 11 | Divider, | ||
| 12 | NavBar, | ||
| 13 | Toast, | ||
| 14 | Field, | ||
| 15 | DatetimePicker, | ||
| 16 | Dialog, | ||
| 17 | CellGroup | ||
| 18 | } from 'vant' | ||
| 4 | Vue.use(Button) | 19 | Vue.use(Button) |
| 5 | Vue.use(Cell) | 20 | Vue.use(Cell) |
| 6 | Vue.use(List) | 21 | Vue.use(List) |
| 7 | Vue.use(Tabbar).use(TabbarItem) | 22 | Vue.use(Tabbar) |
| 23 | .use(TabbarItem) | ||
| 24 | .use(Col) | ||
| 25 | .use(Row) | ||
| 26 | .use(Divider) | ||
| 27 | .use(NavBar) | ||
| 28 | .use(Toast) | ||
| 29 | .use(Field) | ||
| 30 | .use(DatetimePicker) | ||
| 31 | .use(Dialog) | ||
| 32 | .use(CellGroup) | ... | ... |
| ... | @@ -6,7 +6,7 @@ export const constantRouterMap = [ | ... | @@ -6,7 +6,7 @@ export const constantRouterMap = [ |
| 6 | { | 6 | { |
| 7 | path: '/', | 7 | path: '/', |
| 8 | component: () => import('@/views/layouts/index'), | 8 | component: () => import('@/views/layouts/index'), |
| 9 | redirect: '/home', | 9 | redirect: '/departure', |
| 10 | meta: { | 10 | meta: { |
| 11 | title: '首页', | 11 | title: '首页', |
| 12 | keepAlive: false | 12 | keepAlive: false |
| ... | @@ -23,6 +23,30 @@ export const constantRouterMap = [ | ... | @@ -23,6 +23,30 @@ export const constantRouterMap = [ |
| 23 | name: 'About', | 23 | name: 'About', |
| 24 | component: () => import('@/views/home/about'), | 24 | component: () => import('@/views/home/about'), |
| 25 | meta: { title: '关于我', keepAlive: false } | 25 | meta: { title: '关于我', keepAlive: false } |
| 26 | }, | ||
| 27 | { | ||
| 28 | path: '/departure', | ||
| 29 | name: 'Departure', | ||
| 30 | component: () => import('@/views/home/departure'), | ||
| 31 | meta: { title: '出发列表', keepAlive: false } | ||
| 32 | }, | ||
| 33 | { | ||
| 34 | path: '/result', | ||
| 35 | name: 'Result', | ||
| 36 | component: () => import('@/views/home/result'), | ||
| 37 | meta: { title: '规划结果', keepAlive: false } | ||
| 38 | }, | ||
| 39 | { | ||
| 40 | path: '/target', | ||
| 41 | name: 'Target', | ||
| 42 | component: () => import('@/views/home/target'), | ||
| 43 | meta: { title: '目的列表', keepAlive: false } | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | path: '/about1', | ||
| 47 | name: 'About1', | ||
| 48 | component: () => import('@/views/home/about1'), | ||
| 49 | meta: { title: '关于我', keepAlive: false } | ||
| 26 | } | 50 | } |
| 27 | ] | 51 | ] |
| 28 | } | 52 | } | ... | ... |
| 1 | const getters = { | 1 | const getters = { |
| 2 | userName: state => state.app.userName | 2 | getOrder: function (state) { |
| 3 | if (!state.order) { | ||
| 4 | state.order = JSON.parse(localStorage.getItem('order')) | ||
| 5 | } | ||
| 6 | return state.order | ||
| 7 | }, | ||
| 8 | getCity: function (state) { | ||
| 9 | if (!state.city) { | ||
| 10 | state.city = localStorage.getItem('city') | ||
| 11 | } | ||
| 12 | return state.order | ||
| 13 | }, | ||
| 14 | getdepart: function (state) { | ||
| 15 | if (!state.depart) { | ||
| 16 | state.depart = JSON.parse(localStorage.getItem('depart')) | ||
| 17 | } | ||
| 18 | return state.depart | ||
| 19 | }, | ||
| 20 | getTarget: function (state) { | ||
| 21 | if (!state.target) { | ||
| 22 | state.target = JSON.parse(localStorage.getItem('target')) | ||
| 23 | } | ||
| 24 | return state.target | ||
| 25 | }, | ||
| 26 | getCurentData: function (state) { | ||
| 27 | if (!state.curentData) { | ||
| 28 | state.curentData = JSON.parse(localStorage.getItem('curentData')) | ||
| 29 | } | ||
| 30 | return state.curentData | ||
| 31 | } | ||
| 3 | } | 32 | } |
| 4 | export default getters | 33 | export default getters | ... | ... |
| 1 | const state = { | 1 | const state = { |
| 2 | userName: '' | 2 | order: localStorage.getItem('order') ? localStorage.getItem('order') : '', |
| 3 | city: localStorage.getItem('city') ? localStorage.getItem('city') : '', | ||
| 4 | depart: localStorage.getItem('depart') ? localStorage.getItem('depart') : '', | ||
| 5 | target: localStorage.getItem('target') ? localStorage.getItem('target') : '', | ||
| 6 | curentData: localStorage.getItem('curentData') ? localStorage.getItem('curentData') : '' | ||
| 3 | } | 7 | } |
| 4 | const mutations = { | 8 | const mutations = { |
| 5 | SET_USER_NAME(state, name) { | 9 | SET_ORDER(state, info) { |
| 6 | state.userName = name | 10 | state.order = info |
| 11 | localStorage.setItem('order', info) | ||
| 12 | }, | ||
| 13 | SET_CITY(state, info) { | ||
| 14 | state.city = info | ||
| 15 | localStorage.setItem('city', info) | ||
| 16 | }, | ||
| 17 | SET_DEPART(state, info) { | ||
| 18 | state.depart = info | ||
| 19 | localStorage.setItem('depart', info) | ||
| 20 | }, | ||
| 21 | SET_TARGET(state, info) { | ||
| 22 | state.target = info | ||
| 23 | localStorage.setItem('target', info) | ||
| 24 | }, | ||
| 25 | SET_CURENTDATA(state, info) { | ||
| 26 | state.target = info | ||
| 27 | localStorage.setItem('curentData', info) | ||
| 7 | } | 28 | } |
| 8 | } | 29 | } |
| 9 | const actions = { | 30 | const actions = { |
| 10 | // 设置name | 31 | // 设置name |
| 11 | setUserName({ commit }, name) { | 32 | setOrder({ commit }, info) { |
| 12 | commit('SET_USER_NAME', name) | 33 | commit('SET_ORDER', info) |
| 34 | }, | ||
| 35 | // 设置城市 | ||
| 36 | setCity({ commit }, info) { | ||
| 37 | commit('SET_CITY', info) | ||
| 38 | }, | ||
| 39 | // 设置城市 | ||
| 40 | setDepart({ commit }, info) { | ||
| 41 | commit('SET_DEPART', info) | ||
| 42 | }, | ||
| 43 | // 设置城市 | ||
| 44 | setTarget({ commit }, info) { | ||
| 45 | commit('SET_TARGET', info) | ||
| 46 | }, | ||
| 47 | // 设置城市 | ||
| 48 | setCurentData({ commit }, info) { | ||
| 49 | commit('SET_CURENTDATA', info) | ||
| 13 | } | 50 | } |
| 14 | } | 51 | } |
| 15 | export default { | 52 | export default { | ... | ... |
src/utils/bus.js
0 → 100644
| ... | @@ -6,8 +6,8 @@ import { baseApi } from '@/config' | ... | @@ -6,8 +6,8 @@ import { baseApi } from '@/config' |
| 6 | // create an axios instance | 6 | // create an axios instance |
| 7 | const service = axios.create({ | 7 | const service = axios.create({ |
| 8 | baseURL: baseApi, // url = base api url + request url | 8 | baseURL: baseApi, // url = base api url + request url |
| 9 | withCredentials: true, // send cookies when cross-domain requests | 9 | withCredentials: true // send cookies when cross-domain requests |
| 10 | timeout: 5000 // request timeout | 10 | // timeout: 5000 // request timeout |
| 11 | }) | 11 | }) |
| 12 | 12 | ||
| 13 | // request拦截器 request interceptor | 13 | // request拦截器 request interceptor |
| ... | @@ -34,8 +34,8 @@ service.interceptors.request.use( | ... | @@ -34,8 +34,8 @@ service.interceptors.request.use( |
| 34 | // respone拦截器 | 34 | // respone拦截器 |
| 35 | service.interceptors.response.use( | 35 | service.interceptors.response.use( |
| 36 | response => { | 36 | response => { |
| 37 | Toast.clear() | ||
| 38 | const res = response.data | 37 | const res = response.data |
| 38 | Toast.clear() | ||
| 39 | if (res.status && res.status !== 200) { | 39 | if (res.status && res.status !== 200) { |
| 40 | // 登录超时,重新登录 | 40 | // 登录超时,重新登录 |
| 41 | if (res.status === 401) { | 41 | if (res.status === 401) { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="about-container"> | 2 | <div> |
| 3 | <div class="warpper"> | 3 | <div class="title"> |
| 4 | <div class="list"> | 4 | <van-row type="flex" justify="space-between"> |
| 5 | <div class="logo"></div> | 5 | <van-col span="8" class="header-text">业务员:{{ currentData.name }}</van-col> |
| 6 | <div class="demo-home__title">VUE H5开发模板</div> | 6 | <van-col span="8" class="header-text">车牌号:{{ currentData.plate }}</van-col> |
| 7 | <div class="item"> | 7 | <van-col span="8" class="header-text">批次:{{ currentData.batch }}</van-col> |
| 8 | 项目地址: | 8 | </van-row> |
| 9 | <a href="https://github.com/sunniejs/vue-h5-template">https://github.com/sunniejs/vue-h5-template</a> | 9 | <van-row type="flex" style="margin-top: 15px"> |
| 10 | <van-col span="8"> | ||
| 11 | <div class="header-text">出发地:{{ currentData.departure }}</div> | ||
| 12 | </van-col> | ||
| 13 | <van-col span="8"> | ||
| 14 | <div class="header-text">目的地:{{ currentData.arrival }}</div> | ||
| 15 | </van-col> | ||
| 16 | <van-col span="8"> | ||
| 17 | <div class="header-text" style="display: flex"> | ||
| 18 | 出发时间:<van-field v-model="currentData.departureDate" size="small" placeholder="请输入时间" /> | ||
| 10 | </div> | 19 | </div> |
| 11 | <div class="item">项目作者: sunnie</div> | 20 | </van-col> |
| 12 | <div class="item"></div> | 21 | </van-row> |
| 13 | <div class="wechat"> | ||
| 14 | <img :src="this.wechat" alt="" /> | ||
| 15 | </div> | 22 | </div> |
| 16 | <div class="item">关注公众号:回复“加群”即可加 前端仙女群</div> | 23 | <div> |
| 17 | <div class="item"> | 24 | <Table-vant :option="option1" :tableData="filterTable" v-if="filterTable.length > 0"></Table-vant> |
| 18 | {{ userName }} | 25 | <div style="width: 100%; overflow-x: auto"> |
| 19 | <van-button v-if="userName == ''" type="warning" size="small" @click="doDispatch">快点我~</van-button> | 26 | <Table-vant :option="option" :tableData="dataList" width="790px"></Table-vant> |
| 20 | </div> | 27 | </div> |
| 28 | <div style="font-size: 16px; font-weight: bold; margin-top: 20px" v-if="deleteData.length > 0"> | ||
| 29 | 从原安排中移除的任务 | ||
| 30 | </div> | ||
| 31 | <Table-vant :option="option2" :tableData="deleteData" v-if="deleteData.length > 0"></Table-vant> | ||
| 32 | </div> | ||
| 33 | |||
| 34 | <div class="fixed-bottom-right"> | ||
| 35 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 36 | <van-button round plain type="primary" @click="simulatedSampling">模拟取样</van-button> | ||
| 37 | <van-button round plain type="info" @click="insertSheet1">模拟插单1</van-button> | ||
| 38 | <van-button round plain type="primary" @click="insertSheet2">模拟插单2</van-button> | ||
| 39 | </div> | ||
| 40 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 41 | <van-button round plain type="info" @click="replanning">重新规划</van-button> | ||
| 42 | <van-button round plain type="info" @click="replanning2">调整后规划</van-button> | ||
| 43 | <van-button round plain type="info" @click="EnableNavigation">开启导航</van-button> | ||
| 21 | </div> | 44 | </div> |
| 22 | </div> | 45 | </div> |
| 23 | </div> | 46 | </div> |
| ... | @@ -25,89 +48,926 @@ | ... | @@ -25,89 +48,926 @@ |
| 25 | 48 | ||
| 26 | <script> | 49 | <script> |
| 27 | // 请求接口 | 50 | // 请求接口 |
| 28 | import { getUserInfo } from '@/api/user.js' | 51 | import { getPlan, getSession, getPlan2 } from '@/api/user.js' |
| 29 | import { mapGetters } from 'vuex' | 52 | import TableVant from '@/components/Table.vue' |
| 53 | import { Toast } from 'vant' | ||
| 54 | import _ from 'lodash' | ||
| 55 | |||
| 30 | export default { | 56 | export default { |
| 57 | components: { TableVant }, | ||
| 58 | |||
| 31 | data() { | 59 | data() { |
| 32 | return { | 60 | return { |
| 33 | wechat: `${this.$cdn}/wx/640.gif` | 61 | currentData: [], |
| 62 | sortTable: [], | ||
| 63 | dataList: [], | ||
| 64 | date: '', | ||
| 65 | start: '', | ||
| 66 | firstObj: {}, | ||
| 67 | filterTable: [], | ||
| 68 | deleteData: [], | ||
| 69 | accessToken: '', | ||
| 70 | originData: [], | ||
| 71 | option: { | ||
| 72 | column: [ | ||
| 73 | { | ||
| 74 | label: '序号', | ||
| 75 | tableDataprop: 'rowNo', | ||
| 76 | width: '50px' | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | label: '途经', | ||
| 80 | tableDataprop: 'hospital', | ||
| 81 | width: '230px' | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | label: '取样数', | ||
| 85 | tableDataprop: 'pkgs', | ||
| 86 | width: '50px', | ||
| 87 | align: 'right' | ||
| 88 | }, | ||
| 89 | { | ||
| 90 | label: '里程(km)', | ||
| 91 | tableDataprop: 'distance', | ||
| 92 | width: '80px', | ||
| 93 | align: 'right' | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | label: '路程耗时(分钟)', | ||
| 97 | tableDataprop: 'duration', | ||
| 98 | width: '90px', | ||
| 99 | align: 'right' | ||
| 100 | }, | ||
| 101 | { | ||
| 102 | label: '停留时长(分钟)', | ||
| 103 | tableDataprop: 'stopTime', | ||
| 104 | width: '90px', | ||
| 105 | align: 'right' | ||
| 106 | }, | ||
| 107 | { | ||
| 108 | label: '预计到达时间', | ||
| 109 | tableDataprop: 'reachDate', | ||
| 110 | width: '90px', | ||
| 111 | align: 'right' | ||
| 112 | }, | ||
| 113 | { | ||
| 114 | label: '预计离开时间', | ||
| 115 | tableDataprop: 'leaveDate', | ||
| 116 | width: '90px', | ||
| 117 | align: 'right' | ||
| 118 | }, | ||
| 119 | { | ||
| 120 | label: '状态', | ||
| 121 | tableDataprop: 'status', | ||
| 122 | width: '50px' | ||
| 123 | } | ||
| 124 | ] | ||
| 125 | }, | ||
| 126 | option1: { | ||
| 127 | column: [ | ||
| 128 | { | ||
| 129 | label: '序号', | ||
| 130 | tableDataprop: 'rowNo', | ||
| 131 | width: '50px' | ||
| 132 | }, | ||
| 133 | { | ||
| 134 | label: '途经', | ||
| 135 | tableDataprop: 'hospital', | ||
| 136 | width: '230px' | ||
| 137 | }, | ||
| 138 | // { | ||
| 139 | // label: '取样时间', | ||
| 140 | // tableDataprop: 'dateTime', | ||
| 141 | // width: '50px' | ||
| 142 | // }, | ||
| 143 | { | ||
| 144 | label: '取样数', | ||
| 145 | tableDataprop: 'pkgs', | ||
| 146 | width: '50px', | ||
| 147 | align: 'right' | ||
| 148 | }, | ||
| 149 | { | ||
| 150 | label: '状态', | ||
| 151 | tableDataprop: 'status', | ||
| 152 | width: '50px' | ||
| 153 | } | ||
| 154 | ] | ||
| 155 | }, | ||
| 156 | option2: { | ||
| 157 | column: [ | ||
| 158 | { | ||
| 159 | label: '序号', | ||
| 160 | tableDataprop: 'rowNo', | ||
| 161 | width: '50px' | ||
| 162 | }, | ||
| 163 | { | ||
| 164 | label: '途经', | ||
| 165 | tableDataprop: 'hospital', | ||
| 166 | width: '230px' | ||
| 167 | }, | ||
| 168 | // { | ||
| 169 | // label: '取样时间', | ||
| 170 | // tableDataprop: 'dateTime' | ||
| 171 | // }, | ||
| 172 | { | ||
| 173 | label: '取样数', | ||
| 174 | tableDataprop: 'pkgs', | ||
| 175 | width: '50px', | ||
| 176 | align: 'right' | ||
| 177 | }, | ||
| 178 | { | ||
| 179 | label: '状态', | ||
| 180 | tableDataprop: 'status', | ||
| 181 | width: '50px' | ||
| 182 | } | ||
| 183 | ] | ||
| 184 | } | ||
| 34 | } | 185 | } |
| 35 | }, | 186 | }, |
| 36 | computed: { | 187 | computed: { |
| 37 | ...mapGetters(['userName']) | 188 | // ...mapGetters(['order']) |
| 38 | }, | 189 | }, |
| 39 | mounted() { | 190 | mounted() { |
| 40 | this.initData() | 191 | this.getSessionId() |
| 192 | this.getDate() | ||
| 193 | }, | ||
| 194 | created() { | ||
| 195 | this.$bus.$on('sortTableData', e => (this.dataList = e)) | ||
| 196 | this.currentData = JSON.parse(this.$store.state.app.order) | ||
| 197 | this.firstObj = this.currentData.customerData[0] | ||
| 198 | this.originData = _.cloneDeep(this.currentData.customerData) | ||
| 199 | this.currentData.customerData.shift() | ||
| 200 | this.dataList = this.currentData.customerData | ||
| 201 | let arr = [...this.filterTable, ...this.dataList] | ||
| 202 | arr.forEach((item, index) => { | ||
| 203 | item.rowNo = index + 1 | ||
| 204 | // this.filterTable[index].rowNo = index | ||
| 205 | // this.dataList[index].rowNo = index | ||
| 206 | }) | ||
| 41 | }, | 207 | }, |
| 42 | methods: { | 208 | methods: { |
| 209 | getDate() { | ||
| 210 | this.date = new Date() | ||
| 211 | }, | ||
| 212 | isnavigation(val) { | ||
| 213 | let that = this | ||
| 214 | let myLocation = JSON.parse(sessionStorage.getItem('ownChooseLocation')) | ||
| 215 | if (this.cabinData.longitude && this.cabinData.latitude) { | ||
| 216 | let Url = '' | ||
| 217 | switch (val) { | ||
| 218 | case 'amap': | ||
| 219 | Url = `https://uri.amap.com/navigation?from=${myLocation.lng},${myLocation.lat},${myLocation.formattedAddress}&to=${that.cabinData.longitude},${that.cabinData.latitude},${that.cabinData.name}&callnative=1` | ||
| 220 | break | ||
| 221 | case 'bmap': | ||
| 222 | Url = `http://api.map.baidu.com/direction?origin=latlng:${myLocation.lat},${myLocation.lng}|name:${myLocation.formattedAddress}&destination=latlng:${that.cabinData.latitude},${that.cabinData.longitude}|name:${that.cabinData.name}&mode=driving&origin_region=${myLocation.city}&destination_region=${that.cabinData.cityName}&output=html&src=webapp.baidu.openAPIdemo` | ||
| 223 | break | ||
| 224 | } | ||
| 225 | location.href = Url | ||
| 226 | } else { | ||
| 227 | // this.$message({ | ||
| 228 | // message: '请先确认您的起点和终点位置', | ||
| 229 | // type: 'warning', | ||
| 230 | // }) | ||
| 231 | } | ||
| 232 | }, | ||
| 43 | // 请求数据案例 | 233 | // 请求数据案例 |
| 44 | initData() { | 234 | initData(list) { |
| 235 | Toast.loading({ | ||
| 236 | duration: 0 | ||
| 237 | }) | ||
| 238 | // let destinations = arr.map(item => item.coordinate).join(';') | ||
| 45 | // 请求接口数据,仅作为展示,需要配置src->config下环境文件 | 239 | // 请求接口数据,仅作为展示,需要配置src->config下环境文件 |
| 46 | const params = { user: 'sunnie' } | 240 | console.log('123', list) |
| 47 | getUserInfo(params) | 241 | // return |
| 48 | .then(() => {}) | 242 | let arr = _.cloneDeep(list) |
| 243 | arr.forEach((item, index) => { | ||
| 244 | // if (item.dateTime1) { | ||
| 245 | // item.dateTime = item.dateTime1 | ||
| 246 | // } | ||
| 247 | item.rowNo = index + 1 | ||
| 248 | return item | ||
| 249 | }) | ||
| 250 | const data = { | ||
| 251 | name: this.currentData.name, | ||
| 252 | plate: this.currentData.plate, | ||
| 253 | batch: '第一批', | ||
| 254 | departure: this.currentData.departure, | ||
| 255 | arrival: this.currentData.arrival, | ||
| 256 | departureDate: this.currentData.departureDate, | ||
| 257 | customerData: arr | ||
| 258 | } | ||
| 259 | |||
| 260 | const params = { | ||
| 261 | method: 'GetRouteMatrix_test', | ||
| 262 | format: 'json', | ||
| 263 | sessionId: this.accessToken, | ||
| 264 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 265 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 266 | v: '1.0' | ||
| 267 | } | ||
| 268 | getPlan(data, params) | ||
| 269 | .then(res => { | ||
| 270 | Toast.clear() | ||
| 271 | let newArr = JSON.parse(res).data | ||
| 272 | console.log('返回的数据', newArr) | ||
| 273 | // if (!this.filterTable.length) { | ||
| 274 | // newArr.shift() | ||
| 275 | // } | ||
| 276 | newArr.shift() | ||
| 277 | console.log(arr) | ||
| 278 | let sortedArray = newArr.map(item1 => | ||
| 279 | arr.find(item2 => { | ||
| 280 | if (item2.hospital + item2.dateTime == item1.returnName) { | ||
| 281 | item2.distance = item1.distance.toFixed(2) | ||
| 282 | item2.duration = item1.duration | ||
| 283 | item2.stopTime = item1.stopTime | ||
| 284 | item2.reachDate = item1.reachDate | ||
| 285 | item2.leaveDate = item1.leaveDate | ||
| 286 | // item2.dateTime1 = _.cloneDeep(item2.dateTime) | ||
| 287 | // item2.dateTime = item1.timeSlot.replace('-', '<br/>') | ||
| 288 | return item2 | ||
| 289 | } | ||
| 290 | }) | ||
| 291 | ) | ||
| 292 | this.dataList = sortedArray | ||
| 293 | console.log('aaaaa', sortedArray) | ||
| 294 | |||
| 295 | let arrs = [...this.filterTable, ...this.dataList] | ||
| 296 | arrs.forEach((item, index) => { | ||
| 297 | item.rowNo = index + 1 | ||
| 298 | // this.filterTable[index].rowNo = index | ||
| 299 | // this.dataList[index].rowNo = index | ||
| 300 | }) | ||
| 301 | }) | ||
| 302 | .catch(() => {}) | ||
| 303 | // this.$nextTick(() => { | ||
| 304 | // let result = { | ||
| 305 | // errcode: '10000', | ||
| 306 | // errmsg: 'OK', | ||
| 307 | // errdetail: null, | ||
| 308 | // data: [ | ||
| 309 | // { | ||
| 310 | // number: 0, | ||
| 311 | // origin: '117.13394400,36.67904500', | ||
| 312 | // destination: '117.13394400,36.67904500', | ||
| 313 | // code: 0, | ||
| 314 | // distance: 6748, | ||
| 315 | // duration: 2160, | ||
| 316 | // toll: 0, | ||
| 317 | // restriction: 0 | ||
| 318 | // }, | ||
| 319 | // { | ||
| 320 | // number: 0, | ||
| 321 | // origin: '117.13394400,36.67904500', | ||
| 322 | // destination: '117.08718600,36.65631700', | ||
| 323 | // code: 0, | ||
| 324 | // distance: 6748, | ||
| 325 | // duration: 2160, | ||
| 326 | // toll: 0, | ||
| 327 | // restriction: 0 | ||
| 328 | // }, | ||
| 329 | // { | ||
| 330 | // number: 1, | ||
| 331 | // origin: '117.08718600,36.65631700', | ||
| 332 | // destination: '117.01788200,36.64911300', | ||
| 333 | // code: 0, | ||
| 334 | // distance: 6584, | ||
| 335 | // duration: 1560, | ||
| 336 | // toll: 0, | ||
| 337 | // restriction: 0 | ||
| 338 | // }, | ||
| 339 | // { | ||
| 340 | // number: 2, | ||
| 341 | // origin: '117.01788200,36.64911300', | ||
| 342 | // destination: '117.03081400,36.65417800', | ||
| 343 | // code: 0, | ||
| 344 | // distance: 2509, | ||
| 345 | // duration: 960, | ||
| 346 | // toll: 0, | ||
| 347 | // restriction: 0 | ||
| 348 | // }, | ||
| 349 | // { | ||
| 350 | // number: 3, | ||
| 351 | // origin: '117.03081400,36.65417800', | ||
| 352 | // destination: '117.04783900,36.64556100', | ||
| 353 | // code: 0, | ||
| 354 | // distance: 2891, | ||
| 355 | // duration: 900, | ||
| 356 | // toll: 0, | ||
| 357 | // restriction: 0 | ||
| 358 | // }, | ||
| 359 | // { | ||
| 360 | // number: 4, | ||
| 361 | // origin: '117.04783900,36.64556100', | ||
| 362 | // destination: '116.96255900,36.63623600', | ||
| 363 | // code: 0, | ||
| 364 | // distance: 12334, | ||
| 365 | // duration: 3480, | ||
| 366 | // toll: 0, | ||
| 367 | // restriction: 0 | ||
| 368 | // }, | ||
| 369 | // { | ||
| 370 | // number: 5, | ||
| 371 | // origin: '116.96255900,36.63623600', | ||
| 372 | // destination: '116.95988200,36.62819100', | ||
| 373 | // code: 0, | ||
| 374 | // distance: 1972, | ||
| 375 | // duration: 600, | ||
| 376 | // toll: 0, | ||
| 377 | // restriction: 0 | ||
| 378 | // }, | ||
| 379 | // { | ||
| 380 | // number: 6, | ||
| 381 | // origin: '116.95988200,36.62819100', | ||
| 382 | // destination: '116.92826100,36.65210900', | ||
| 383 | // code: 0, | ||
| 384 | // distance: 7447, | ||
| 385 | // duration: 1380, | ||
| 386 | // toll: 0, | ||
| 387 | // restriction: 0 | ||
| 388 | // }, | ||
| 389 | // { | ||
| 390 | // number: 8, | ||
| 391 | // origin: '116.89177900,36.66887900', | ||
| 392 | // destination: '116.91937000,36.72000800', | ||
| 393 | // code: 0, | ||
| 394 | // distance: 9551, | ||
| 395 | // duration: 1740, | ||
| 396 | // toll: 0, | ||
| 397 | // restriction: 0 | ||
| 398 | // } | ||
| 399 | // ] | ||
| 400 | // } | ||
| 401 | |||
| 402 | // let newArr = result.data | ||
| 403 | // console.log('返回的数据', newArr) | ||
| 404 | // console.log(arr) | ||
| 405 | // // newArr.unshift(this.currentData.customerData[0]) | ||
| 406 | // let sortedArray = newArr.map(item1 => arr.find(item2 => item2.coordinate === item1.destination)) | ||
| 407 | // // sortedArray.unshift(arr[0]) | ||
| 408 | // this.dataList = sortedArray | ||
| 409 | // console.log('aaaaa', sortedArray) | ||
| 410 | // let arrs = [...this.filterTable, ...this.dataList] | ||
| 411 | // arrs.forEach((item, index) => { | ||
| 412 | // item.rowNo = index + 1 | ||
| 413 | // // this.filterTable[index].rowNo = index | ||
| 414 | // // this.dataList[index].rowNo = index | ||
| 415 | // }) | ||
| 416 | // }) | ||
| 417 | }, | ||
| 418 | initData2(list) { | ||
| 419 | Toast.loading({ | ||
| 420 | duration: 0 | ||
| 421 | }) | ||
| 422 | // let destinations = arr.map(item => item.coordinate).join(';') | ||
| 423 | // 请求接口数据,仅作为展示,需要配置src->config下环境文件 | ||
| 424 | console.log('123', list) | ||
| 425 | // return | ||
| 426 | let arr = _.cloneDeep(list) | ||
| 427 | arr.forEach((item, index) => { | ||
| 428 | // if (item.dateTime1) { | ||
| 429 | // item.dateTime = item.dateTime1 | ||
| 430 | // } | ||
| 431 | item.rowNo = index + 1 | ||
| 432 | return item | ||
| 433 | }) | ||
| 434 | const data = { | ||
| 435 | name: this.currentData.name, | ||
| 436 | plate: this.currentData.plate, | ||
| 437 | batch: '第一批', | ||
| 438 | departure: this.currentData.departure, | ||
| 439 | arrival: this.currentData.arrival, | ||
| 440 | departureDate: this.currentData.departureDate, | ||
| 441 | customerData: arr | ||
| 442 | } | ||
| 443 | |||
| 444 | const params = { | ||
| 445 | method: 'GetRoutePlan_test1', | ||
| 446 | format: 'json', | ||
| 447 | sessionId: this.accessToken, | ||
| 448 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 449 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 450 | v: '1.0' | ||
| 451 | } | ||
| 452 | getPlan2(data, params) | ||
| 453 | .then(res => { | ||
| 454 | Toast.clear() | ||
| 455 | let newArr = JSON.parse(res).data | ||
| 456 | console.log('返回的数据', newArr) | ||
| 457 | // if (!this.filterTable.length) { | ||
| 458 | // newArr.shift() | ||
| 459 | // } | ||
| 460 | newArr.shift() | ||
| 461 | console.log(arr) | ||
| 462 | let sortedArray = newArr.map(item1 => | ||
| 463 | arr.find(item2 => { | ||
| 464 | if (item2.hospital + item2.dateTime == item1.returnName) { | ||
| 465 | item2.distance = item1.distance.toFixed(2) | ||
| 466 | item2.duration = item1.duration | ||
| 467 | item2.stopTime = item1.stopTime | ||
| 468 | item2.reachDate = item1.reachDate | ||
| 469 | item2.leaveDate = item1.leaveDate | ||
| 470 | return item2 | ||
| 471 | } | ||
| 472 | }) | ||
| 473 | ) | ||
| 474 | this.dataList = sortedArray | ||
| 475 | console.log('aaaaa', sortedArray) | ||
| 476 | |||
| 477 | let arrs = [...this.filterTable, ...this.dataList] | ||
| 478 | arrs.forEach((item, index) => { | ||
| 479 | item.rowNo = index + 1 | ||
| 480 | // this.filterTable[index].rowNo = index | ||
| 481 | // this.dataList[index].rowNo = index | ||
| 482 | }) | ||
| 483 | }) | ||
| 49 | .catch(() => {}) | 484 | .catch(() => {}) |
| 485 | // this.$nextTick(() => { | ||
| 486 | // let result = { | ||
| 487 | // errcode: '10000', | ||
| 488 | // errmsg: 'OK', | ||
| 489 | // errdetail: null, | ||
| 490 | // data: [ | ||
| 491 | // { | ||
| 492 | // number: 0, | ||
| 493 | // origin: '117.13394400,36.67904500', | ||
| 494 | // destination: '117.13394400,36.67904500', | ||
| 495 | // code: 0, | ||
| 496 | // distance: 6748, | ||
| 497 | // duration: 2160, | ||
| 498 | // toll: 0, | ||
| 499 | // restriction: 0 | ||
| 500 | // }, | ||
| 501 | // { | ||
| 502 | // number: 0, | ||
| 503 | // origin: '117.13394400,36.67904500', | ||
| 504 | // destination: '117.08718600,36.65631700', | ||
| 505 | // code: 0, | ||
| 506 | // distance: 6748, | ||
| 507 | // duration: 2160, | ||
| 508 | // toll: 0, | ||
| 509 | // restriction: 0 | ||
| 510 | // }, | ||
| 511 | // { | ||
| 512 | // number: 1, | ||
| 513 | // origin: '117.08718600,36.65631700', | ||
| 514 | // destination: '117.01788200,36.64911300', | ||
| 515 | // code: 0, | ||
| 516 | // distance: 6584, | ||
| 517 | // duration: 1560, | ||
| 518 | // toll: 0, | ||
| 519 | // restriction: 0 | ||
| 520 | // }, | ||
| 521 | // { | ||
| 522 | // number: 2, | ||
| 523 | // origin: '117.01788200,36.64911300', | ||
| 524 | // destination: '117.03081400,36.65417800', | ||
| 525 | // code: 0, | ||
| 526 | // distance: 2509, | ||
| 527 | // duration: 960, | ||
| 528 | // toll: 0, | ||
| 529 | // restriction: 0 | ||
| 530 | // }, | ||
| 531 | // { | ||
| 532 | // number: 3, | ||
| 533 | // origin: '117.03081400,36.65417800', | ||
| 534 | // destination: '117.04783900,36.64556100', | ||
| 535 | // code: 0, | ||
| 536 | // distance: 2891, | ||
| 537 | // duration: 900, | ||
| 538 | // toll: 0, | ||
| 539 | // restriction: 0 | ||
| 540 | // }, | ||
| 541 | // { | ||
| 542 | // number: 4, | ||
| 543 | // origin: '117.04783900,36.64556100', | ||
| 544 | // destination: '116.96255900,36.63623600', | ||
| 545 | // code: 0, | ||
| 546 | // distance: 12334, | ||
| 547 | // duration: 3480, | ||
| 548 | // toll: 0, | ||
| 549 | // restriction: 0 | ||
| 550 | // }, | ||
| 551 | // { | ||
| 552 | // number: 5, | ||
| 553 | // origin: '116.96255900,36.63623600', | ||
| 554 | // destination: '116.95988200,36.62819100', | ||
| 555 | // code: 0, | ||
| 556 | // distance: 1972, | ||
| 557 | // duration: 600, | ||
| 558 | // toll: 0, | ||
| 559 | // restriction: 0 | ||
| 560 | // }, | ||
| 561 | // { | ||
| 562 | // number: 6, | ||
| 563 | // origin: '116.95988200,36.62819100', | ||
| 564 | // destination: '116.92826100,36.65210900', | ||
| 565 | // code: 0, | ||
| 566 | // distance: 7447, | ||
| 567 | // duration: 1380, | ||
| 568 | // toll: 0, | ||
| 569 | // restriction: 0 | ||
| 570 | // }, | ||
| 571 | // { | ||
| 572 | // number: 8, | ||
| 573 | // origin: '116.89177900,36.66887900', | ||
| 574 | // destination: '116.91937000,36.72000800', | ||
| 575 | // code: 0, | ||
| 576 | // distance: 9551, | ||
| 577 | // duration: 1740, | ||
| 578 | // toll: 0, | ||
| 579 | // restriction: 0 | ||
| 580 | // } | ||
| 581 | // ] | ||
| 582 | // } | ||
| 583 | |||
| 584 | // let newArr = result.data | ||
| 585 | // console.log('返回的数据', newArr) | ||
| 586 | // console.log(arr) | ||
| 587 | // // newArr.unshift(this.currentData.customerData[0]) | ||
| 588 | // let sortedArray = newArr.map(item1 => arr.find(item2 => item2.coordinate === item1.destination)) | ||
| 589 | // // sortedArray.unshift(arr[0]) | ||
| 590 | // this.dataList = sortedArray | ||
| 591 | // console.log('aaaaa', sortedArray) | ||
| 592 | // let arrs = [...this.filterTable, ...this.dataList] | ||
| 593 | // arrs.forEach((item, index) => { | ||
| 594 | // item.rowNo = index + 1 | ||
| 595 | // // this.filterTable[index].rowNo = index | ||
| 596 | // // this.dataList[index].rowNo = index | ||
| 597 | // }) | ||
| 598 | // }) | ||
| 50 | }, | 599 | }, |
| 51 | // Action 通过 store.dispatch 方法触发 | 600 | getSessionId() { |
| 52 | doDispatch() { | 601 | let params = { |
| 53 | this.$store.dispatch('setUserName', '真乖,赶紧关注公众号,组织都在等你~') | 602 | client_id: 'dd48c515fcde43bea0b5bd0b8f77e119', |
| 603 | grant_type: 'client_credentials', | ||
| 604 | client_secret: 'c6602114c9ba488b877d0d84b0e5e700', | ||
| 605 | scope: 'read' | ||
| 606 | } | ||
| 607 | getSession(params, {}).then(res => { | ||
| 608 | this.accessToken = res.access_token | ||
| 609 | // this.initData(this.currentData.customerData) | ||
| 610 | this.replanning() | ||
| 611 | }) | ||
| 54 | }, | 612 | }, |
| 55 | goGithub() { | 613 | getRadom(arr) { |
| 56 | window.location.href = 'https://github.com/sunniejs/vue-h5-template' | 614 | if (arr.length === 0) { |
| 615 | return | ||
| 57 | } | 616 | } |
| 617 | return Math.round(Math.random() * (arr.length - 1)) | ||
| 618 | }, | ||
| 619 | // 模拟取样 | ||
| 620 | simulatedSampling() { | ||
| 621 | // this.getRadom(this.currentData.customerData) | ||
| 622 | // console.log(this.getRadom(this.dataList)) | ||
| 623 | // this.dataList.forEach(item => (item.status = '未去')) | ||
| 624 | let newArr = [...this.filterTable, ...this.dataList] | ||
| 625 | this.filterTable = [] | ||
| 626 | for (let i = 0; i <= newArr.length - 1; i++) { | ||
| 627 | this.$set(newArr[i], `status`, '未去') | ||
| 58 | } | 628 | } |
| 59 | } | 629 | var num = this.getRadom(newArr) || 1 |
| 60 | </script> | 630 | console.log(num) |
| 631 | // this.currentData.customerData[this.getRadom(this.currentData.customerData)].status = '已去' | ||
| 632 | for (let i = 0; i < num; i++) { | ||
| 633 | this.$set(newArr[i], `status`, '已去') | ||
| 634 | } | ||
| 635 | this.filterTable = newArr.filter(item => item.status == '已去') | ||
| 636 | this.dataList = newArr.filter(item => item.status == '未去') | ||
| 637 | let arr = [...this.filterTable, ...this.dataList] | ||
| 638 | arr.forEach((item, index) => { | ||
| 639 | item.rowNo = index + 1 | ||
| 640 | // this.filterTable[index].rowNo = index | ||
| 641 | // this.dataList[index].rowNo = index | ||
| 642 | }) | ||
| 643 | console.log(this.filterTable) | ||
| 644 | console.log(this.dataList) | ||
| 645 | }, | ||
| 646 | // 重新规划 | ||
| 647 | replanning() { | ||
| 648 | let arr = [] | ||
| 649 | if (!this.filterTable.length) { | ||
| 650 | arr = [this.firstObj, ...this.dataList].filter(item => item.status != '已去') | ||
| 651 | } else { | ||
| 652 | arr = [this.filterTable[this.filterTable.length - 1], ...this.dataList.filter(item => item.status != '已去')] | ||
| 653 | } | ||
| 654 | this.initData(arr) | ||
| 655 | }, | ||
| 656 | // 调整后规划 | ||
| 657 | replanning2() { | ||
| 658 | let arr = [] | ||
| 659 | if (!this.filterTable.length) { | ||
| 660 | arr = [this.firstObj, ...this.dataList].filter(item => item.status != '已去') | ||
| 661 | } else { | ||
| 662 | arr = [this.filterTable[this.filterTable.length - 1], ...this.dataList.filter(item => item.status != '已去')] | ||
| 663 | } | ||
| 664 | this.initData2(arr) | ||
| 665 | }, | ||
| 666 | // 调整顺序 | ||
| 667 | sequence() {}, | ||
| 668 | // 模拟插单1 | ||
| 669 | insertSheet1() { | ||
| 670 | this.judgePerson(1) | ||
| 671 | // this.dataList = this.dataList.sort(function (a, b) { | ||
| 672 | // var time1 = a.dateTime.split(':') | ||
| 673 | // var time2 = b.dateTime.split(':') | ||
| 61 | 674 | ||
| 62 | <style lang="scss"> | 675 | // var hour1 = parseInt(time1[0]) |
| 63 | .about-container { | 676 | // var hour2 = parseInt(time2[0]) |
| 64 | /* 你的命名空间 */ | 677 | |
| 65 | background: #fff; | 678 | // var minute1 = parseInt(time1[1]) |
| 66 | height: 100vh; | 679 | // var minute2 = parseInt(time2[1]) |
| 67 | box-sizing: border-box; | 680 | |
| 68 | .warpper { | 681 | // if (hour1 < hour2) { |
| 69 | padding: 50px 12px 12px 12px; | 682 | // return -1 |
| 70 | .list { | 683 | // } else if (hour1 > hour2) { |
| 71 | display: flex; | 684 | // return 1 |
| 72 | flex-direction: column; | 685 | // } else { |
| 73 | align-items: center; | 686 | // if (minute1 < minute2) { |
| 74 | color: #666; | 687 | // return -1 |
| 75 | font-size: 14px; | 688 | // } else if (minute1 > minute2) { |
| 76 | .demo-home__title { | 689 | // return 1 |
| 77 | margin: 0 0 6px; | 690 | // } else { |
| 78 | font-size: 32px; | 691 | // return 0 |
| 79 | .demo-home__title img, | 692 | // } |
| 80 | .demo-home__title span { | 693 | // } |
| 81 | display: inline-block; | 694 | // }) |
| 82 | vertical-align: middle; | 695 | let arr = [...this.filterTable, ...this.dataList] |
| 83 | } | 696 | arr.forEach((item, index) => { |
| 84 | } | 697 | item.rowNo = index + 1 |
| 85 | .item { | 698 | // this.filterTable[index].rowNo = index |
| 86 | font-size: 14px; | 699 | // this.dataList[index].rowNo = index |
| 87 | line-height: 34px; | 700 | }) |
| 88 | a { | 701 | }, |
| 89 | text-decoration: underline; | 702 | // 模拟插单2 |
| 90 | } | 703 | insertSheet2() { |
| 91 | .van-button { | 704 | let num = this.getRadom(this.dataList) |
| 92 | /* vant-ui 元素*/ | 705 | this.deleteData = [this.dataList[num]] |
| 93 | background: #ff5500; | 706 | console.log(this.deleteData) |
| 94 | } | 707 | this.dataList.splice(num, 1) |
| 95 | } | 708 | this.judgePerson(2) |
| 96 | 709 | let arr = [...this.filterTable, ...this.dataList] | |
| 97 | .logo { | 710 | console.log(arr) |
| 98 | width: 120px; | 711 | arr.forEach((item, index) => { |
| 99 | height: 120px; | 712 | item.rowNo = index + 1 |
| 100 | background: url($cdn + '/weapp/logo.png') center / contain no-repeat; | 713 | // this.filterTable[index].rowNo = index |
| 101 | } | 714 | // this.dataList[index].rowNo = index |
| 102 | .wechat { | 715 | }) |
| 103 | width: 200px; | 716 | }, |
| 104 | height: 200px; | 717 | judgePerson(type) { |
| 105 | img { | 718 | // this.dataList.splice(this.getRadom(this.dataList), 0,) |
| 106 | width: 100%; | 719 | // array.splice(array.length,0,6,8,9);//第二个参数为0的时候,是可以添加参数的,1的时候是删除 |
| 107 | height: auto; | 720 | if (this.currentData.name == '田耀中') { |
| 721 | if (type == 1) { | ||
| 722 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 723 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 724 | hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 725 | address: '山东省聊城市东昌府区振兴西路129号', | ||
| 726 | dateTime: '16:40', | ||
| 727 | stopTime: 50, | ||
| 728 | adcode: '340100', | ||
| 729 | batch: '1', | ||
| 730 | pkgs: 100, | ||
| 731 | type: 'new', | ||
| 732 | coordinate: '115.95710000,36.46834600', | ||
| 733 | status: '未去' | ||
| 734 | }) | ||
| 735 | } else { | ||
| 736 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 737 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 738 | hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 739 | address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 740 | dateTime: '15:47', | ||
| 741 | stopTime: 15, | ||
| 742 | adcode: '340100', | ||
| 743 | batch: '1', | ||
| 744 | pkgs: 100, | ||
| 745 | type: 'new', | ||
| 746 | coordinate: '116.06041900,36.39670700', | ||
| 747 | status: '未去' | ||
| 748 | }) | ||
| 749 | } | ||
| 750 | } else if (this.currentData.name == '路飞') { | ||
| 751 | if (type == 1) { | ||
| 752 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 753 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 754 | hospital: '德州市立医院', | ||
| 755 | address: '山东省德州市德城区三八路1766号', | ||
| 756 | dateTime: '12:55', | ||
| 757 | adcode: '340100', | ||
| 758 | stopTime: 90, | ||
| 759 | pkgs: 2, | ||
| 760 | batch: '1', | ||
| 761 | type: 'new', | ||
| 762 | coordinate: '116.29370300,37.45320200', | ||
| 763 | status: '未去' | ||
| 764 | }) | ||
| 765 | } else { | ||
| 766 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 767 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 768 | hospital: '德棉医院', | ||
| 769 | address: '德州市运河开发区纺织大街522号', | ||
| 770 | dateTime: '14:37', | ||
| 771 | stopTime: 20, | ||
| 772 | adcode: '340100', | ||
| 773 | batch: '1', | ||
| 774 | pkgs: 0, | ||
| 775 | type: 'new', | ||
| 776 | coordinate: '116.27572300,37.45761700', | ||
| 777 | status: '未去' | ||
| 778 | }) | ||
| 779 | } | ||
| 780 | } else if (this.currentData.name == '王东') { | ||
| 781 | if (type == 1) { | ||
| 782 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 783 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 784 | hospital: '武警山东总队医院', | ||
| 785 | address: '山东省济南市历下区浆水泉路12--8号', | ||
| 786 | dateTime: '14:45', | ||
| 787 | adcode: '340100', | ||
| 788 | batch: '1', | ||
| 789 | stopTime: 15, | ||
| 790 | pkgs: 100, | ||
| 791 | type: 'new', | ||
| 792 | coordinate: '117.08718600,36.65631700', | ||
| 793 | status: '未去' | ||
| 794 | }) | ||
| 795 | } else { | ||
| 796 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 797 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 798 | hospital: '济南汇安健康管理有限公司历下门诊部', | ||
| 799 | address: '济南市历下区文化西路15号', | ||
| 800 | dateTime: '12:05', | ||
| 801 | batch: '1', | ||
| 802 | stopTime: 120, | ||
| 803 | adcode: '340100', | ||
| 804 | pkgs: 100, | ||
| 805 | type: 'new', | ||
| 806 | coordinate: '117.03081400,36.65417800', | ||
| 807 | status: '未去' | ||
| 808 | }) | ||
| 108 | } | 809 | } |
| 810 | } else if (this.currentData.name == '尹逊武') { | ||
| 811 | if (type == 1) { | ||
| 812 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 813 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 814 | batch: '1', | ||
| 815 | hospital: '山东省中医院(西院)', | ||
| 816 | address: '山东省济南市文化西路42号', | ||
| 817 | dateTime: '11:25', | ||
| 818 | stopTime: 30, | ||
| 819 | pkgs: 100, | ||
| 820 | coordinate: '117.02325300,36.65510600', | ||
| 821 | type: 'new', | ||
| 822 | status: '未去' | ||
| 823 | }) | ||
| 824 | } else { | ||
| 825 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 826 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 827 | batch: '1', | ||
| 828 | hospital: '山东省千佛山医院', | ||
| 829 | address: '经十路山师东路', | ||
| 830 | dateTime: '13:40', | ||
| 831 | stopTime: 20, | ||
| 832 | pkgs: 100, | ||
| 833 | coordinate: '117.04485100,36.64754900', | ||
| 834 | type: 'new', | ||
| 835 | status: '未去' | ||
| 836 | }) | ||
| 109 | } | 837 | } |
| 838 | } else { | ||
| 839 | if (this.currentData.batch == '第一批') { | ||
| 840 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 841 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 842 | batch: '1', | ||
| 843 | hospital: '济南样本室对接点', | ||
| 844 | address: '济南市历下区颖秀路2755号', | ||
| 845 | dateTime: '19:45', | ||
| 846 | stopTime: 10, | ||
| 847 | pkgs: '-', | ||
| 848 | coordinate: '117.13394400,36.67904500', | ||
| 849 | type: 'new', | ||
| 850 | status: '未去' | ||
| 851 | }) | ||
| 852 | } else { | ||
| 853 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 854 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 855 | batch: '2', | ||
| 856 | hospital: '济南长途汽车总站对接点', | ||
| 857 | address: '济南市天桥区济洛路131号', | ||
| 858 | dateTime: '21:45', | ||
| 859 | stopTime: 15, | ||
| 860 | pkgs: '-', | ||
| 861 | coordinate: '116.99360600,36.68543900', | ||
| 862 | type: 'new', | ||
| 863 | status: '未去' | ||
| 864 | }) | ||
| 110 | } | 865 | } |
| 111 | } | 866 | } |
| 867 | }, | ||
| 868 | // 开启导航 | ||
| 869 | EnableNavigation() { | ||
| 870 | console.log(this.dataList) | ||
| 871 | // this.dataList.map(item => item.coordinate).join(';') | ||
| 872 | this.dataList.map(item => item.coordinate) | ||
| 873 | let arr = [] | ||
| 874 | if (!this.filterTable.length) { | ||
| 875 | arr = [this.firstObj, ...this.dataList].filter(item => item.status == '未去') | ||
| 876 | } else { | ||
| 877 | arr = [this.filterTable[this.filterTable.length - 1], ...this.dataList.filter(item => item.status != '已去')] | ||
| 878 | } | ||
| 879 | let obj = { | ||
| 880 | // 起点 | ||
| 881 | startingPoint: arr[0].coordinate, | ||
| 882 | startingName: arr[0].hospital, | ||
| 883 | // 终点 | ||
| 884 | terminus: arr[arr.length - 1].coordinate, | ||
| 885 | terminusName: arr[arr.length - 1].hospital | ||
| 886 | |||
| 887 | // 途经点 | ||
| 888 | // 116.402796,39.936915 | ||
| 889 | // pointOfPassage: `${this.dataList.map(item => item.coordinate).join('|')},midwaypoint` | ||
| 890 | } | ||
| 891 | // console.log(obj) | ||
| 892 | let url = '' | ||
| 893 | arr.forEach((item, index) => { | ||
| 894 | if (index > 0 && index < arr.length - 1) { | ||
| 895 | url += | ||
| 896 | `&via[${index - 1}][adcode]=${item.adcode}` + | ||
| 897 | `&via[${index - 1}][id]` + | ||
| 898 | `&via[${index - 1}][lnglat]=${item.coordinate}` + | ||
| 899 | `&via[${index - 1}][modxy]=${item.coordinate}` + | ||
| 900 | `&via[${index - 1}][name]=${item.hospital}` + | ||
| 901 | `&via[${index - 1}][poitype]` | ||
| 902 | } | ||
| 903 | }) | ||
| 904 | let aurl = arr.forEach((item, index) => { | ||
| 905 | if (index > 0 && index < arr.length - 1) { | ||
| 906 | url += `&via[${index - 1}]=${item.coordinate},${item.hospital}` | ||
| 907 | } | ||
| 908 | }) | ||
| 909 | console.log('123', url) | ||
| 910 | |||
| 911 | this.mapUrl = `https://ditu.amap.com/dir?dateTime=now&from[adcode]=&from[id]=&from[poitype]=&to[adcode]=&to[id]=&to[poitype]=&type=car&policy=2&from[lnglat]=${obj.startingPoint}&from[modxy]=${obj.startingPoint}&from[name]=${obj.startingName}&to[lnglat]=${obj.terminus}&to[modxy]=${obj.terminus}&to[name]=${obj.terminusName}${url}` | ||
| 912 | console.log(this.mapUrl) | ||
| 913 | window.open(this.mapUrl) | ||
| 914 | // location.assign(this.mapUrl) | ||
| 915 | let a = `https://uri.amap.com/navigation?from=${this.dataList[0].coordinate},${this.dataList[0].hospital} | ||
| 916 | &to=${this.dataList[this.dataList.length - 1].coordinate},${this.dataList[this.dataList.length - 1].hospital} | ||
| 917 | &via=${aurl} | ||
| 918 | &mode=car | ||
| 919 | &callnative=1 | ||
| 920 | &src=mypage | ||
| 921 | &policy=1 | ||
| 922 | &coordinate=gaode | ||
| 923 | &callnative` | ||
| 924 | console.log(a) | ||
| 925 | // window.open(a) | ||
| 926 | return | ||
| 927 | // location.href = `https://uri.amap.com/navigation? | ||
| 928 | // from=${this.dataList[0].coordinate} | ||
| 929 | // &to=${this.dataList[0].coordinate} | ||
| 930 | // &via=${this.dataList.map(item => item.coordinate).join(';')} | ||
| 931 | // &mode=car&policy=1&coordinate=gaode&callnative=1` | ||
| 932 | } | ||
| 933 | } | ||
| 934 | } | ||
| 935 | </script> | ||
| 936 | |||
| 937 | <style lang="scss" scoped> | ||
| 938 | .title { | ||
| 939 | padding: 10px; | ||
| 940 | } | ||
| 941 | |||
| 942 | .header-text { | ||
| 943 | font-size: 24px; | ||
| 944 | font-weight: 800; | ||
| 945 | } | ||
| 946 | |||
| 947 | .table-box { | ||
| 948 | margin: 12px 0px; | ||
| 949 | |||
| 950 | .th-row { | ||
| 951 | height: 56px; | ||
| 952 | line-height: 56px; | ||
| 953 | background: #ebf1f7; | ||
| 954 | padding: 0px 12px; | ||
| 955 | font-size: 36px; | ||
| 956 | } | ||
| 957 | |||
| 958 | .tb-row { | ||
| 959 | font-size: 48px; | ||
| 960 | height: 56px; | ||
| 961 | line-height: 56px; | ||
| 962 | padding: 0px 12px; | ||
| 963 | } | ||
| 964 | } | ||
| 965 | |||
| 966 | .fixed-bottom-right { | ||
| 967 | // position: fixed; | ||
| 968 | margin-top: 80px; | ||
| 969 | bottom: 20px; | ||
| 970 | right: 0px; | ||
| 971 | width: 100%; | ||
| 112 | } | 972 | } |
| 113 | </style> | 973 | </style> | ... | ... |
src/views/home/about1.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="title"> | ||
| 4 | <van-row type="flex" justify="space-between"> | ||
| 5 | <van-col span="8" class="header-text">业务员:{{ curentData.name }}</van-col> | ||
| 6 | <van-col span="8"> | ||
| 7 | <div class="header-text" style="display: flex"> | ||
| 8 | 出发时间: | ||
| 9 | <!-- <van-field v-model="curentData.startTime" size="small" placeholder="请输入时间" /> --> | ||
| 10 | {{ curentData.startTime | formatDate('hh:mm:ss') }} | ||
| 11 | </div> | ||
| 12 | </van-col> | ||
| 13 | <van-col span="8" class="header-text">车牌号:{{ curentData.plate }}</van-col> | ||
| 14 | <!-- <van-col span="8" class="header-text">批次:{{ curentData.batch }}</van-col> --> | ||
| 15 | </van-row> | ||
| 16 | <van-row type="flex" style="margin-top: 15px"> | ||
| 17 | <van-col span="8"> | ||
| 18 | <div class="header-text">出发地:{{ curentData.arrival }}</div> | ||
| 19 | </van-col> | ||
| 20 | <van-col span="8"> | ||
| 21 | <!-- dataList[dataList.length - 1].hospital --> | ||
| 22 | <div class="header-text">目的地:{{ curentData.departure }}</div> | ||
| 23 | </van-col> | ||
| 24 | <van-col span="8"> | ||
| 25 | <div class="header-text" style="display: flex"> | ||
| 26 | 回程时间: | ||
| 27 | <!-- <van-field v-model="curentData.startTime" size="small" placeholder="请输入时间" /> --> | ||
| 28 | {{ curentData.lastArrivalTime | formatDate('hh:mm:ss') }} | ||
| 29 | </div> | ||
| 30 | </van-col> | ||
| 31 | </van-row> | ||
| 32 | <van-row type="flex" style="margin-top: 15px"> | ||
| 33 | <van-col span="8"> | ||
| 34 | <!-- dataList[dataList.length - 1].hospital --> | ||
| 35 | <div class="header-text">总里程:{{ curentData.totalDistance }}</div> | ||
| 36 | </van-col> | ||
| 37 | <van-col span="8"> | ||
| 38 | <div class="header-text" style="display: flex"> | ||
| 39 | 总耗时: | ||
| 40 | <!-- <van-field v-model="curentData.startTime" size="small" placeholder="请输入时间" /> --> | ||
| 41 | {{ curentData.totalTimes }} | ||
| 42 | </div> | ||
| 43 | </van-col> | ||
| 44 | <!-- <van-col span="8"> | ||
| 45 | <div class="header-text" style="display: flex"> | ||
| 46 | 到达时间: | ||
| 47 | {{ curentData.startTime | formatDate('hh:mm:ss') }} | ||
| 48 | </div> | ||
| 49 | </van-col> --> | ||
| 50 | </van-row> | ||
| 51 | </div> | ||
| 52 | <div> | ||
| 53 | <Table-vant :option="option1" :tableData="filterTable" v-if="filterTable.length > 0"></Table-vant> | ||
| 54 | <div style="width: 100%; overflow-x: auto"> | ||
| 55 | <Table-vant | ||
| 56 | :option="option" | ||
| 57 | :tableData="dataList" | ||
| 58 | width="790px" | ||
| 59 | vuedraggable=".list-tr" | ||
| 60 | :rowClick="true" | ||
| 61 | ></Table-vant> | ||
| 62 | </div> | ||
| 63 | <div style="font-size: 16px; font-weight: bold; margin-top: 20px" v-if="deleteData.length > 0"> | ||
| 64 | 从原安排中移除的任务 | ||
| 65 | </div> | ||
| 66 | <Table-vant :option="option2" :tableData="deleteData" v-if="deleteData.length > 0"></Table-vant> | ||
| 67 | </div> | ||
| 68 | |||
| 69 | <div class="fixed-bottom-right"> | ||
| 70 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 71 | <van-button round plain type="primary" @click="simulatedSampling">模拟取样</van-button> | ||
| 72 | <van-button round plain type="info" @click="insertOrder">模拟插单1</van-button> | ||
| 73 | <van-button round plain type="primary" @click="insertOrder1">模拟插单2</van-button> | ||
| 74 | </div> | ||
| 75 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 76 | <van-button round plain type="info" @click="replanning">重新规划</van-button> | ||
| 77 | <van-button round plain type="info" @click="replanning2">调整后规划</van-button> | ||
| 78 | <van-button round plain type="info" @click="EnableNavigation">开启导航</van-button> | ||
| 79 | </div> | ||
| 80 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 81 | <van-button round plain type="info" @click="adjustTime()">调整时间</van-button> | ||
| 82 | </div> | ||
| 83 | <!-- <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 84 | <van-button round plain type="info" @click="nextOrder()">下一条</van-button> | ||
| 85 | <van-button round plain type="info" @click="lastOrder()">上一条</van-button> | ||
| 86 | </div> --> | ||
| 87 | </div> | ||
| 88 | <van-dialog | ||
| 89 | v-model="show" | ||
| 90 | v-if="show" | ||
| 91 | title="插单" | ||
| 92 | show-cancel-button | ||
| 93 | :before-close="handleInsertOrder" | ||
| 94 | @opened="openDialog" | ||
| 95 | > | ||
| 96 | 城市: | ||
| 97 | <select name="pets" id="pet-select" v-model="city" class="city" @change="cityChage($event)"> | ||
| 98 | <option v-for="item in cityOptions" :key="item.value" :value="item.value">{{ item.label }}</option> | ||
| 99 | </select> | ||
| 100 | <div style="width: 100%; overflow: auto; margin-bottom: 50px; height: 500px"> | ||
| 101 | <Table-vant :option="option3" :tableData="insertData" width="470px" :showCheck="true"> | ||
| 102 | <template v-slot:timeInterval="{ item }"> | ||
| 103 | <input type="text" v-model="item.timeInterval" style="width: 80%; height: 25px" /> | ||
| 104 | </template> | ||
| 105 | <template v-slot:vehicleType="{ item }"> | ||
| 106 | <div>{{ item.vehicleType == 1 ? '电动汽车' : '电动车' }}</div> | ||
| 107 | </template> | ||
| 108 | </Table-vant> | ||
| 109 | </div> | ||
| 110 | </van-dialog> | ||
| 111 | <van-dialog | ||
| 112 | v-model="TimeShow" | ||
| 113 | v-if="TimeShow" | ||
| 114 | title="调整时间" | ||
| 115 | confirmButtonText="调整规划" | ||
| 116 | show-cancel-button | ||
| 117 | :before-close="handleChangeTime" | ||
| 118 | > | ||
| 119 | <div> | ||
| 120 | <van-cell-group> | ||
| 121 | <van-field v-model="rowData.hospital" readonly label="医院" placeholder="" /> | ||
| 122 | </van-cell-group> | ||
| 123 | <div> | ||
| 124 | <van-cell-group style="display: flex"> | ||
| 125 | <div | ||
| 126 | style=" | ||
| 127 | color: #646566; | ||
| 128 | text-align: left; | ||
| 129 | word-wrap: break-word; | ||
| 130 | font-size: 3.733333vw; | ||
| 131 | line-height: 40px; | ||
| 132 | width: -webkit-fill-available; | ||
| 133 | " | ||
| 134 | > | ||
| 135 | 取样时间段: | ||
| 136 | </div> | ||
| 137 | <van-field v-model="date1" label="" placeholder="" span="12" /> | ||
| 138 | <span style="line-height: 40px">——</span> | ||
| 139 | <van-field v-model="date2" label="" placeholder="" span="12" /> | ||
| 140 | </van-cell-group> | ||
| 141 | </div> | ||
| 142 | </div> | ||
| 143 | </van-dialog> | ||
| 144 | </div> | ||
| 145 | </template> | ||
| 146 | |||
| 147 | <script> | ||
| 148 | // 请求接口 | ||
| 149 | import { getPlan, getSession, getPlan2 } from '@/api/user.js' | ||
| 150 | import TableVant from '@/components/Table.vue' | ||
| 151 | import { Toast } from 'vant' | ||
| 152 | import _ from 'lodash' | ||
| 153 | export default { | ||
| 154 | components: { TableVant }, | ||
| 155 | data() { | ||
| 156 | return { | ||
| 157 | sortTable: [], | ||
| 158 | dataList: [], | ||
| 159 | date1: '', | ||
| 160 | date2: '', | ||
| 161 | insertType: 1, | ||
| 162 | TimeShow: false, | ||
| 163 | index: 0, | ||
| 164 | curentData: {}, | ||
| 165 | rowData: {}, | ||
| 166 | cityIndex: 0, | ||
| 167 | targetData: [], | ||
| 168 | city: '', | ||
| 169 | departureData: [], | ||
| 170 | allReturnData: [], | ||
| 171 | flag: 1, | ||
| 172 | date: '', | ||
| 173 | show: false, | ||
| 174 | start: '', | ||
| 175 | firstObj: {}, | ||
| 176 | filterTable: [], | ||
| 177 | deleteData: [], | ||
| 178 | accessToken: '', | ||
| 179 | originData: [], | ||
| 180 | checkeData: [], | ||
| 181 | orginInsertData: [ | ||
| 182 | { | ||
| 183 | name: '', | ||
| 184 | plate: '', | ||
| 185 | departure: '', | ||
| 186 | arrival: '', | ||
| 187 | departureDate: '06:30', | ||
| 188 | customerData: [ | ||
| 189 | { | ||
| 190 | rowNo: '2', | ||
| 191 | batch: '1', | ||
| 192 | hospital: '济南西站对接点', | ||
| 193 | address: '济南市槐荫区齐鲁大道6号', | ||
| 194 | dateTime: '07:50', | ||
| 195 | stopTime: 20, | ||
| 196 | pkgs: 0, | ||
| 197 | coordinate: '116.89177900,36.66887900', | ||
| 198 | isOrigin: 'N', | ||
| 199 | vehicleType: '1', | ||
| 200 | timeInterval: '' | ||
| 201 | }, | ||
| 202 | { | ||
| 203 | rowNo: '3', | ||
| 204 | batch: '1', | ||
| 205 | hospital: '济南和合医学检验有限公司', | ||
| 206 | address: '槐荫区美里湖555号路海那城总部42号楼', | ||
| 207 | dateTime: '08:55', | ||
| 208 | stopTime: 15, | ||
| 209 | pkgs: 0, | ||
| 210 | coordinate: '116.91937000,36.72000800', | ||
| 211 | isOrigin: 'N', | ||
| 212 | vehicleType: '1', | ||
| 213 | timeInterval: '09:00,10:00' | ||
| 214 | }, | ||
| 215 | { | ||
| 216 | rowNo: '4', | ||
| 217 | batch: '1', | ||
| 218 | hospital: '山东第一医科大学附属皮肤病医院', | ||
| 219 | address: '济南市经十路27397号', | ||
| 220 | dateTime: '09:30', | ||
| 221 | stopTime: 10, | ||
| 222 | pkgs: 100, | ||
| 223 | coordinate: '116.92826100,36.65210900', | ||
| 224 | isOrigin: 'N', | ||
| 225 | vehicleType: '1', | ||
| 226 | timeInterval: '' | ||
| 227 | }, | ||
| 228 | { | ||
| 229 | rowNo: '5', | ||
| 230 | batch: '1', | ||
| 231 | hospital: '山东禾力升医学检验实验室有限公司', | ||
| 232 | address: '济南市市中区南辛庄西路丰润 怡邻居西门', | ||
| 233 | dateTime: '10:00', | ||
| 234 | stopTime: 10, | ||
| 235 | pkgs: 100, | ||
| 236 | coordinate: '116.96255900,36.63623600', | ||
| 237 | isOrigin: 'N', | ||
| 238 | vehicleType: '1', | ||
| 239 | timeInterval: '' | ||
| 240 | }, | ||
| 241 | { | ||
| 242 | rowNo: '6', | ||
| 243 | batch: '1', | ||
| 244 | hospital: '市中慢病第四人民医院青龙山分院', | ||
| 245 | address: '山东省济南市市中区南辛庄西路272号', | ||
| 246 | dateTime: '10:20', | ||
| 247 | stopTime: 40, | ||
| 248 | pkgs: 100, | ||
| 249 | coordinate: '116.95988200,36.62819100', | ||
| 250 | isOrigin: 'N', | ||
| 251 | vehicleType: '1', | ||
| 252 | timeInterval: '' | ||
| 253 | }, | ||
| 254 | { | ||
| 255 | rowNo: '7', | ||
| 256 | batch: '1', | ||
| 257 | hospital: '山东省医学科学院放射医学研究所', | ||
| 258 | address: '济南经十路89号9956', | ||
| 259 | dateTime: '11:15', | ||
| 260 | stopTime: 15, | ||
| 261 | pkgs: 100, | ||
| 262 | coordinate: '117.01788200,36.64911300', | ||
| 263 | isOrigin: 'N', | ||
| 264 | vehicleType: '1', | ||
| 265 | timeInterval: '' | ||
| 266 | }, | ||
| 267 | { | ||
| 268 | rowNo: '8', | ||
| 269 | batch: '1', | ||
| 270 | hospital: '山东省分析测试中心', | ||
| 271 | address: '山东省济南市历下区科院路19号详情', | ||
| 272 | dateTime: '11:40', | ||
| 273 | stopTime: 10, | ||
| 274 | pkgs: 100, | ||
| 275 | coordinate: '117.04783900,36.64556100', | ||
| 276 | isOrigin: 'N', | ||
| 277 | vehicleType: '1', | ||
| 278 | timeInterval: '' | ||
| 279 | }, | ||
| 280 | { | ||
| 281 | rowNo: '9', | ||
| 282 | batch: '1', | ||
| 283 | hospital: '济南汇安健康管理有限公司历下门诊部', | ||
| 284 | address: '济南市历下区文化西路15号', | ||
| 285 | dateTime: '12:05', | ||
| 286 | stopTime: 120, | ||
| 287 | pkgs: 100, | ||
| 288 | coordinate: '117.03081400,36.65417800', | ||
| 289 | isOrigin: 'N', | ||
| 290 | vehicleType: '1', | ||
| 291 | timeInterval: '' | ||
| 292 | }, | ||
| 293 | { | ||
| 294 | rowNo: '10', | ||
| 295 | batch: '1', | ||
| 296 | hospital: '武警山东总队医院', | ||
| 297 | address: '山东省济南市历下区浆水泉路12--8号', | ||
| 298 | dateTime: '14:45', | ||
| 299 | stopTime: 15, | ||
| 300 | pkgs: 100, | ||
| 301 | coordinate: '117.08718600,36.65631700', | ||
| 302 | isOrigin: 'N', | ||
| 303 | vehicleType: '1', | ||
| 304 | timeInterval: '' | ||
| 305 | }, | ||
| 306 | { | ||
| 307 | rowNo: '11', | ||
| 308 | batch: '1', | ||
| 309 | hospital: '济南样本室对接点', | ||
| 310 | address: '济南市历下区颖秀路2755号', | ||
| 311 | dateTime: '15:20', | ||
| 312 | stopTime: 30, | ||
| 313 | pkgs: 100, | ||
| 314 | coordinate: '117.13394400,36.67904500', | ||
| 315 | isOrigin: 'N', | ||
| 316 | vehicleType: '1', | ||
| 317 | timeInterval: '' | ||
| 318 | }, | ||
| 319 | { | ||
| 320 | rowNo: '2', | ||
| 321 | batch: '1', | ||
| 322 | hospital: '山东大学齐鲁医院', | ||
| 323 | address: '济南市文化西路107号', | ||
| 324 | dateTime: '08:50', | ||
| 325 | stopTime: 190, | ||
| 326 | pkgs: 100, | ||
| 327 | coordinate: '117.01839000,36.65659000', | ||
| 328 | isOrigin: 'N', | ||
| 329 | vehicleType: '2', | ||
| 330 | timeInterval: '' | ||
| 331 | }, | ||
| 332 | { | ||
| 333 | rowNo: '3', | ||
| 334 | batch: '1', | ||
| 335 | hospital: '山东省中医院(西院)', | ||
| 336 | address: '山东省济南市文化西路42号', | ||
| 337 | dateTime: '11:25', | ||
| 338 | stopTime: 30, | ||
| 339 | pkgs: 100, | ||
| 340 | coordinate: '117.02325300,36.65510600', | ||
| 341 | isOrigin: 'N', | ||
| 342 | vehicleType: '2', | ||
| 343 | timeInterval: '' | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | rowNo: '4', | ||
| 347 | batch: '1', | ||
| 348 | hospital: '济南市中医医院1', | ||
| 349 | address: '山东省济南市槐荫区美里路555号海那城总部24号楼101单元401', | ||
| 350 | dateTime: '12:05', | ||
| 351 | stopTime: 30, | ||
| 352 | pkgs: 100, | ||
| 353 | coordinate: '116.91984000,36.72078200', | ||
| 354 | isOrigin: 'N', | ||
| 355 | vehicleType: '2', | ||
| 356 | timeInterval: '' | ||
| 357 | }, | ||
| 358 | { | ||
| 359 | rowNo: '5', | ||
| 360 | batch: '1', | ||
| 361 | hospital: '济南丽合医疗美容医院有限公司', | ||
| 362 | address: '山东省济南市历下区黑虎泉北路61号', | ||
| 363 | dateTime: '13:15', | ||
| 364 | stopTime: 10, | ||
| 365 | pkgs: 100, | ||
| 366 | coordinate: '117.03587900,36.67266400', | ||
| 367 | isOrigin: 'N', | ||
| 368 | vehicleType: '2', | ||
| 369 | timeInterval: '' | ||
| 370 | }, | ||
| 371 | { | ||
| 372 | rowNo: '6', | ||
| 373 | batch: '1', | ||
| 374 | hospital: '山东省千佛山医院', | ||
| 375 | address: '经十路山师东路', | ||
| 376 | dateTime: '13:40', | ||
| 377 | stopTime: 20, | ||
| 378 | pkgs: 100, | ||
| 379 | coordinate: '117.04485100,36.64754900', | ||
| 380 | isOrigin: 'N', | ||
| 381 | vehicleType: '2', | ||
| 382 | timeInterval: '' | ||
| 383 | }, | ||
| 384 | { | ||
| 385 | rowNo: '7', | ||
| 386 | batch: '1', | ||
| 387 | hospital: '山东第一医科大学第一附属医院', | ||
| 388 | address: '山东省济南市历下区经十路16766号', | ||
| 389 | dateTime: '14:05', | ||
| 390 | stopTime: 20, | ||
| 391 | pkgs: 100, | ||
| 392 | coordinate: '117.04244800,36.64765800', | ||
| 393 | isOrigin: 'N', | ||
| 394 | vehicleType: '2', | ||
| 395 | timeInterval: '' | ||
| 396 | }, | ||
| 397 | { | ||
| 398 | rowNo: '8', | ||
| 399 | batch: '1', | ||
| 400 | hospital: '济南长途汽车总站对接点', | ||
| 401 | address: '济南市天桥区济洛路131号', | ||
| 402 | dateTime: '17:25', | ||
| 403 | stopTime: 15, | ||
| 404 | pkgs: 0, | ||
| 405 | coordinate: '116.99360600,36.68543900', | ||
| 406 | isOrigin: 'N', | ||
| 407 | vehicleType: '2', | ||
| 408 | timeInterval: '' | ||
| 409 | }, | ||
| 410 | { | ||
| 411 | rowNo: '2', | ||
| 412 | batch: '1', | ||
| 413 | hospital: '山东省省立医院东院', | ||
| 414 | address: '山东省济南市历下区经十路9677号', | ||
| 415 | dateTime: '09:05', | ||
| 416 | stopTime: 90, | ||
| 417 | pkgs: 100, | ||
| 418 | coordinate: '117.12129000,36.66338600', | ||
| 419 | isOrigin: 'N', | ||
| 420 | vehicleType: '2', | ||
| 421 | timeInterval: '' | ||
| 422 | }, | ||
| 423 | { | ||
| 424 | rowNo: '3', | ||
| 425 | batch: '1', | ||
| 426 | hospital: '山东省省立医院东院(特检)', | ||
| 427 | address: '山东省济南市历下区经十路9667号', | ||
| 428 | dateTime: '10:40', | ||
| 429 | stopTime: 30, | ||
| 430 | pkgs: 100, | ||
| 431 | coordinate: '117.03401900,36.64879400', | ||
| 432 | isOrigin: 'N', | ||
| 433 | vehicleType: '2', | ||
| 434 | timeInterval: '' | ||
| 435 | }, | ||
| 436 | { | ||
| 437 | rowNo: '4', | ||
| 438 | batch: '1', | ||
| 439 | hospital: '新华卓越门诊部(济南)有限公司', | ||
| 440 | address: '济南市历下区龙奥北路8-4号玉兰广场2号楼3层', | ||
| 441 | dateTime: '11:20', | ||
| 442 | stopTime: 10, | ||
| 443 | pkgs: 100, | ||
| 444 | coordinate: '117.12426800,36.65054700', | ||
| 445 | isOrigin: 'N', | ||
| 446 | vehicleType: '2', | ||
| 447 | timeInterval: '' | ||
| 448 | }, | ||
| 449 | { | ||
| 450 | rowNo: '4', | ||
| 451 | batch: '1', | ||
| 452 | hospital: '济南市历下区姚家办事处仁合社区卫生服务站', | ||
| 453 | address: '济南市历下区荆山路438-62号', | ||
| 454 | dateTime: '11:55', | ||
| 455 | stopTime: 15, | ||
| 456 | pkgs: 100, | ||
| 457 | coordinate: '117.07670700,36.64310600', | ||
| 458 | isOrigin: 'N', | ||
| 459 | vehicleType: '2', | ||
| 460 | timeInterval: '' | ||
| 461 | }, | ||
| 462 | { | ||
| 463 | rowNo: '4', | ||
| 464 | batch: '1', | ||
| 465 | hospital: '济南迪安中心办事处', | ||
| 466 | address: '济南市高新区颖秀路2755号', | ||
| 467 | dateTime: '12:40', | ||
| 468 | stopTime: 30, | ||
| 469 | pkgs: 100, | ||
| 470 | coordinate: '117.13394400,36.67904500', | ||
| 471 | isOrigin: 'N', | ||
| 472 | vehicleType: '2', | ||
| 473 | timeInterval: '' | ||
| 474 | }, | ||
| 475 | { | ||
| 476 | rowNo: '4', | ||
| 477 | batch: '1', | ||
| 478 | hospital: '济南云康达安医学检验实验室有限公司', | ||
| 479 | address: '济南市高新区颖秀路2766号迪亚产业园东楼二楼', | ||
| 480 | dateTime: '13:40', | ||
| 481 | stopTime: 10, | ||
| 482 | pkgs: 100, | ||
| 483 | coordinate: '117.13506400,36.67946300', | ||
| 484 | isOrigin: 'N', | ||
| 485 | vehicleType: '2', | ||
| 486 | timeInterval: '' | ||
| 487 | }, | ||
| 488 | { | ||
| 489 | rowNo: '4', | ||
| 490 | batch: '1', | ||
| 491 | hospital: '济南爱新卓尔医学检验有限公司', | ||
| 492 | address: '济南市历下区天辰路1318', | ||
| 493 | dateTime: '13:55', | ||
| 494 | stopTime: 10, | ||
| 495 | pkgs: 100, | ||
| 496 | coordinate: '117.13495300,36.68222100', | ||
| 497 | isOrigin: 'N', | ||
| 498 | vehicleType: '2', | ||
| 499 | timeInterval: '' | ||
| 500 | }, | ||
| 501 | { | ||
| 502 | rowNo: '4', | ||
| 503 | batch: '1', | ||
| 504 | hospital: '济南高新区雅居园社区卫生服务站', | ||
| 505 | address: '济南高新区雅居园小区北门商 用房1期2区1号楼1单元 2201.202.203室', | ||
| 506 | dateTime: '14:15', | ||
| 507 | stopTime: 10, | ||
| 508 | pkgs: 100, | ||
| 509 | coordinate: '117.12526800,36.67245200', | ||
| 510 | isOrigin: 'N', | ||
| 511 | vehicleType: '2', | ||
| 512 | timeInterval: '' | ||
| 513 | }, | ||
| 514 | { | ||
| 515 | rowNo: '4', | ||
| 516 | batch: '1', | ||
| 517 | hospital: '山东省立医院', | ||
| 518 | address: '济南市经五纬七路324号', | ||
| 519 | dateTime: '08:25', | ||
| 520 | stopTime: 210, | ||
| 521 | pkgs: 100, | ||
| 522 | coordinate: '116.98415700,36.65685700', | ||
| 523 | isOrigin: 'N', | ||
| 524 | vehicleType: '2', | ||
| 525 | timeInterval: '' | ||
| 526 | }, | ||
| 527 | { | ||
| 528 | rowNo: '4', | ||
| 529 | batch: '1', | ||
| 530 | hospital: '济南市槐荫区西市场办事处纬十路社区卫生服务站', | ||
| 531 | address: '济南市槐荫区经三纬十一路330号', | ||
| 532 | dateTime: '12:05', | ||
| 533 | stopTime: 10, | ||
| 534 | pkgs: 100, | ||
| 535 | coordinate: '116.97392000,36.65924000', | ||
| 536 | isOrigin: 'N', | ||
| 537 | vehicleType: '2', | ||
| 538 | timeInterval: '' | ||
| 539 | }, | ||
| 540 | { | ||
| 541 | rowNo: '4', | ||
| 542 | batch: '1', | ||
| 543 | hospital: '济南市天桥区纬北经纬嘉园社区卫生服务站', | ||
| 544 | address: '经一路经纬嘉园住宅小区141-31号', | ||
| 545 | dateTime: '16:30', | ||
| 546 | stopTime: 20, | ||
| 547 | pkgs: 100, | ||
| 548 | coordinate: '120.08842500,30.87737500', | ||
| 549 | isOrigin: 'N', | ||
| 550 | vehicleType: '2', | ||
| 551 | timeInterval: '' | ||
| 552 | }, | ||
| 553 | { | ||
| 554 | rowNo: '4', | ||
| 555 | batch: '1', | ||
| 556 | hospital: '济南市槐荫区五里沟公祥街社区卫生服务站', | ||
| 557 | address: '槐荫区纬五路39-7', | ||
| 558 | dateTime: '16:55', | ||
| 559 | stopTime: 15, | ||
| 560 | pkgs: 100, | ||
| 561 | coordinate: '116.98715800,36.66398400', | ||
| 562 | isOrigin: 'N', | ||
| 563 | vehicleType: '2', | ||
| 564 | timeInterval: '' | ||
| 565 | }, | ||
| 566 | { | ||
| 567 | rowNo: '4', | ||
| 568 | batch: '1', | ||
| 569 | hospital: '山东光正眼科医院有限公司', | ||
| 570 | address: '济南市市中区经二路223号', | ||
| 571 | dateTime: '17:15', | ||
| 572 | stopTime: 50, | ||
| 573 | pkgs: 100, | ||
| 574 | coordinate: '116.99099400,36.66410100', | ||
| 575 | isOrigin: 'N', | ||
| 576 | vehicleType: '2', | ||
| 577 | timeInterval: '' | ||
| 578 | }, | ||
| 579 | { | ||
| 580 | rowNo: '4', | ||
| 581 | batch: '1', | ||
| 582 | hospital: '山东光正眼科医院有限公司', | ||
| 583 | address: '济南市市中区经二路223号', | ||
| 584 | dateTime: '17:15', | ||
| 585 | stopTime: 50, | ||
| 586 | pkgs: 100, | ||
| 587 | coordinate: '116.99099400,36.66410100', | ||
| 588 | isOrigin: 'N', | ||
| 589 | vehicleType: '2', | ||
| 590 | timeInterval: '' | ||
| 591 | }, | ||
| 592 | { | ||
| 593 | rowNo: '4', | ||
| 594 | batch: '1', | ||
| 595 | hospital: '山东省康复医院', | ||
| 596 | address: '历城区唐冶新区围子山路3126号', | ||
| 597 | dateTime: '10:40', | ||
| 598 | stopTime: 50, | ||
| 599 | pkgs: 100, | ||
| 600 | coordinate: '117.24190100,36.68823600', | ||
| 601 | isOrigin: 'N', | ||
| 602 | vehicleType: '2', | ||
| 603 | timeInterval: '' | ||
| 604 | }, | ||
| 605 | { | ||
| 606 | rowNo: '4', | ||
| 607 | batch: '1', | ||
| 608 | hospital: '山东水发生命科学研究有限公司', | ||
| 609 | address: '山东省济南市高新区大正路1777号生命科学城13号楼一层', | ||
| 610 | dateTime: '11:50', | ||
| 611 | stopTime: 15, | ||
| 612 | pkgs: 100, | ||
| 613 | coordinate: '117.32744800,36.70332300', | ||
| 614 | isOrigin: 'N', | ||
| 615 | vehicleType: '2', | ||
| 616 | timeInterval: '' | ||
| 617 | }, | ||
| 618 | { | ||
| 619 | rowNo: '4', | ||
| 620 | batch: '1', | ||
| 621 | hospital: '章丘慢性病防治所对接点', | ||
| 622 | address: '济南市章丘区唐王山路1099号', | ||
| 623 | dateTime: '12:40', | ||
| 624 | stopTime: 15, | ||
| 625 | pkgs: 0, | ||
| 626 | coordinate: '117.53489000,36.69297100', | ||
| 627 | isOrigin: 'N', | ||
| 628 | vehicleType: '2', | ||
| 629 | timeInterval: '' | ||
| 630 | }, | ||
| 631 | { | ||
| 632 | rowNo: '4', | ||
| 633 | batch: '1', | ||
| 634 | hospital: '济南万泉生物技术有限公司', | ||
| 635 | address: '济南市高新区港兴三路北段一号济南药谷研发平台区1号楼A座1305', | ||
| 636 | dateTime: '14:05', | ||
| 637 | stopTime: 15, | ||
| 638 | pkgs: 100, | ||
| 639 | coordinate: '117.22268400,36.66921200', | ||
| 640 | isOrigin: 'N', | ||
| 641 | vehicleType: '2', | ||
| 642 | timeInterval: '' | ||
| 643 | }, | ||
| 644 | { | ||
| 645 | rowNo: '4', | ||
| 646 | batch: '1', | ||
| 647 | hospital: '健颐生物(药谷)', | ||
| 648 | address: '济南市历城区港兴三路济南药谷1号楼A座25楼', | ||
| 649 | dateTime: '14:25', | ||
| 650 | stopTime: 15, | ||
| 651 | pkgs: 100, | ||
| 652 | coordinate: '117.22278300,36.66978200', | ||
| 653 | isOrigin: 'N', | ||
| 654 | vehicleType: '2', | ||
| 655 | timeInterval: '' | ||
| 656 | }, | ||
| 657 | { | ||
| 658 | rowNo: '4', | ||
| 659 | batch: '1', | ||
| 660 | hospital: '山东惠然生物科技有限公司', | ||
| 661 | address: '高新区港兴三路北段1号济南市药谷研发平台区2号楼1801房间', | ||
| 662 | dateTime: '14:45', | ||
| 663 | stopTime: 15, | ||
| 664 | pkgs: 100, | ||
| 665 | coordinate: '117.22239900,36.66859400', | ||
| 666 | isOrigin: 'N', | ||
| 667 | vehicleType: '2', | ||
| 668 | timeInterval: '' | ||
| 669 | }, | ||
| 670 | { | ||
| 671 | rowNo: '4', | ||
| 672 | batch: '1', | ||
| 673 | hospital: '山东富优生命科学有限公司', | ||
| 674 | address: '山东富优生命科学有限公司', | ||
| 675 | dateTime: '15:05', | ||
| 676 | stopTime: 15, | ||
| 677 | pkgs: 100, | ||
| 678 | coordinate: '117.22283000,36.67004000', | ||
| 679 | isOrigin: 'N', | ||
| 680 | vehicleType: '2', | ||
| 681 | timeInterval: '' | ||
| 682 | }, | ||
| 683 | { | ||
| 684 | rowNo: '4', | ||
| 685 | batch: '1', | ||
| 686 | hospital: '山东省齐鲁细胞治疗工程技术有限公司', | ||
| 687 | address: '山东省济南市高新区港兴三路1109号', | ||
| 688 | dateTime: '16:05', | ||
| 689 | stopTime: 10, | ||
| 690 | pkgs: 100, | ||
| 691 | coordinate: '117.22257900,36.65528700', | ||
| 692 | isOrigin: 'N', | ||
| 693 | vehicleType: '2', | ||
| 694 | timeInterval: '' | ||
| 695 | }, | ||
| 696 | { | ||
| 697 | rowNo: '4', | ||
| 698 | batch: '1', | ||
| 699 | hospital: '济南高新开发区景琪综合门诊有限公司', | ||
| 700 | address: '高新区舜华路街道街道华奥路77号东鲁凤凰上都6-104', | ||
| 701 | dateTime: '16:35', | ||
| 702 | stopTime: 15, | ||
| 703 | pkgs: 100, | ||
| 704 | coordinate: '117.15647200,36.65323700', | ||
| 705 | isOrigin: 'N', | ||
| 706 | vehicleType: '2', | ||
| 707 | timeInterval: '' | ||
| 708 | }, | ||
| 709 | { | ||
| 710 | rowNo: '4', | ||
| 711 | batch: '1', | ||
| 712 | hospital: '济南市历下区龙洞办事处社区卫生服务中心', | ||
| 713 | address: '历下区龙洞办事处锦屏家园龙锦生活广场10号楼02号铺', | ||
| 714 | dateTime: '17:05', | ||
| 715 | stopTime: 10, | ||
| 716 | pkgs: 100, | ||
| 717 | coordinate: '117.12264500,36.62768600', | ||
| 718 | isOrigin: 'N', | ||
| 719 | vehicleType: '2', | ||
| 720 | timeInterval: '' | ||
| 721 | }, | ||
| 722 | { | ||
| 723 | rowNo: '4', | ||
| 724 | batch: '1', | ||
| 725 | hospital: '济南佰年颐堂中医医院有限公司', | ||
| 726 | address: '山东省济南市历城区工业北路180号院内办公楼2号楼1层', | ||
| 727 | dateTime: '14:55', | ||
| 728 | stopTime: 10, | ||
| 729 | pkgs: 100, | ||
| 730 | coordinate: '117.26118400,36.63685400', | ||
| 731 | isOrigin: 'N', | ||
| 732 | vehicleType: '2', | ||
| 733 | timeInterval: '' | ||
| 734 | }, | ||
| 735 | { | ||
| 736 | rowNo: '4', | ||
| 737 | batch: '1', | ||
| 738 | hospital: '山东元辰生物医药科技集团有限公司', | ||
| 739 | address: '华山街道丑父路135号华山片区安置区二区S3号楼商业区四层', | ||
| 740 | dateTime: '15:20', | ||
| 741 | stopTime: 10, | ||
| 742 | pkgs: 100, | ||
| 743 | coordinate: '117.06162300,36.68773700', | ||
| 744 | isOrigin: 'N', | ||
| 745 | vehicleType: '2', | ||
| 746 | timeInterval: '' | ||
| 747 | }, | ||
| 748 | { | ||
| 749 | rowNo: '4', | ||
| 750 | batch: '1', | ||
| 751 | hospital: '山东大学第二医院(检验科)', | ||
| 752 | address: '山东大学第二医院(检验科)', | ||
| 753 | dateTime: '15:50', | ||
| 754 | stopTime: 30, | ||
| 755 | pkgs: 100, | ||
| 756 | coordinate: '117.04054100,36.69042100', | ||
| 757 | isOrigin: 'N', | ||
| 758 | vehicleType: '2', | ||
| 759 | timeInterval: '' | ||
| 760 | }, | ||
| 761 | { | ||
| 762 | rowNo: '4', | ||
| 763 | batch: '1', | ||
| 764 | hospital: '山东省立第三医院', | ||
| 765 | address: '山东省济南市无影山中路12号', | ||
| 766 | dateTime: '16:40', | ||
| 767 | stopTime: 60, | ||
| 768 | pkgs: 100, | ||
| 769 | coordinate: '116.98967800,36.68406100', | ||
| 770 | isOrigin: 'N', | ||
| 771 | vehicleType: '2', | ||
| 772 | timeInterval: '' | ||
| 773 | }, | ||
| 774 | { | ||
| 775 | rowNo: '4', | ||
| 776 | batch: '1', | ||
| 777 | hospital: '艾迪康', | ||
| 778 | address: '济南市天桥区田家庄东路4号', | ||
| 779 | dateTime: '20:45', | ||
| 780 | stopTime: 5, | ||
| 781 | pkgs: 100, | ||
| 782 | coordinate: '116.97534100,36.69010900', | ||
| 783 | isOrigin: 'N', | ||
| 784 | vehicleType: '2', | ||
| 785 | timeInterval: '' | ||
| 786 | }, | ||
| 787 | { | ||
| 788 | rowNo: '4', | ||
| 789 | batch: '1', | ||
| 790 | hospital: '历城奇鲁诊所', | ||
| 791 | address: '七里堡东路84号4号', | ||
| 792 | dateTime: '10:55', | ||
| 793 | stopTime: 10, | ||
| 794 | pkgs: 100, | ||
| 795 | coordinate: '117.07034900,36.69118200', | ||
| 796 | isOrigin: 'N', | ||
| 797 | vehicleType: '2', | ||
| 798 | timeInterval: '' | ||
| 799 | }, | ||
| 800 | { | ||
| 801 | rowNo: '4', | ||
| 802 | batch: '1', | ||
| 803 | hospital: '山东省立第三医院(新城社区卫生服务中心)', | ||
| 804 | address: '济南市天桥区新黄路2567号', | ||
| 805 | dateTime: '11:25', | ||
| 806 | stopTime: 5, | ||
| 807 | pkgs: 100, | ||
| 808 | coordinate: '117.01213500,36.70852500', | ||
| 809 | isOrigin: 'N', | ||
| 810 | vehicleType: '2', | ||
| 811 | timeInterval: '' | ||
| 812 | }, | ||
| 813 | { | ||
| 814 | rowNo: '4', | ||
| 815 | batch: '1', | ||
| 816 | hospital: '山东省立第三医院(药山站点)', | ||
| 817 | address: '山东省济南市天桥区药山西路南端', | ||
| 818 | dateTime: '11:50', | ||
| 819 | stopTime: 5, | ||
| 820 | pkgs: 100, | ||
| 821 | coordinate: '116.96048900,36.71312700', | ||
| 822 | isOrigin: 'N', | ||
| 823 | vehicleType: '2', | ||
| 824 | timeInterval: '' | ||
| 825 | }, | ||
| 826 | { | ||
| 827 | rowNo: '4', | ||
| 828 | batch: '1', | ||
| 829 | hospital: '山东省立第三医院(济南市天桥人民医院)', | ||
| 830 | address: '济南市天桥区天桥街25号', | ||
| 831 | dateTime: '12:40', | ||
| 832 | stopTime: 15, | ||
| 833 | pkgs: 100, | ||
| 834 | coordinate: '116.96048900,36.71312700', | ||
| 835 | isOrigin: 'N', | ||
| 836 | vehicleType: '2', | ||
| 837 | timeInterval: '' | ||
| 838 | }, | ||
| 839 | { | ||
| 840 | rowNo: '4', | ||
| 841 | batch: '1', | ||
| 842 | hospital: '济南市市中区七里山街道泉景天沅社区卫生服务站', | ||
| 843 | address: '济南市市中区郎茂山路4号101号', | ||
| 844 | dateTime: '13:15', | ||
| 845 | stopTime: 15, | ||
| 846 | pkgs: 100, | ||
| 847 | coordinate: '116.98310000,36.62614400', | ||
| 848 | isOrigin: 'N', | ||
| 849 | vehicleType: '2', | ||
| 850 | timeInterval: '' | ||
| 851 | }, | ||
| 852 | { | ||
| 853 | rowNo: '4', | ||
| 854 | batch: '1', | ||
| 855 | hospital: '山东省南山医院有限责任公司', | ||
| 856 | address: '济南市市中区英雄山路134号', | ||
| 857 | dateTime: '13:40', | ||
| 858 | stopTime: 50, | ||
| 859 | pkgs: 100, | ||
| 860 | coordinate: '116.98310000,36.62614400', | ||
| 861 | isOrigin: 'N', | ||
| 862 | vehicleType: '2', | ||
| 863 | timeInterval: '' | ||
| 864 | }, | ||
| 865 | { | ||
| 866 | rowNo: '4', | ||
| 867 | batch: '1', | ||
| 868 | hospital: '山东省南山医院有限责任公司(艾迪康站点)', | ||
| 869 | address: '济南市市中区英雄山路134号', | ||
| 870 | dateTime: '12:30', | ||
| 871 | stopTime: 5, | ||
| 872 | pkgs: 100, | ||
| 873 | coordinate: '117.00314900,36.62241000', | ||
| 874 | isOrigin: 'N', | ||
| 875 | vehicleType: '2', | ||
| 876 | timeInterval: '' | ||
| 877 | }, | ||
| 878 | { | ||
| 879 | rowNo: '4', | ||
| 880 | batch: '1', | ||
| 881 | hospital: '济南市历下区第二人民医院', | ||
| 882 | address: '济南市历下区东关大街57号', | ||
| 883 | dateTime: '14:55', | ||
| 884 | stopTime: 15, | ||
| 885 | pkgs: 100, | ||
| 886 | coordinate: '117.04394500,36.67837900', | ||
| 887 | isOrigin: 'N', | ||
| 888 | vehicleType: '2', | ||
| 889 | timeInterval: '' | ||
| 890 | }, | ||
| 891 | { | ||
| 892 | rowNo: '4', | ||
| 893 | batch: '1', | ||
| 894 | hospital: '济南三株酵本草医院有限公司', | ||
| 895 | address: '济南市历城区山大北路77-6号', | ||
| 896 | dateTime: '15:20', | ||
| 897 | stopTime: 10, | ||
| 898 | pkgs: 100, | ||
| 899 | coordinate: '117.06090000,36.67966900', | ||
| 900 | isOrigin: 'N', | ||
| 901 | vehicleType: '2', | ||
| 902 | timeInterval: '' | ||
| 903 | }, | ||
| 904 | { | ||
| 905 | rowNo: '4', | ||
| 906 | batch: '1', | ||
| 907 | hospital: '济南市历城区妇幼保健计划生育服务中心(两癌)', | ||
| 908 | address: '济南市历城区洪楼西路45号', | ||
| 909 | dateTime: '15:35', | ||
| 910 | stopTime: 15, | ||
| 911 | pkgs: 100, | ||
| 912 | coordinate: '117.06136300,36.68004900', | ||
| 913 | isOrigin: 'N', | ||
| 914 | vehicleType: '2', | ||
| 915 | timeInterval: '' | ||
| 916 | }, | ||
| 917 | { | ||
| 918 | rowNo: '4', | ||
| 919 | batch: '1', | ||
| 920 | hospital: '历城中医院', | ||
| 921 | address: '济南市历城区洪家楼南路26号', | ||
| 922 | dateTime: '15:55', | ||
| 923 | stopTime: 40, | ||
| 924 | pkgs: 100, | ||
| 925 | coordinate: '117.06652000,36.68147900', | ||
| 926 | isOrigin: 'N', | ||
| 927 | vehicleType: '2', | ||
| 928 | timeInterval: '' | ||
| 929 | }, | ||
| 930 | { | ||
| 931 | rowNo: '4', | ||
| 932 | batch: '1', | ||
| 933 | hospital: '济南远大中医脑康医院有限公司', | ||
| 934 | address: '济南市历城区二环东路3889号', | ||
| 935 | dateTime: '16:40', | ||
| 936 | stopTime: 15, | ||
| 937 | pkgs: 100, | ||
| 938 | coordinate: '117.07276600,36.67283300', | ||
| 939 | isOrigin: 'N', | ||
| 940 | vehicleType: '2', | ||
| 941 | timeInterval: '' | ||
| 942 | }, | ||
| 943 | { | ||
| 944 | rowNo: '4', | ||
| 945 | batch: '1', | ||
| 946 | hospital: '济南伊美尔整形美容医院有限公司', | ||
| 947 | address: '济南市解放路30-1号', | ||
| 948 | dateTime: '17:05', | ||
| 949 | stopTime: 10, | ||
| 950 | pkgs: 100, | ||
| 951 | coordinate: '117.06004900,36.66592800', | ||
| 952 | isOrigin: 'N', | ||
| 953 | vehicleType: '2', | ||
| 954 | timeInterval: '' | ||
| 955 | }, | ||
| 956 | { | ||
| 957 | rowNo: '4', | ||
| 958 | batch: '1', | ||
| 959 | hospital: '济南市中心医院(精准中心)', | ||
| 960 | address: '山东省济南市历城区解放路105号', | ||
| 961 | dateTime: '17:25', | ||
| 962 | stopTime: 10, | ||
| 963 | pkgs: 100, | ||
| 964 | coordinate: '117.06652000,36.68147900', | ||
| 965 | isOrigin: 'N', | ||
| 966 | vehicleType: '2', | ||
| 967 | timeInterval: '' | ||
| 968 | }, | ||
| 969 | { | ||
| 970 | rowNo: '4', | ||
| 971 | batch: '1', | ||
| 972 | hospital: '济南市中心医院(特检)', | ||
| 973 | address: '济南市历下区解放路105号', | ||
| 974 | dateTime: '17:40', | ||
| 975 | stopTime: 20, | ||
| 976 | pkgs: 100, | ||
| 977 | coordinate: '117.04767000,36.66776700', | ||
| 978 | isOrigin: 'N', | ||
| 979 | vehicleType: '2', | ||
| 980 | timeInterval: '' | ||
| 981 | }, | ||
| 982 | { | ||
| 983 | rowNo: '4', | ||
| 984 | batch: '1', | ||
| 985 | hospital: '济南市济阳区人民医院', | ||
| 986 | address: '济阳县纬六路9号', | ||
| 987 | dateTime: '09:10', | ||
| 988 | stopTime: 80, | ||
| 989 | pkgs: 100, | ||
| 990 | coordinate: '116.98330600,36.66371900', | ||
| 991 | isOrigin: 'N', | ||
| 992 | vehicleType: '2', | ||
| 993 | timeInterval: '' | ||
| 994 | }, | ||
| 995 | { | ||
| 996 | rowNo: '4', | ||
| 997 | batch: '1', | ||
| 998 | hospital: '济南市济阳区中医医院(病理)', | ||
| 999 | address: '山东省济南市济阳区纬二路112号', | ||
| 1000 | dateTime: '10:40', | ||
| 1001 | stopTime: 30, | ||
| 1002 | pkgs: 100, | ||
| 1003 | coordinate: '117.19134000,36.97515700', | ||
| 1004 | isOrigin: 'N', | ||
| 1005 | vehicleType: '2', | ||
| 1006 | timeInterval: '' | ||
| 1007 | }, | ||
| 1008 | { | ||
| 1009 | rowNo: '4', | ||
| 1010 | batch: '1', | ||
| 1011 | hospital: '济南市济阳区中医医院', | ||
| 1012 | address: '山东省济南市济阳区纬二路112号', | ||
| 1013 | dateTime: '11:15', | ||
| 1014 | stopTime: 120, | ||
| 1015 | pkgs: 100, | ||
| 1016 | coordinate: '117.19134000,36.97515700', | ||
| 1017 | isOrigin: 'N', | ||
| 1018 | vehicleType: '2', | ||
| 1019 | timeInterval: '' | ||
| 1020 | }, | ||
| 1021 | { | ||
| 1022 | rowNo: '4', | ||
| 1023 | batch: '1', | ||
| 1024 | hospital: '济南市济阳区妇幼保健计划生育服务中心', | ||
| 1025 | address: '山东省济南市济阳区老城街16号', | ||
| 1026 | dateTime: '13:45', | ||
| 1027 | stopTime: 30, | ||
| 1028 | pkgs: 100, | ||
| 1029 | coordinate: '117.21862800,36.97423500', | ||
| 1030 | isOrigin: 'N', | ||
| 1031 | vehicleType: '2', | ||
| 1032 | timeInterval: '' | ||
| 1033 | }, | ||
| 1034 | { | ||
| 1035 | rowNo: '4', | ||
| 1036 | batch: '1', | ||
| 1037 | hospital: '济南市济阳区妇幼保健院计划生育服务中心(站点)', | ||
| 1038 | address: '济阳区济北街道开元大街166号', | ||
| 1039 | dateTime: '14:30', | ||
| 1040 | stopTime: 10, | ||
| 1041 | pkgs: 100, | ||
| 1042 | coordinate: '117.17039900,36.97523800', | ||
| 1043 | isOrigin: 'N', | ||
| 1044 | vehicleType: '2', | ||
| 1045 | timeInterval: '' | ||
| 1046 | }, | ||
| 1047 | { | ||
| 1048 | rowNo: '4', | ||
| 1049 | batch: '1', | ||
| 1050 | hospital: '济阳妇幼对接点', | ||
| 1051 | address: '济阳区济北街道开元大街166号', | ||
| 1052 | dateTime: '14:40', | ||
| 1053 | stopTime: 5, | ||
| 1054 | pkgs: 100, | ||
| 1055 | coordinate: '117.17039900,36.97523800', | ||
| 1056 | isOrigin: 'N', | ||
| 1057 | vehicleType: '2', | ||
| 1058 | timeInterval: '' | ||
| 1059 | }, | ||
| 1060 | { | ||
| 1061 | rowNo: '4', | ||
| 1062 | batch: '1', | ||
| 1063 | hospital: '济阳妇儿医院', | ||
| 1064 | address: '济南市济 阳区德阳路与兴河街交叉口', | ||
| 1065 | dateTime: '15:20', | ||
| 1066 | stopTime: 10, | ||
| 1067 | pkgs: 100, | ||
| 1068 | coordinate: '117.12511900,36.93419300', | ||
| 1069 | isOrigin: 'N', | ||
| 1070 | vehicleType: '2', | ||
| 1071 | timeInterval: '' | ||
| 1072 | } | ||
| 1073 | ] | ||
| 1074 | }, | ||
| 1075 | { | ||
| 1076 | name: '', | ||
| 1077 | plate: '', | ||
| 1078 | departure: '', | ||
| 1079 | arrival: '', | ||
| 1080 | departureDate: '08:00', | ||
| 1081 | customerData: [ | ||
| 1082 | { | ||
| 1083 | rowNo: '1', | ||
| 1084 | batch: '1', | ||
| 1085 | hospital: '德州交通医院', | ||
| 1086 | address: '德城区东风中路389号', | ||
| 1087 | dateTime: '09:15', | ||
| 1088 | stopTime: 20, | ||
| 1089 | pkgs: 2, | ||
| 1090 | coordinate: '116.31887300,37.44295900', | ||
| 1091 | isOrigin: 'N', | ||
| 1092 | vehicleType: '2', | ||
| 1093 | timeInterval: '' | ||
| 1094 | }, | ||
| 1095 | { | ||
| 1096 | rowNo: '2', | ||
| 1097 | batch: '1', | ||
| 1098 | hospital: '德州市人民医院', | ||
| 1099 | address: '德州市新湖大街1751号', | ||
| 1100 | dateTime: '09:47', | ||
| 1101 | stopTime: 100, | ||
| 1102 | pkgs: 41, | ||
| 1103 | coordinate: '116.30555600,37.45116400', | ||
| 1104 | isOrigin: 'N', | ||
| 1105 | vehicleType: '2', | ||
| 1106 | timeInterval: '' | ||
| 1107 | }, | ||
| 1108 | { | ||
| 1109 | rowNo: '3', | ||
| 1110 | batch: '1', | ||
| 1111 | hospital: '德州市人民医院(特检)', | ||
| 1112 | address: '德州市新湖大街1751号', | ||
| 1113 | dateTime: '11:32', | ||
| 1114 | stopTime: 15, | ||
| 1115 | pkgs: 1, | ||
| 1116 | coordinate: '116.30555600,37.45116400', | ||
| 1117 | isOrigin: 'N', | ||
| 1118 | vehicleType: '2', | ||
| 1119 | timeInterval: '' | ||
| 1120 | }, | ||
| 1121 | { | ||
| 1122 | rowNo: '4', | ||
| 1123 | batch: '1', | ||
| 1124 | hospital: '德州市立医院对接点', | ||
| 1125 | address: '德州市德城区三八中路1766号', | ||
| 1126 | dateTime: '11:55', | ||
| 1127 | stopTime: 20, | ||
| 1128 | pkgs: 100, | ||
| 1129 | coordinate: '116.29370300,37.45320200', | ||
| 1130 | isOrigin: 'N', | ||
| 1131 | vehicleType: '2', | ||
| 1132 | timeInterval: '' | ||
| 1133 | }, | ||
| 1134 | { | ||
| 1135 | rowNo: '5', | ||
| 1136 | batch: '1', | ||
| 1137 | hospital: '德州市立医院', | ||
| 1138 | address: '山东省德州市德城区三八路1766号', | ||
| 1139 | dateTime: '12:55', | ||
| 1140 | stopTime: 90, | ||
| 1141 | pkgs: 2, | ||
| 1142 | coordinate: '116.29370300,37.45320200', | ||
| 1143 | isOrigin: 'N', | ||
| 1144 | vehicleType: '2', | ||
| 1145 | timeInterval: '' | ||
| 1146 | }, | ||
| 1147 | { | ||
| 1148 | rowNo: '6', | ||
| 1149 | batch: '1', | ||
| 1150 | hospital: '德棉医院', | ||
| 1151 | address: '德州市运河开发区纺织大街522号', | ||
| 1152 | dateTime: '14:37', | ||
| 1153 | stopTime: 20, | ||
| 1154 | pkgs: 100, | ||
| 1155 | coordinate: '116.27572300,37.45761700', | ||
| 1156 | isOrigin: 'N', | ||
| 1157 | vehicleType: '2', | ||
| 1158 | timeInterval: '' | ||
| 1159 | }, | ||
| 1160 | { | ||
| 1161 | rowNo: '7', | ||
| 1162 | batch: '1', | ||
| 1163 | hospital: '德州汽车站对接点', | ||
| 1164 | address: '德州市德城区东风路1667号', | ||
| 1165 | dateTime: '15:12', | ||
| 1166 | stopTime: 15, | ||
| 1167 | pkgs: 100, | ||
| 1168 | coordinate: '116.29082500,37.44405800', | ||
| 1169 | isOrigin: 'N', | ||
| 1170 | vehicleType: '2', | ||
| 1171 | timeInterval: '' | ||
| 1172 | }, | ||
| 1173 | { | ||
| 1174 | rowNo: '8', | ||
| 1175 | batch: '1', | ||
| 1176 | hospital: '武城县妇幼保健计划生育服务中心(两癌)', | ||
| 1177 | address: '山东省德州市武城县振华西街1536号', | ||
| 1178 | dateTime: '09:50', | ||
| 1179 | stopTime: 10, | ||
| 1180 | pkgs: 100, | ||
| 1181 | coordinate: '116.06056800,37.21353300', | ||
| 1182 | isOrigin: 'N', | ||
| 1183 | vehicleType: '1', | ||
| 1184 | timeInterval: '' | ||
| 1185 | }, | ||
| 1186 | { | ||
| 1187 | rowNo: '9', | ||
| 1188 | batch: '1', | ||
| 1189 | hospital: '武城县老城镇仓上村卫生室', | ||
| 1190 | address: '武城县老城镇仓上村', | ||
| 1191 | dateTime: '10:30', | ||
| 1192 | stopTime: 10, | ||
| 1193 | pkgs: 100, | ||
| 1194 | coordinate: '115.94163900,37.11129600', | ||
| 1195 | isOrigin: 'N', | ||
| 1196 | vehicleType: '1', | ||
| 1197 | timeInterval: '' | ||
| 1198 | }, | ||
| 1199 | { | ||
| 1200 | rowNo: '10', | ||
| 1201 | batch: '1', | ||
| 1202 | hospital: '武城县老城镇新运社区卫生室', | ||
| 1203 | address: '武城县老城镇', | ||
| 1204 | dateTime: '10:45', | ||
| 1205 | stopTime: 10, | ||
| 1206 | pkgs: 100, | ||
| 1207 | coordinate: '115.89356900,37.14593200', | ||
| 1208 | isOrigin: 'N', | ||
| 1209 | vehicleType: '1', | ||
| 1210 | timeInterval: '' | ||
| 1211 | }, | ||
| 1212 | { | ||
| 1213 | rowNo: '11', | ||
| 1214 | batch: '1', | ||
| 1215 | hospital: '夏津县中医院', | ||
| 1216 | address: '夏津县经开区北外环路', | ||
| 1217 | dateTime: '11:30', | ||
| 1218 | stopTime: 15, | ||
| 1219 | pkgs: 100, | ||
| 1220 | coordinate: '116.39217300,37.49376100', | ||
| 1221 | isOrigin: 'N', | ||
| 1222 | vehicleType: '1', | ||
| 1223 | timeInterval: '' | ||
| 1224 | }, | ||
| 1225 | { | ||
| 1226 | rowNo: '12', | ||
| 1227 | batch: '1', | ||
| 1228 | hospital: '夏津三鹤血液透析有限公司', | ||
| 1229 | address: '山东省德州市夏津县银城街道西关街142号', | ||
| 1230 | dateTime: '12:25', | ||
| 1231 | stopTime: 15, | ||
| 1232 | pkgs: 100, | ||
| 1233 | coordinate: '116.01219400,36.95977800', | ||
| 1234 | isOrigin: 'N', | ||
| 1235 | vehicleType: '1', | ||
| 1236 | timeInterval: '' | ||
| 1237 | }, | ||
| 1238 | { | ||
| 1239 | rowNo: '13', | ||
| 1240 | batch: '1', | ||
| 1241 | hospital: '夏津慎安血液透析中心有限公司', | ||
| 1242 | address: '山东省德州市夏津县银城街道西关南街132号', | ||
| 1243 | dateTime: '12:45', | ||
| 1244 | stopTime: 10, | ||
| 1245 | pkgs: 100, | ||
| 1246 | coordinate: '115.99462000,36.95193800', | ||
| 1247 | isOrigin: 'N', | ||
| 1248 | vehicleType: '1', | ||
| 1249 | timeInterval: '' | ||
| 1250 | }, | ||
| 1251 | { | ||
| 1252 | rowNo: '14', | ||
| 1253 | batch: '1', | ||
| 1254 | hospital: '临清市老赵庄镇卫生院', | ||
| 1255 | address: '老赵庄镇老赵庄村199号', | ||
| 1256 | dateTime: '13:25', | ||
| 1257 | stopTime: 10, | ||
| 1258 | pkgs: 100, | ||
| 1259 | coordinate: '115.86014600,36.83849000', | ||
| 1260 | isOrigin: 'N', | ||
| 1261 | vehicleType: '1', | ||
| 1262 | timeInterval: '' | ||
| 1263 | }, | ||
| 1264 | { | ||
| 1265 | rowNo: '15', | ||
| 1266 | batch: '1', | ||
| 1267 | hospital: '李娅诊所', | ||
| 1268 | address: '临清市黑庄民族小区', | ||
| 1269 | dateTime: '13:55', | ||
| 1270 | stopTime: 15, | ||
| 1271 | pkgs: 100, | ||
| 1272 | coordinate: '115.73074700,36.84652300', | ||
| 1273 | isOrigin: 'N', | ||
| 1274 | vehicleType: '1', | ||
| 1275 | timeInterval: '' | ||
| 1276 | }, | ||
| 1277 | { | ||
| 1278 | rowNo: '16', | ||
| 1279 | batch: '1', | ||
| 1280 | hospital: '临西县第二人民医院', | ||
| 1281 | address: '河北省邢台市临西县河西镇顺河街7号', | ||
| 1282 | dateTime: '14:25', | ||
| 1283 | stopTime: 10, | ||
| 1284 | pkgs: 100, | ||
| 1285 | coordinate: '115.68843100,36.85466500', | ||
| 1286 | isOrigin: 'N', | ||
| 1287 | vehicleType: '1', | ||
| 1288 | timeInterval: '' | ||
| 1289 | }, | ||
| 1290 | { | ||
| 1291 | rowNo: '17', | ||
| 1292 | batch: '1', | ||
| 1293 | hospital: '聊城市第二人民医院(特检)', | ||
| 1294 | address: '聊城市临清市先锋街道办事处健康街306号', | ||
| 1295 | dateTime: '14:45', | ||
| 1296 | stopTime: 10, | ||
| 1297 | pkgs: 100, | ||
| 1298 | coordinate: '115.70215500,36.85302700', | ||
| 1299 | isOrigin: 'N', | ||
| 1300 | vehicleType: '1', | ||
| 1301 | timeInterval: '' | ||
| 1302 | }, | ||
| 1303 | { | ||
| 1304 | rowNo: '18', | ||
| 1305 | batch: '1', | ||
| 1306 | hospital: '百康诊所', | ||
| 1307 | address: '临清市观澜国际B3西4户', | ||
| 1308 | dateTime: '15:09', | ||
| 1309 | stopTime: 10, | ||
| 1310 | pkgs: 100, | ||
| 1311 | coordinate: '115.71547000,36.81913800', | ||
| 1312 | isOrigin: 'N', | ||
| 1313 | vehicleType: '1', | ||
| 1314 | timeInterval: '' | ||
| 1315 | }, | ||
| 1316 | { | ||
| 1317 | rowNo: '19', | ||
| 1318 | batch: '1', | ||
| 1319 | hospital: '聊城市第二人民医院(新院)', | ||
| 1320 | address: '临清市315省道和新华路交汇处', | ||
| 1321 | dateTime: '15:32', | ||
| 1322 | stopTime: 10, | ||
| 1323 | pkgs: 100, | ||
| 1324 | coordinate: '115.59475300,36.75968600', | ||
| 1325 | isOrigin: 'N', | ||
| 1326 | vehicleType: '1', | ||
| 1327 | timeInterval: '' | ||
| 1328 | }, | ||
| 1329 | { | ||
| 1330 | rowNo: '20', | ||
| 1331 | batch: '1', | ||
| 1332 | hospital: '夏津联络处对接点', | ||
| 1333 | address: '德州市夏津县泉林小区', | ||
| 1334 | dateTime: '15:52', | ||
| 1335 | stopTime: 15, | ||
| 1336 | pkgs: 100, | ||
| 1337 | coordinate: '115.99405300,36.97021100', | ||
| 1338 | isOrigin: 'N', | ||
| 1339 | vehicleType: '1', | ||
| 1340 | timeInterval: '' | ||
| 1341 | } | ||
| 1342 | ] | ||
| 1343 | }, | ||
| 1344 | { | ||
| 1345 | name: '', | ||
| 1346 | plate: '', | ||
| 1347 | departure: '', | ||
| 1348 | arrival: '', | ||
| 1349 | departureDate: '08:00', | ||
| 1350 | customerData: [ | ||
| 1351 | { | ||
| 1352 | rowNo: '1', | ||
| 1353 | batch: '1', | ||
| 1354 | hospital: '聊城市东昌府区侯营镇卫生院', | ||
| 1355 | address: '山东省聊城市东昌府区侯营镇侯营村', | ||
| 1356 | dateTime: '08:35', | ||
| 1357 | stopTime: 10, | ||
| 1358 | pkgs: 100, | ||
| 1359 | coordinate: '115.88725200,36.39946400', | ||
| 1360 | isOrigin: 'N', | ||
| 1361 | vehicleType: '1', | ||
| 1362 | timeInterval: '' | ||
| 1363 | }, | ||
| 1364 | { | ||
| 1365 | rowNo: '2', | ||
| 1366 | batch: '1', | ||
| 1367 | hospital: '聊城市东昌府区和光诊所', | ||
| 1368 | address: '山东省聊城市东昌府区柳园街道陈口路金柱大学城A区30幢s30-113号商铺', | ||
| 1369 | dateTime: '09:12', | ||
| 1370 | stopTime: 10, | ||
| 1371 | pkgs: 100, | ||
| 1372 | coordinate: '116.01666300,36.44393800', | ||
| 1373 | isOrigin: 'N', | ||
| 1374 | vehicleType: '1', | ||
| 1375 | timeInterval: '' | ||
| 1376 | }, | ||
| 1377 | { | ||
| 1378 | rowNo: '3', | ||
| 1379 | batch: '1', | ||
| 1380 | hospital: '聊城市东昌府区韩集镇卫生院', | ||
| 1381 | address: '山东省聊城市东昌府区韩集镇政府', | ||
| 1382 | dateTime: '09:55', | ||
| 1383 | stopTime: 10, | ||
| 1384 | pkgs: 100, | ||
| 1385 | coordinate: '116.18228000,36.40897800', | ||
| 1386 | isOrigin: 'N', | ||
| 1387 | vehicleType: '1', | ||
| 1388 | timeInterval: '' | ||
| 1389 | }, | ||
| 1390 | { | ||
| 1391 | rowNo: '4', | ||
| 1392 | batch: '1', | ||
| 1393 | hospital: '茌平万里行中医诊所', | ||
| 1394 | address: '聊城市茌平县建设路1416号', | ||
| 1395 | dateTime: '10:40', | ||
| 1396 | stopTime: 10, | ||
| 1397 | pkgs: 100, | ||
| 1398 | coordinate: '116.21077700,36.56289800', | ||
| 1399 | isOrigin: 'N', | ||
| 1400 | vehicleType: '1', | ||
| 1401 | timeInterval: '' | ||
| 1402 | }, | ||
| 1403 | { | ||
| 1404 | rowNo: '5', | ||
| 1405 | batch: '1', | ||
| 1406 | hospital: '聊城市茌平区人民医院', | ||
| 1407 | address: '聊城市茌平县文化路99号', | ||
| 1408 | dateTime: '11:00', | ||
| 1409 | stopTime: 15, | ||
| 1410 | pkgs: 100, | ||
| 1411 | coordinate: '116.24962100,36.57960700', | ||
| 1412 | isOrigin: 'N', | ||
| 1413 | vehicleType: '1', | ||
| 1414 | timeInterval: '' | ||
| 1415 | }, | ||
| 1416 | { | ||
| 1417 | rowNo: '6', | ||
| 1418 | batch: '1', | ||
| 1419 | hospital: '聊城市茌平区中医医院', | ||
| 1420 | address: '聊城市茌平区新政西路1163号', | ||
| 1421 | dateTime: '11:22', | ||
| 1422 | stopTime: 30, | ||
| 1423 | pkgs: 100, | ||
| 1424 | coordinate: '116.24271400,36.58568300', | ||
| 1425 | isOrigin: 'N', | ||
| 1426 | vehicleType: '1', | ||
| 1427 | timeInterval: '' | ||
| 1428 | }, | ||
| 1429 | { | ||
| 1430 | rowNo: '7', | ||
| 1431 | batch: '1', | ||
| 1432 | hospital: '茌平县和睦家妇科诊所', | ||
| 1433 | address: '茌平县三产院内', | ||
| 1434 | dateTime: '12:22', | ||
| 1435 | stopTime: 5, | ||
| 1436 | pkgs: 100, | ||
| 1437 | coordinate: '116.23697900,36.58427100', | ||
| 1438 | isOrigin: 'N', | ||
| 1439 | vehicleType: '1', | ||
| 1440 | timeInterval: '' | ||
| 1441 | }, | ||
| 1442 | { | ||
| 1443 | rowNo: '8', | ||
| 1444 | batch: '1', | ||
| 1445 | hospital: '聊城市茌平区温陈街道社区卫生服务中心', | ||
| 1446 | address: '聊城市茌平区温陈街道', | ||
| 1447 | dateTime: '12:47', | ||
| 1448 | stopTime: 5, | ||
| 1449 | pkgs: 100, | ||
| 1450 | coordinate: '116.24984700,36.59027400', | ||
| 1451 | isOrigin: 'N', | ||
| 1452 | vehicleType: '1', | ||
| 1453 | timeInterval: '' | ||
| 1454 | }, | ||
| 1455 | { | ||
| 1456 | rowNo: '9', | ||
| 1457 | batch: '1', | ||
| 1458 | hospital: '聊城市茌平区胡屯镇卫生院', | ||
| 1459 | address: '聊城市茌平区新政西路1163号', | ||
| 1460 | dateTime: '13:12', | ||
| 1461 | stopTime: 10, | ||
| 1462 | pkgs: 100, | ||
| 1463 | coordinate: '116.24271400,36.58568300', | ||
| 1464 | isOrigin: 'N', | ||
| 1465 | vehicleType: '1', | ||
| 1466 | timeInterval: '' | ||
| 1467 | }, | ||
| 1468 | { | ||
| 1469 | rowNo: '10', | ||
| 1470 | batch: '1', | ||
| 1471 | hospital: '高唐县中医院', | ||
| 1472 | address: '高唐县东兴路16号', | ||
| 1473 | dateTime: '13:52', | ||
| 1474 | stopTime: 10, | ||
| 1475 | pkgs: 100, | ||
| 1476 | coordinate: '116.25357800,36.85772200', | ||
| 1477 | isOrigin: 'N', | ||
| 1478 | vehicleType: '1', | ||
| 1479 | timeInterval: '' | ||
| 1480 | }, | ||
| 1481 | { | ||
| 1482 | rowNo: '11', | ||
| 1483 | batch: '1', | ||
| 1484 | hospital: '高唐县人民医院', | ||
| 1485 | address: '山东省高唐县金城西路99号', | ||
| 1486 | dateTime: '14:17', | ||
| 1487 | stopTime: 15, | ||
| 1488 | pkgs: 100, | ||
| 1489 | coordinate: '116.22798600,36.86687600', | ||
| 1490 | isOrigin: 'N', | ||
| 1491 | vehicleType: '1', | ||
| 1492 | timeInterval: '' | ||
| 1493 | }, | ||
| 1494 | { | ||
| 1495 | rowNo: '12', | ||
| 1496 | batch: '1', | ||
| 1497 | hospital: '聊城市茌平区第二人民医院', | ||
| 1498 | address: '茌平县博平镇政府街', | ||
| 1499 | dateTime: '15:04', | ||
| 1500 | stopTime: 15, | ||
| 1501 | pkgs: 100, | ||
| 1502 | coordinate: '116.11760000,36.58789400', | ||
| 1503 | isOrigin: 'N', | ||
| 1504 | vehicleType: '1', | ||
| 1505 | timeInterval: '' | ||
| 1506 | }, | ||
| 1507 | { | ||
| 1508 | rowNo: '13', | ||
| 1509 | batch: '1', | ||
| 1510 | hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 1511 | address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 1512 | dateTime: '15:47', | ||
| 1513 | stopTime: 15, | ||
| 1514 | pkgs: 100, | ||
| 1515 | coordinate: '116.06041900,36.39670700', | ||
| 1516 | isOrigin: 'N', | ||
| 1517 | vehicleType: '1', | ||
| 1518 | timeInterval: '' | ||
| 1519 | }, | ||
| 1520 | { | ||
| 1521 | rowNo: '14', | ||
| 1522 | batch: '1', | ||
| 1523 | hospital: '聊城汽车总站对接点', | ||
| 1524 | address: '聊城市东昌府区建设路与柳园北路交汇处西北角', | ||
| 1525 | dateTime: '16:22', | ||
| 1526 | stopTime: 8, | ||
| 1527 | pkgs: 100, | ||
| 1528 | coordinate: '115.98847500,36.47286500', | ||
| 1529 | isOrigin: 'N', | ||
| 1530 | vehicleType: '1', | ||
| 1531 | timeInterval: '' | ||
| 1532 | }, | ||
| 1533 | { | ||
| 1534 | rowNo: '15', | ||
| 1535 | batch: '1', | ||
| 1536 | hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 1537 | address: '山东省聊城市东昌府区振兴西路129号', | ||
| 1538 | dateTime: '16:40', | ||
| 1539 | stopTime: 50, | ||
| 1540 | pkgs: 100, | ||
| 1541 | coordinate: '115.95710000,36.46834600', | ||
| 1542 | isOrigin: 'N', | ||
| 1543 | vehicleType: '1', | ||
| 1544 | timeInterval: '' | ||
| 1545 | }, | ||
| 1546 | { | ||
| 1547 | rowNo: '16', | ||
| 1548 | batch: '1', | ||
| 1549 | hospital: '聊城联络处(回)', | ||
| 1550 | address: '山东省聊城市东昌府区', | ||
| 1551 | dateTime: '17:43', | ||
| 1552 | stopTime: 30, | ||
| 1553 | pkgs: 100, | ||
| 1554 | coordinate: '115.98849100,36.43464500', | ||
| 1555 | isOrigin: 'N', | ||
| 1556 | vehicleType: '1', | ||
| 1557 | timeInterval: '' | ||
| 1558 | }, | ||
| 1559 | { | ||
| 1560 | rowNo: '17', | ||
| 1561 | batch: '1', | ||
| 1562 | hospital: '聊城联络处对接点', | ||
| 1563 | address: '山东省聊城市东昌府区', | ||
| 1564 | dateTime: '18:18', | ||
| 1565 | stopTime: 20, | ||
| 1566 | pkgs: 100, | ||
| 1567 | coordinate: '115.98849100,36.43464500', | ||
| 1568 | isOrigin: 'N', | ||
| 1569 | vehicleType: '1', | ||
| 1570 | timeInterval: '' | ||
| 1571 | } | ||
| 1572 | ] | ||
| 1573 | } | ||
| 1574 | ], | ||
| 1575 | insertData: [], | ||
| 1576 | cityOptions: [ | ||
| 1577 | { label: '济南', value: '济南' }, | ||
| 1578 | { label: '德州', value: '德州' }, | ||
| 1579 | { label: '聊城', value: '聊城' } | ||
| 1580 | ], | ||
| 1581 | option: { | ||
| 1582 | column: [ | ||
| 1583 | { | ||
| 1584 | label: '序号', | ||
| 1585 | tableDataprop: 'rowNo', | ||
| 1586 | width: '50px' | ||
| 1587 | }, | ||
| 1588 | { | ||
| 1589 | label: '途经', | ||
| 1590 | tableDataprop: 'hospital', | ||
| 1591 | width: '230px' | ||
| 1592 | }, | ||
| 1593 | { | ||
| 1594 | label: '取样数', | ||
| 1595 | tableDataprop: 'pkgs', | ||
| 1596 | width: '50px', | ||
| 1597 | align: 'right' | ||
| 1598 | }, | ||
| 1599 | { | ||
| 1600 | label: '里程(km)', | ||
| 1601 | tableDataprop: 'distance', | ||
| 1602 | width: '80px', | ||
| 1603 | align: 'right' | ||
| 1604 | }, | ||
| 1605 | { | ||
| 1606 | label: '路程耗时(分钟)', | ||
| 1607 | tableDataprop: 'duration', | ||
| 1608 | width: '90px', | ||
| 1609 | align: 'right' | ||
| 1610 | }, | ||
| 1611 | { | ||
| 1612 | label: '停留时长(分钟)', | ||
| 1613 | tableDataprop: 'stopTime', | ||
| 1614 | width: '90px', | ||
| 1615 | align: 'right' | ||
| 1616 | }, | ||
| 1617 | { | ||
| 1618 | label: '预计到达时间', | ||
| 1619 | tableDataprop: 'reachDate', | ||
| 1620 | width: '90px', | ||
| 1621 | align: 'right' | ||
| 1622 | }, | ||
| 1623 | { | ||
| 1624 | label: '预计离开时间', | ||
| 1625 | tableDataprop: 'leaveDate', | ||
| 1626 | width: '90px', | ||
| 1627 | align: 'right' | ||
| 1628 | }, | ||
| 1629 | { | ||
| 1630 | label: '状态', | ||
| 1631 | tableDataprop: 'status', | ||
| 1632 | width: '50px' | ||
| 1633 | } | ||
| 1634 | ] | ||
| 1635 | }, | ||
| 1636 | option1: { | ||
| 1637 | column: [ | ||
| 1638 | { | ||
| 1639 | label: '序号', | ||
| 1640 | tableDataprop: 'rowNo', | ||
| 1641 | width: '50px' | ||
| 1642 | }, | ||
| 1643 | { | ||
| 1644 | label: '途经', | ||
| 1645 | tableDataprop: 'hospital', | ||
| 1646 | width: '230px' | ||
| 1647 | }, | ||
| 1648 | // { | ||
| 1649 | // label: '取样时间', | ||
| 1650 | // tableDataprop: 'dateTime', | ||
| 1651 | // width: '50px' | ||
| 1652 | // }, | ||
| 1653 | { | ||
| 1654 | label: '取样数', | ||
| 1655 | tableDataprop: 'pkgs', | ||
| 1656 | width: '50px', | ||
| 1657 | align: 'right' | ||
| 1658 | }, | ||
| 1659 | { | ||
| 1660 | label: '状态', | ||
| 1661 | tableDataprop: 'status', | ||
| 1662 | width: '50px' | ||
| 1663 | } | ||
| 1664 | ] | ||
| 1665 | }, | ||
| 1666 | option2: { | ||
| 1667 | column: [ | ||
| 1668 | { | ||
| 1669 | label: '序号', | ||
| 1670 | tableDataprop: 'rowNo', | ||
| 1671 | width: '50px' | ||
| 1672 | }, | ||
| 1673 | { | ||
| 1674 | label: '途经', | ||
| 1675 | tableDataprop: 'hospital', | ||
| 1676 | width: '230px' | ||
| 1677 | }, | ||
| 1678 | { | ||
| 1679 | label: '取样数', | ||
| 1680 | tableDataprop: 'pkgs', | ||
| 1681 | width: '50px', | ||
| 1682 | align: 'right' | ||
| 1683 | }, | ||
| 1684 | { | ||
| 1685 | label: '状态', | ||
| 1686 | tableDataprop: 'status', | ||
| 1687 | width: '50px' | ||
| 1688 | } | ||
| 1689 | ] | ||
| 1690 | }, | ||
| 1691 | option3: { | ||
| 1692 | column: [ | ||
| 1693 | { | ||
| 1694 | label: '序号', | ||
| 1695 | tableDataprop: 'rowNo', | ||
| 1696 | width: '50px' | ||
| 1697 | }, | ||
| 1698 | { | ||
| 1699 | label: '目标点', | ||
| 1700 | tableDataprop: 'hospital', | ||
| 1701 | width: '200px' | ||
| 1702 | }, | ||
| 1703 | { | ||
| 1704 | label: '取样数', | ||
| 1705 | tableDataprop: 'pkgs', | ||
| 1706 | width: '50px', | ||
| 1707 | align: 'right' | ||
| 1708 | }, | ||
| 1709 | { | ||
| 1710 | label: '取样时间段', | ||
| 1711 | tableDataprop: 'timeInterval', | ||
| 1712 | width: '80px' | ||
| 1713 | }, | ||
| 1714 | { | ||
| 1715 | label: '使用工具', | ||
| 1716 | tableDataprop: 'vehicleType', | ||
| 1717 | width: '50px' | ||
| 1718 | } | ||
| 1719 | ] | ||
| 1720 | } | ||
| 1721 | } | ||
| 1722 | }, | ||
| 1723 | computed: { | ||
| 1724 | // ...mapGetters(['order']) | ||
| 1725 | }, | ||
| 1726 | watch: { | ||
| 1727 | show: { | ||
| 1728 | handler: function () { | ||
| 1729 | if (!this.show) { | ||
| 1730 | this.checkeData = [] | ||
| 1731 | } | ||
| 1732 | }, | ||
| 1733 | deep: true, | ||
| 1734 | immediate: true | ||
| 1735 | }, | ||
| 1736 | city: { | ||
| 1737 | handler: function (val) { | ||
| 1738 | switch (val) { | ||
| 1739 | case '济南': | ||
| 1740 | this.insertData = this.findDifferentElements(this.orginInsertData[0]?.customerData, this.targetData) | ||
| 1741 | console.log('123333333333', this.insertData) | ||
| 1742 | break | ||
| 1743 | case '德州': | ||
| 1744 | this.insertData = this.findDifferentElements(this.orginInsertData[1]?.customerData, this.targetData) | ||
| 1745 | break | ||
| 1746 | case '聊城': | ||
| 1747 | this.insertData = this.findDifferentElements(this.orginInsertData[2]?.customerData, this.targetData) | ||
| 1748 | break | ||
| 1749 | } | ||
| 1750 | }, | ||
| 1751 | deep: true, | ||
| 1752 | immediate: true | ||
| 1753 | } | ||
| 1754 | }, | ||
| 1755 | mounted() { | ||
| 1756 | this.$nextTick(() => { | ||
| 1757 | this.city = this.$store.state.app.city | ||
| 1758 | this.targetData = this.$store.getters.getTarget | ||
| 1759 | this.departureData = this.$store.getters.getdepart | ||
| 1760 | // this.curentData = this.$store.getters.getCurentData | ||
| 1761 | this.curentData = JSON.parse(this.$route.query.data) | ||
| 1762 | console.log('curentData', this.curentData) | ||
| 1763 | this.$bus.$on('sortTableData', e => (this.dataList = e)) | ||
| 1764 | this.$bus.$on('selecte', e => (this.checkeData = e)) | ||
| 1765 | this.$bus.$on('rowData', e => (this.rowData = e)) | ||
| 1766 | this.cityIndex = this.cityOptions.findIndex(item => item.label == this.city) | ||
| 1767 | this.index = this.curentData.rowNo - 1 | ||
| 1768 | console.log('cityIndex', this.cityIndex) | ||
| 1769 | this.dataList = this.curentData.data | ||
| 1770 | this.dataList.forEach(item => { | ||
| 1771 | item.timeInterval = '' | ||
| 1772 | }) | ||
| 1773 | let arr = [...this.filterTable, ...this.dataList] | ||
| 1774 | arr.forEach((item, index) => { | ||
| 1775 | item.rowNo = index + 1 | ||
| 1776 | }) | ||
| 1777 | }) | ||
| 1778 | }, | ||
| 1779 | destroyed() { | ||
| 1780 | // this.$bus.$off('selecte') | ||
| 1781 | this.$bus.$off('sortTableData') | ||
| 1782 | }, | ||
| 1783 | created() { | ||
| 1784 | this.getSessionId() | ||
| 1785 | this.getDate() | ||
| 1786 | this.$forceUpdate() | ||
| 1787 | }, | ||
| 1788 | methods: { | ||
| 1789 | getDate() { | ||
| 1790 | this.date = new Date() | ||
| 1791 | }, | ||
| 1792 | adjustTime() { | ||
| 1793 | console.log(this.rowData) | ||
| 1794 | if (!Object.keys(this.rowData).length) { | ||
| 1795 | Toast('请至少选择一条数据') | ||
| 1796 | return | ||
| 1797 | } | ||
| 1798 | this.TimeShow = true | ||
| 1799 | }, | ||
| 1800 | async handleChangeTime(action, done) { | ||
| 1801 | if (action === 'confirm') { | ||
| 1802 | // 点击确定走这里 | ||
| 1803 | this.rowData.timeInterval = `${this.date1},${this.date2}` | ||
| 1804 | this.orginInsertData[this.cityIndex].customerData.forEach(item => { | ||
| 1805 | if (item.coordinate == this.rowData.coordinate) { | ||
| 1806 | item.timeInterval = this.rowData.timeInterval | ||
| 1807 | } | ||
| 1808 | }) | ||
| 1809 | console.log('12131', this.dataList) | ||
| 1810 | done(true) | ||
| 1811 | this.replanning() | ||
| 1812 | } else { | ||
| 1813 | // 点击取消走这里 | ||
| 1814 | done(true) // 关闭弹窗, true可以省略 | ||
| 1815 | } | ||
| 1816 | }, | ||
| 1817 | findDifferentElements(arr1, arr2) { | ||
| 1818 | const diff1 = arr1.filter(obj1 => !arr2.some(obj2 => this.isEqual(obj1, obj2))) | ||
| 1819 | const diff2 = arr2.filter(obj2 => !arr1.some(obj1 => this.isEqual(obj2, obj1))) | ||
| 1820 | return [...diff1, ...diff2] | ||
| 1821 | }, | ||
| 1822 | isEqual(obj1, obj2) { | ||
| 1823 | return obj1.hospital === obj2.hospital && obj1.dateTime === obj2.dateTime | ||
| 1824 | }, | ||
| 1825 | isnavigation(val) { | ||
| 1826 | let that = this | ||
| 1827 | let myLocation = JSON.parse(sessionStorage.getItem('ownChooseLocation')) | ||
| 1828 | if (this.cabinData.longitude && this.cabinData.latitude) { | ||
| 1829 | let Url = '' | ||
| 1830 | switch (val) { | ||
| 1831 | case 'amap': | ||
| 1832 | Url = `https://uri.amap.com/navigation?from=${myLocation.lng},${myLocation.lat},${myLocation.formattedAddress}&to=${that.cabinData.longitude},${that.cabinData.latitude},${that.cabinData.name}&callnative=1` | ||
| 1833 | break | ||
| 1834 | case 'bmap': | ||
| 1835 | Url = `http://api.map.baidu.com/direction?origin=latlng:${myLocation.lat},${myLocation.lng}|name:${myLocation.formattedAddress}&destination=latlng:${that.cabinData.latitude},${that.cabinData.longitude}|name:${that.cabinData.name}&mode=driving&origin_region=${myLocation.city}&destination_region=${that.cabinData.cityName}&output=html&src=webapp.baidu.openAPIdemo` | ||
| 1836 | break | ||
| 1837 | } | ||
| 1838 | location.href = Url | ||
| 1839 | } else { | ||
| 1840 | // this.$message({ | ||
| 1841 | // message: '请先确认您的起点和终点位置', | ||
| 1842 | // type: 'warning', | ||
| 1843 | // }) | ||
| 1844 | } | ||
| 1845 | }, | ||
| 1846 | // 请求数据案例 | ||
| 1847 | initData(list) { | ||
| 1848 | Toast.loading({ | ||
| 1849 | duration: 0 | ||
| 1850 | }) | ||
| 1851 | // let destinations = arr.map(item => item.coordinate).join(';') | ||
| 1852 | // 请求接口数据,仅作为展示,需要配置src->config下环境文件 | ||
| 1853 | console.log('123', list) | ||
| 1854 | // return | ||
| 1855 | let arr = _.cloneDeep(list) | ||
| 1856 | const data = { | ||
| 1857 | region: this.city, | ||
| 1858 | plate: '', | ||
| 1859 | departure: '', | ||
| 1860 | arrival: '', | ||
| 1861 | departureDate: '06:30', | ||
| 1862 | customerData: arr | ||
| 1863 | } | ||
| 1864 | const params = { | ||
| 1865 | method: 'GetRouteMatrix_test', | ||
| 1866 | format: 'json', | ||
| 1867 | sessionId: this.accessToken, | ||
| 1868 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 1869 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 1870 | v: '1.0' | ||
| 1871 | } | ||
| 1872 | getPlan(data, params) | ||
| 1873 | .then(res => { | ||
| 1874 | Toast.clear() | ||
| 1875 | let newArr = JSON.parse(res).returnModel | ||
| 1876 | console.log('返回的数据', newArr) | ||
| 1877 | newArr.forEach(item => { | ||
| 1878 | item.data.forEach((e, index) => { | ||
| 1879 | e.distance = e.distance.toFixed(2) | ||
| 1880 | e.hospital = e.returnName | ||
| 1881 | e.status = '未去' | ||
| 1882 | e.coordinate = e.destination | ||
| 1883 | e.isOrigin = 'N' | ||
| 1884 | if (index == item.data.length - 1) { | ||
| 1885 | e.pkgs = 0 | ||
| 1886 | } else { | ||
| 1887 | e.pkgs = 100 | ||
| 1888 | } | ||
| 1889 | // e.distance.toFixed(2) | ||
| 1890 | }) | ||
| 1891 | item.data.pop() | ||
| 1892 | }) | ||
| 1893 | this.dataList = newArr[0]?.data | ||
| 1894 | console.log('aaaaa', this.dataList) | ||
| 1895 | |||
| 1896 | let arrs = [...this.filterTable, ...this.dataList] | ||
| 1897 | arrs.forEach((item, index) => { | ||
| 1898 | item.rowNo = index + 1 | ||
| 1899 | // this.filterTable[index].rowNo = index | ||
| 1900 | // this.dataList[index].rowNo = index | ||
| 1901 | }) | ||
| 1902 | }) | ||
| 1903 | .catch(() => {}) | ||
| 1904 | }, | ||
| 1905 | initData2(list) { | ||
| 1906 | Toast.loading({ | ||
| 1907 | duration: 0 | ||
| 1908 | }) | ||
| 1909 | // let destinations = arr.map(item => item.coordinate).join(';') | ||
| 1910 | // 请求接口数据,仅作为展示,需要配置src->config下环境文件 | ||
| 1911 | console.log('123', list) | ||
| 1912 | // return | ||
| 1913 | let arr = _.cloneDeep(list) | ||
| 1914 | arr.forEach((item, index) => { | ||
| 1915 | // if (item.dateTime1) { | ||
| 1916 | // item.dateTime = item.dateTime1 | ||
| 1917 | // } | ||
| 1918 | item.rowNo = index + 1 | ||
| 1919 | return item | ||
| 1920 | }) | ||
| 1921 | const data = { | ||
| 1922 | region: this.city, | ||
| 1923 | plate: '', | ||
| 1924 | departure: '', | ||
| 1925 | arrival: '', | ||
| 1926 | departureDate: this.departureData[this.index].dateTime, | ||
| 1927 | customerData: arr | ||
| 1928 | } | ||
| 1929 | const params = { | ||
| 1930 | method: 'GetRoutePlan_test1', | ||
| 1931 | format: 'json', | ||
| 1932 | sessionId: this.accessToken, | ||
| 1933 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 1934 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 1935 | v: '1.0' | ||
| 1936 | } | ||
| 1937 | getPlan2(data, params) | ||
| 1938 | .then(res => { | ||
| 1939 | Toast.clear() | ||
| 1940 | let newArr = JSON.parse(res).data | ||
| 1941 | console.log('返回的数据', newArr) | ||
| 1942 | // if (!this.filterTable.length) { | ||
| 1943 | // newArr.shift() | ||
| 1944 | // } | ||
| 1945 | newArr.shift() | ||
| 1946 | console.log(arr) | ||
| 1947 | let sortedArray = newArr.map(item1 => | ||
| 1948 | arr.find(item2 => { | ||
| 1949 | if (item2.hospital + item2.dateTime == item1.returnName) { | ||
| 1950 | item2.distance = item1.distance.toFixed(2) | ||
| 1951 | item2.duration = item1.duration | ||
| 1952 | item2.stopTime = item1.stopTime | ||
| 1953 | item2.reachDate = item1.reachDate | ||
| 1954 | item2.leaveDate = item1.leaveDate | ||
| 1955 | item2.status = '未去' | ||
| 1956 | // item2.dateTime1 = _.cloneDeep(item2.dateTime) | ||
| 1957 | // item2.dateTime = item1.timeSlot.replace('-', '<br/>') | ||
| 1958 | return item2 | ||
| 1959 | } | ||
| 1960 | }) | ||
| 1961 | ) | ||
| 1962 | this.dataList = sortedArray | ||
| 1963 | console.log('aaaaa', this.dataList) | ||
| 1964 | |||
| 1965 | let arrs = [...this.filterTable, ...this.dataList] | ||
| 1966 | arrs.forEach((item, index) => { | ||
| 1967 | item.rowNo = index + 1 | ||
| 1968 | // this.filterTable[index].rowNo = index | ||
| 1969 | // this.dataList[index].rowNo = index | ||
| 1970 | }) | ||
| 1971 | }) | ||
| 1972 | .catch(() => {}) | ||
| 1973 | }, | ||
| 1974 | getSessionId() { | ||
| 1975 | let params = { | ||
| 1976 | client_id: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 1977 | grant_type: 'client_credentials', | ||
| 1978 | client_secret: 'c6602114c9ba488b877d0d84b0e5e700', | ||
| 1979 | scope: 'read' | ||
| 1980 | } | ||
| 1981 | getSession(params, {}).then(res => { | ||
| 1982 | this.accessToken = res.access_token | ||
| 1983 | // this.initData(this.curentData.customerData) | ||
| 1984 | // TODO 调试暂时注释 | ||
| 1985 | // this.initData([...this.departureData, ...this.targetData]) | ||
| 1986 | }) | ||
| 1987 | }, | ||
| 1988 | getRadom(arr) { | ||
| 1989 | if (arr.length === 0) { | ||
| 1990 | return | ||
| 1991 | } | ||
| 1992 | return Math.round(Math.random() * (arr.length - 1)) | ||
| 1993 | }, | ||
| 1994 | // 模拟取样 | ||
| 1995 | simulatedSampling() { | ||
| 1996 | // this.getRadom(this.curentData.customerData) | ||
| 1997 | // console.log(this.getRadom(this.dataList)) | ||
| 1998 | // this.dataList.forEach(item => (item.status = '未去')) | ||
| 1999 | let newArr = [...this.filterTable, ...this.dataList] | ||
| 2000 | this.filterTable = [] | ||
| 2001 | for (let i = 0; i <= newArr.length - 1; i++) { | ||
| 2002 | this.$set(newArr[i], `status`, '未去') | ||
| 2003 | } | ||
| 2004 | var num = this.getRadom(newArr) || 1 | ||
| 2005 | console.log(num) | ||
| 2006 | // this.curentData.customerData[this.getRadom(this.curentData.customerData)].status = '已去' | ||
| 2007 | for (let i = 0; i < num; i++) { | ||
| 2008 | this.$set(newArr[i], `status`, '已去') | ||
| 2009 | } | ||
| 2010 | this.filterTable = newArr.filter(item => item.status == '已去') | ||
| 2011 | this.dataList = newArr.filter(item => item.status == '未去') | ||
| 2012 | let arr = [...this.filterTable, ...this.dataList] | ||
| 2013 | arr.forEach((item, index) => { | ||
| 2014 | item.rowNo = index + 1 | ||
| 2015 | // this.filterTable[index].rowNo = index | ||
| 2016 | // this.dataList[index].rowNo = index | ||
| 2017 | }) | ||
| 2018 | console.log(this.filterTable) | ||
| 2019 | console.log(this.dataList) | ||
| 2020 | }, | ||
| 2021 | // 重新规划 | ||
| 2022 | replanning() { | ||
| 2023 | let data = [] | ||
| 2024 | let departobj = {} | ||
| 2025 | if (this.filterTable.length) { | ||
| 2026 | data = [...this.dataList].map(item1 => | ||
| 2027 | this.orginInsertData[this.cityIndex].customerData.find(item2 => { | ||
| 2028 | if (item2.coordinate == item1.destination && item2.hospital == item1.hospital) { | ||
| 2029 | return item2 | ||
| 2030 | } else if (item2.coordinate == item1.coordinate && item2.hospital == item1.hospital) { | ||
| 2031 | return item2 | ||
| 2032 | } | ||
| 2033 | }) | ||
| 2034 | ) | ||
| 2035 | departobj = _.cloneDeep(this.departureData[this.index]) | ||
| 2036 | departobj.hospital = this.filterTable[this.filterTable.length - 1].hospital | ||
| 2037 | departobj.address = this.filterTable[this.filterTable.length - 1].returnName | ||
| 2038 | departobj.dateTime = this.filterTable[this.filterTable.length - 1].leaveDate | ||
| 2039 | departobj.coordinate = this.filterTable[this.filterTable.length - 1].coordinate | ||
| 2040 | } else { | ||
| 2041 | data = [...this.dataList].map(item1 => | ||
| 2042 | this.orginInsertData[this.cityIndex].customerData.find(item2 => { | ||
| 2043 | if (item2.coordinate == item1.destination && `${item2.hospital}${item2.dateTime}` == item1.returnName) { | ||
| 2044 | return item2 | ||
| 2045 | } else if (item2.coordinate == item1.coordinate && item2.hospital == item1.hospital) { | ||
| 2046 | return item2 | ||
| 2047 | } | ||
| 2048 | }) | ||
| 2049 | ) | ||
| 2050 | console.log('数据', this.dataList) | ||
| 2051 | departobj = _.cloneDeep(this.departureData[this.index]) | ||
| 2052 | } | ||
| 2053 | this.initData([departobj, ...data]) | ||
| 2054 | }, | ||
| 2055 | // 调整后规划 | ||
| 2056 | replanning2() { | ||
| 2057 | let data = [] | ||
| 2058 | let departobj = {} | ||
| 2059 | if (this.filterTable.length) { | ||
| 2060 | data = [...this.dataList].map(item1 => | ||
| 2061 | this.orginInsertData[this.cityIndex].customerData.find(item2 => { | ||
| 2062 | if (item2.coordinate == item1.destination && `${item2.hospital}${item2.dateTime}` == item1.returnName) { | ||
| 2063 | return item2 | ||
| 2064 | } else if (item2.coordinate == item1.coordinate && item2.hospital == item1.hospital) { | ||
| 2065 | return item2 | ||
| 2066 | } | ||
| 2067 | }) | ||
| 2068 | ) | ||
| 2069 | departobj = _.cloneDeep(this.departureData[this.index]) | ||
| 2070 | departobj.hospital = this.filterTable[this.filterTable.length - 1].hospital | ||
| 2071 | departobj.address = this.filterTable[this.filterTable.length - 1].returnName | ||
| 2072 | departobj.dateTime = this.filterTable[this.filterTable.length - 1].leaveDate | ||
| 2073 | departobj.coordinate = this.filterTable[this.filterTable.length - 1].destination | ||
| 2074 | } else { | ||
| 2075 | data = [...this.dataList].map(item1 => | ||
| 2076 | this.orginInsertData[this.cityIndex].customerData.find(item2 => { | ||
| 2077 | if (item2.coordinate == item1.destination && `${item2.hospital}${item2.dateTime}` == item1.returnName) { | ||
| 2078 | return item2 | ||
| 2079 | } else if (item2.coordinate == item1.coordinate && item2.hospital == item1.hospital) { | ||
| 2080 | return item2 | ||
| 2081 | } | ||
| 2082 | }) | ||
| 2083 | ) | ||
| 2084 | departobj = _.cloneDeep(this.departureData[this.index]) | ||
| 2085 | } | ||
| 2086 | this.initData2([departobj, ...data]) | ||
| 2087 | }, | ||
| 2088 | // 调整顺序 | ||
| 2089 | sequence() {}, | ||
| 2090 | |||
| 2091 | insertOrder() { | ||
| 2092 | this.show = true | ||
| 2093 | this.insertType = 0 | ||
| 2094 | }, | ||
| 2095 | insertOrder1() { | ||
| 2096 | this.show = true | ||
| 2097 | this.insertType = 1 | ||
| 2098 | }, | ||
| 2099 | openDialog() { | ||
| 2100 | this.checkeData = [] | ||
| 2101 | }, | ||
| 2102 | async handleInsertOrder(action, done) { | ||
| 2103 | if (action === 'confirm') { | ||
| 2104 | // 点击确定走这里 | ||
| 2105 | console.log(this.checkeData) | ||
| 2106 | if (!this.checkeData.length) { | ||
| 2107 | Toast('请至少选择一条数据') | ||
| 2108 | return done(false) | ||
| 2109 | } | ||
| 2110 | this.checkeData.forEach(item => { | ||
| 2111 | item.type = 'new' | ||
| 2112 | item.status = '未去' | ||
| 2113 | if (!this.insertType) { | ||
| 2114 | this.dataList.splice(this.getRadom(this.dataList), 0, item) | ||
| 2115 | } else { | ||
| 2116 | let num = this.getRadom(this.dataList) | ||
| 2117 | this.deleteData = [this.dataList[num]] | ||
| 2118 | this.dataList.splice(num, 1) | ||
| 2119 | this.dataList.splice(this.getRadom(this.dataList), 0, item) | ||
| 2120 | } | ||
| 2121 | }) | ||
| 2122 | this.dataList.forEach((item, index) => { | ||
| 2123 | item.rowNo = index + 1 | ||
| 2124 | }) | ||
| 2125 | done(true) | ||
| 2126 | } else { | ||
| 2127 | // 点击取消走这里 | ||
| 2128 | done(true) // 关闭弹窗, true可以省略 | ||
| 2129 | } | ||
| 2130 | }, | ||
| 2131 | // 模拟插单1 | ||
| 2132 | insertSheet1() { | ||
| 2133 | this.judgePerson(1) | ||
| 2134 | let arr = [...this.filterTable, ...this.dataList] | ||
| 2135 | arr.forEach((item, index) => { | ||
| 2136 | item.rowNo = index + 1 | ||
| 2137 | }) | ||
| 2138 | }, | ||
| 2139 | // 模拟插单2 | ||
| 2140 | insertSheet2() { | ||
| 2141 | let num = this.getRadom(this.dataList) | ||
| 2142 | this.deleteData = [this.dataList[num]] | ||
| 2143 | this.dataList.splice(num, 1) | ||
| 2144 | this.judgePerson(2) | ||
| 2145 | let arr = [...this.filterTable, ...this.dataList] | ||
| 2146 | arr.forEach((item, index) => { | ||
| 2147 | item.rowNo = index + 1 | ||
| 2148 | // this.filterTable[index].rowNo = index | ||
| 2149 | // this.dataList[index].rowNo = index | ||
| 2150 | }) | ||
| 2151 | }, | ||
| 2152 | judgePerson(type) { | ||
| 2153 | // this.dataList.splice(this.getRadom(this.dataList), 0,) | ||
| 2154 | // array.splice(array.length,0,6,8,9);//第二个参数为0的时候,是可以添加参数的,1的时候是删除 | ||
| 2155 | if (this.curentData.name == '田耀中') { | ||
| 2156 | if (type == 1) { | ||
| 2157 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2158 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2159 | hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 2160 | address: '山东省聊城市东昌府区振兴西路129号', | ||
| 2161 | dateTime: '16:40', | ||
| 2162 | stopTime: 50, | ||
| 2163 | adcode: '340100', | ||
| 2164 | batch: '1', | ||
| 2165 | pkgs: 100, | ||
| 2166 | type: 'new', | ||
| 2167 | coordinate: '115.95710000,36.46834600', | ||
| 2168 | status: '未去' | ||
| 2169 | }) | ||
| 2170 | } else { | ||
| 2171 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2172 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2173 | hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 2174 | address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 2175 | dateTime: '15:47', | ||
| 2176 | stopTime: 15, | ||
| 2177 | adcode: '340100', | ||
| 2178 | batch: '1', | ||
| 2179 | pkgs: 100, | ||
| 2180 | type: 'new', | ||
| 2181 | coordinate: '116.06041900,36.39670700', | ||
| 2182 | status: '未去' | ||
| 2183 | }) | ||
| 2184 | } | ||
| 2185 | } else if (this.curentData.name == '路飞') { | ||
| 2186 | if (type == 1) { | ||
| 2187 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2188 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2189 | hospital: '德州市立医院', | ||
| 2190 | address: '山东省德州市德城区三八路1766号', | ||
| 2191 | dateTime: '12:55', | ||
| 2192 | adcode: '340100', | ||
| 2193 | stopTime: 90, | ||
| 2194 | pkgs: 2, | ||
| 2195 | batch: '1', | ||
| 2196 | type: 'new', | ||
| 2197 | coordinate: '116.29370300,37.45320200', | ||
| 2198 | status: '未去' | ||
| 2199 | }) | ||
| 2200 | } else { | ||
| 2201 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2202 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2203 | hospital: '德棉医院', | ||
| 2204 | address: '德州市运河开发区纺织大街522号', | ||
| 2205 | dateTime: '14:37', | ||
| 2206 | stopTime: 20, | ||
| 2207 | adcode: '340100', | ||
| 2208 | batch: '1', | ||
| 2209 | pkgs: 0, | ||
| 2210 | type: 'new', | ||
| 2211 | coordinate: '116.27572300,37.45761700', | ||
| 2212 | status: '未去' | ||
| 2213 | }) | ||
| 2214 | } | ||
| 2215 | } else if (this.curentData.name == '王东') { | ||
| 2216 | if (type == 1) { | ||
| 2217 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2218 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2219 | hospital: '武警山东总队医院', | ||
| 2220 | address: '山东省济南市历下区浆水泉路12--8号', | ||
| 2221 | dateTime: '14:45', | ||
| 2222 | adcode: '340100', | ||
| 2223 | batch: '1', | ||
| 2224 | stopTime: 15, | ||
| 2225 | pkgs: 100, | ||
| 2226 | type: 'new', | ||
| 2227 | coordinate: '117.08718600,36.65631700', | ||
| 2228 | status: '未去' | ||
| 2229 | }) | ||
| 2230 | } else { | ||
| 2231 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2232 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2233 | hospital: '济南汇安健康管理有限公司历下门诊部', | ||
| 2234 | address: '济南市历下区文化西路15号', | ||
| 2235 | dateTime: '12:05', | ||
| 2236 | batch: '1', | ||
| 2237 | stopTime: 120, | ||
| 2238 | adcode: '340100', | ||
| 2239 | pkgs: 100, | ||
| 2240 | type: 'new', | ||
| 2241 | coordinate: '117.03081400,36.65417800', | ||
| 2242 | status: '未去' | ||
| 2243 | }) | ||
| 2244 | } | ||
| 2245 | } else if (this.curentData.name == '尹逊武') { | ||
| 2246 | if (type == 1) { | ||
| 2247 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2248 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2249 | batch: '1', | ||
| 2250 | hospital: '山东省中医院(西院)', | ||
| 2251 | address: '山东省济南市文化西路42号', | ||
| 2252 | dateTime: '09:00,12:00', | ||
| 2253 | stopTime: 30, | ||
| 2254 | pkgs: 100, | ||
| 2255 | coordinate: '117.02325300,36.65510600', | ||
| 2256 | type: 'new', | ||
| 2257 | status: '未去' | ||
| 2258 | }) | ||
| 2259 | } else { | ||
| 2260 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2261 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2262 | batch: '1', | ||
| 2263 | hospital: '山东省千佛山医院', | ||
| 2264 | address: '经十路山师东路', | ||
| 2265 | dateTime: '13:40', | ||
| 2266 | stopTime: 20, | ||
| 2267 | pkgs: 100, | ||
| 2268 | coordinate: '117.04485100,36.64754900', | ||
| 2269 | type: 'new', | ||
| 2270 | status: '未去' | ||
| 2271 | }) | ||
| 2272 | } | ||
| 2273 | } else { | ||
| 2274 | if (this.curentData.batch == '第一批') { | ||
| 2275 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2276 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2277 | batch: '1', | ||
| 2278 | hospital: '济南样本室对接点', | ||
| 2279 | address: '济南市历下区颖秀路2755号', | ||
| 2280 | dateTime: '19:45', | ||
| 2281 | stopTime: 10, | ||
| 2282 | pkgs: '-', | ||
| 2283 | coordinate: '117.13394400,36.67904500', | ||
| 2284 | type: 'new', | ||
| 2285 | status: '未去' | ||
| 2286 | }) | ||
| 2287 | } else { | ||
| 2288 | this.dataList.splice(this.getRadom(this.dataList), 0, { | ||
| 2289 | rowNo: [...this.dataList, ...this.filterTable].length + 1, | ||
| 2290 | batch: '2', | ||
| 2291 | hospital: '济南长途汽车总站对接点', | ||
| 2292 | address: '济南市天桥区济洛路131号', | ||
| 2293 | dateTime: '21:45', | ||
| 2294 | stopTime: 15, | ||
| 2295 | pkgs: '-', | ||
| 2296 | coordinate: '116.99360600,36.68543900', | ||
| 2297 | type: 'new', | ||
| 2298 | status: '未去' | ||
| 2299 | }) | ||
| 2300 | } | ||
| 2301 | } | ||
| 2302 | }, | ||
| 2303 | nextOrder() { | ||
| 2304 | if (this.index == this.allReturnData.length - 1) { | ||
| 2305 | Toast.fail('已经是最后一条') | ||
| 2306 | return | ||
| 2307 | } | ||
| 2308 | this.index++ | ||
| 2309 | this.filterTable = [] | ||
| 2310 | this.deleteData = [] | ||
| 2311 | this.dataList = this.allReturnData[this.index]?.data | ||
| 2312 | this.replaceRowNo() | ||
| 2313 | }, | ||
| 2314 | lastOrder() { | ||
| 2315 | if (this.index == 0) { | ||
| 2316 | Toast.fail('已经是第一条') | ||
| 2317 | return | ||
| 2318 | } | ||
| 2319 | this.index-- | ||
| 2320 | this.filterTable = [] | ||
| 2321 | this.deleteData = [] | ||
| 2322 | this.dataList = this.allReturnData[this.index]?.data | ||
| 2323 | this.replaceRowNo() | ||
| 2324 | }, | ||
| 2325 | replaceRowNo() { | ||
| 2326 | this.dataList.forEach((item, index) => { | ||
| 2327 | item.rowNo = index + 1 | ||
| 2328 | }) | ||
| 2329 | }, | ||
| 2330 | // 开启导航 | ||
| 2331 | EnableNavigation() { | ||
| 2332 | console.log(this.dataList) | ||
| 2333 | // this.dataList.map(item => item.coordinate).join(';') | ||
| 2334 | this.dataList.map(item => item.coordinate) | ||
| 2335 | let arr = [] | ||
| 2336 | if (!this.filterTable.length) { | ||
| 2337 | arr = [this.departureData[this.index], ...this.dataList.filter(item => item.status == '未去')] | ||
| 2338 | } else { | ||
| 2339 | arr = [this.filterTable[this.filterTable.length - 1], ...this.dataList.filter(item => item.status != '已去')] | ||
| 2340 | } | ||
| 2341 | let obj = { | ||
| 2342 | // 起点 | ||
| 2343 | startingPoint: arr[0].coordinate, | ||
| 2344 | startingName: arr[0].hospital, | ||
| 2345 | // 终点 | ||
| 2346 | terminus: this.curentData.coordinate, | ||
| 2347 | terminusName: this.curentData.arrival | ||
| 2348 | |||
| 2349 | // 途经点 | ||
| 2350 | // 116.402796,39.936915 | ||
| 2351 | // pointOfPassage: `${this.dataList.map(item => item.coordinate).join('|')},midwaypoint` | ||
| 2352 | } | ||
| 2353 | // console.log(obj) | ||
| 2354 | let url = '' | ||
| 2355 | arr.forEach((item, index) => { | ||
| 2356 | if (index > 0 && index < arr.length) { | ||
| 2357 | url += | ||
| 2358 | `&via[${index - 1}][adcode]=${item.adcode}` + | ||
| 2359 | `&via[${index - 1}][id]` + | ||
| 2360 | `&via[${index - 1}][lnglat]=${item.coordinate}` + | ||
| 2361 | `&via[${index - 1}][modxy]=${item.coordinate}` + | ||
| 2362 | `&via[${index - 1}][name]=${item.hospital}` + | ||
| 2363 | `&via[${index - 1}][poitype]` | ||
| 2364 | } | ||
| 2365 | }) | ||
| 2366 | let aurl = arr.forEach((item, index) => { | ||
| 2367 | if (index > 0 && index < arr.length - 1) { | ||
| 2368 | url += `&via[${index - 1}]=${item.coordinate},${item.hospital}` | ||
| 2369 | } | ||
| 2370 | }) | ||
| 2371 | console.log('123', url) | ||
| 2372 | |||
| 2373 | this.mapUrl = `https://ditu.amap.com/dir?dateTime=now&from[adcode]=&from[id]=&from[poitype]=&to[adcode]=&to[id]=&to[poitype]=&type=car&policy=2&from[lnglat]=${obj.startingPoint}&from[modxy]=${obj.startingPoint}&from[name]=${obj.startingName}&to[lnglat]=${obj.terminus}&to[modxy]=${obj.terminus}&to[name]=${obj.terminusName}${url}` | ||
| 2374 | console.log(this.mapUrl) | ||
| 2375 | window.open(this.mapUrl) | ||
| 2376 | // location.assign(this.mapUrl) | ||
| 2377 | let a = `https://uri.amap.com/navigation?from=${this.dataList[0].coordinate},${this.dataList[0].hospital} | ||
| 2378 | &to=${this.curentData.coordinate},${this.curentData.departure} | ||
| 2379 | &via=${aurl} | ||
| 2380 | &mode=car | ||
| 2381 | &callnative=1 | ||
| 2382 | &src=mypage | ||
| 2383 | &policy=1 | ||
| 2384 | &coordinate=gaode | ||
| 2385 | &callnative` | ||
| 2386 | console.log(a) | ||
| 2387 | // window.open(a) | ||
| 2388 | // location.href = `https://uri.amap.com/navigation? | ||
| 2389 | // from=${this.dataList[0].coordinate} | ||
| 2390 | // &to=${this.dataList[0].coordinate} | ||
| 2391 | // &via=${this.dataList.map(item => item.coordinate).join(';')} | ||
| 2392 | // &mode=car&policy=1&coordinate=gaode&callnative=1` | ||
| 2393 | } | ||
| 2394 | } | ||
| 2395 | } | ||
| 2396 | </script> | ||
| 2397 | |||
| 2398 | <style lang="scss" scoped> | ||
| 2399 | .title { | ||
| 2400 | padding: 10px; | ||
| 2401 | } | ||
| 2402 | |||
| 2403 | .header-text { | ||
| 2404 | font-size: 24px; | ||
| 2405 | font-weight: 800; | ||
| 2406 | } | ||
| 2407 | |||
| 2408 | .table-box { | ||
| 2409 | margin: 12px 0px; | ||
| 2410 | |||
| 2411 | .th-row { | ||
| 2412 | height: 56px; | ||
| 2413 | line-height: 56px; | ||
| 2414 | background: #ebf1f7; | ||
| 2415 | padding: 0px 12px; | ||
| 2416 | font-size: 36px; | ||
| 2417 | } | ||
| 2418 | |||
| 2419 | .tb-row { | ||
| 2420 | font-size: 48px; | ||
| 2421 | height: 56px; | ||
| 2422 | line-height: 56px; | ||
| 2423 | padding: 0px 12px; | ||
| 2424 | } | ||
| 2425 | } | ||
| 2426 | |||
| 2427 | .fixed-bottom-right { | ||
| 2428 | // position: fixed; | ||
| 2429 | margin-top: 80px; | ||
| 2430 | bottom: 20px; | ||
| 2431 | right: 0px; | ||
| 2432 | width: 100%; | ||
| 2433 | } | ||
| 2434 | </style> |
src/views/home/departure.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="title"> | ||
| 4 | <div>出发列表</div> | ||
| 5 | <van-row type="flex" style="margin-top: 15px" justify="space-around"> | ||
| 6 | <van-col span="24" class="header-text" style="display: flex"> | ||
| 7 | <!-- <van-datetime-picker v-model="currentData.departureDate" type="time" title="选择时间" /> --> | ||
| 8 | <van-cell-group> | ||
| 9 | <!-- <van-field v-model="currentData.departureDate" label="出发时间" placeholder="请输入出发时间" /> --> | ||
| 10 | 城市: | ||
| 11 | <select name="pets" id="pet-select" v-model="city" class="city" @change="cityChage($event)"> | ||
| 12 | <option v-for="item in cityOptions" :key="item.value" :value="item.value">{{ item.label }}</option> | ||
| 13 | </select> | ||
| 14 | </van-cell-group> | ||
| 15 | <!-- 出发时间:<van-field v-model="currentData.departureDate" size="small" placeholder="请输入时间" /> --> | ||
| 16 | </van-col> | ||
| 17 | </van-row> | ||
| 18 | </div> | ||
| 19 | <Table-vant :option="option" :tableData="currentData" :showCheck="true"> | ||
| 20 | <template v-slot:dateTime="{ item }"> | ||
| 21 | <input type="text" v-model="item.dateTime" style="width: 80%; height: 25px" /> | ||
| 22 | </template> | ||
| 23 | <template v-slot:vehicleType="{ item }"> | ||
| 24 | <div>{{ item.vehicleType == 1 ? '电动汽车' : '电动车' }}</div> | ||
| 25 | </template> | ||
| 26 | </Table-vant> | ||
| 27 | <div class="fixed-bottom-right"> | ||
| 28 | <div style="display: flex; flex-direction: row-reverse; margin-top: 10px"> | ||
| 29 | <van-button round plain type="primary" @click="nextStep">下一步</van-button> | ||
| 30 | </div> | ||
| 31 | </div> | ||
| 32 | </div> | ||
| 33 | </template> | ||
| 34 | |||
| 35 | <script> | ||
| 36 | import TableVant from '@/components/Table.vue' | ||
| 37 | import { Toast } from 'vant' | ||
| 38 | import _ from 'lodash' | ||
| 39 | export default { | ||
| 40 | components: { TableVant }, | ||
| 41 | data() { | ||
| 42 | return { | ||
| 43 | index: 0, | ||
| 44 | date: '', | ||
| 45 | cloneData: {}, | ||
| 46 | checkeData: [], | ||
| 47 | city: '济南', | ||
| 48 | currentData: [], | ||
| 49 | cityOptions: [ | ||
| 50 | { label: '济南', value: '济南' }, | ||
| 51 | { label: '德州', value: '德州' }, | ||
| 52 | { label: '聊城', value: '聊城' } | ||
| 53 | ], | ||
| 54 | option: { | ||
| 55 | column: [ | ||
| 56 | { | ||
| 57 | label: '序号', | ||
| 58 | tableDataprop: 'rowNo', | ||
| 59 | width: '50px', | ||
| 60 | align: 'center' | ||
| 61 | }, | ||
| 62 | { | ||
| 63 | label: '出发点', | ||
| 64 | tableDataprop: 'hospital', | ||
| 65 | width: '230px' | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | label: '取件人', | ||
| 69 | tableDataprop: 'name', | ||
| 70 | width: '50px' | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | label: '出发时间', | ||
| 74 | tableDataprop: 'dateTime', | ||
| 75 | width: '80px' | ||
| 76 | }, | ||
| 77 | { | ||
| 78 | label: '使用工具', | ||
| 79 | tableDataprop: 'vehicleType', | ||
| 80 | width: '80px' | ||
| 81 | } | ||
| 82 | ] | ||
| 83 | }, | ||
| 84 | // orginData: [ | ||
| 85 | // { | ||
| 86 | // name: '王东', | ||
| 87 | // plate: '鲁A73HU8', | ||
| 88 | // departure: '济南迪安中心办事处', | ||
| 89 | // arrival: '济南样本室对接点', | ||
| 90 | // departureDate: '07:30', | ||
| 91 | // customerData: [ | ||
| 92 | // { | ||
| 93 | // rowNo: '1', | ||
| 94 | // batch: '1', | ||
| 95 | // hospital: '济南迪安中心办事处', | ||
| 96 | // address: '济南市高新区颖秀路2755号', | ||
| 97 | // dateTime: '6:30', | ||
| 98 | // stopTime: 15, | ||
| 99 | // pkgs: '-', | ||
| 100 | // coordinate: '117.13394400,36.67904500' | ||
| 101 | // }, | ||
| 102 | // { | ||
| 103 | // rowNo: '3', | ||
| 104 | // batch: '1', | ||
| 105 | // hospital: '济南西站对接点', | ||
| 106 | // address: '济南市槐荫区齐鲁大道6号', | ||
| 107 | // dateTime: '7:50', | ||
| 108 | // stopTime: 20, | ||
| 109 | // pkgs: '-', | ||
| 110 | // coordinate: '116.89177900,36.66887900' | ||
| 111 | // }, | ||
| 112 | // { | ||
| 113 | // rowNo: '5', | ||
| 114 | // batch: '1', | ||
| 115 | // hospital: '山东第一医科大学附属皮肤病医院', | ||
| 116 | // address: '济南市经十路27397号', | ||
| 117 | // dateTime: '9:30', | ||
| 118 | // stopTime: 10, | ||
| 119 | // pkgs: 100, | ||
| 120 | // coordinate: '116.92826100,36.65210900' | ||
| 121 | // }, | ||
| 122 | // { | ||
| 123 | // rowNo: '7', | ||
| 124 | // batch: '1', | ||
| 125 | // hospital: '市中慢病第四人民医院青龙山分院', | ||
| 126 | // address: '山东省济南市市中区南辛庄西路272号', | ||
| 127 | // dateTime: '10:20', | ||
| 128 | // stopTime: 40, | ||
| 129 | // pkgs: 100, | ||
| 130 | // coordinate: '116.95988200,36.62819100' | ||
| 131 | // }, | ||
| 132 | // { | ||
| 133 | // rowNo: '8', | ||
| 134 | // batch: '1', | ||
| 135 | // hospital: '山东省医学科学院放射医学研究所', | ||
| 136 | // address: '济南经十路89号9956', | ||
| 137 | // dateTime: '11:15', | ||
| 138 | // stopTime: 15, | ||
| 139 | // pkgs: 100, | ||
| 140 | // coordinate: '117.01788200,36.64911300' | ||
| 141 | // }, | ||
| 142 | // { | ||
| 143 | // rowNo: '9', | ||
| 144 | // batch: '1', | ||
| 145 | // hospital: '山东省分析测试中心', | ||
| 146 | // address: '山东省济南市历下区科院路19号详情', | ||
| 147 | // dateTime: '11:40', | ||
| 148 | // stopTime: 10, | ||
| 149 | // pkgs: 100, | ||
| 150 | // coordinate: '117.04783900,36.64556100' | ||
| 151 | // }, | ||
| 152 | // { | ||
| 153 | // rowNo: '10', | ||
| 154 | // batch: '1', | ||
| 155 | // hospital: '济南样本室对接点', | ||
| 156 | // address: '济南市历下区颖秀路2755号', | ||
| 157 | // dateTime: '15:20', | ||
| 158 | // stopTime: 30, | ||
| 159 | // pkgs: 100, | ||
| 160 | // coordinate: '117.13394400,36.67904500' | ||
| 161 | // } | ||
| 162 | // ] | ||
| 163 | // }, | ||
| 164 | // { | ||
| 165 | // name: '路飞', | ||
| 166 | // plate: '德州1333887', | ||
| 167 | // departure: '德州办事处', | ||
| 168 | // arrival: '德州办事处', | ||
| 169 | // departureDate: '08:30', | ||
| 170 | // customerData: [ | ||
| 171 | // { | ||
| 172 | // rowNo: '1', | ||
| 173 | // batch: '1', | ||
| 174 | // hospital: '德州办事处', | ||
| 175 | // address: '德州市德城区世纪嘉园小区', | ||
| 176 | // dateTime: '8:40', | ||
| 177 | // stopTime: 20, | ||
| 178 | // pkgs: '-', | ||
| 179 | // coordinate: '116.33733900,37.42873700' | ||
| 180 | // }, | ||
| 181 | // { | ||
| 182 | // rowNo: '2', | ||
| 183 | // batch: '1', | ||
| 184 | // hospital: '德州交通医院', | ||
| 185 | // address: '德城区东风中路389号', | ||
| 186 | // dateTime: '9:15', | ||
| 187 | // stopTime: 20, | ||
| 188 | // pkgs: 2, | ||
| 189 | // coordinate: '116.31887300,37.44295900' | ||
| 190 | // }, | ||
| 191 | // { | ||
| 192 | // rowNo: '3', | ||
| 193 | // batch: '1', | ||
| 194 | // hospital: '德州市人民医院', | ||
| 195 | // address: '德州市新湖大街1751号', | ||
| 196 | // dateTime: '9:47', | ||
| 197 | // stopTime: 100, | ||
| 198 | // pkgs: 41, | ||
| 199 | // coordinate: '116.30555600,37.45116400' | ||
| 200 | // }, | ||
| 201 | // { | ||
| 202 | // rowNo: '4', | ||
| 203 | // batch: '1', | ||
| 204 | // hospital: '德州市人民医院(特检)', | ||
| 205 | // address: '德州市新湖大街1751号', | ||
| 206 | // dateTime: '11:32', | ||
| 207 | // stopTime: 15, | ||
| 208 | // pkgs: 1, | ||
| 209 | // coordinate: '116.30555600,37.45116400' | ||
| 210 | // }, | ||
| 211 | // { | ||
| 212 | // rowNo: '5', | ||
| 213 | // batch: '1', | ||
| 214 | // hospital: '德州市立医院对接点', | ||
| 215 | // address: '德州市德城区三八中路1766号', | ||
| 216 | // dateTime: '11:55', | ||
| 217 | // stopTime: 20, | ||
| 218 | // pkgs: '-', | ||
| 219 | // coordinate: '116.29370300,37.45320200' | ||
| 220 | // }, | ||
| 221 | // // { | ||
| 222 | // // rowNo: '6', | ||
| 223 | // // batch: '1', | ||
| 224 | // // hospital: '德州市立医院', | ||
| 225 | // // address: '山东省德州市德城区三八路1766号', | ||
| 226 | // // dateTime: '12:55', | ||
| 227 | // // stopTime: 90, | ||
| 228 | // // pkgs: 2, | ||
| 229 | // // coordinate: '116.29370300,37.45320200' | ||
| 230 | // // }, | ||
| 231 | // // { | ||
| 232 | // // rowNo: '7', | ||
| 233 | // // batch: '1', | ||
| 234 | // // hospital: '德棉医院', | ||
| 235 | // // address: '德州市运河开发区纺织大街522号', | ||
| 236 | // // dateTime: '14:37', | ||
| 237 | // // stopTime: 20, | ||
| 238 | // // pkgs: "-", | ||
| 239 | // // coordinate: '116.27572300,37.45761700' | ||
| 240 | // // }, | ||
| 241 | // { | ||
| 242 | // rowNo: '8', | ||
| 243 | // batch: '1', | ||
| 244 | // hospital: '德州汽车站对接点', | ||
| 245 | // address: '德州市德城区东风路1667号', | ||
| 246 | // dateTime: '15:12', | ||
| 247 | // stopTime: 15, | ||
| 248 | // pkgs: '-', | ||
| 249 | // coordinate: '116.29082500,37.44405800' | ||
| 250 | // }, | ||
| 251 | // { | ||
| 252 | // rowNo: '9', | ||
| 253 | // batch: '1', | ||
| 254 | // hospital: '德州办事处', | ||
| 255 | // address: '德州市德城区世纪嘉园小区', | ||
| 256 | // dateTime: '15:52', | ||
| 257 | // stopTime: 20, | ||
| 258 | // pkgs: '-', | ||
| 259 | // coordinate: '116.33733900,37.42873700' | ||
| 260 | // } | ||
| 261 | // ] | ||
| 262 | // }, | ||
| 263 | // { | ||
| 264 | // name: '田耀中', | ||
| 265 | // plate: '鲁A790Z9', | ||
| 266 | // departure: '聊城联络处', | ||
| 267 | // arrival: '聊城联络处对接点', | ||
| 268 | // departureDate: '09:30', | ||
| 269 | // customerData: [ | ||
| 270 | // { | ||
| 271 | // rowNo: '1', | ||
| 272 | // batch: '1', | ||
| 273 | // hospital: '聊城联络处', | ||
| 274 | // address: '山东省聊城市东昌府区', | ||
| 275 | // dateTime: '8:00', | ||
| 276 | // stopTime: 10, | ||
| 277 | // pkgs: '-', | ||
| 278 | // coordinate: '115.98849100,36.43464500' | ||
| 279 | // }, | ||
| 280 | // { | ||
| 281 | // rowNo: '2', | ||
| 282 | // batch: '1', | ||
| 283 | // hospital: '聊城市东昌府区侯营镇卫生院', | ||
| 284 | // address: '山东省聊城市东昌府区侯营镇侯营村', | ||
| 285 | // dateTime: '8:35', | ||
| 286 | // stopTime: 10, | ||
| 287 | // pkgs: 100, | ||
| 288 | // coordinate: '115.88725200,36.39946400' | ||
| 289 | // }, | ||
| 290 | // { | ||
| 291 | // rowNo: '3', | ||
| 292 | // batch: '1', | ||
| 293 | // hospital: '聊城市东昌府区和光诊所', | ||
| 294 | // address: '山东省聊城市东昌府区柳园街道陈口路金柱大学城A区30幢s30-113号商铺', | ||
| 295 | // dateTime: '9:12', | ||
| 296 | // stopTime: 10, | ||
| 297 | // pkgs: 100, | ||
| 298 | // coordinate: '116.01666300,36.44393800' | ||
| 299 | // }, | ||
| 300 | // { | ||
| 301 | // rowNo: '4', | ||
| 302 | // batch: '1', | ||
| 303 | // hospital: '聊城市东昌府区韩集镇卫生院', | ||
| 304 | // address: '山东省聊城市东昌府区韩集镇政府', | ||
| 305 | // dateTime: '9:55', | ||
| 306 | // stopTime: 10, | ||
| 307 | // pkgs: 100, | ||
| 308 | // coordinate: '116.18228000,36.40897800' | ||
| 309 | // }, | ||
| 310 | // { | ||
| 311 | // rowNo: '5', | ||
| 312 | // batch: '1', | ||
| 313 | // hospital: '茌平万里行中医诊所', | ||
| 314 | // address: '聊城市茌平县建设路1416号', | ||
| 315 | // dateTime: '10:40', | ||
| 316 | // stopTime: 10, | ||
| 317 | // pkgs: 100, | ||
| 318 | // coordinate: '116.21077700,36.56289800' | ||
| 319 | // }, | ||
| 320 | // { | ||
| 321 | // rowNo: '6', | ||
| 322 | // batch: '1', | ||
| 323 | // hospital: '聊城市茌平区人民医院', | ||
| 324 | // address: '聊城市茌平县文化路99号', | ||
| 325 | // dateTime: '11:00', | ||
| 326 | // stopTime: 15, | ||
| 327 | // pkgs: 100, | ||
| 328 | // coordinate: '116.24962100,36.57960700' | ||
| 329 | // }, | ||
| 330 | // { | ||
| 331 | // rowNo: '7', | ||
| 332 | // batch: '1', | ||
| 333 | // hospital: '聊城市茌平区中医医院', | ||
| 334 | // address: '聊城市茌平区新政西路1163号', | ||
| 335 | // dateTime: '11:22', | ||
| 336 | // stopTime: 30, | ||
| 337 | // pkgs: 100, | ||
| 338 | // coordinate: '116.24271400,36.58568300' | ||
| 339 | // }, | ||
| 340 | // { | ||
| 341 | // rowNo: '8', | ||
| 342 | // batch: '1', | ||
| 343 | // hospital: '茌平县和睦家妇科诊所', | ||
| 344 | // address: '茌平县三产院内', | ||
| 345 | // dateTime: '12:22', | ||
| 346 | // stopTime: 5, | ||
| 347 | // pkgs: 100, | ||
| 348 | // coordinate: '116.23697900,36.58427100' | ||
| 349 | // }, | ||
| 350 | // { | ||
| 351 | // rowNo: '9', | ||
| 352 | // batch: '1', | ||
| 353 | // hospital: '聊城市茌平区温陈街道社区卫生服务中心', | ||
| 354 | // address: '聊城市茌平区温陈街道', | ||
| 355 | // dateTime: '12:47', | ||
| 356 | // stopTime: 5, | ||
| 357 | // pkgs: 100, | ||
| 358 | // coordinate: '116.24984700,36.59027400' | ||
| 359 | // }, | ||
| 360 | // { | ||
| 361 | // rowNo: '10', | ||
| 362 | // batch: '1', | ||
| 363 | // hospital: '聊城市茌平区胡屯镇卫生院', | ||
| 364 | // address: '聊城市茌平区新政西路1163号', | ||
| 365 | // dateTime: '13:12', | ||
| 366 | // stopTime: 10, | ||
| 367 | // pkgs: 100, | ||
| 368 | // coordinate: '116.24271400,36.58568300' | ||
| 369 | // }, | ||
| 370 | // { | ||
| 371 | // rowNo: '11', | ||
| 372 | // batch: '1', | ||
| 373 | // hospital: '高唐县中医院', | ||
| 374 | // address: '高唐县东兴路16号', | ||
| 375 | // dateTime: '13:52', | ||
| 376 | // stopTime: 10, | ||
| 377 | // pkgs: 100, | ||
| 378 | // coordinate: '116.25357800,36.85772200' | ||
| 379 | // }, | ||
| 380 | // { | ||
| 381 | // rowNo: '12', | ||
| 382 | // batch: '1', | ||
| 383 | // hospital: '高唐县人民医院', | ||
| 384 | // address: '山东省高唐县金城西路99号', | ||
| 385 | // dateTime: '14:17', | ||
| 386 | // stopTime: 15, | ||
| 387 | // pkgs: 100, | ||
| 388 | // coordinate: '116.22798600,36.86687600' | ||
| 389 | // }, | ||
| 390 | // { | ||
| 391 | // rowNo: '13', | ||
| 392 | // batch: '1', | ||
| 393 | // hospital: '聊城市茌平区第二人民医院', | ||
| 394 | // address: '茌平县博平镇政府街', | ||
| 395 | // dateTime: '15:04', | ||
| 396 | // stopTime: 15, | ||
| 397 | // pkgs: 100, | ||
| 398 | // coordinate: '116.11760000,36.58789400' | ||
| 399 | // }, | ||
| 400 | // // { | ||
| 401 | // // rowNo: '14', | ||
| 402 | // // batch: '1', | ||
| 403 | // // hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 404 | // // address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 405 | // // dateTime: '15:47', | ||
| 406 | // // stopTime: 15, | ||
| 407 | // // pkgs: 100, | ||
| 408 | // // coordinate: '116.06041900,36.39670700' | ||
| 409 | // // }, | ||
| 410 | // { | ||
| 411 | // rowNo: '15', | ||
| 412 | // batch: '1', | ||
| 413 | // hospital: '聊城汽车总站对接点', | ||
| 414 | // address: '聊城市东昌府区建设路与柳园北路交汇处西北角', | ||
| 415 | // dateTime: '16:22', | ||
| 416 | // stopTime: 8, | ||
| 417 | // pkgs: '-', | ||
| 418 | // coordinate: '115.98847500,36.47286500' | ||
| 419 | // }, | ||
| 420 | // // { | ||
| 421 | // // rowNo: '16', | ||
| 422 | // // batch: '1', | ||
| 423 | // // hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 424 | // // address: '山东省聊城市东昌府区振兴西路129号', | ||
| 425 | // // dateTime: '16:40', | ||
| 426 | // // stopTime: 50, | ||
| 427 | // // pkgs: 100, | ||
| 428 | // // coordinate: '115.95710000,36.46834600' | ||
| 429 | // // }, | ||
| 430 | // { | ||
| 431 | // rowNo: '17', | ||
| 432 | // batch: '1', | ||
| 433 | // hospital: '聊城联络处', | ||
| 434 | // address: '山东省聊城市东昌府区', | ||
| 435 | // dateTime: '17:43', | ||
| 436 | // stopTime: 30, | ||
| 437 | // pkgs: '-', | ||
| 438 | // coordinate: '115.98849100,36.43464500' | ||
| 439 | // }, | ||
| 440 | // { | ||
| 441 | // rowNo: '18', | ||
| 442 | // batch: '1', | ||
| 443 | // hospital: '聊城联络处对接点', | ||
| 444 | // address: '山东省聊城市东昌府区', | ||
| 445 | // dateTime: '18:18', | ||
| 446 | // stopTime: 20, | ||
| 447 | // pkgs: '-', | ||
| 448 | // coordinate: '115.98849100,36.43464500' | ||
| 449 | // } | ||
| 450 | // ] | ||
| 451 | // }, | ||
| 452 | // { | ||
| 453 | // name: '尹逊武', | ||
| 454 | // plate: '济南2595139', | ||
| 455 | // departure: '尹逊武家', | ||
| 456 | // arrival: '尹逊武家', | ||
| 457 | // departureDate: '06:30', | ||
| 458 | // customerData: [ | ||
| 459 | // { | ||
| 460 | // rowNo: '1', | ||
| 461 | // batch: '1', | ||
| 462 | // hospital: '尹逊武家', | ||
| 463 | // address: '山东省济南市历城区北园大街57号', | ||
| 464 | // dateTime: '7:30', | ||
| 465 | // stopTime: 30, | ||
| 466 | // pkgs: 0, | ||
| 467 | // coordinate: '117.05366200,36.69689900' | ||
| 468 | // }, | ||
| 469 | // { | ||
| 470 | // rowNo: '2', | ||
| 471 | // batch: '1', | ||
| 472 | // hospital: '山东大学齐鲁医院', | ||
| 473 | // address: '济南市文化西路107号', | ||
| 474 | // dateTime: '8:50', | ||
| 475 | // stopTime: 190, | ||
| 476 | // pkgs: 100, | ||
| 477 | // coordinate: '117.01839000,36.65659000' | ||
| 478 | // }, | ||
| 479 | // // { | ||
| 480 | // // rowNo: '3', | ||
| 481 | // // batch: '1', | ||
| 482 | // // hospital: '山东省中医院(西院)', | ||
| 483 | // // address: '山东省济南市文化西路42号', | ||
| 484 | // // dateTime: '11:25', | ||
| 485 | // // stopTime: 30, | ||
| 486 | // // pkgs: 100, | ||
| 487 | // // coordinate: '117.02325300,36.65510600' | ||
| 488 | // // }, | ||
| 489 | // { | ||
| 490 | // rowNo: '4', | ||
| 491 | // batch: '1', | ||
| 492 | // hospital: '济南市中医医院1', | ||
| 493 | // address: '山东省济南市槐荫区美里路555号海那城总部24号楼101单元401', | ||
| 494 | // dateTime: '12:05', | ||
| 495 | // stopTime: 30, | ||
| 496 | // pkgs: 100, | ||
| 497 | // coordinate: '116.91984000,36.72078200' | ||
| 498 | // }, | ||
| 499 | // { | ||
| 500 | // rowNo: '5', | ||
| 501 | // batch: '1', | ||
| 502 | // hospital: '济南丽合医疗美容医院有限公司', | ||
| 503 | // address: '山东省济南市历下区黑虎泉北路61号', | ||
| 504 | // dateTime: '13:15', | ||
| 505 | // stopTime: 10, | ||
| 506 | // pkgs: 100, | ||
| 507 | // coordinate: '117.03587900,36.67266400' | ||
| 508 | // }, | ||
| 509 | // // { | ||
| 510 | // // rowNo: '6', | ||
| 511 | // // batch: '1', | ||
| 512 | // // hospital: '山东省千佛山医院', | ||
| 513 | // // address: '经十路山师东路', | ||
| 514 | // // dateTime: '13:40', | ||
| 515 | // // stopTime: 20, | ||
| 516 | // // pkgs: 100, | ||
| 517 | // // coordinate: '117.04485100,36.64754900' | ||
| 518 | // // }, | ||
| 519 | // { | ||
| 520 | // rowNo: '7', | ||
| 521 | // batch: '1', | ||
| 522 | // hospital: '山东第一医科大学第一附属医院', | ||
| 523 | // address: '山东省济南市历下区经十路16766号', | ||
| 524 | // dateTime: '14:05', | ||
| 525 | // stopTime: 20, | ||
| 526 | // pkgs: 100, | ||
| 527 | // coordinate: '117.04244800,36.64765800' | ||
| 528 | // }, | ||
| 529 | // { | ||
| 530 | // rowNo: '8', | ||
| 531 | // batch: '1', | ||
| 532 | // hospital: '山东大学齐鲁医院', | ||
| 533 | // address: '济南市文化西路107号', | ||
| 534 | // dateTime: '14:40', | ||
| 535 | // stopTime: 140, | ||
| 536 | // pkgs: 100, | ||
| 537 | // coordinate: '117.01839000,36.65659000' | ||
| 538 | // }, | ||
| 539 | // { | ||
| 540 | // rowNo: '9', | ||
| 541 | // batch: '1', | ||
| 542 | // hospital: '济南长途汽车总站对接点', | ||
| 543 | // address: '济南市天桥区济洛路131号', | ||
| 544 | // dateTime: '17:25', | ||
| 545 | // stopTime: 15, | ||
| 546 | // pkgs: 0, | ||
| 547 | // coordinate: '116.99360600,36.68543900' | ||
| 548 | // }, | ||
| 549 | // { | ||
| 550 | // rowNo: '10', | ||
| 551 | // batch: '1', | ||
| 552 | // hospital: '尹逊武家', | ||
| 553 | // address: '山东省济南市历城区北园大街57号', | ||
| 554 | // dateTime: '18:10', | ||
| 555 | // stopTime: 5, | ||
| 556 | // pkgs: 0, | ||
| 557 | // coordinate: '117.05366200,36.69689900' | ||
| 558 | // } | ||
| 559 | // ] | ||
| 560 | // }, | ||
| 561 | // { | ||
| 562 | // name: '孙天麟', | ||
| 563 | // plate: '鲁A2Q3C2', | ||
| 564 | // departure: '济南迪安中心办事处', | ||
| 565 | // arrival: '济南样本室对接点', | ||
| 566 | // departureDate: '09:30', | ||
| 567 | // customerData: [ | ||
| 568 | // { | ||
| 569 | // rowNo: '1', | ||
| 570 | // batch: '1', | ||
| 571 | // hospital: '济南迪安中心办事处', | ||
| 572 | // address: '济南市高新区颖秀路2755号', | ||
| 573 | // dateTime: '14:00', | ||
| 574 | // stopTime: 30, | ||
| 575 | // pkgs: '-', | ||
| 576 | // coordinate: '117.13394400,36.67904500' | ||
| 577 | // }, | ||
| 578 | // { | ||
| 579 | // rowNo: '2', | ||
| 580 | // batch: '1', | ||
| 581 | // hospital: '济南佰年颐堂中医医院有限公司', | ||
| 582 | // address: '山东省济南市历城区工业北路180号院内办公楼2号楼1层', | ||
| 583 | // dateTime: '14:55', | ||
| 584 | // stopTime: 10, | ||
| 585 | // pkgs: 100, | ||
| 586 | // coordinate: '117.26118400,36.63685400' | ||
| 587 | // }, | ||
| 588 | // // { | ||
| 589 | // // rowNo: '3', | ||
| 590 | // // batch: '1', | ||
| 591 | // // hospital: '山东元辰生物医药科技集团有限公司', | ||
| 592 | // // address: '华山街道丑父路135号华山片区安置区二区S3号楼商业区四层', | ||
| 593 | // // dateTime: '15:20', | ||
| 594 | // // stopTime: 10, | ||
| 595 | // // pkgs: 100, | ||
| 596 | // // coordinate: '117.06162300,36.68773700' | ||
| 597 | // // }, | ||
| 598 | // // { | ||
| 599 | // // rowNo: '4', | ||
| 600 | // // batch: '1', | ||
| 601 | // // hospital: '山东大学第二医院(检验科)', | ||
| 602 | // // address: '山东大学第二医院(检验科)', | ||
| 603 | // // dateTime: '15:50', | ||
| 604 | // // stopTime: 30, | ||
| 605 | // // pkgs: 100, | ||
| 606 | // // coordinate: '117.04054100,36.69042100' | ||
| 607 | // // }, | ||
| 608 | // { | ||
| 609 | // rowNo: '5', | ||
| 610 | // batch: '1', | ||
| 611 | // hospital: '山东省立第三医院', | ||
| 612 | // address: '山东省济南市无影山中路12号', | ||
| 613 | // dateTime: '16:40', | ||
| 614 | // stopTime: 60, | ||
| 615 | // pkgs: 100, | ||
| 616 | // coordinate: '116.98967800,36.68406100' | ||
| 617 | // }, | ||
| 618 | // { | ||
| 619 | // rowNo: '6', | ||
| 620 | // batch: '1', | ||
| 621 | // hospital: '济南长途汽车总站对接点', | ||
| 622 | // address: '济南市天桥区济洛路131号', | ||
| 623 | // dateTime: '17:45', | ||
| 624 | // stopTime: 60, | ||
| 625 | // pkgs: '-', | ||
| 626 | // coordinate: '116.99360600,36.68543900' | ||
| 627 | // }, | ||
| 628 | // // { | ||
| 629 | // // rowNo: '7', | ||
| 630 | // // batch: '1', | ||
| 631 | // // hospital: '济南样本室对接点', | ||
| 632 | // // address: '济南市历下区颖秀路2755号', | ||
| 633 | // // dateTime: '19:45', | ||
| 634 | // // stopTime: 10, | ||
| 635 | // // pkgs: '-', | ||
| 636 | // // coordinate: '117.13394400,36.67904500' | ||
| 637 | // // }, | ||
| 638 | // { | ||
| 639 | // rowNo: '8', | ||
| 640 | // batch: '2', | ||
| 641 | // hospital: '艾迪康', | ||
| 642 | // address: '济南市天桥区田家庄东路4号', | ||
| 643 | // dateTime: '20:45', | ||
| 644 | // stopTime: 5, | ||
| 645 | // pkgs: 100, | ||
| 646 | // coordinate: '116.97534100,36.69010900' | ||
| 647 | // }, | ||
| 648 | // { | ||
| 649 | // rowNo: '9', | ||
| 650 | // batch: '2', | ||
| 651 | // hospital: '济南西站对接点', | ||
| 652 | // address: '济南市槐荫区齐鲁大道6号', | ||
| 653 | // dateTime: '21:10', | ||
| 654 | // stopTime: 15, | ||
| 655 | // pkgs: '-', | ||
| 656 | // coordinate: '116.89177900,36.66887900' | ||
| 657 | // }, | ||
| 658 | // // { | ||
| 659 | // // rowNo: '10', | ||
| 660 | // // batch: '2', | ||
| 661 | // // hospital: '济南长途汽车总站对接点', | ||
| 662 | // // address: '济南市天桥区济洛路131号', | ||
| 663 | // // dateTime: '21:45', | ||
| 664 | // // stopTime: 15, | ||
| 665 | // // pkgs: '-', | ||
| 666 | // // coordinate: '116.99360600,36.68543900' | ||
| 667 | // // }, | ||
| 668 | // { | ||
| 669 | // rowNo: '11', | ||
| 670 | // batch: '2', | ||
| 671 | // hospital: '济南样本室对接点', | ||
| 672 | // address: '济南市历下区颖秀路2755号', | ||
| 673 | // dateTime: '22:40', | ||
| 674 | // stopTime: 10, | ||
| 675 | // pkgs: '-', | ||
| 676 | // coordinate: '117.13394400,36.67904500' | ||
| 677 | // } | ||
| 678 | // ] | ||
| 679 | // } | ||
| 680 | // ] | ||
| 681 | DepartureList: [ | ||
| 682 | { | ||
| 683 | name: '', | ||
| 684 | plate: '', | ||
| 685 | departure: '', | ||
| 686 | arrival: '', | ||
| 687 | departureDate: '06:30', | ||
| 688 | customerData: [ | ||
| 689 | { | ||
| 690 | rowNo: '1', | ||
| 691 | batch: '1', | ||
| 692 | hospital: '济南迪安中心办事处(王东)', | ||
| 693 | address: '济南市高新区颖秀路2755号', | ||
| 694 | dateTime: '06:30', | ||
| 695 | stopTime: 15, | ||
| 696 | pkgs: 0, | ||
| 697 | coordinate: '117.13394400,36.67904500', | ||
| 698 | isOrigin: 'Y', | ||
| 699 | vehicleType: '1', | ||
| 700 | timeInterval: '', | ||
| 701 | name: '王东', | ||
| 702 | plate: '鲁A73HU8' | ||
| 703 | }, | ||
| 704 | { | ||
| 705 | rowNo: '1', | ||
| 706 | batch: '1', | ||
| 707 | hospital: '尹逊武家', | ||
| 708 | address: '山东省济南市历城区北园大街57号', | ||
| 709 | dateTime: '07:30', | ||
| 710 | stopTime: 30, | ||
| 711 | pkgs: 0, | ||
| 712 | coordinate: '117.05366200,36.69689900', | ||
| 713 | isOrigin: 'Y', | ||
| 714 | vehicleType: '2', | ||
| 715 | timeInterval: '', | ||
| 716 | name: '尹逊武', | ||
| 717 | plate: '济南2595139' | ||
| 718 | }, | ||
| 719 | { | ||
| 720 | rowNo: '1', | ||
| 721 | batch: '1', | ||
| 722 | hospital: '贾超家', | ||
| 723 | address: '山东省济南市天桥区堤口路92号', | ||
| 724 | dateTime: '07:30', | ||
| 725 | stopTime: 40, | ||
| 726 | pkgs: 0, | ||
| 727 | coordinate: '116.96820700,36.67044400', | ||
| 728 | isOrigin: 'Y', | ||
| 729 | vehicleType: '2', | ||
| 730 | timeInterval: '', | ||
| 731 | name: '贾超', | ||
| 732 | plate: '济南2387803' | ||
| 733 | }, | ||
| 734 | { | ||
| 735 | rowNo: '1', | ||
| 736 | batch: '1', | ||
| 737 | hospital: '济南迪安中心办事处(闫东梅)', | ||
| 738 | address: '济南市高新区颖秀路2755号', | ||
| 739 | dateTime: '08:20', | ||
| 740 | stopTime: 30, | ||
| 741 | pkgs: 0, | ||
| 742 | coordinate: '117.13394400,36.67904500', | ||
| 743 | isOrigin: 'Y', | ||
| 744 | vehicleType: '2', | ||
| 745 | timeInterval: '', | ||
| 746 | name: '闫东梅', | ||
| 747 | plate: '济南2566793' | ||
| 748 | }, | ||
| 749 | { | ||
| 750 | rowNo: '1', | ||
| 751 | batch: '1', | ||
| 752 | hospital: '王杰杰家', | ||
| 753 | address: '山东省济南市济阳区纬三路', | ||
| 754 | dateTime: '08:30', | ||
| 755 | stopTime: 10, | ||
| 756 | pkgs: 0, | ||
| 757 | coordinate: '117.19164300,36.97907100', | ||
| 758 | isOrigin: 'Y', | ||
| 759 | vehicleType: '2', | ||
| 760 | timeInterval: '', | ||
| 761 | name: '王杰杰', | ||
| 762 | plate: '济南1830603' | ||
| 763 | }, | ||
| 764 | { | ||
| 765 | rowNo: '1', | ||
| 766 | batch: '1', | ||
| 767 | hospital: '济南迪安中心办事处(王斌)', | ||
| 768 | address: '济南市高新区颖秀路2755号', | ||
| 769 | dateTime: '10:00', | ||
| 770 | stopTime: 30, | ||
| 771 | pkgs: 0, | ||
| 772 | coordinate: '117.13394400,36.67904500', | ||
| 773 | isOrigin: 'Y', | ||
| 774 | vehicleType: '1', | ||
| 775 | timeInterval: '', | ||
| 776 | name: '王斌', | ||
| 777 | plate: '鲁A6E5U6' | ||
| 778 | }, | ||
| 779 | { | ||
| 780 | rowNo: '1', | ||
| 781 | batch: '1', | ||
| 782 | hospital: '济南迪安中心办事处(郝建振)', | ||
| 783 | address: '济南市高新区颖秀路2755号', | ||
| 784 | dateTime: '10:00', | ||
| 785 | stopTime: 20, | ||
| 786 | pkgs: 0, | ||
| 787 | coordinate: '117.13394400,36.67904500', | ||
| 788 | isOrigin: 'Y', | ||
| 789 | vehicleType: '1', | ||
| 790 | timeInterval: '', | ||
| 791 | name: '郝建振', | ||
| 792 | plate: '鲁A257TR' | ||
| 793 | }, | ||
| 794 | { | ||
| 795 | rowNo: '1', | ||
| 796 | batch: '1', | ||
| 797 | hospital: '济南迪安中心办事处(孙天麟)', | ||
| 798 | address: '济南市高新区颖秀路2755号', | ||
| 799 | dateTime: '14:00', | ||
| 800 | stopTime: 30, | ||
| 801 | pkgs: 0, | ||
| 802 | coordinate: '117.13394400,36.67904500', | ||
| 803 | isOrigin: 'Y', | ||
| 804 | vehicleType: '1', | ||
| 805 | timeInterval: '', | ||
| 806 | name: '孙天麟', | ||
| 807 | plate: '鲁A2Q3C2' | ||
| 808 | } | ||
| 809 | ] | ||
| 810 | }, | ||
| 811 | { | ||
| 812 | name: '', | ||
| 813 | plate: '', | ||
| 814 | departure: '', | ||
| 815 | arrival: '', | ||
| 816 | departureDate: '08:00', | ||
| 817 | customerData: [ | ||
| 818 | { | ||
| 819 | rowNo: '1', | ||
| 820 | batch: '1', | ||
| 821 | hospital: '德州办事处', | ||
| 822 | address: '德州市德城区世纪嘉园小区', | ||
| 823 | dateTime: '08:40', | ||
| 824 | stopTime: 20, | ||
| 825 | pkgs: 0, | ||
| 826 | coordinate: '116.33733900,37.42873700', | ||
| 827 | isOrigin: 'Y', | ||
| 828 | vehicleType: '2', | ||
| 829 | timeInterval: '', | ||
| 830 | name: '路飞', | ||
| 831 | plate: '德州1333887' | ||
| 832 | }, | ||
| 833 | { | ||
| 834 | rowNo: '1', | ||
| 835 | batch: '1', | ||
| 836 | hospital: '夏津联络处', | ||
| 837 | address: '山东省德州市夏津县', | ||
| 838 | dateTime: '09:00', | ||
| 839 | stopTime: 10, | ||
| 840 | pkgs: 0, | ||
| 841 | coordinate: '116.00172600,36.94837100', | ||
| 842 | isOrigin: 'Y', | ||
| 843 | vehicleType: '1', | ||
| 844 | timeInterval: '', | ||
| 845 | name: '宗珂', | ||
| 846 | plate: '鲁A75A1N' | ||
| 847 | } | ||
| 848 | ] | ||
| 849 | }, | ||
| 850 | { | ||
| 851 | name: '', | ||
| 852 | plate: '', | ||
| 853 | departure: '', | ||
| 854 | arrival: '', | ||
| 855 | departureDate: '08:00', | ||
| 856 | customerData: [ | ||
| 857 | { | ||
| 858 | rowNo: '1', | ||
| 859 | batch: '1', | ||
| 860 | hospital: '聊城联络处', | ||
| 861 | address: '山东省聊城市东昌府区', | ||
| 862 | dateTime: '08:00', | ||
| 863 | stopTime: 10, | ||
| 864 | pkgs: 0, | ||
| 865 | coordinate: '115.98849100,36.43464500', | ||
| 866 | isOrigin: 'Y', | ||
| 867 | vehicleType: '1', | ||
| 868 | timeInterval: '', | ||
| 869 | name: '田耀中', | ||
| 870 | plate: '鲁A790Z9' | ||
| 871 | } | ||
| 872 | ] | ||
| 873 | } | ||
| 874 | ] | ||
| 875 | } | ||
| 876 | }, | ||
| 877 | methods: { | ||
| 878 | getDate() { | ||
| 879 | this.date = new Date() | ||
| 880 | }, | ||
| 881 | cityChage(e) { | ||
| 882 | console.log(e.target.value) | ||
| 883 | }, | ||
| 884 | // 即时规划 | ||
| 885 | instantPlanning() { | ||
| 886 | console.log(this.cloneData) | ||
| 887 | this.cloneData.batch = this.currentData.batch | ||
| 888 | this.cloneData.departureDate = this.currentData.departureDate | ||
| 889 | let obj = _.cloneDeep(this.orginData[this.index]) | ||
| 890 | if (this.index == 4) { | ||
| 891 | if (this.currentData.batch == '第一批') { | ||
| 892 | obj.customerData = this.cloneData.customerData.filter(item => item.batch == 1) | ||
| 893 | obj.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 894 | obj.batch = '第一批' | ||
| 895 | this.$store.dispatch('setOrder', JSON.stringify(obj)) | ||
| 896 | } else { | ||
| 897 | obj.customerData = this.cloneData.customerData.filter(item => item.batch == 2) | ||
| 898 | obj.customerData.unshift(this.cloneData.customerData.findLast(element => element.batch == '1')) | ||
| 899 | obj.departure = this.cloneData.customerData[this.cloneData.customerData.length - 1].hospital | ||
| 900 | obj.batch = '第二批' | ||
| 901 | this.$store.dispatch('setOrder', JSON.stringify(obj)) | ||
| 902 | } | ||
| 903 | } else { | ||
| 904 | this.$store.dispatch('setOrder', JSON.stringify(this.cloneData)) | ||
| 905 | } | ||
| 906 | this.$router.push({ path: '/about1' }) | ||
| 907 | }, | ||
| 908 | nextStep() { | ||
| 909 | console.log(this.checkeData) | ||
| 910 | if (!this.checkeData.length) { | ||
| 911 | Toast('请至少选择一条数据') | ||
| 912 | return | ||
| 913 | } | ||
| 914 | this.$store.dispatch('setDepart', JSON.stringify(this.checkeData)) | ||
| 915 | this.$router.push({ path: '/target' }) | ||
| 916 | }, | ||
| 917 | // 下一个 | ||
| 918 | nextOrder() { | ||
| 919 | console.log(this.orginData) | ||
| 920 | if (this.index == this.orginData.length - 1) { | ||
| 921 | Toast.fail('已经是最后一条') | ||
| 922 | return | ||
| 923 | } | ||
| 924 | this.index++ | ||
| 925 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 926 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 927 | if (this.index == 4) { | ||
| 928 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 929 | } | ||
| 930 | this.currentData.customerData.shift() | ||
| 931 | this.currentData.batch = '第一批' | ||
| 932 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 933 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 934 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 935 | this.$forceUpdate() | ||
| 936 | }, | ||
| 937 | // 上一个 | ||
| 938 | lastOrder() { | ||
| 939 | console.log(this.orginData) | ||
| 940 | if (this.index == 0) { | ||
| 941 | Toast.fail('已经是第一条') | ||
| 942 | return | ||
| 943 | } | ||
| 944 | this.index-- | ||
| 945 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 946 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 947 | if (this.index == 4) { | ||
| 948 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 949 | } | ||
| 950 | this.currentData.customerData.shift() | ||
| 951 | this.currentData.batch = '第一批' | ||
| 952 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 953 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 954 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 955 | this.$forceUpdate() | ||
| 956 | }, | ||
| 957 | // 下一批 | ||
| 958 | nextCargo() { | ||
| 959 | console.log(this.orginData[this.index].customerData) | ||
| 960 | if (this.index == 4) { | ||
| 961 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 2) | ||
| 962 | this.currentData.departure = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 963 | this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 964 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 965 | this.currentData.batch = '第二批' | ||
| 966 | } | ||
| 967 | console.log(this.currentData.customerData) | ||
| 968 | }, | ||
| 969 | // 上一批 | ||
| 970 | lastCargo() { | ||
| 971 | if (this.index == 4) { | ||
| 972 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 1) | ||
| 973 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 974 | this.currentData.departureDate = this.cloneData.customerData[0].dateTime | ||
| 975 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 976 | this.currentData.batch = '第一批' | ||
| 977 | } | ||
| 978 | } | ||
| 979 | }, | ||
| 980 | created() { | ||
| 981 | this.city = this.$store.state.app.city || '济南' | ||
| 982 | this.$bus.$on('selecte', e => (this.checkeData = e)) | ||
| 983 | }, | ||
| 984 | mounted() {}, | ||
| 985 | destroyed() { | ||
| 986 | // this.$bus.$off('selecte') | ||
| 987 | }, | ||
| 988 | watch: { | ||
| 989 | city: { | ||
| 990 | handler: function (val) { | ||
| 991 | switch (val) { | ||
| 992 | case '济南': | ||
| 993 | this.$store.dispatch('setCity', val) | ||
| 994 | this.currentData = this.DepartureList[0]?.customerData | ||
| 995 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 996 | |||
| 997 | break | ||
| 998 | case '德州': | ||
| 999 | this.$store.dispatch('setCity', val) | ||
| 1000 | this.currentData = this.DepartureList[1]?.customerData | ||
| 1001 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1002 | |||
| 1003 | break | ||
| 1004 | case '聊城': | ||
| 1005 | this.$store.dispatch('setCity', val) | ||
| 1006 | this.currentData = this.DepartureList[2]?.customerData | ||
| 1007 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1008 | break | ||
| 1009 | } | ||
| 1010 | }, | ||
| 1011 | deep: true, | ||
| 1012 | immediate: true | ||
| 1013 | } | ||
| 1014 | } | ||
| 1015 | } | ||
| 1016 | </script> | ||
| 1017 | |||
| 1018 | <style lang="scss" scoped> | ||
| 1019 | .title { | ||
| 1020 | padding: 10px; | ||
| 1021 | } | ||
| 1022 | |||
| 1023 | .header-text { | ||
| 1024 | font-size: 36px; | ||
| 1025 | font-weight: 800; | ||
| 1026 | } | ||
| 1027 | |||
| 1028 | .fixed-bottom-right { | ||
| 1029 | // position: absolute; | ||
| 1030 | margin-top: 80px; | ||
| 1031 | bottom: 20px; | ||
| 1032 | right: 0px; | ||
| 1033 | width: 100%; | ||
| 1034 | } | ||
| 1035 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <div class="index-container"> | 2 | <div> |
| 3 | <div class="warpper"> | 3 | <div class="title"> |
| 4 | <h1 class="demo-home__title"> | 4 | <van-row type="flex" justify="space-around"> |
| 5 | <img src="https://cdn.jsdelivr.net/gh/fonghehe/picture/vue-h5-template/logo.png" /><span> VUE H5开发模板</span> | 5 | <van-col span="8" class="header-text">业务员:{{ currentData.name }}</van-col> |
| 6 | </h1> | 6 | <van-col span="8" class="header-text">车牌号:{{ currentData.plate }}</van-col> |
| 7 | <h2 class="demo-home__desc">A vue h5 template with Vant UI</h2> | 7 | <van-col span="8" class="header-text">批次:{{ currentData.batch }}</van-col> |
| 8 | </van-row> | ||
| 9 | <van-row type="flex" style="margin-top: 15px" justify="space-around"> | ||
| 10 | <van-col span="8" class="header-text"> | ||
| 11 | 出发地: <span>{{ currentData.departure }}</span> | ||
| 12 | </van-col> | ||
| 13 | <van-col span="8" class="header-text"> 目的地:{{ currentData.arrival }} </van-col> | ||
| 14 | <van-col span="8" class="header-text" style="display: flex"> | ||
| 15 | 出发时间:<van-field v-model="currentData.departureDate" size="small" placeholder="请输入时间" | ||
| 16 | /></van-col> | ||
| 17 | </van-row> | ||
| 18 | </div> | ||
| 19 | <Table-vant :option="option" :tableData="currentData.customerData"></Table-vant> | ||
| 20 | <div class="fixed-bottom-right"> | ||
| 21 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 22 | <van-button round plain type="info" @click="nextOrder()">下一个</van-button> | ||
| 23 | <van-button round plain type="primary" @click="instantPlanning">即时规划</van-button> | ||
| 24 | <van-button round plain type="warning" @click="nextCargo()">下一批</van-button> | ||
| 25 | </div> | ||
| 26 | <div style="display: flex; justify-content: space-between; margin-top: 10px"> | ||
| 27 | <van-button round plain type="info" @click="lastOrder()">上一个</van-button> | ||
| 28 | <van-button round plain type="warning" @click="lastCargo()">上一批</van-button> | ||
| 29 | </div> | ||
| 8 | </div> | 30 | </div> |
| 9 | <van-cell icon="success" v-for="item in list" :key="item" :title="item" /> | ||
| 10 | </div> | 31 | </div> |
| 11 | </template> | 32 | </template> |
| 12 | 33 | ||
| 13 | <script setup> | 34 | <script> |
| 14 | import { ref } from 'vue' | 35 | import TableVant from '@/components/Table.vue' |
| 36 | import { Toast } from 'vant' | ||
| 37 | import _ from 'lodash' | ||
| 38 | export default { | ||
| 39 | components: { TableVant }, | ||
| 40 | data() { | ||
| 41 | return { | ||
| 42 | index: 0, | ||
| 43 | date: '', | ||
| 44 | cloneData: {}, | ||
| 45 | currentData: { | ||
| 46 | name: '', | ||
| 47 | plate: '', | ||
| 48 | batch: '第一批', | ||
| 49 | departure: '', | ||
| 50 | arrival: '', | ||
| 51 | departureDate: '', | ||
| 52 | customerData: [] | ||
| 53 | }, | ||
| 54 | option: { | ||
| 55 | column: [ | ||
| 56 | { | ||
| 57 | label: '序号', | ||
| 58 | tableDataprop: 'rowNo', | ||
| 59 | width: '50px' | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | label: '途经', | ||
| 63 | tableDataprop: 'hospital', | ||
| 64 | width: '230px' | ||
| 65 | }, | ||
| 66 | { | ||
| 67 | label: '取样数', | ||
| 68 | tableDataprop: 'pkgs', | ||
| 69 | width: '50px', | ||
| 70 | align: 'right' | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | label: '状态', | ||
| 74 | tableDataprop: 'status', | ||
| 75 | width: '50px' | ||
| 76 | } | ||
| 77 | ] | ||
| 78 | }, | ||
| 79 | orginData: [ | ||
| 80 | { | ||
| 81 | name: '王东', | ||
| 82 | plate: '鲁A73HU8', | ||
| 83 | departure: '济南迪安中心办事处', | ||
| 84 | arrival: '济南样本室对接点', | ||
| 85 | departureDate: '07:30', | ||
| 86 | customerData: [ | ||
| 87 | { | ||
| 88 | rowNo: '1', | ||
| 89 | batch: '1', | ||
| 90 | hospital: '济南迪安中心办事处', | ||
| 91 | address: '济南市高新区颖秀路2755号', | ||
| 92 | dateTime: '6:30', | ||
| 93 | stopTime: 15, | ||
| 94 | pkgs: '-', | ||
| 95 | coordinate: '117.13394400,36.67904500' | ||
| 96 | }, | ||
| 97 | // { | ||
| 98 | // rowNo: '2', | ||
| 99 | // batch: '1', | ||
| 100 | // hospital: '济南样本室对接点', | ||
| 101 | // address: '济南市高新区颖秀路2755号', | ||
| 102 | // dateTime: '6:50', | ||
| 103 | // stopTime: 10, | ||
| 104 | // pkgs: "-", | ||
| 105 | // coordinate: '117.13394400,36.67904500' | ||
| 106 | // }, | ||
| 107 | { | ||
| 108 | rowNo: '3', | ||
| 109 | batch: '1', | ||
| 110 | hospital: '济南西站对接点', | ||
| 111 | address: '济南市槐荫区齐鲁大道6号', | ||
| 112 | dateTime: '7:50', | ||
| 113 | stopTime: 20, | ||
| 114 | pkgs: '-', | ||
| 115 | coordinate: '116.89177900,36.66887900' | ||
| 116 | }, | ||
| 117 | { | ||
| 118 | rowNo: '4', | ||
| 119 | batch: '1', | ||
| 120 | hospital: '济南和合医学检验有限公司', | ||
| 121 | address: '槐荫区美里湖555号路海那城总部42号楼', | ||
| 122 | dateTime: '8:55', | ||
| 123 | stopTime: 15, | ||
| 124 | pkgs: 100, | ||
| 125 | coordinate: '116.91937000,36.72000800' | ||
| 126 | }, | ||
| 127 | { | ||
| 128 | rowNo: '5', | ||
| 129 | batch: '1', | ||
| 130 | hospital: '山东第一医科大学附属皮肤病医院', | ||
| 131 | address: '济南市经十路27397号', | ||
| 132 | dateTime: '9:30', | ||
| 133 | stopTime: 10, | ||
| 134 | pkgs: 100, | ||
| 135 | coordinate: '116.92826100,36.65210900' | ||
| 136 | }, | ||
| 137 | { | ||
| 138 | rowNo: '6', | ||
| 139 | batch: '1', | ||
| 140 | hospital: '山东禾力升医学检验实验室有限公司', | ||
| 141 | address: '济南市市中区南辛庄西路丰润 怡邻居西门', | ||
| 142 | dateTime: '10:00', | ||
| 143 | stopTime: 10, | ||
| 144 | pkgs: 100, | ||
| 145 | coordinate: '116.96255900,36.63623600' | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | rowNo: '7', | ||
| 149 | batch: '1', | ||
| 150 | hospital: '市中慢病第四人民医院青龙山分院', | ||
| 151 | address: '山东省济南市市中区南辛庄西路272号', | ||
| 152 | dateTime: '10:20', | ||
| 153 | stopTime: 40, | ||
| 154 | pkgs: 100, | ||
| 155 | coordinate: '116.95988200,36.62819100' | ||
| 156 | }, | ||
| 157 | { | ||
| 158 | rowNo: '8', | ||
| 159 | batch: '1', | ||
| 160 | hospital: '山东省医学科学院放射医学研究所', | ||
| 161 | address: '济南经十路89号9956', | ||
| 162 | dateTime: '11:15', | ||
| 163 | stopTime: 15, | ||
| 164 | pkgs: 100, | ||
| 165 | coordinate: '117.01788200,36.64911300' | ||
| 166 | }, | ||
| 167 | { | ||
| 168 | rowNo: '9', | ||
| 169 | batch: '1', | ||
| 170 | hospital: '山东省分析测试中心', | ||
| 171 | address: '山东省济南市历下区科院路19号详情', | ||
| 172 | dateTime: '11:40', | ||
| 173 | stopTime: 10, | ||
| 174 | pkgs: 100, | ||
| 175 | coordinate: '117.04783900,36.64556100' | ||
| 176 | }, | ||
| 177 | // { | ||
| 178 | // rowNo: '10', | ||
| 179 | // batch: '1', | ||
| 180 | // hospital: '济南汇安健康管理有限公司历下门诊部', | ||
| 181 | // address: '济南市历下区文化西路15号', | ||
| 182 | // dateTime: '12:05', | ||
| 183 | // stopTime: 120, | ||
| 184 | // pkgs: 100, | ||
| 185 | // coordinate: '117.03081400,36.65417800' | ||
| 186 | // }, | ||
| 187 | // { | ||
| 188 | // rowNo: '11', | ||
| 189 | // batch: '1', | ||
| 190 | // hospital: '武警山东总队医院', | ||
| 191 | // address: '山东省济南市历下区浆水泉路12--8号', | ||
| 192 | // dateTime: '14:45', | ||
| 193 | // stopTime: 15, | ||
| 194 | // pkgs: 100, | ||
| 195 | // coordinate: '117.08718600,36.65631700' | ||
| 196 | // }, | ||
| 197 | { | ||
| 198 | rowNo: '10', | ||
| 199 | batch: '1', | ||
| 200 | hospital: '济南样本室对接点', | ||
| 201 | address: '济南市历下区颖秀路2755号', | ||
| 202 | dateTime: '15:20', | ||
| 203 | stopTime: 30, | ||
| 204 | pkgs: 100, | ||
| 205 | coordinate: '117.13394400,36.67904500' | ||
| 206 | } | ||
| 207 | ] | ||
| 208 | }, | ||
| 209 | { | ||
| 210 | name: '路飞', | ||
| 211 | plate: '德州1333887', | ||
| 212 | departure: '德州办事处', | ||
| 213 | arrival: '德州办事处', | ||
| 214 | departureDate: '08:30', | ||
| 215 | customerData: [ | ||
| 216 | { | ||
| 217 | rowNo: '1', | ||
| 218 | batch: '1', | ||
| 219 | hospital: '德州办事处', | ||
| 220 | address: '德州市德城区世纪嘉园小区', | ||
| 221 | dateTime: '8:40', | ||
| 222 | stopTime: 20, | ||
| 223 | pkgs: '-', | ||
| 224 | coordinate: '116.33733900,37.42873700' | ||
| 225 | }, | ||
| 226 | { | ||
| 227 | rowNo: '2', | ||
| 228 | batch: '1', | ||
| 229 | hospital: '德州交通医院', | ||
| 230 | address: '德城区东风中路389号', | ||
| 231 | dateTime: '9:15', | ||
| 232 | stopTime: 20, | ||
| 233 | pkgs: 2, | ||
| 234 | coordinate: '116.31887300,37.44295900' | ||
| 235 | }, | ||
| 236 | { | ||
| 237 | rowNo: '3', | ||
| 238 | batch: '1', | ||
| 239 | hospital: '德州市人民医院', | ||
| 240 | address: '德州市新湖大街1751号', | ||
| 241 | dateTime: '9:47', | ||
| 242 | stopTime: 100, | ||
| 243 | pkgs: 41, | ||
| 244 | coordinate: '116.30555600,37.45116400' | ||
| 245 | }, | ||
| 246 | { | ||
| 247 | rowNo: '4', | ||
| 248 | batch: '1', | ||
| 249 | hospital: '德州市人民医院(特检)', | ||
| 250 | address: '德州市新湖大街1751号', | ||
| 251 | dateTime: '11:32', | ||
| 252 | stopTime: 15, | ||
| 253 | pkgs: 1, | ||
| 254 | coordinate: '116.30555600,37.45116400' | ||
| 255 | }, | ||
| 256 | { | ||
| 257 | rowNo: '5', | ||
| 258 | batch: '1', | ||
| 259 | hospital: '德州市立医院对接点', | ||
| 260 | address: '德州市德城区三八中路1766号', | ||
| 261 | dateTime: '11:55', | ||
| 262 | stopTime: 20, | ||
| 263 | pkgs: '-', | ||
| 264 | coordinate: '116.29370300,37.45320200' | ||
| 265 | }, | ||
| 266 | // { | ||
| 267 | // rowNo: '6', | ||
| 268 | // batch: '1', | ||
| 269 | // hospital: '德州市立医院', | ||
| 270 | // address: '山东省德州市德城区三八路1766号', | ||
| 271 | // dateTime: '12:55', | ||
| 272 | // stopTime: 90, | ||
| 273 | // pkgs: 2, | ||
| 274 | // coordinate: '116.29370300,37.45320200' | ||
| 275 | // }, | ||
| 276 | // { | ||
| 277 | // rowNo: '7', | ||
| 278 | // batch: '1', | ||
| 279 | // hospital: '德棉医院', | ||
| 280 | // address: '德州市运河开发区纺织大街522号', | ||
| 281 | // dateTime: '14:37', | ||
| 282 | // stopTime: 20, | ||
| 283 | // pkgs: "-", | ||
| 284 | // coordinate: '116.27572300,37.45761700' | ||
| 285 | // }, | ||
| 286 | { | ||
| 287 | rowNo: '8', | ||
| 288 | batch: '1', | ||
| 289 | hospital: '德州汽车站对接点', | ||
| 290 | address: '德州市德城区东风路1667号', | ||
| 291 | dateTime: '15:12', | ||
| 292 | stopTime: 15, | ||
| 293 | pkgs: '-', | ||
| 294 | coordinate: '116.29082500,37.44405800' | ||
| 295 | }, | ||
| 296 | { | ||
| 297 | rowNo: '9', | ||
| 298 | batch: '1', | ||
| 299 | hospital: '德州办事处', | ||
| 300 | address: '德州市德城区世纪嘉园小区', | ||
| 301 | dateTime: '15:52', | ||
| 302 | stopTime: 20, | ||
| 303 | pkgs: '-', | ||
| 304 | coordinate: '116.33733900,37.42873700' | ||
| 305 | } | ||
| 306 | ] | ||
| 307 | }, | ||
| 308 | { | ||
| 309 | name: '田耀中', | ||
| 310 | plate: '鲁A790Z9', | ||
| 311 | departure: '聊城联络处', | ||
| 312 | arrival: '聊城联络处对接点', | ||
| 313 | departureDate: '09:30', | ||
| 314 | customerData: [ | ||
| 315 | { | ||
| 316 | rowNo: '1', | ||
| 317 | batch: '1', | ||
| 318 | hospital: '聊城联络处', | ||
| 319 | address: '山东省聊城市东昌府区', | ||
| 320 | dateTime: '8:00', | ||
| 321 | stopTime: 10, | ||
| 322 | pkgs: '-', | ||
| 323 | coordinate: '115.98849100,36.43464500' | ||
| 324 | }, | ||
| 325 | { | ||
| 326 | rowNo: '2', | ||
| 327 | batch: '1', | ||
| 328 | hospital: '聊城市东昌府区侯营镇卫生院', | ||
| 329 | address: '山东省聊城市东昌府区侯营镇侯营村', | ||
| 330 | dateTime: '8:35', | ||
| 331 | stopTime: 10, | ||
| 332 | pkgs: 100, | ||
| 333 | coordinate: '115.88725200,36.39946400' | ||
| 334 | }, | ||
| 335 | { | ||
| 336 | rowNo: '3', | ||
| 337 | batch: '1', | ||
| 338 | hospital: '聊城市东昌府区和光诊所', | ||
| 339 | address: '山东省聊城市东昌府区柳园街道陈口路金柱大学城A区30幢s30-113号商铺', | ||
| 340 | dateTime: '9:12', | ||
| 341 | stopTime: 10, | ||
| 342 | pkgs: 100, | ||
| 343 | coordinate: '116.01666300,36.44393800' | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | rowNo: '4', | ||
| 347 | batch: '1', | ||
| 348 | hospital: '聊城市东昌府区韩集镇卫生院', | ||
| 349 | address: '山东省聊城市东昌府区韩集镇政府', | ||
| 350 | dateTime: '9:55', | ||
| 351 | stopTime: 10, | ||
| 352 | pkgs: 100, | ||
| 353 | coordinate: '116.18228000,36.40897800' | ||
| 354 | }, | ||
| 355 | { | ||
| 356 | rowNo: '5', | ||
| 357 | batch: '1', | ||
| 358 | hospital: '茌平万里行中医诊所', | ||
| 359 | address: '聊城市茌平县建设路1416号', | ||
| 360 | dateTime: '10:40', | ||
| 361 | stopTime: 10, | ||
| 362 | pkgs: 100, | ||
| 363 | coordinate: '116.21077700,36.56289800' | ||
| 364 | }, | ||
| 365 | { | ||
| 366 | rowNo: '6', | ||
| 367 | batch: '1', | ||
| 368 | hospital: '聊城市茌平区人民医院', | ||
| 369 | address: '聊城市茌平县文化路99号', | ||
| 370 | dateTime: '11:00', | ||
| 371 | stopTime: 15, | ||
| 372 | pkgs: 100, | ||
| 373 | coordinate: '116.24962100,36.57960700' | ||
| 374 | }, | ||
| 375 | { | ||
| 376 | rowNo: '7', | ||
| 377 | batch: '1', | ||
| 378 | hospital: '聊城市茌平区中医医院', | ||
| 379 | address: '聊城市茌平区新政西路1163号', | ||
| 380 | dateTime: '11:22', | ||
| 381 | stopTime: 30, | ||
| 382 | pkgs: 100, | ||
| 383 | coordinate: '116.24271400,36.58568300' | ||
| 384 | }, | ||
| 385 | { | ||
| 386 | rowNo: '8', | ||
| 387 | batch: '1', | ||
| 388 | hospital: '茌平县和睦家妇科诊所', | ||
| 389 | address: '茌平县三产院内', | ||
| 390 | dateTime: '12:22', | ||
| 391 | stopTime: 5, | ||
| 392 | pkgs: 100, | ||
| 393 | coordinate: '116.23697900,36.58427100' | ||
| 394 | }, | ||
| 395 | { | ||
| 396 | rowNo: '9', | ||
| 397 | batch: '1', | ||
| 398 | hospital: '聊城市茌平区温陈街道社区卫生服务中心', | ||
| 399 | address: '聊城市茌平区温陈街道', | ||
| 400 | dateTime: '12:47', | ||
| 401 | stopTime: 5, | ||
| 402 | pkgs: 100, | ||
| 403 | coordinate: '116.24984700,36.59027400' | ||
| 404 | }, | ||
| 405 | { | ||
| 406 | rowNo: '10', | ||
| 407 | batch: '1', | ||
| 408 | hospital: '聊城市茌平区胡屯镇卫生院', | ||
| 409 | address: '聊城市茌平区新政西路1163号', | ||
| 410 | dateTime: '13:12', | ||
| 411 | stopTime: 10, | ||
| 412 | pkgs: 100, | ||
| 413 | coordinate: '116.24271400,36.58568300' | ||
| 414 | }, | ||
| 415 | { | ||
| 416 | rowNo: '11', | ||
| 417 | batch: '1', | ||
| 418 | hospital: '高唐县中医院', | ||
| 419 | address: '高唐县东兴路16号', | ||
| 420 | dateTime: '13:52', | ||
| 421 | stopTime: 10, | ||
| 422 | pkgs: 100, | ||
| 423 | coordinate: '116.25357800,36.85772200' | ||
| 424 | }, | ||
| 425 | { | ||
| 426 | rowNo: '12', | ||
| 427 | batch: '1', | ||
| 428 | hospital: '高唐县人民医院', | ||
| 429 | address: '山东省高唐县金城西路99号', | ||
| 430 | dateTime: '14:17', | ||
| 431 | stopTime: 15, | ||
| 432 | pkgs: 100, | ||
| 433 | coordinate: '116.22798600,36.86687600' | ||
| 434 | }, | ||
| 435 | { | ||
| 436 | rowNo: '13', | ||
| 437 | batch: '1', | ||
| 438 | hospital: '聊城市茌平区第二人民医院', | ||
| 439 | address: '茌平县博平镇政府街', | ||
| 440 | dateTime: '15:04', | ||
| 441 | stopTime: 15, | ||
| 442 | pkgs: 100, | ||
| 443 | coordinate: '116.11760000,36.58789400' | ||
| 444 | }, | ||
| 445 | // { | ||
| 446 | // rowNo: '14', | ||
| 447 | // batch: '1', | ||
| 448 | // hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 449 | // address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 450 | // dateTime: '15:47', | ||
| 451 | // stopTime: 15, | ||
| 452 | // pkgs: 100, | ||
| 453 | // coordinate: '116.06041900,36.39670700' | ||
| 454 | // }, | ||
| 455 | { | ||
| 456 | rowNo: '15', | ||
| 457 | batch: '1', | ||
| 458 | hospital: '聊城汽车总站对接点', | ||
| 459 | address: '聊城市东昌府区建设路与柳园北路交汇处西北角', | ||
| 460 | dateTime: '16:22', | ||
| 461 | stopTime: 8, | ||
| 462 | pkgs: '-', | ||
| 463 | coordinate: '115.98847500,36.47286500' | ||
| 464 | }, | ||
| 465 | // { | ||
| 466 | // rowNo: '16', | ||
| 467 | // batch: '1', | ||
| 468 | // hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 469 | // address: '山东省聊城市东昌府区振兴西路129号', | ||
| 470 | // dateTime: '16:40', | ||
| 471 | // stopTime: 50, | ||
| 472 | // pkgs: 100, | ||
| 473 | // coordinate: '115.95710000,36.46834600' | ||
| 474 | // }, | ||
| 475 | { | ||
| 476 | rowNo: '17', | ||
| 477 | batch: '1', | ||
| 478 | hospital: '聊城联络处', | ||
| 479 | address: '山东省聊城市东昌府区', | ||
| 480 | dateTime: '17:43', | ||
| 481 | stopTime: 30, | ||
| 482 | pkgs: '-', | ||
| 483 | coordinate: '115.98849100,36.43464500' | ||
| 484 | }, | ||
| 485 | { | ||
| 486 | rowNo: '18', | ||
| 487 | batch: '1', | ||
| 488 | hospital: '聊城联络处对接点', | ||
| 489 | address: '山东省聊城市东昌府区', | ||
| 490 | dateTime: '18:18', | ||
| 491 | stopTime: 20, | ||
| 492 | pkgs: '-', | ||
| 493 | coordinate: '115.98849100,36.43464500' | ||
| 494 | } | ||
| 495 | ] | ||
| 496 | }, | ||
| 497 | { | ||
| 498 | name: '尹逊武', | ||
| 499 | plate: '济南2595139', | ||
| 500 | departure: '尹逊武家', | ||
| 501 | arrival: '尹逊武家', | ||
| 502 | departureDate: '06:30', | ||
| 503 | customerData: [ | ||
| 504 | { | ||
| 505 | rowNo: '1', | ||
| 506 | batch: '1', | ||
| 507 | hospital: '尹逊武家', | ||
| 508 | address: '山东省济南市历城区北园大街57号', | ||
| 509 | dateTime: '7:30', | ||
| 510 | stopTime: 30, | ||
| 511 | pkgs: 0, | ||
| 512 | coordinate: '117.05366200,36.69689900' | ||
| 513 | }, | ||
| 514 | { | ||
| 515 | rowNo: '2', | ||
| 516 | batch: '1', | ||
| 517 | hospital: '山东大学齐鲁医院', | ||
| 518 | address: '济南市文化西路107号', | ||
| 519 | dateTime: '8:50', | ||
| 520 | stopTime: 190, | ||
| 521 | pkgs: 100, | ||
| 522 | coordinate: '117.01839000,36.65659000' | ||
| 523 | }, | ||
| 524 | // { | ||
| 525 | // rowNo: '3', | ||
| 526 | // batch: '1', | ||
| 527 | // hospital: '山东省中医院(西院)', | ||
| 528 | // address: '山东省济南市文化西路42号', | ||
| 529 | // dateTime: '11:25', | ||
| 530 | // stopTime: 30, | ||
| 531 | // pkgs: 100, | ||
| 532 | // coordinate: '117.02325300,36.65510600' | ||
| 533 | // }, | ||
| 534 | { | ||
| 535 | rowNo: '4', | ||
| 536 | batch: '1', | ||
| 537 | hospital: '济南市中医医院1', | ||
| 538 | address: '山东省济南市槐荫区美里路555号海那城总部24号楼101单元401', | ||
| 539 | dateTime: '12:05', | ||
| 540 | stopTime: 30, | ||
| 541 | pkgs: 100, | ||
| 542 | coordinate: '116.91984000,36.72078200' | ||
| 543 | }, | ||
| 544 | { | ||
| 545 | rowNo: '5', | ||
| 546 | batch: '1', | ||
| 547 | hospital: '济南丽合医疗美容医院有限公司', | ||
| 548 | address: '山东省济南市历下区黑虎泉北路61号', | ||
| 549 | dateTime: '13:15', | ||
| 550 | stopTime: 10, | ||
| 551 | pkgs: 100, | ||
| 552 | coordinate: '117.03587900,36.67266400' | ||
| 553 | }, | ||
| 554 | // { | ||
| 555 | // rowNo: '6', | ||
| 556 | // batch: '1', | ||
| 557 | // hospital: '山东省千佛山医院', | ||
| 558 | // address: '经十路山师东路', | ||
| 559 | // dateTime: '13:40', | ||
| 560 | // stopTime: 20, | ||
| 561 | // pkgs: 100, | ||
| 562 | // coordinate: '117.04485100,36.64754900' | ||
| 563 | // }, | ||
| 564 | { | ||
| 565 | rowNo: '7', | ||
| 566 | batch: '1', | ||
| 567 | hospital: '山东第一医科大学第一附属医院', | ||
| 568 | address: '山东省济南市历下区经十路16766号', | ||
| 569 | dateTime: '14:05', | ||
| 570 | stopTime: 20, | ||
| 571 | pkgs: 100, | ||
| 572 | coordinate: '117.04244800,36.64765800' | ||
| 573 | }, | ||
| 574 | { | ||
| 575 | rowNo: '8', | ||
| 576 | batch: '1', | ||
| 577 | hospital: '山东大学齐鲁医院', | ||
| 578 | address: '济南市文化西路107号', | ||
| 579 | dateTime: '14:40', | ||
| 580 | stopTime: 140, | ||
| 581 | pkgs: 100, | ||
| 582 | coordinate: '117.01839000,36.65659000' | ||
| 583 | }, | ||
| 584 | { | ||
| 585 | rowNo: '9', | ||
| 586 | batch: '1', | ||
| 587 | hospital: '济南长途汽车总站对接点', | ||
| 588 | address: '济南市天桥区济洛路131号', | ||
| 589 | dateTime: '17:25', | ||
| 590 | stopTime: 15, | ||
| 591 | pkgs: 0, | ||
| 592 | coordinate: '116.99360600,36.68543900' | ||
| 593 | }, | ||
| 594 | { | ||
| 595 | rowNo: '10', | ||
| 596 | batch: '1', | ||
| 597 | hospital: '尹逊武家', | ||
| 598 | address: '山东省济南市历城区北园大街57号', | ||
| 599 | dateTime: '18:10', | ||
| 600 | stopTime: 5, | ||
| 601 | pkgs: 0, | ||
| 602 | coordinate: '117.05366200,36.69689900' | ||
| 603 | } | ||
| 604 | ] | ||
| 605 | }, | ||
| 606 | { | ||
| 607 | name: '孙天麟', | ||
| 608 | plate: '鲁A2Q3C2', | ||
| 609 | departure: '济南迪安中心办事处', | ||
| 610 | arrival: '济南样本室对接点', | ||
| 611 | departureDate: '09:30', | ||
| 612 | customerData: [ | ||
| 613 | { | ||
| 614 | rowNo: '1', | ||
| 615 | batch: '1', | ||
| 616 | hospital: '济南迪安中心办事处', | ||
| 617 | address: '济南市高新区颖秀路2755号', | ||
| 618 | dateTime: '14:00', | ||
| 619 | stopTime: 30, | ||
| 620 | pkgs: '-', | ||
| 621 | coordinate: '117.13394400,36.67904500' | ||
| 622 | }, | ||
| 623 | { | ||
| 624 | rowNo: '2', | ||
| 625 | batch: '1', | ||
| 626 | hospital: '济南佰年颐堂中医医院有限公司', | ||
| 627 | address: '山东省济南市历城区工业北路180号院内办公楼2号楼1层', | ||
| 628 | dateTime: '14:55', | ||
| 629 | stopTime: 10, | ||
| 630 | pkgs: 100, | ||
| 631 | coordinate: '117.26118400,36.63685400' | ||
| 632 | }, | ||
| 633 | // { | ||
| 634 | // rowNo: '3', | ||
| 635 | // batch: '1', | ||
| 636 | // hospital: '山东元辰生物医药科技集团有限公司', | ||
| 637 | // address: '华山街道丑父路135号华山片区安置区二区S3号楼商业区四层', | ||
| 638 | // dateTime: '15:20', | ||
| 639 | // stopTime: 10, | ||
| 640 | // pkgs: 100, | ||
| 641 | // coordinate: '117.06162300,36.68773700' | ||
| 642 | // }, | ||
| 643 | // { | ||
| 644 | // rowNo: '4', | ||
| 645 | // batch: '1', | ||
| 646 | // hospital: '山东大学第二医院(检验科)', | ||
| 647 | // address: '山东大学第二医院(检验科)', | ||
| 648 | // dateTime: '15:50', | ||
| 649 | // stopTime: 30, | ||
| 650 | // pkgs: 100, | ||
| 651 | // coordinate: '117.04054100,36.69042100' | ||
| 652 | // }, | ||
| 653 | { | ||
| 654 | rowNo: '5', | ||
| 655 | batch: '1', | ||
| 656 | hospital: '山东省立第三医院', | ||
| 657 | address: '山东省济南市无影山中路12号', | ||
| 658 | dateTime: '16:40', | ||
| 659 | stopTime: 60, | ||
| 660 | pkgs: 100, | ||
| 661 | coordinate: '116.98967800,36.68406100' | ||
| 662 | }, | ||
| 663 | { | ||
| 664 | rowNo: '6', | ||
| 665 | batch: '1', | ||
| 666 | hospital: '济南长途汽车总站对接点', | ||
| 667 | address: '济南市天桥区济洛路131号', | ||
| 668 | dateTime: '17:45', | ||
| 669 | stopTime: 60, | ||
| 670 | pkgs: '-', | ||
| 671 | coordinate: '116.99360600,36.68543900' | ||
| 672 | }, | ||
| 673 | // { | ||
| 674 | // rowNo: '7', | ||
| 675 | // batch: '1', | ||
| 676 | // hospital: '济南样本室对接点', | ||
| 677 | // address: '济南市历下区颖秀路2755号', | ||
| 678 | // dateTime: '19:45', | ||
| 679 | // stopTime: 10, | ||
| 680 | // pkgs: '-', | ||
| 681 | // coordinate: '117.13394400,36.67904500' | ||
| 682 | // }, | ||
| 683 | { | ||
| 684 | rowNo: '8', | ||
| 685 | batch: '2', | ||
| 686 | hospital: '艾迪康', | ||
| 687 | address: '济南市天桥区田家庄东路4号', | ||
| 688 | dateTime: '20:45', | ||
| 689 | stopTime: 5, | ||
| 690 | pkgs: 100, | ||
| 691 | coordinate: '116.97534100,36.69010900' | ||
| 692 | }, | ||
| 693 | { | ||
| 694 | rowNo: '9', | ||
| 695 | batch: '2', | ||
| 696 | hospital: '济南西站对接点', | ||
| 697 | address: '济南市槐荫区齐鲁大道6号', | ||
| 698 | dateTime: '21:10', | ||
| 699 | stopTime: 15, | ||
| 700 | pkgs: '-', | ||
| 701 | coordinate: '116.89177900,36.66887900' | ||
| 702 | }, | ||
| 703 | // { | ||
| 704 | // rowNo: '10', | ||
| 705 | // batch: '2', | ||
| 706 | // hospital: '济南长途汽车总站对接点', | ||
| 707 | // address: '济南市天桥区济洛路131号', | ||
| 708 | // dateTime: '21:45', | ||
| 709 | // stopTime: 15, | ||
| 710 | // pkgs: '-', | ||
| 711 | // coordinate: '116.99360600,36.68543900' | ||
| 712 | // }, | ||
| 713 | { | ||
| 714 | rowNo: '11', | ||
| 715 | batch: '2', | ||
| 716 | hospital: '济南样本室对接点', | ||
| 717 | address: '济南市历下区颖秀路2755号', | ||
| 718 | dateTime: '22:40', | ||
| 719 | stopTime: 10, | ||
| 720 | pkgs: '-', | ||
| 721 | coordinate: '117.13394400,36.67904500' | ||
| 722 | } | ||
| 723 | ] | ||
| 724 | } | ||
| 725 | ] | ||
| 726 | } | ||
| 727 | }, | ||
| 728 | methods: { | ||
| 729 | getDate() { | ||
| 730 | this.date = new Date() | ||
| 731 | }, | ||
| 732 | // 即时规划 | ||
| 733 | instantPlanning() { | ||
| 734 | console.log(this.cloneData) | ||
| 735 | this.cloneData.batch = this.currentData.batch | ||
| 736 | this.cloneData.departureDate = this.currentData.departureDate | ||
| 737 | let obj = _.cloneDeep(this.orginData[this.index]) | ||
| 738 | if (this.index == 4) { | ||
| 739 | if (this.currentData.batch == '第一批') { | ||
| 740 | obj.customerData = this.cloneData.customerData.filter(item => item.batch == 1) | ||
| 741 | obj.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 742 | obj.batch = '第一批' | ||
| 743 | this.$store.dispatch('setOrder', JSON.stringify(obj)) | ||
| 744 | } else { | ||
| 745 | obj.customerData = this.cloneData.customerData.filter(item => item.batch == 2) | ||
| 746 | obj.customerData.unshift(this.cloneData.customerData.findLast(element => element.batch == '1')) | ||
| 747 | obj.departure = this.cloneData.customerData[this.cloneData.customerData.length - 1].hospital | ||
| 748 | obj.batch = '第二批' | ||
| 749 | this.$store.dispatch('setOrder', JSON.stringify(obj)) | ||
| 750 | } | ||
| 751 | } else { | ||
| 752 | this.$store.dispatch('setOrder', JSON.stringify(this.cloneData)) | ||
| 753 | } | ||
| 754 | this.$router.push({ path: '/about' }) | ||
| 755 | }, | ||
| 756 | // 下一个 | ||
| 757 | nextOrder() { | ||
| 758 | console.log(this.orginData) | ||
| 759 | if (this.index == this.orginData.length - 1) { | ||
| 760 | Toast.fail('已经是最后一条') | ||
| 761 | return | ||
| 762 | } | ||
| 763 | this.index++ | ||
| 764 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 765 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 766 | if (this.index == 4) { | ||
| 767 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 768 | } | ||
| 769 | this.currentData.customerData.shift() | ||
| 770 | this.currentData.batch = '第一批' | ||
| 771 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 772 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 773 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 774 | this.$forceUpdate() | ||
| 775 | }, | ||
| 776 | // 上一个 | ||
| 777 | lastOrder() { | ||
| 778 | console.log(this.orginData) | ||
| 779 | if (this.index == 0) { | ||
| 780 | Toast.fail('已经是第一条') | ||
| 781 | return | ||
| 782 | } | ||
| 783 | this.index-- | ||
| 784 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 785 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 786 | if (this.index == 4) { | ||
| 787 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 788 | } | ||
| 789 | this.currentData.customerData.shift() | ||
| 790 | this.currentData.batch = '第一批' | ||
| 791 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 792 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 793 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 794 | this.$forceUpdate() | ||
| 795 | }, | ||
| 796 | // 下一批 | ||
| 797 | nextCargo() { | ||
| 798 | console.log(this.orginData[this.index].customerData) | ||
| 799 | if (this.index == 4) { | ||
| 800 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 2) | ||
| 801 | this.currentData.departure = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 802 | this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 803 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 804 | this.currentData.batch = '第二批' | ||
| 805 | } | ||
| 806 | console.log(this.currentData.customerData) | ||
| 807 | }, | ||
| 808 | // 上一批 | ||
| 809 | lastCargo() { | ||
| 810 | if (this.index == 4) { | ||
| 811 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 1) | ||
| 812 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 813 | this.currentData.departureDate = this.cloneData.customerData[0].dateTime | ||
| 814 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 815 | this.currentData.batch = '第一批' | ||
| 816 | } | ||
| 817 | } | ||
| 818 | }, | ||
| 819 | created() { | ||
| 820 | this.orginData.forEach(item => item.customerData.forEach(item1 => (item1.status = '未去'))) | ||
| 821 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 822 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 823 | this.currentData.batch = '第一批' | ||
| 824 | this.currentData.customerData.shift() | ||
| 825 | console.log('cloneData', this.cloneData) | ||
| 15 | 826 | ||
| 16 | let list = ref([ | 827 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) |
| 17 | 'Vue-cli4', | 828 | console.log(this.currentData.customerData) |
| 18 | '配置多环境变量', | 829 | this.getDate() |
| 19 | 'VantUI 组件按需加载', | 830 | } |
| 20 | 'Sass 全局样式', | 831 | } |
| 21 | 'Webpack 4', | ||
| 22 | 'Vuex 状态管理', | ||
| 23 | 'Axios 封装及接口管理', | ||
| 24 | 'Vue-router', | ||
| 25 | 'Webpack 4 vue.config.js 基础配置', | ||
| 26 | '配置 proxy 跨域', | ||
| 27 | '配置 alias 别名', | ||
| 28 | '配置 打包分析', | ||
| 29 | '配置 externals 引入 cdn 资源', | ||
| 30 | '去掉 console.log', | ||
| 31 | 'splitChunks 单独打包第三方模块', | ||
| 32 | '添加 IE 兼容', | ||
| 33 | 'Eslint+Pettier 统一开发规范' | ||
| 34 | ]) | ||
| 35 | </script> | 832 | </script> |
| 36 | 833 | ||
| 37 | <style lang="scss" scoped> | 834 | <style lang="scss" scoped> |
| 38 | .index-container { | 835 | .title { |
| 39 | .warpper { | 836 | padding: 10px; |
| 40 | padding: 24px; | 837 | } |
| 41 | background: #fff; | 838 | |
| 42 | .demo-home__title { | 839 | .header-text { |
| 43 | display: flex; | 840 | font-size: 24px; |
| 44 | align-items: center; | 841 | font-weight: 800; |
| 45 | justify-content: center; | 842 | } |
| 46 | margin: 0 0 6px; | 843 | |
| 47 | font-size: 56px; | 844 | .table-box { |
| 48 | .demo-home__title img, | 845 | margin: 12px 0px; |
| 49 | .demo-home__title span { | 846 | |
| 50 | display: inline-block; | 847 | .th-row { |
| 51 | vertical-align: middle; | 848 | height: 56px; |
| 52 | } | 849 | line-height: 56px; |
| 53 | img { | 850 | background: #ebf1f7; |
| 54 | width: 64px; | 851 | padding: 0px 12px; |
| 55 | } | 852 | font-size: 36px; |
| 56 | span { | ||
| 57 | margin-left: 16px; | ||
| 58 | font-weight: 500; | ||
| 59 | } | ||
| 60 | } | ||
| 61 | .demo-home__desc { | ||
| 62 | text-align: center; | ||
| 63 | margin: 0 0 20px; | ||
| 64 | color: rgba(69, 90, 100, 0.6); | ||
| 65 | font-size: 28px; | ||
| 66 | } | 853 | } |
| 854 | |||
| 855 | .tb-row { | ||
| 856 | font-size: 48px; | ||
| 857 | height: 56px; | ||
| 858 | line-height: 56px; | ||
| 859 | padding: 0px 12px; | ||
| 67 | } | 860 | } |
| 68 | } | 861 | } |
| 862 | |||
| 863 | .fixed-bottom-right { | ||
| 864 | // position: absolute; | ||
| 865 | margin-top: 80px; | ||
| 866 | bottom: 20px; | ||
| 867 | right: 0px; | ||
| 868 | width: 100%; | ||
| 869 | } | ||
| 69 | </style> | 870 | </style> | ... | ... |
src/views/home/result.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="title"> | ||
| 4 | <van-row type="flex" style="margin-top: 15px" justify="space-around"> | ||
| 5 | <van-col span="24" class="header-text" style="display: flex"> | ||
| 6 | <van-cell-group> | ||
| 7 | 城市: | ||
| 8 | <select name="pets" id="pet-select" v-model="city" class="city" @change="cityChage($event)"> | ||
| 9 | <option v-for="item in cityOptions" :key="item.value" :value="item.value">{{ item.label }}</option> | ||
| 10 | </select> | ||
| 11 | </van-cell-group> | ||
| 12 | </van-col> | ||
| 13 | </van-row> | ||
| 14 | </div> | ||
| 15 | <div style="width: 100%; overflow-x: auto"> | ||
| 16 | <Table-vant :option="option" :tableData="resultData" width="790px"> | ||
| 17 | <template v-slot:startTime="{ item }"> | ||
| 18 | <div>{{ item.startTime | formatDate('hh:mm:ss') }}</div> | ||
| 19 | </template> | ||
| 20 | <template v-slot:lastArrivalTime="{ item }"> | ||
| 21 | <div>{{ item.lastArrivalTime | formatDate('hh:mm:ss') }}</div> | ||
| 22 | </template> | ||
| 23 | <template v-slot:opreate="{ item }"> | ||
| 24 | <button class="text-button" @click="geDetail(item)">详情</button> | ||
| 25 | </template> | ||
| 26 | </Table-vant> | ||
| 27 | </div> | ||
| 28 | </div> | ||
| 29 | </template> | ||
| 30 | <script> | ||
| 31 | import TableVant from '@/components/Table.vue' | ||
| 32 | import { getPlan, getSession } from '@/api/user.js' | ||
| 33 | import { Toast } from 'vant' | ||
| 34 | import _ from 'lodash' | ||
| 35 | export default { | ||
| 36 | name: '', | ||
| 37 | props: {}, | ||
| 38 | components: { TableVant }, | ||
| 39 | data() { | ||
| 40 | return { | ||
| 41 | city: '', | ||
| 42 | targetData: [], | ||
| 43 | departureData: [], | ||
| 44 | cityOptions: [ | ||
| 45 | { label: '济南', value: '济南' }, | ||
| 46 | { label: '德州', value: '德州' }, | ||
| 47 | { label: '聊城', value: '聊城' } | ||
| 48 | ], | ||
| 49 | resultData: [ | ||
| 50 | { | ||
| 51 | address: '', | ||
| 52 | batch: '', | ||
| 53 | coordinate: '', | ||
| 54 | dateTime: '', | ||
| 55 | hospital: '', | ||
| 56 | pkgs: '', | ||
| 57 | rowNo: '1', | ||
| 58 | status: '', | ||
| 59 | stopTime: '' | ||
| 60 | } | ||
| 61 | ], | ||
| 62 | option: { | ||
| 63 | column: [ | ||
| 64 | { | ||
| 65 | label: '序号', | ||
| 66 | tableDataprop: 'rowNo', | ||
| 67 | width: '50px', | ||
| 68 | align: 'center' | ||
| 69 | }, | ||
| 70 | { | ||
| 71 | label: '取件人', | ||
| 72 | tableDataprop: 'name', | ||
| 73 | width: '50px' | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | label: '规划路线', | ||
| 77 | tableDataprop: 'path', | ||
| 78 | width: '300px' | ||
| 79 | }, | ||
| 80 | { | ||
| 81 | label: '总里程', | ||
| 82 | tableDataprop: 'totalDistance', | ||
| 83 | width: '80px' | ||
| 84 | }, | ||
| 85 | { | ||
| 86 | label: '总耗时', | ||
| 87 | tableDataprop: 'totalTimes', | ||
| 88 | width: '80px' | ||
| 89 | }, | ||
| 90 | { | ||
| 91 | label: '出发时间', | ||
| 92 | tableDataprop: 'startTime', | ||
| 93 | width: '80px' | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | label: '回程时间', | ||
| 97 | tableDataprop: 'lastArrivalTime', | ||
| 98 | width: '80px' | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | label: '操作', | ||
| 102 | tableDataprop: 'opreate', | ||
| 103 | width: '80px', | ||
| 104 | align: 'center' | ||
| 105 | } | ||
| 106 | ] | ||
| 107 | } | ||
| 108 | } | ||
| 109 | }, | ||
| 110 | computed: {}, | ||
| 111 | watch: {}, | ||
| 112 | methods: { | ||
| 113 | geDetail(e) { | ||
| 114 | this.$store.dispatch('setCurentData', JSON.stringify(e)) | ||
| 115 | this.$router.push({ path: '/about1', query: { data: JSON.stringify(e) } }) | ||
| 116 | console.log(e) | ||
| 117 | }, | ||
| 118 | getSessionId() { | ||
| 119 | let params = { | ||
| 120 | client_id: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 121 | grant_type: 'client_credentials', | ||
| 122 | client_secret: 'c6602114c9ba488b877d0d84b0e5e700', | ||
| 123 | scope: 'read' | ||
| 124 | } | ||
| 125 | getSession(params, {}).then(res => { | ||
| 126 | this.accessToken = res.access_token | ||
| 127 | this.initData([...this.departureData, ...this.targetData]) | ||
| 128 | }) | ||
| 129 | }, | ||
| 130 | // 请求数据案例 | ||
| 131 | initData(list) { | ||
| 132 | Toast.loading({ | ||
| 133 | duration: 0 | ||
| 134 | }) | ||
| 135 | console.log('123', list) | ||
| 136 | let arr = _.cloneDeep(list) | ||
| 137 | const data = { | ||
| 138 | region: this.city, | ||
| 139 | plate: '', | ||
| 140 | departure: '', | ||
| 141 | arrival: '', | ||
| 142 | departureDate: '06:30', | ||
| 143 | customerData: arr | ||
| 144 | } | ||
| 145 | const params = { | ||
| 146 | method: 'GetRouteMatrix_test', | ||
| 147 | format: 'json', | ||
| 148 | sessionId: this.accessToken, | ||
| 149 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 150 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 151 | v: '1.0' | ||
| 152 | } | ||
| 153 | getPlan(data, params) | ||
| 154 | .then(res => { | ||
| 155 | Toast.clear() | ||
| 156 | let newArr = JSON.parse(res).returnModel | ||
| 157 | console.log('返回的数据', newArr) | ||
| 158 | newArr.forEach(item => { | ||
| 159 | item.data.forEach((e, index) => { | ||
| 160 | e.distance = e.distance.toFixed(2) | ||
| 161 | e.hospital = e.returnName | ||
| 162 | e.status = '未去' | ||
| 163 | e.coordinate = e.destination | ||
| 164 | e.isOrigin = 'N' | ||
| 165 | if (index == item.data.length - 1) { | ||
| 166 | e.pkgs = 0 | ||
| 167 | } else { | ||
| 168 | e.pkgs = 100 | ||
| 169 | } | ||
| 170 | // e.distance.toFixed(2) | ||
| 171 | }) | ||
| 172 | item.data.pop() | ||
| 173 | }) | ||
| 174 | this.resultData = newArr | ||
| 175 | console.log('aaaaa', this.resultData) | ||
| 176 | |||
| 177 | let arrs = this.resultData | ||
| 178 | arrs.forEach((item, index) => { | ||
| 179 | item.rowNo = index + 1 | ||
| 180 | }) | ||
| 181 | }) | ||
| 182 | .catch(() => {}) | ||
| 183 | } | ||
| 184 | }, | ||
| 185 | created() { | ||
| 186 | this.city = this.$store.state.app.city | ||
| 187 | this.targetData = this.$store.getters.getTarget | ||
| 188 | this.departureData = JSON.parse(this.$store.state.app.depart) | ||
| 189 | this.resultData = JSON.parse(this.$store.state.app.order) | ||
| 190 | }, | ||
| 191 | mounted() {} | ||
| 192 | } | ||
| 193 | </script> | ||
| 194 | <style lang="scss" scoped> | ||
| 195 | .header-text { | ||
| 196 | font-size: 36px; | ||
| 197 | font-weight: 800; | ||
| 198 | } | ||
| 199 | </style> |
src/views/home/target.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div> | ||
| 3 | <div class="title"> | ||
| 4 | <div>目标列表</div> | ||
| 5 | <van-row type="flex" style="margin-top: 15px" justify="space-around"> | ||
| 6 | <van-col span="24" class="header-text" style="display: flex"> | ||
| 7 | <!-- <van-datetime-picker v-model="currentData.departureDate" type="time" title="选择时间" /> --> | ||
| 8 | <van-cell-group> | ||
| 9 | <!-- <van-field v-model="currentData.departureDate" label="出发时间" placeholder="请输入出发时间" /> --> | ||
| 10 | 城市: | ||
| 11 | <select name="pets" id="pet-select" class="city" v-model="city"> | ||
| 12 | <option v-for="item in cityOptions" :key="item.value" :value="item.value">{{ item.label }}</option> | ||
| 13 | </select> | ||
| 14 | </van-cell-group> | ||
| 15 | <!-- 出发时间:<van-field v-model="currentData.departureDate" size="small" placeholder="请输入时间" /> --> | ||
| 16 | </van-col> | ||
| 17 | </van-row> | ||
| 18 | </div> | ||
| 19 | <div style="width: 100%; overflow-x: auto; margin-bottom: 50px"> | ||
| 20 | <Table-vant :option="option" :tableData="currentData" :showCheck="true" width="480px"> | ||
| 21 | <template v-slot:dateTime="{ item }"> | ||
| 22 | <input type="text" v-model="item.dateTime" style="width: 80%; height: 25px" /> | ||
| 23 | </template> | ||
| 24 | <template v-slot:vehicleType="{ item }"> | ||
| 25 | <div>{{ item.vehicleType == 1 ? '电动汽车' : '电动车' }}</div> | ||
| 26 | </template> | ||
| 27 | </Table-vant> | ||
| 28 | </div> | ||
| 29 | <div class="fixed-bottom-right"> | ||
| 30 | <div style="display: flex; flex-direction: row-reverse; margin-top: 10px"> | ||
| 31 | <!-- <van-button round plain type="primary" @click="instantPlanning">即时规划</van-button> --> | ||
| 32 | <van-button round plain type="primary" @click="nextStep">下一步</van-button> | ||
| 33 | </div> | ||
| 34 | </div> | ||
| 35 | </div> | ||
| 36 | </template> | ||
| 37 | |||
| 38 | <script> | ||
| 39 | import TableVant from '@/components/Table.vue' | ||
| 40 | import { getPlan, getSession } from '@/api/user.js' | ||
| 41 | import { Toast } from 'vant' | ||
| 42 | import _ from 'lodash' | ||
| 43 | export default { | ||
| 44 | components: { TableVant }, | ||
| 45 | data() { | ||
| 46 | return { | ||
| 47 | index: 0, | ||
| 48 | date: '', | ||
| 49 | cloneData: {}, | ||
| 50 | checkeData: [], | ||
| 51 | city: '', | ||
| 52 | currentData: [], | ||
| 53 | departureData: [], | ||
| 54 | cityOptions: [ | ||
| 55 | { label: '济南', value: '济南' }, | ||
| 56 | { label: '德州', value: '德州' }, | ||
| 57 | { label: '聊城', value: '聊城' } | ||
| 58 | ], | ||
| 59 | option: { | ||
| 60 | column: [ | ||
| 61 | { | ||
| 62 | label: '序号', | ||
| 63 | tableDataprop: 'rowNo', | ||
| 64 | align: 'center', | ||
| 65 | width: '50px' | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | label: '目标点', | ||
| 69 | tableDataprop: 'hospital', | ||
| 70 | width: '210px' | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | label: '取样数', | ||
| 74 | tableDataprop: 'pkgs', | ||
| 75 | width: '50px', | ||
| 76 | align: 'right' | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | label: '取样时间', | ||
| 80 | tableDataprop: 'dateTime', | ||
| 81 | width: '80px' | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | label: '使用工具', | ||
| 85 | tableDataprop: 'vehicleType', | ||
| 86 | width: '80px' | ||
| 87 | } | ||
| 88 | ] | ||
| 89 | }, | ||
| 90 | TargetList: [ | ||
| 91 | { | ||
| 92 | name: '', | ||
| 93 | plate: '', | ||
| 94 | departure: '', | ||
| 95 | arrival: '', | ||
| 96 | departureDate: '06:30', | ||
| 97 | customerData: [ | ||
| 98 | { | ||
| 99 | rowNo: '2', | ||
| 100 | batch: '1', | ||
| 101 | hospital: '济南西站对接点', | ||
| 102 | address: '济南市槐荫区齐鲁大道6号', | ||
| 103 | dateTime: '07:50', | ||
| 104 | stopTime: 20, | ||
| 105 | pkgs: 0, | ||
| 106 | coordinate: '116.89177900,36.66887900', | ||
| 107 | isOrigin: 'N', | ||
| 108 | vehicleType: '1', | ||
| 109 | timeInterval: '' | ||
| 110 | }, | ||
| 111 | { | ||
| 112 | rowNo: '3', | ||
| 113 | batch: '1', | ||
| 114 | hospital: '济南和合医学检验有限公司', | ||
| 115 | address: '槐荫区美里湖555号路海那城总部42号楼', | ||
| 116 | dateTime: '08:55', | ||
| 117 | stopTime: 15, | ||
| 118 | pkgs: 0, | ||
| 119 | coordinate: '116.91937000,36.72000800', | ||
| 120 | isOrigin: 'N', | ||
| 121 | vehicleType: '1', | ||
| 122 | timeInterval: '09:00,10:00' | ||
| 123 | }, | ||
| 124 | { | ||
| 125 | rowNo: '4', | ||
| 126 | batch: '1', | ||
| 127 | hospital: '山东第一医科大学附属皮肤病医院', | ||
| 128 | address: '济南市经十路27397号', | ||
| 129 | dateTime: '09:30', | ||
| 130 | stopTime: 10, | ||
| 131 | pkgs: 100, | ||
| 132 | coordinate: '116.92826100,36.65210900', | ||
| 133 | isOrigin: 'N', | ||
| 134 | vehicleType: '1', | ||
| 135 | timeInterval: '09:00,11:30' | ||
| 136 | }, | ||
| 137 | { | ||
| 138 | rowNo: '5', | ||
| 139 | batch: '1', | ||
| 140 | hospital: '山东禾力升医学检验实验室有限公司', | ||
| 141 | address: '济南市市中区南辛庄西路丰润 怡邻居西门', | ||
| 142 | dateTime: '10:00', | ||
| 143 | stopTime: 10, | ||
| 144 | pkgs: 100, | ||
| 145 | coordinate: '116.96255900,36.63623600', | ||
| 146 | isOrigin: 'N', | ||
| 147 | vehicleType: '1', | ||
| 148 | timeInterval: '' | ||
| 149 | }, | ||
| 150 | { | ||
| 151 | rowNo: '6', | ||
| 152 | batch: '1', | ||
| 153 | hospital: '市中慢病第四人民医院青龙山分院', | ||
| 154 | address: '山东省济南市市中区南辛庄西路272号', | ||
| 155 | dateTime: '10:20', | ||
| 156 | stopTime: 40, | ||
| 157 | pkgs: 100, | ||
| 158 | coordinate: '116.95988200,36.62819100', | ||
| 159 | isOrigin: 'N', | ||
| 160 | vehicleType: '1', | ||
| 161 | timeInterval: '' | ||
| 162 | }, | ||
| 163 | { | ||
| 164 | rowNo: '7', | ||
| 165 | batch: '1', | ||
| 166 | hospital: '山东省医学科学院放射医学研究所', | ||
| 167 | address: '济南经十路89号9956', | ||
| 168 | dateTime: '11:15', | ||
| 169 | stopTime: 15, | ||
| 170 | pkgs: 100, | ||
| 171 | coordinate: '117.01788200,36.64911300', | ||
| 172 | isOrigin: 'N', | ||
| 173 | vehicleType: '1', | ||
| 174 | timeInterval: '' | ||
| 175 | }, | ||
| 176 | { | ||
| 177 | rowNo: '8', | ||
| 178 | batch: '1', | ||
| 179 | hospital: '山东省分析测试中心', | ||
| 180 | address: '山东省济南市历下区科院路19号详情', | ||
| 181 | dateTime: '11:40', | ||
| 182 | stopTime: 10, | ||
| 183 | pkgs: 100, | ||
| 184 | coordinate: '117.04783900,36.64556100', | ||
| 185 | isOrigin: 'N', | ||
| 186 | vehicleType: '1', | ||
| 187 | timeInterval: '' | ||
| 188 | }, | ||
| 189 | { | ||
| 190 | rowNo: '9', | ||
| 191 | batch: '1', | ||
| 192 | hospital: '济南汇安健康管理有限公司历下门诊部', | ||
| 193 | address: '济南市历下区文化西路15号', | ||
| 194 | dateTime: '12:05', | ||
| 195 | stopTime: 120, | ||
| 196 | pkgs: 100, | ||
| 197 | coordinate: '117.03081400,36.65417800', | ||
| 198 | isOrigin: 'N', | ||
| 199 | vehicleType: '1', | ||
| 200 | timeInterval: '' | ||
| 201 | }, | ||
| 202 | { | ||
| 203 | rowNo: '10', | ||
| 204 | batch: '1', | ||
| 205 | hospital: '武警山东总队医院', | ||
| 206 | address: '山东省济南市历下区浆水泉路12--8号', | ||
| 207 | dateTime: '14:45', | ||
| 208 | stopTime: 15, | ||
| 209 | pkgs: 100, | ||
| 210 | coordinate: '117.08718600,36.65631700', | ||
| 211 | isOrigin: 'N', | ||
| 212 | vehicleType: '1', | ||
| 213 | timeInterval: '' | ||
| 214 | }, | ||
| 215 | { | ||
| 216 | rowNo: '11', | ||
| 217 | batch: '1', | ||
| 218 | hospital: '济南样本室对接点', | ||
| 219 | address: '济南市历下区颖秀路2755号', | ||
| 220 | dateTime: '15:20', | ||
| 221 | stopTime: 30, | ||
| 222 | pkgs: 100, | ||
| 223 | coordinate: '117.13394400,36.67904500', | ||
| 224 | isOrigin: 'N', | ||
| 225 | vehicleType: '1', | ||
| 226 | timeInterval: '' | ||
| 227 | }, | ||
| 228 | { | ||
| 229 | rowNo: '2', | ||
| 230 | batch: '1', | ||
| 231 | hospital: '山东大学齐鲁医院', | ||
| 232 | address: '济南市文化西路107号', | ||
| 233 | dateTime: '08:50', | ||
| 234 | stopTime: 190, | ||
| 235 | pkgs: 100, | ||
| 236 | coordinate: '117.01839000,36.65659000', | ||
| 237 | isOrigin: 'N', | ||
| 238 | vehicleType: '2', | ||
| 239 | timeInterval: '' | ||
| 240 | }, | ||
| 241 | { | ||
| 242 | rowNo: '3', | ||
| 243 | batch: '1', | ||
| 244 | hospital: '山东省中医院(西院)', | ||
| 245 | address: '山东省济南市文化西路42号', | ||
| 246 | dateTime: '11:25', | ||
| 247 | stopTime: 30, | ||
| 248 | pkgs: 100, | ||
| 249 | coordinate: '117.02325300,36.65510600', | ||
| 250 | isOrigin: 'N', | ||
| 251 | vehicleType: '2', | ||
| 252 | timeInterval: '09:00,12:00' | ||
| 253 | }, | ||
| 254 | { | ||
| 255 | rowNo: '4', | ||
| 256 | batch: '1', | ||
| 257 | hospital: '济南市中医医院1', | ||
| 258 | address: '山东省济南市槐荫区美里路555号海那城总部24号楼101单元401', | ||
| 259 | dateTime: '12:05', | ||
| 260 | stopTime: 30, | ||
| 261 | pkgs: 100, | ||
| 262 | coordinate: '116.91984000,36.72078200', | ||
| 263 | isOrigin: 'N', | ||
| 264 | vehicleType: '2', | ||
| 265 | timeInterval: '' | ||
| 266 | }, | ||
| 267 | { | ||
| 268 | rowNo: '5', | ||
| 269 | batch: '1', | ||
| 270 | hospital: '济南丽合医疗美容医院有限公司', | ||
| 271 | address: '山东省济南市历下区黑虎泉北路61号', | ||
| 272 | dateTime: '13:15', | ||
| 273 | stopTime: 10, | ||
| 274 | pkgs: 100, | ||
| 275 | coordinate: '117.03587900,36.67266400', | ||
| 276 | isOrigin: 'N', | ||
| 277 | vehicleType: '2', | ||
| 278 | timeInterval: '' | ||
| 279 | }, | ||
| 280 | { | ||
| 281 | rowNo: '6', | ||
| 282 | batch: '1', | ||
| 283 | hospital: '山东省千佛山医院', | ||
| 284 | address: '经十路山师东路', | ||
| 285 | dateTime: '13:40', | ||
| 286 | stopTime: 20, | ||
| 287 | pkgs: 100, | ||
| 288 | coordinate: '117.04485100,36.64754900', | ||
| 289 | isOrigin: 'N', | ||
| 290 | vehicleType: '2', | ||
| 291 | timeInterval: '' | ||
| 292 | }, | ||
| 293 | { | ||
| 294 | rowNo: '7', | ||
| 295 | batch: '1', | ||
| 296 | hospital: '山东第一医科大学第一附属医院', | ||
| 297 | address: '山东省济南市历下区经十路16766号', | ||
| 298 | dateTime: '14:05', | ||
| 299 | stopTime: 20, | ||
| 300 | pkgs: 100, | ||
| 301 | coordinate: '117.04244800,36.64765800', | ||
| 302 | isOrigin: 'N', | ||
| 303 | vehicleType: '2', | ||
| 304 | timeInterval: '' | ||
| 305 | }, | ||
| 306 | { | ||
| 307 | rowNo: '8', | ||
| 308 | batch: '1', | ||
| 309 | hospital: '济南长途汽车总站对接点', | ||
| 310 | address: '济南市天桥区济洛路131号', | ||
| 311 | dateTime: '17:25', | ||
| 312 | stopTime: 15, | ||
| 313 | pkgs: 0, | ||
| 314 | coordinate: '116.99360600,36.68543900', | ||
| 315 | isOrigin: 'N', | ||
| 316 | vehicleType: '2', | ||
| 317 | timeInterval: '' | ||
| 318 | }, | ||
| 319 | { | ||
| 320 | rowNo: '2', | ||
| 321 | batch: '1', | ||
| 322 | hospital: '山东省省立医院东院', | ||
| 323 | address: '山东省济南市历下区经十路9677号', | ||
| 324 | dateTime: '09:05', | ||
| 325 | stopTime: 90, | ||
| 326 | pkgs: 100, | ||
| 327 | coordinate: '117.12129000,36.66338600', | ||
| 328 | isOrigin: 'N', | ||
| 329 | vehicleType: '2', | ||
| 330 | timeInterval: '' | ||
| 331 | }, | ||
| 332 | { | ||
| 333 | rowNo: '3', | ||
| 334 | batch: '1', | ||
| 335 | hospital: '山东省省立医院东院(特检)', | ||
| 336 | address: '山东省济南市历下区经十路9667号', | ||
| 337 | dateTime: '10:40', | ||
| 338 | stopTime: 30, | ||
| 339 | pkgs: 100, | ||
| 340 | coordinate: '117.03401900,36.64879400', | ||
| 341 | isOrigin: 'N', | ||
| 342 | vehicleType: '2', | ||
| 343 | timeInterval: '' | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | rowNo: '4', | ||
| 347 | batch: '1', | ||
| 348 | hospital: '新华卓越门诊部(济南)有限公司', | ||
| 349 | address: '济南市历下区龙奥北路8-4号玉兰广场2号楼3层', | ||
| 350 | dateTime: '11:20', | ||
| 351 | stopTime: 10, | ||
| 352 | pkgs: 100, | ||
| 353 | coordinate: '117.12426800,36.65054700', | ||
| 354 | isOrigin: 'N', | ||
| 355 | vehicleType: '2', | ||
| 356 | timeInterval: '' | ||
| 357 | }, | ||
| 358 | { | ||
| 359 | rowNo: '4', | ||
| 360 | batch: '1', | ||
| 361 | hospital: '济南市历下区姚家办事处仁合社区卫生服务站', | ||
| 362 | address: '济南市历下区荆山路438-62号', | ||
| 363 | dateTime: '11:55', | ||
| 364 | stopTime: 15, | ||
| 365 | pkgs: 100, | ||
| 366 | coordinate: '117.07670700,36.64310600', | ||
| 367 | isOrigin: 'N', | ||
| 368 | vehicleType: '2', | ||
| 369 | timeInterval: '' | ||
| 370 | }, | ||
| 371 | { | ||
| 372 | rowNo: '4', | ||
| 373 | batch: '1', | ||
| 374 | hospital: '济南迪安中心办事处', | ||
| 375 | address: '济南市高新区颖秀路2755号', | ||
| 376 | dateTime: '12:40', | ||
| 377 | stopTime: 30, | ||
| 378 | pkgs: 100, | ||
| 379 | coordinate: '117.13394400,36.67904500', | ||
| 380 | isOrigin: 'N', | ||
| 381 | vehicleType: '2', | ||
| 382 | timeInterval: '' | ||
| 383 | }, | ||
| 384 | { | ||
| 385 | rowNo: '4', | ||
| 386 | batch: '1', | ||
| 387 | hospital: '济南云康达安医学检验实验室有限公司', | ||
| 388 | address: '济南市高新区颖秀路2766号迪亚产业园东楼二楼', | ||
| 389 | dateTime: '13:40', | ||
| 390 | stopTime: 10, | ||
| 391 | pkgs: 100, | ||
| 392 | coordinate: '117.13506400,36.67946300', | ||
| 393 | isOrigin: 'N', | ||
| 394 | vehicleType: '2', | ||
| 395 | timeInterval: '' | ||
| 396 | }, | ||
| 397 | { | ||
| 398 | rowNo: '4', | ||
| 399 | batch: '1', | ||
| 400 | hospital: '济南爱新卓尔医学检验有限公司', | ||
| 401 | address: '济南市历下区天辰路1318', | ||
| 402 | dateTime: '13:55', | ||
| 403 | stopTime: 10, | ||
| 404 | pkgs: 100, | ||
| 405 | coordinate: '117.13495300,36.68222100', | ||
| 406 | isOrigin: 'N', | ||
| 407 | vehicleType: '2', | ||
| 408 | timeInterval: '' | ||
| 409 | }, | ||
| 410 | { | ||
| 411 | rowNo: '4', | ||
| 412 | batch: '1', | ||
| 413 | hospital: '济南高新区雅居园社区卫生服务站', | ||
| 414 | address: '济南高新区雅居园小区北门商 用房1期2区1号楼1单元 2201.202.203室', | ||
| 415 | dateTime: '14:15', | ||
| 416 | stopTime: 10, | ||
| 417 | pkgs: 100, | ||
| 418 | coordinate: '117.12526800,36.67245200', | ||
| 419 | isOrigin: 'N', | ||
| 420 | vehicleType: '2', | ||
| 421 | timeInterval: '' | ||
| 422 | }, | ||
| 423 | { | ||
| 424 | rowNo: '4', | ||
| 425 | batch: '1', | ||
| 426 | hospital: '山东省立医院', | ||
| 427 | address: '济南市经五纬七路324号', | ||
| 428 | dateTime: '08:25', | ||
| 429 | stopTime: 210, | ||
| 430 | pkgs: 100, | ||
| 431 | coordinate: '116.98415700,36.65685700', | ||
| 432 | isOrigin: 'N', | ||
| 433 | vehicleType: '2', | ||
| 434 | timeInterval: '' | ||
| 435 | }, | ||
| 436 | { | ||
| 437 | rowNo: '4', | ||
| 438 | batch: '1', | ||
| 439 | hospital: '济南市槐荫区西市场办事处纬十路社区卫生服务站', | ||
| 440 | address: '济南市槐荫区经三纬十一路330号', | ||
| 441 | dateTime: '12:05', | ||
| 442 | stopTime: 10, | ||
| 443 | pkgs: 100, | ||
| 444 | coordinate: '116.97392000,36.65924000', | ||
| 445 | isOrigin: 'N', | ||
| 446 | vehicleType: '2', | ||
| 447 | timeInterval: '' | ||
| 448 | }, | ||
| 449 | { | ||
| 450 | rowNo: '4', | ||
| 451 | batch: '1', | ||
| 452 | hospital: '济南市天桥区纬北经纬嘉园社区卫生服务站', | ||
| 453 | address: '经一路经纬嘉园住宅小区141-31号', | ||
| 454 | dateTime: '16:30', | ||
| 455 | stopTime: 20, | ||
| 456 | pkgs: 100, | ||
| 457 | coordinate: '120.08842500,30.87737500', | ||
| 458 | isOrigin: 'N', | ||
| 459 | vehicleType: '2', | ||
| 460 | timeInterval: '' | ||
| 461 | }, | ||
| 462 | { | ||
| 463 | rowNo: '4', | ||
| 464 | batch: '1', | ||
| 465 | hospital: '济南市槐荫区五里沟公祥街社区卫生服务站', | ||
| 466 | address: '槐荫区纬五路39-7', | ||
| 467 | dateTime: '16:55', | ||
| 468 | stopTime: 15, | ||
| 469 | pkgs: 100, | ||
| 470 | coordinate: '116.98715800,36.66398400', | ||
| 471 | isOrigin: 'N', | ||
| 472 | vehicleType: '2', | ||
| 473 | timeInterval: '' | ||
| 474 | }, | ||
| 475 | { | ||
| 476 | rowNo: '4', | ||
| 477 | batch: '1', | ||
| 478 | hospital: '山东光正眼科医院有限公司', | ||
| 479 | address: '济南市市中区经二路223号', | ||
| 480 | dateTime: '17:15', | ||
| 481 | stopTime: 50, | ||
| 482 | pkgs: 100, | ||
| 483 | coordinate: '116.99099400,36.66410100', | ||
| 484 | isOrigin: 'N', | ||
| 485 | vehicleType: '2', | ||
| 486 | timeInterval: '' | ||
| 487 | }, | ||
| 488 | { | ||
| 489 | rowNo: '4', | ||
| 490 | batch: '1', | ||
| 491 | hospital: '山东光正眼科医院有限公司', | ||
| 492 | address: '济南市市中区经二路223号', | ||
| 493 | dateTime: '17:15', | ||
| 494 | stopTime: 50, | ||
| 495 | pkgs: 100, | ||
| 496 | coordinate: '116.99099400,36.66410100', | ||
| 497 | isOrigin: 'N', | ||
| 498 | vehicleType: '2', | ||
| 499 | timeInterval: '' | ||
| 500 | }, | ||
| 501 | { | ||
| 502 | rowNo: '4', | ||
| 503 | batch: '1', | ||
| 504 | hospital: '山东省康复医院', | ||
| 505 | address: '历城区唐冶新区围子山路3126号', | ||
| 506 | dateTime: '10:40', | ||
| 507 | stopTime: 50, | ||
| 508 | pkgs: 100, | ||
| 509 | coordinate: '117.24190100,36.68823600', | ||
| 510 | isOrigin: 'N', | ||
| 511 | vehicleType: '2', | ||
| 512 | timeInterval: '' | ||
| 513 | }, | ||
| 514 | { | ||
| 515 | rowNo: '4', | ||
| 516 | batch: '1', | ||
| 517 | hospital: '山东水发生命科学研究有限公司', | ||
| 518 | address: '山东省济南市高新区大正路1777号生命科学城13号楼一层', | ||
| 519 | dateTime: '11:50', | ||
| 520 | stopTime: 15, | ||
| 521 | pkgs: 100, | ||
| 522 | coordinate: '117.32744800,36.70332300', | ||
| 523 | isOrigin: 'N', | ||
| 524 | vehicleType: '2', | ||
| 525 | timeInterval: '' | ||
| 526 | }, | ||
| 527 | { | ||
| 528 | rowNo: '4', | ||
| 529 | batch: '1', | ||
| 530 | hospital: '章丘慢性病防治所对接点', | ||
| 531 | address: '济南市章丘区唐王山路1099号', | ||
| 532 | dateTime: '12:40', | ||
| 533 | stopTime: 15, | ||
| 534 | pkgs: 0, | ||
| 535 | coordinate: '117.53489000,36.69297100', | ||
| 536 | isOrigin: 'N', | ||
| 537 | vehicleType: '2', | ||
| 538 | timeInterval: '' | ||
| 539 | }, | ||
| 540 | { | ||
| 541 | rowNo: '4', | ||
| 542 | batch: '1', | ||
| 543 | hospital: '济南万泉生物技术有限公司', | ||
| 544 | address: '济南市高新区港兴三路北段一号济南药谷研发平台区1号楼A座1305', | ||
| 545 | dateTime: '14:05', | ||
| 546 | stopTime: 15, | ||
| 547 | pkgs: 100, | ||
| 548 | coordinate: '117.22268400,36.66921200', | ||
| 549 | isOrigin: 'N', | ||
| 550 | vehicleType: '2', | ||
| 551 | timeInterval: '' | ||
| 552 | }, | ||
| 553 | { | ||
| 554 | rowNo: '4', | ||
| 555 | batch: '1', | ||
| 556 | hospital: '健颐生物(药谷)', | ||
| 557 | address: '济南市历城区港兴三路济南药谷1号楼A座25楼', | ||
| 558 | dateTime: '14:25', | ||
| 559 | stopTime: 15, | ||
| 560 | pkgs: 100, | ||
| 561 | coordinate: '117.22278300,36.66978200', | ||
| 562 | isOrigin: 'N', | ||
| 563 | vehicleType: '2', | ||
| 564 | timeInterval: '' | ||
| 565 | }, | ||
| 566 | { | ||
| 567 | rowNo: '4', | ||
| 568 | batch: '1', | ||
| 569 | hospital: '山东惠然生物科技有限公司', | ||
| 570 | address: '高新区港兴三路北段1号济南市药谷研发平台区2号楼1801房间', | ||
| 571 | dateTime: '14:45', | ||
| 572 | stopTime: 15, | ||
| 573 | pkgs: 100, | ||
| 574 | coordinate: '117.22239900,36.66859400', | ||
| 575 | isOrigin: 'N', | ||
| 576 | vehicleType: '2', | ||
| 577 | timeInterval: '' | ||
| 578 | }, | ||
| 579 | { | ||
| 580 | rowNo: '4', | ||
| 581 | batch: '1', | ||
| 582 | hospital: '山东富优生命科学有限公司', | ||
| 583 | address: '山东富优生命科学有限公司', | ||
| 584 | dateTime: '15:05', | ||
| 585 | stopTime: 15, | ||
| 586 | pkgs: 100, | ||
| 587 | coordinate: '117.22283000,36.67004000', | ||
| 588 | isOrigin: 'N', | ||
| 589 | vehicleType: '2', | ||
| 590 | timeInterval: '' | ||
| 591 | }, | ||
| 592 | { | ||
| 593 | rowNo: '4', | ||
| 594 | batch: '1', | ||
| 595 | hospital: '山东省齐鲁细胞治疗工程技术有限公司', | ||
| 596 | address: '山东省济南市高新区港兴三路1109号', | ||
| 597 | dateTime: '16:05', | ||
| 598 | stopTime: 10, | ||
| 599 | pkgs: 100, | ||
| 600 | coordinate: '117.22257900,36.65528700', | ||
| 601 | isOrigin: 'N', | ||
| 602 | vehicleType: '2', | ||
| 603 | timeInterval: '' | ||
| 604 | }, | ||
| 605 | { | ||
| 606 | rowNo: '4', | ||
| 607 | batch: '1', | ||
| 608 | hospital: '济南高新开发区景琪综合门诊有限公司', | ||
| 609 | address: '高新区舜华路街道街道华奥路77号东鲁凤凰上都6-104', | ||
| 610 | dateTime: '16:35', | ||
| 611 | stopTime: 15, | ||
| 612 | pkgs: 100, | ||
| 613 | coordinate: '117.15647200,36.65323700', | ||
| 614 | isOrigin: 'N', | ||
| 615 | vehicleType: '2', | ||
| 616 | timeInterval: '' | ||
| 617 | }, | ||
| 618 | { | ||
| 619 | rowNo: '4', | ||
| 620 | batch: '1', | ||
| 621 | hospital: '济南市历下区龙洞办事处社区卫生服务中心', | ||
| 622 | address: '历下区龙洞办事处锦屏家园龙锦生活广场10号楼02号铺', | ||
| 623 | dateTime: '17:05', | ||
| 624 | stopTime: 10, | ||
| 625 | pkgs: 100, | ||
| 626 | coordinate: '117.12264500,36.62768600', | ||
| 627 | isOrigin: 'N', | ||
| 628 | vehicleType: '2', | ||
| 629 | timeInterval: '' | ||
| 630 | }, | ||
| 631 | { | ||
| 632 | rowNo: '4', | ||
| 633 | batch: '1', | ||
| 634 | hospital: '济南佰年颐堂中医医院有限公司', | ||
| 635 | address: '山东省济南市历城区工业北路180号院内办公楼2号楼1层', | ||
| 636 | dateTime: '14:55', | ||
| 637 | stopTime: 10, | ||
| 638 | pkgs: 100, | ||
| 639 | coordinate: '117.26118400,36.63685400', | ||
| 640 | isOrigin: 'N', | ||
| 641 | vehicleType: '2', | ||
| 642 | timeInterval: '' | ||
| 643 | }, | ||
| 644 | { | ||
| 645 | rowNo: '4', | ||
| 646 | batch: '1', | ||
| 647 | hospital: '山东元辰生物医药科技集团有限公司', | ||
| 648 | address: '华山街道丑父路135号华山片区安置区二区S3号楼商业区四层', | ||
| 649 | dateTime: '15:20', | ||
| 650 | stopTime: 10, | ||
| 651 | pkgs: 100, | ||
| 652 | coordinate: '117.06162300,36.68773700', | ||
| 653 | isOrigin: 'N', | ||
| 654 | vehicleType: '2', | ||
| 655 | timeInterval: '' | ||
| 656 | }, | ||
| 657 | { | ||
| 658 | rowNo: '4', | ||
| 659 | batch: '1', | ||
| 660 | hospital: '山东大学第二医院(检验科)', | ||
| 661 | address: '山东大学第二医院(检验科)', | ||
| 662 | dateTime: '15:50', | ||
| 663 | stopTime: 30, | ||
| 664 | pkgs: 100, | ||
| 665 | coordinate: '117.04054100,36.69042100', | ||
| 666 | isOrigin: 'N', | ||
| 667 | vehicleType: '2', | ||
| 668 | timeInterval: '' | ||
| 669 | }, | ||
| 670 | { | ||
| 671 | rowNo: '4', | ||
| 672 | batch: '1', | ||
| 673 | hospital: '山东省立第三医院', | ||
| 674 | address: '山东省济南市无影山中路12号', | ||
| 675 | dateTime: '16:40', | ||
| 676 | stopTime: 60, | ||
| 677 | pkgs: 100, | ||
| 678 | coordinate: '116.98967800,36.68406100', | ||
| 679 | isOrigin: 'N', | ||
| 680 | vehicleType: '2', | ||
| 681 | timeInterval: '' | ||
| 682 | }, | ||
| 683 | { | ||
| 684 | rowNo: '4', | ||
| 685 | batch: '1', | ||
| 686 | hospital: '艾迪康', | ||
| 687 | address: '济南市天桥区田家庄东路4号', | ||
| 688 | dateTime: '20:45', | ||
| 689 | stopTime: 5, | ||
| 690 | pkgs: 100, | ||
| 691 | coordinate: '116.97534100,36.69010900', | ||
| 692 | isOrigin: 'N', | ||
| 693 | vehicleType: '2', | ||
| 694 | timeInterval: '' | ||
| 695 | }, | ||
| 696 | { | ||
| 697 | rowNo: '4', | ||
| 698 | batch: '1', | ||
| 699 | hospital: '历城奇鲁诊所', | ||
| 700 | address: '七里堡东路84号4号', | ||
| 701 | dateTime: '10:55', | ||
| 702 | stopTime: 10, | ||
| 703 | pkgs: 100, | ||
| 704 | coordinate: '117.07034900,36.69118200', | ||
| 705 | isOrigin: 'N', | ||
| 706 | vehicleType: '2', | ||
| 707 | timeInterval: '' | ||
| 708 | }, | ||
| 709 | { | ||
| 710 | rowNo: '4', | ||
| 711 | batch: '1', | ||
| 712 | hospital: '山东省立第三医院(新城社区卫生服务中心)', | ||
| 713 | address: '济南市天桥区新黄路2567号', | ||
| 714 | dateTime: '11:25', | ||
| 715 | stopTime: 5, | ||
| 716 | pkgs: 100, | ||
| 717 | coordinate: '117.01213500,36.70852500', | ||
| 718 | isOrigin: 'N', | ||
| 719 | vehicleType: '2', | ||
| 720 | timeInterval: '' | ||
| 721 | }, | ||
| 722 | { | ||
| 723 | rowNo: '4', | ||
| 724 | batch: '1', | ||
| 725 | hospital: '山东省立第三医院(药山站点)', | ||
| 726 | address: '山东省济南市天桥区药山西路南端', | ||
| 727 | dateTime: '11:50', | ||
| 728 | stopTime: 5, | ||
| 729 | pkgs: 100, | ||
| 730 | coordinate: '116.96048900,36.71312700', | ||
| 731 | isOrigin: 'N', | ||
| 732 | vehicleType: '2', | ||
| 733 | timeInterval: '' | ||
| 734 | }, | ||
| 735 | { | ||
| 736 | rowNo: '4', | ||
| 737 | batch: '1', | ||
| 738 | hospital: '山东省立第三医院(济南市天桥人民医院)', | ||
| 739 | address: '济南市天桥区天桥街25号', | ||
| 740 | dateTime: '12:40', | ||
| 741 | stopTime: 15, | ||
| 742 | pkgs: 100, | ||
| 743 | coordinate: '116.96048900,36.71312700', | ||
| 744 | isOrigin: 'N', | ||
| 745 | vehicleType: '2', | ||
| 746 | timeInterval: '' | ||
| 747 | }, | ||
| 748 | { | ||
| 749 | rowNo: '4', | ||
| 750 | batch: '1', | ||
| 751 | hospital: '济南市市中区七里山街道泉景天沅社区卫生服务站', | ||
| 752 | address: '济南市市中区郎茂山路4号101号', | ||
| 753 | dateTime: '13:15', | ||
| 754 | stopTime: 15, | ||
| 755 | pkgs: 100, | ||
| 756 | coordinate: '116.98310000,36.62614400', | ||
| 757 | isOrigin: 'N', | ||
| 758 | vehicleType: '2', | ||
| 759 | timeInterval: '' | ||
| 760 | }, | ||
| 761 | { | ||
| 762 | rowNo: '4', | ||
| 763 | batch: '1', | ||
| 764 | hospital: '山东省南山医院有限责任公司', | ||
| 765 | address: '济南市市中区英雄山路134号', | ||
| 766 | dateTime: '13:40', | ||
| 767 | stopTime: 50, | ||
| 768 | pkgs: 100, | ||
| 769 | coordinate: '116.98310000,36.62614400', | ||
| 770 | isOrigin: 'N', | ||
| 771 | vehicleType: '2', | ||
| 772 | timeInterval: '' | ||
| 773 | }, | ||
| 774 | { | ||
| 775 | rowNo: '4', | ||
| 776 | batch: '1', | ||
| 777 | hospital: '山东省南山医院有限责任公司(艾迪康站点)', | ||
| 778 | address: '济南市市中区英雄山路134号', | ||
| 779 | dateTime: '12:30', | ||
| 780 | stopTime: 5, | ||
| 781 | pkgs: 100, | ||
| 782 | coordinate: '117.00314900,36.62241000', | ||
| 783 | isOrigin: 'N', | ||
| 784 | vehicleType: '2', | ||
| 785 | timeInterval: '' | ||
| 786 | }, | ||
| 787 | { | ||
| 788 | rowNo: '4', | ||
| 789 | batch: '1', | ||
| 790 | hospital: '济南市历下区第二人民医院', | ||
| 791 | address: '济南市历下区东关大街57号', | ||
| 792 | dateTime: '14:55', | ||
| 793 | stopTime: 15, | ||
| 794 | pkgs: 100, | ||
| 795 | coordinate: '117.04394500,36.67837900', | ||
| 796 | isOrigin: 'N', | ||
| 797 | vehicleType: '2', | ||
| 798 | timeInterval: '' | ||
| 799 | }, | ||
| 800 | { | ||
| 801 | rowNo: '4', | ||
| 802 | batch: '1', | ||
| 803 | hospital: '济南三株酵本草医院有限公司', | ||
| 804 | address: '济南市历城区山大北路77-6号', | ||
| 805 | dateTime: '15:20', | ||
| 806 | stopTime: 10, | ||
| 807 | pkgs: 100, | ||
| 808 | coordinate: '117.06090000,36.67966900', | ||
| 809 | isOrigin: 'N', | ||
| 810 | vehicleType: '2', | ||
| 811 | timeInterval: '' | ||
| 812 | }, | ||
| 813 | { | ||
| 814 | rowNo: '4', | ||
| 815 | batch: '1', | ||
| 816 | hospital: '济南市历城区妇幼保健计划生育服务中心(两癌)', | ||
| 817 | address: '济南市历城区洪楼西路45号', | ||
| 818 | dateTime: '15:35', | ||
| 819 | stopTime: 15, | ||
| 820 | pkgs: 100, | ||
| 821 | coordinate: '117.06136300,36.68004900', | ||
| 822 | isOrigin: 'N', | ||
| 823 | vehicleType: '2', | ||
| 824 | timeInterval: '' | ||
| 825 | }, | ||
| 826 | { | ||
| 827 | rowNo: '4', | ||
| 828 | batch: '1', | ||
| 829 | hospital: '历城中医院', | ||
| 830 | address: '济南市历城区洪家楼南路26号', | ||
| 831 | dateTime: '15:55', | ||
| 832 | stopTime: 40, | ||
| 833 | pkgs: 100, | ||
| 834 | coordinate: '117.06652000,36.68147900', | ||
| 835 | isOrigin: 'N', | ||
| 836 | vehicleType: '2', | ||
| 837 | timeInterval: '' | ||
| 838 | }, | ||
| 839 | { | ||
| 840 | rowNo: '4', | ||
| 841 | batch: '1', | ||
| 842 | hospital: '济南远大中医脑康医院有限公司', | ||
| 843 | address: '济南市历城区二环东路3889号', | ||
| 844 | dateTime: '16:40', | ||
| 845 | stopTime: 15, | ||
| 846 | pkgs: 100, | ||
| 847 | coordinate: '117.07276600,36.67283300', | ||
| 848 | isOrigin: 'N', | ||
| 849 | vehicleType: '2', | ||
| 850 | timeInterval: '' | ||
| 851 | }, | ||
| 852 | { | ||
| 853 | rowNo: '4', | ||
| 854 | batch: '1', | ||
| 855 | hospital: '济南伊美尔整形美容医院有限公司', | ||
| 856 | address: '济南市解放路30-1号', | ||
| 857 | dateTime: '17:05', | ||
| 858 | stopTime: 10, | ||
| 859 | pkgs: 100, | ||
| 860 | coordinate: '117.06004900,36.66592800', | ||
| 861 | isOrigin: 'N', | ||
| 862 | vehicleType: '2', | ||
| 863 | timeInterval: '' | ||
| 864 | }, | ||
| 865 | { | ||
| 866 | rowNo: '4', | ||
| 867 | batch: '1', | ||
| 868 | hospital: '济南市中心医院(精准中心)', | ||
| 869 | address: '山东省济南市历城区解放路105号', | ||
| 870 | dateTime: '17:25', | ||
| 871 | stopTime: 10, | ||
| 872 | pkgs: 100, | ||
| 873 | coordinate: '117.06652000,36.68147900', | ||
| 874 | isOrigin: 'N', | ||
| 875 | vehicleType: '2', | ||
| 876 | timeInterval: '' | ||
| 877 | }, | ||
| 878 | { | ||
| 879 | rowNo: '4', | ||
| 880 | batch: '1', | ||
| 881 | hospital: '济南市中心医院(特检)', | ||
| 882 | address: '济南市历下区解放路105号', | ||
| 883 | dateTime: '17:40', | ||
| 884 | stopTime: 20, | ||
| 885 | pkgs: 100, | ||
| 886 | coordinate: '117.04767000,36.66776700', | ||
| 887 | isOrigin: 'N', | ||
| 888 | vehicleType: '2', | ||
| 889 | timeInterval: '' | ||
| 890 | }, | ||
| 891 | { | ||
| 892 | rowNo: '4', | ||
| 893 | batch: '1', | ||
| 894 | hospital: '济南市济阳区人民医院', | ||
| 895 | address: '济阳县纬六路9号', | ||
| 896 | dateTime: '09:10', | ||
| 897 | stopTime: 80, | ||
| 898 | pkgs: 100, | ||
| 899 | coordinate: '116.98330600,36.66371900', | ||
| 900 | isOrigin: 'N', | ||
| 901 | vehicleType: '2', | ||
| 902 | timeInterval: '' | ||
| 903 | }, | ||
| 904 | { | ||
| 905 | rowNo: '4', | ||
| 906 | batch: '1', | ||
| 907 | hospital: '济南市济阳区中医医院(病理)', | ||
| 908 | address: '山东省济南市济阳区纬二路112号', | ||
| 909 | dateTime: '10:40', | ||
| 910 | stopTime: 30, | ||
| 911 | pkgs: 100, | ||
| 912 | coordinate: '117.19134000,36.97515700', | ||
| 913 | isOrigin: 'N', | ||
| 914 | vehicleType: '2', | ||
| 915 | timeInterval: '' | ||
| 916 | }, | ||
| 917 | { | ||
| 918 | rowNo: '4', | ||
| 919 | batch: '1', | ||
| 920 | hospital: '济南市济阳区中医医院', | ||
| 921 | address: '山东省济南市济阳区纬二路112号', | ||
| 922 | dateTime: '11:15', | ||
| 923 | stopTime: 120, | ||
| 924 | pkgs: 100, | ||
| 925 | coordinate: '117.19134000,36.97515700', | ||
| 926 | isOrigin: 'N', | ||
| 927 | vehicleType: '2', | ||
| 928 | timeInterval: '' | ||
| 929 | }, | ||
| 930 | { | ||
| 931 | rowNo: '4', | ||
| 932 | batch: '1', | ||
| 933 | hospital: '济南市济阳区妇幼保健计划生育服务中心', | ||
| 934 | address: '山东省济南市济阳区老城街16号', | ||
| 935 | dateTime: '13:45', | ||
| 936 | stopTime: 30, | ||
| 937 | pkgs: 100, | ||
| 938 | coordinate: '117.21862800,36.97423500', | ||
| 939 | isOrigin: 'N', | ||
| 940 | vehicleType: '2', | ||
| 941 | timeInterval: '' | ||
| 942 | }, | ||
| 943 | { | ||
| 944 | rowNo: '4', | ||
| 945 | batch: '1', | ||
| 946 | hospital: '济南市济阳区妇幼保健院计划生育服务中心(站点)', | ||
| 947 | address: '济阳区济北街道开元大街166号', | ||
| 948 | dateTime: '14:30', | ||
| 949 | stopTime: 10, | ||
| 950 | pkgs: 100, | ||
| 951 | coordinate: '117.17039900,36.97523800', | ||
| 952 | isOrigin: 'N', | ||
| 953 | vehicleType: '2', | ||
| 954 | timeInterval: '' | ||
| 955 | }, | ||
| 956 | { | ||
| 957 | rowNo: '4', | ||
| 958 | batch: '1', | ||
| 959 | hospital: '济阳妇幼对接点', | ||
| 960 | address: '济阳区济北街道开元大街166号', | ||
| 961 | dateTime: '14:40', | ||
| 962 | stopTime: 5, | ||
| 963 | pkgs: 100, | ||
| 964 | coordinate: '117.17039900,36.97523800', | ||
| 965 | isOrigin: 'N', | ||
| 966 | vehicleType: '2', | ||
| 967 | timeInterval: '' | ||
| 968 | }, | ||
| 969 | { | ||
| 970 | rowNo: '4', | ||
| 971 | batch: '1', | ||
| 972 | hospital: '济阳妇儿医院', | ||
| 973 | address: '济南市济 阳区德阳路与兴河街交叉口', | ||
| 974 | dateTime: '15:20', | ||
| 975 | stopTime: 10, | ||
| 976 | pkgs: 100, | ||
| 977 | coordinate: '117.12511900,36.93419300', | ||
| 978 | isOrigin: 'N', | ||
| 979 | vehicleType: '2', | ||
| 980 | timeInterval: '' | ||
| 981 | } | ||
| 982 | ] | ||
| 983 | }, | ||
| 984 | { | ||
| 985 | name: '', | ||
| 986 | plate: '', | ||
| 987 | departure: '', | ||
| 988 | arrival: '', | ||
| 989 | departureDate: '08:00', | ||
| 990 | customerData: [ | ||
| 991 | { | ||
| 992 | rowNo: '1', | ||
| 993 | batch: '1', | ||
| 994 | hospital: '德州交通医院', | ||
| 995 | address: '德城区东风中路389号', | ||
| 996 | dateTime: '09:15', | ||
| 997 | stopTime: 20, | ||
| 998 | pkgs: 2, | ||
| 999 | coordinate: '116.31887300,37.44295900', | ||
| 1000 | isOrigin: 'N', | ||
| 1001 | vehicleType: '2', | ||
| 1002 | timeInterval: '' | ||
| 1003 | }, | ||
| 1004 | { | ||
| 1005 | rowNo: '2', | ||
| 1006 | batch: '1', | ||
| 1007 | hospital: '德州市人民医院', | ||
| 1008 | address: '德州市新湖大街1751号', | ||
| 1009 | dateTime: '09:47', | ||
| 1010 | stopTime: 100, | ||
| 1011 | pkgs: 41, | ||
| 1012 | coordinate: '116.30555600,37.45116400', | ||
| 1013 | isOrigin: 'N', | ||
| 1014 | vehicleType: '2', | ||
| 1015 | timeInterval: '' | ||
| 1016 | }, | ||
| 1017 | { | ||
| 1018 | rowNo: '3', | ||
| 1019 | batch: '1', | ||
| 1020 | hospital: '德州市人民医院(特检)', | ||
| 1021 | address: '德州市新湖大街1751号', | ||
| 1022 | dateTime: '11:32', | ||
| 1023 | stopTime: 15, | ||
| 1024 | pkgs: 1, | ||
| 1025 | coordinate: '116.30555600,37.45116400', | ||
| 1026 | isOrigin: 'N', | ||
| 1027 | vehicleType: '2', | ||
| 1028 | timeInterval: '' | ||
| 1029 | }, | ||
| 1030 | { | ||
| 1031 | rowNo: '4', | ||
| 1032 | batch: '1', | ||
| 1033 | hospital: '德州市立医院对接点', | ||
| 1034 | address: '德州市德城区三八中路1766号', | ||
| 1035 | dateTime: '11:55', | ||
| 1036 | stopTime: 20, | ||
| 1037 | pkgs: 100, | ||
| 1038 | coordinate: '116.29370300,37.45320200', | ||
| 1039 | isOrigin: 'N', | ||
| 1040 | vehicleType: '2', | ||
| 1041 | timeInterval: '' | ||
| 1042 | }, | ||
| 1043 | { | ||
| 1044 | rowNo: '5', | ||
| 1045 | batch: '1', | ||
| 1046 | hospital: '德州市立医院', | ||
| 1047 | address: '山东省德州市德城区三八路1766号', | ||
| 1048 | dateTime: '12:55', | ||
| 1049 | stopTime: 90, | ||
| 1050 | pkgs: 2, | ||
| 1051 | coordinate: '116.29370300,37.45320200', | ||
| 1052 | isOrigin: 'N', | ||
| 1053 | vehicleType: '2', | ||
| 1054 | timeInterval: '' | ||
| 1055 | }, | ||
| 1056 | { | ||
| 1057 | rowNo: '6', | ||
| 1058 | batch: '1', | ||
| 1059 | hospital: '德棉医院', | ||
| 1060 | address: '德州市运河开发区纺织大街522号', | ||
| 1061 | dateTime: '14:37', | ||
| 1062 | stopTime: 20, | ||
| 1063 | pkgs: 100, | ||
| 1064 | coordinate: '116.27572300,37.45761700', | ||
| 1065 | isOrigin: 'N', | ||
| 1066 | vehicleType: '2', | ||
| 1067 | timeInterval: '' | ||
| 1068 | }, | ||
| 1069 | { | ||
| 1070 | rowNo: '7', | ||
| 1071 | batch: '1', | ||
| 1072 | hospital: '德州汽车站对接点', | ||
| 1073 | address: '德州市德城区东风路1667号', | ||
| 1074 | dateTime: '15:12', | ||
| 1075 | stopTime: 15, | ||
| 1076 | pkgs: 100, | ||
| 1077 | coordinate: '116.29082500,37.44405800', | ||
| 1078 | isOrigin: 'N', | ||
| 1079 | vehicleType: '2', | ||
| 1080 | timeInterval: '' | ||
| 1081 | }, | ||
| 1082 | { | ||
| 1083 | rowNo: '8', | ||
| 1084 | batch: '1', | ||
| 1085 | hospital: '武城县妇幼保健计划生育服务中心(两癌)', | ||
| 1086 | address: '山东省德州市武城县振华西街1536号', | ||
| 1087 | dateTime: '09:50', | ||
| 1088 | stopTime: 10, | ||
| 1089 | pkgs: 100, | ||
| 1090 | coordinate: '116.06056800,37.21353300', | ||
| 1091 | isOrigin: 'N', | ||
| 1092 | vehicleType: '1', | ||
| 1093 | timeInterval: '' | ||
| 1094 | }, | ||
| 1095 | { | ||
| 1096 | rowNo: '9', | ||
| 1097 | batch: '1', | ||
| 1098 | hospital: '武城县老城镇仓上村卫生室', | ||
| 1099 | address: '武城县老城镇仓上村', | ||
| 1100 | dateTime: '10:30', | ||
| 1101 | stopTime: 10, | ||
| 1102 | pkgs: 100, | ||
| 1103 | coordinate: '115.94163900,37.11129600', | ||
| 1104 | isOrigin: 'N', | ||
| 1105 | vehicleType: '1', | ||
| 1106 | timeInterval: '' | ||
| 1107 | }, | ||
| 1108 | { | ||
| 1109 | rowNo: '10', | ||
| 1110 | batch: '1', | ||
| 1111 | hospital: '武城县老城镇新运社区卫生室', | ||
| 1112 | address: '武城县老城镇', | ||
| 1113 | dateTime: '10:45', | ||
| 1114 | stopTime: 10, | ||
| 1115 | pkgs: 100, | ||
| 1116 | coordinate: '115.89356900,37.14593200', | ||
| 1117 | isOrigin: 'N', | ||
| 1118 | vehicleType: '1', | ||
| 1119 | timeInterval: '' | ||
| 1120 | }, | ||
| 1121 | { | ||
| 1122 | rowNo: '11', | ||
| 1123 | batch: '1', | ||
| 1124 | hospital: '夏津县中医院', | ||
| 1125 | address: '夏津县经开区北外环路', | ||
| 1126 | dateTime: '11:30', | ||
| 1127 | stopTime: 15, | ||
| 1128 | pkgs: 100, | ||
| 1129 | coordinate: '116.39217300,37.49376100', | ||
| 1130 | isOrigin: 'N', | ||
| 1131 | vehicleType: '1', | ||
| 1132 | timeInterval: '' | ||
| 1133 | }, | ||
| 1134 | { | ||
| 1135 | rowNo: '12', | ||
| 1136 | batch: '1', | ||
| 1137 | hospital: '夏津三鹤血液透析有限公司', | ||
| 1138 | address: '山东省德州市夏津县银城街道西关街142号', | ||
| 1139 | dateTime: '12:25', | ||
| 1140 | stopTime: 15, | ||
| 1141 | pkgs: 100, | ||
| 1142 | coordinate: '116.01219400,36.95977800', | ||
| 1143 | isOrigin: 'N', | ||
| 1144 | vehicleType: '1', | ||
| 1145 | timeInterval: '' | ||
| 1146 | }, | ||
| 1147 | { | ||
| 1148 | rowNo: '13', | ||
| 1149 | batch: '1', | ||
| 1150 | hospital: '夏津慎安血液透析中心有限公司', | ||
| 1151 | address: '山东省德州市夏津县银城街道西关南街132号', | ||
| 1152 | dateTime: '12:45', | ||
| 1153 | stopTime: 10, | ||
| 1154 | pkgs: 100, | ||
| 1155 | coordinate: '115.99462000,36.95193800', | ||
| 1156 | isOrigin: 'N', | ||
| 1157 | vehicleType: '1', | ||
| 1158 | timeInterval: '' | ||
| 1159 | }, | ||
| 1160 | { | ||
| 1161 | rowNo: '14', | ||
| 1162 | batch: '1', | ||
| 1163 | hospital: '临清市老赵庄镇卫生院', | ||
| 1164 | address: '老赵庄镇老赵庄村199号', | ||
| 1165 | dateTime: '13:25', | ||
| 1166 | stopTime: 10, | ||
| 1167 | pkgs: 100, | ||
| 1168 | coordinate: '115.86014600,36.83849000', | ||
| 1169 | isOrigin: 'N', | ||
| 1170 | vehicleType: '1', | ||
| 1171 | timeInterval: '' | ||
| 1172 | }, | ||
| 1173 | { | ||
| 1174 | rowNo: '15', | ||
| 1175 | batch: '1', | ||
| 1176 | hospital: '李娅诊所', | ||
| 1177 | address: '临清市黑庄民族小区', | ||
| 1178 | dateTime: '13:55', | ||
| 1179 | stopTime: 15, | ||
| 1180 | pkgs: 100, | ||
| 1181 | coordinate: '115.73074700,36.84652300', | ||
| 1182 | isOrigin: 'N', | ||
| 1183 | vehicleType: '1', | ||
| 1184 | timeInterval: '' | ||
| 1185 | }, | ||
| 1186 | { | ||
| 1187 | rowNo: '16', | ||
| 1188 | batch: '1', | ||
| 1189 | hospital: '临西县第二人民医院', | ||
| 1190 | address: '河北省邢台市临西县河西镇顺河街7号', | ||
| 1191 | dateTime: '14:25', | ||
| 1192 | stopTime: 10, | ||
| 1193 | pkgs: 100, | ||
| 1194 | coordinate: '115.68843100,36.85466500', | ||
| 1195 | isOrigin: 'N', | ||
| 1196 | vehicleType: '1', | ||
| 1197 | timeInterval: '' | ||
| 1198 | }, | ||
| 1199 | { | ||
| 1200 | rowNo: '17', | ||
| 1201 | batch: '1', | ||
| 1202 | hospital: '聊城市第二人民医院(特检)', | ||
| 1203 | address: '聊城市临清市先锋街道办事处健康街306号', | ||
| 1204 | dateTime: '14:45', | ||
| 1205 | stopTime: 10, | ||
| 1206 | pkgs: 100, | ||
| 1207 | coordinate: '115.70215500,36.85302700', | ||
| 1208 | isOrigin: 'N', | ||
| 1209 | vehicleType: '1', | ||
| 1210 | timeInterval: '' | ||
| 1211 | }, | ||
| 1212 | { | ||
| 1213 | rowNo: '18', | ||
| 1214 | batch: '1', | ||
| 1215 | hospital: '百康诊所', | ||
| 1216 | address: '临清市观澜国际B3西4户', | ||
| 1217 | dateTime: '15:09', | ||
| 1218 | stopTime: 10, | ||
| 1219 | pkgs: 100, | ||
| 1220 | coordinate: '115.71547000,36.81913800', | ||
| 1221 | isOrigin: 'N', | ||
| 1222 | vehicleType: '1', | ||
| 1223 | timeInterval: '' | ||
| 1224 | }, | ||
| 1225 | { | ||
| 1226 | rowNo: '19', | ||
| 1227 | batch: '1', | ||
| 1228 | hospital: '聊城市第二人民医院(新院)', | ||
| 1229 | address: '临清市315省道和新华路交汇处', | ||
| 1230 | dateTime: '15:32', | ||
| 1231 | stopTime: 10, | ||
| 1232 | pkgs: 100, | ||
| 1233 | coordinate: '115.59475300,36.75968600', | ||
| 1234 | isOrigin: 'N', | ||
| 1235 | vehicleType: '1', | ||
| 1236 | timeInterval: '' | ||
| 1237 | }, | ||
| 1238 | { | ||
| 1239 | rowNo: '20', | ||
| 1240 | batch: '1', | ||
| 1241 | hospital: '夏津联络处对接点', | ||
| 1242 | address: '德州市夏津县泉林小区', | ||
| 1243 | dateTime: '15:52', | ||
| 1244 | stopTime: 15, | ||
| 1245 | pkgs: 100, | ||
| 1246 | coordinate: '115.99405300,36.97021100', | ||
| 1247 | isOrigin: 'N', | ||
| 1248 | vehicleType: '1', | ||
| 1249 | timeInterval: '' | ||
| 1250 | } | ||
| 1251 | ] | ||
| 1252 | }, | ||
| 1253 | { | ||
| 1254 | name: '', | ||
| 1255 | plate: '', | ||
| 1256 | departure: '', | ||
| 1257 | arrival: '', | ||
| 1258 | departureDate: '08:00', | ||
| 1259 | customerData: [ | ||
| 1260 | { | ||
| 1261 | rowNo: '1', | ||
| 1262 | batch: '1', | ||
| 1263 | hospital: '聊城市东昌府区侯营镇卫生院', | ||
| 1264 | address: '山东省聊城市东昌府区侯营镇侯营村', | ||
| 1265 | dateTime: '08:35', | ||
| 1266 | stopTime: 10, | ||
| 1267 | pkgs: 100, | ||
| 1268 | coordinate: '115.88725200,36.39946400', | ||
| 1269 | isOrigin: 'N', | ||
| 1270 | vehicleType: '1', | ||
| 1271 | timeInterval: '' | ||
| 1272 | }, | ||
| 1273 | { | ||
| 1274 | rowNo: '2', | ||
| 1275 | batch: '1', | ||
| 1276 | hospital: '聊城市东昌府区和光诊所', | ||
| 1277 | address: '山东省聊城市东昌府区柳园街道陈口路金柱大学城A区30幢s30-113号商铺', | ||
| 1278 | dateTime: '09:12', | ||
| 1279 | stopTime: 10, | ||
| 1280 | pkgs: 100, | ||
| 1281 | coordinate: '116.01666300,36.44393800', | ||
| 1282 | isOrigin: 'N', | ||
| 1283 | vehicleType: '1', | ||
| 1284 | timeInterval: '' | ||
| 1285 | }, | ||
| 1286 | { | ||
| 1287 | rowNo: '3', | ||
| 1288 | batch: '1', | ||
| 1289 | hospital: '聊城市东昌府区韩集镇卫生院', | ||
| 1290 | address: '山东省聊城市东昌府区韩集镇政府', | ||
| 1291 | dateTime: '09:55', | ||
| 1292 | stopTime: 10, | ||
| 1293 | pkgs: 100, | ||
| 1294 | coordinate: '116.18228000,36.40897800', | ||
| 1295 | isOrigin: 'N', | ||
| 1296 | vehicleType: '1', | ||
| 1297 | timeInterval: '' | ||
| 1298 | }, | ||
| 1299 | { | ||
| 1300 | rowNo: '4', | ||
| 1301 | batch: '1', | ||
| 1302 | hospital: '茌平万里行中医诊所', | ||
| 1303 | address: '聊城市茌平县建设路1416号', | ||
| 1304 | dateTime: '10:40', | ||
| 1305 | stopTime: 10, | ||
| 1306 | pkgs: 100, | ||
| 1307 | coordinate: '116.21077700,36.56289800', | ||
| 1308 | isOrigin: 'N', | ||
| 1309 | vehicleType: '1', | ||
| 1310 | timeInterval: '' | ||
| 1311 | }, | ||
| 1312 | { | ||
| 1313 | rowNo: '5', | ||
| 1314 | batch: '1', | ||
| 1315 | hospital: '聊城市茌平区人民医院', | ||
| 1316 | address: '聊城市茌平县文化路99号', | ||
| 1317 | dateTime: '11:00', | ||
| 1318 | stopTime: 15, | ||
| 1319 | pkgs: 100, | ||
| 1320 | coordinate: '116.24962100,36.57960700', | ||
| 1321 | isOrigin: 'N', | ||
| 1322 | vehicleType: '1', | ||
| 1323 | timeInterval: '' | ||
| 1324 | }, | ||
| 1325 | { | ||
| 1326 | rowNo: '6', | ||
| 1327 | batch: '1', | ||
| 1328 | hospital: '聊城市茌平区中医医院', | ||
| 1329 | address: '聊城市茌平区新政西路1163号', | ||
| 1330 | dateTime: '11:22', | ||
| 1331 | stopTime: 30, | ||
| 1332 | pkgs: 100, | ||
| 1333 | coordinate: '116.24271400,36.58568300', | ||
| 1334 | isOrigin: 'N', | ||
| 1335 | vehicleType: '1', | ||
| 1336 | timeInterval: '' | ||
| 1337 | }, | ||
| 1338 | { | ||
| 1339 | rowNo: '7', | ||
| 1340 | batch: '1', | ||
| 1341 | hospital: '茌平县和睦家妇科诊所', | ||
| 1342 | address: '茌平县三产院内', | ||
| 1343 | dateTime: '12:22', | ||
| 1344 | stopTime: 5, | ||
| 1345 | pkgs: 100, | ||
| 1346 | coordinate: '116.23697900,36.58427100', | ||
| 1347 | isOrigin: 'N', | ||
| 1348 | vehicleType: '1', | ||
| 1349 | timeInterval: '' | ||
| 1350 | }, | ||
| 1351 | { | ||
| 1352 | rowNo: '8', | ||
| 1353 | batch: '1', | ||
| 1354 | hospital: '聊城市茌平区温陈街道社区卫生服务中心', | ||
| 1355 | address: '聊城市茌平区温陈街道', | ||
| 1356 | dateTime: '12:47', | ||
| 1357 | stopTime: 5, | ||
| 1358 | pkgs: 100, | ||
| 1359 | coordinate: '116.24984700,36.59027400', | ||
| 1360 | isOrigin: 'N', | ||
| 1361 | vehicleType: '1', | ||
| 1362 | timeInterval: '' | ||
| 1363 | }, | ||
| 1364 | { | ||
| 1365 | rowNo: '9', | ||
| 1366 | batch: '1', | ||
| 1367 | hospital: '聊城市茌平区胡屯镇卫生院', | ||
| 1368 | address: '聊城市茌平区新政西路1163号', | ||
| 1369 | dateTime: '13:12', | ||
| 1370 | stopTime: 10, | ||
| 1371 | pkgs: 100, | ||
| 1372 | coordinate: '116.24271400,36.58568300', | ||
| 1373 | isOrigin: 'N', | ||
| 1374 | vehicleType: '1', | ||
| 1375 | timeInterval: '' | ||
| 1376 | }, | ||
| 1377 | { | ||
| 1378 | rowNo: '10', | ||
| 1379 | batch: '1', | ||
| 1380 | hospital: '高唐县中医院', | ||
| 1381 | address: '高唐县东兴路16号', | ||
| 1382 | dateTime: '13:52', | ||
| 1383 | stopTime: 10, | ||
| 1384 | pkgs: 100, | ||
| 1385 | coordinate: '116.25357800,36.85772200', | ||
| 1386 | isOrigin: 'N', | ||
| 1387 | vehicleType: '1', | ||
| 1388 | timeInterval: '' | ||
| 1389 | }, | ||
| 1390 | { | ||
| 1391 | rowNo: '11', | ||
| 1392 | batch: '1', | ||
| 1393 | hospital: '高唐县人民医院', | ||
| 1394 | address: '山东省高唐县金城西路99号', | ||
| 1395 | dateTime: '14:17', | ||
| 1396 | stopTime: 15, | ||
| 1397 | pkgs: 100, | ||
| 1398 | coordinate: '116.22798600,36.86687600', | ||
| 1399 | isOrigin: 'N', | ||
| 1400 | vehicleType: '1', | ||
| 1401 | timeInterval: '' | ||
| 1402 | }, | ||
| 1403 | { | ||
| 1404 | rowNo: '12', | ||
| 1405 | batch: '1', | ||
| 1406 | hospital: '聊城市茌平区第二人民医院', | ||
| 1407 | address: '茌平县博平镇政府街', | ||
| 1408 | dateTime: '15:04', | ||
| 1409 | stopTime: 15, | ||
| 1410 | pkgs: 100, | ||
| 1411 | coordinate: '116.11760000,36.58789400', | ||
| 1412 | isOrigin: 'N', | ||
| 1413 | vehicleType: '1', | ||
| 1414 | timeInterval: '' | ||
| 1415 | }, | ||
| 1416 | { | ||
| 1417 | rowNo: '13', | ||
| 1418 | batch: '1', | ||
| 1419 | hospital: '聊城市茌平区洪官屯镇卫生院', | ||
| 1420 | address: '聊城市茌平区洪官屯镇政府驻地', | ||
| 1421 | dateTime: '15:47', | ||
| 1422 | stopTime: 15, | ||
| 1423 | pkgs: 100, | ||
| 1424 | coordinate: '116.06041900,36.39670700', | ||
| 1425 | isOrigin: 'N', | ||
| 1426 | vehicleType: '1', | ||
| 1427 | timeInterval: '' | ||
| 1428 | }, | ||
| 1429 | { | ||
| 1430 | rowNo: '14', | ||
| 1431 | batch: '1', | ||
| 1432 | hospital: '聊城汽车总站对接点', | ||
| 1433 | address: '聊城市东昌府区建设路与柳园北路交汇处西北角', | ||
| 1434 | dateTime: '16:22', | ||
| 1435 | stopTime: 8, | ||
| 1436 | pkgs: 100, | ||
| 1437 | coordinate: '115.98847500,36.47286500', | ||
| 1438 | isOrigin: 'N', | ||
| 1439 | vehicleType: '1', | ||
| 1440 | timeInterval: '' | ||
| 1441 | }, | ||
| 1442 | { | ||
| 1443 | rowNo: '15', | ||
| 1444 | batch: '1', | ||
| 1445 | hospital: '聊城市东昌府区妇幼保健院(两癌)', | ||
| 1446 | address: '山东省聊城市东昌府区振兴西路129号', | ||
| 1447 | dateTime: '16:40', | ||
| 1448 | stopTime: 50, | ||
| 1449 | pkgs: 100, | ||
| 1450 | coordinate: '115.95710000,36.46834600', | ||
| 1451 | isOrigin: 'N', | ||
| 1452 | vehicleType: '1', | ||
| 1453 | timeInterval: '' | ||
| 1454 | }, | ||
| 1455 | { | ||
| 1456 | rowNo: '16', | ||
| 1457 | batch: '1', | ||
| 1458 | hospital: '聊城联络处(回)', | ||
| 1459 | address: '山东省聊城市东昌府区', | ||
| 1460 | dateTime: '17:43', | ||
| 1461 | stopTime: 30, | ||
| 1462 | pkgs: 100, | ||
| 1463 | coordinate: '115.98849100,36.43464500', | ||
| 1464 | isOrigin: 'N', | ||
| 1465 | vehicleType: '1', | ||
| 1466 | timeInterval: '' | ||
| 1467 | }, | ||
| 1468 | { | ||
| 1469 | rowNo: '17', | ||
| 1470 | batch: '1', | ||
| 1471 | hospital: '聊城联络处对接点', | ||
| 1472 | address: '山东省聊城市东昌府区', | ||
| 1473 | dateTime: '18:18', | ||
| 1474 | stopTime: 20, | ||
| 1475 | pkgs: 100, | ||
| 1476 | coordinate: '115.98849100,36.43464500', | ||
| 1477 | isOrigin: 'N', | ||
| 1478 | vehicleType: '1', | ||
| 1479 | timeInterval: '' | ||
| 1480 | } | ||
| 1481 | ] | ||
| 1482 | } | ||
| 1483 | ] | ||
| 1484 | } | ||
| 1485 | }, | ||
| 1486 | methods: { | ||
| 1487 | getSessionId() { | ||
| 1488 | this.$store.dispatch('setTarget', JSON.stringify(this.checkeData)) | ||
| 1489 | let params = { | ||
| 1490 | client_id: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 1491 | grant_type: 'client_credentials', | ||
| 1492 | client_secret: 'c6602114c9ba488b877d0d84b0e5e700', | ||
| 1493 | scope: 'read' | ||
| 1494 | } | ||
| 1495 | getSession(params, {}).then(res => { | ||
| 1496 | this.accessToken = res.access_token | ||
| 1497 | // if (Array.isArray(this.targetData)) { | ||
| 1498 | // this.initData([...this.departureData, ...this.targetData]) | ||
| 1499 | // } else { | ||
| 1500 | // location.reload() | ||
| 1501 | // this.initData([...this.departureData, ...this.targetData]) | ||
| 1502 | // } | ||
| 1503 | this.initData([...JSON.parse(this.$store.state.app.depart), ...this.checkeData]) | ||
| 1504 | }) | ||
| 1505 | }, | ||
| 1506 | // 请求数据案例 | ||
| 1507 | initData(list) { | ||
| 1508 | Toast.loading({ | ||
| 1509 | duration: 0 | ||
| 1510 | }) | ||
| 1511 | console.log('123', list) | ||
| 1512 | let arr = _.cloneDeep(list) | ||
| 1513 | const data = { | ||
| 1514 | region: this.city, | ||
| 1515 | plate: '', | ||
| 1516 | departure: '', | ||
| 1517 | arrival: '', | ||
| 1518 | departureDate: '06:30', | ||
| 1519 | customerData: arr | ||
| 1520 | } | ||
| 1521 | const params = { | ||
| 1522 | method: 'GetRouteMatrix_test', | ||
| 1523 | format: 'json', | ||
| 1524 | sessionId: this.accessToken, | ||
| 1525 | sign: '203EF639BA15A6E001B59DB78AB81470B7893CAF', | ||
| 1526 | appKey: 'dd48c515fcde43bea0b5bd0b8f77e119', | ||
| 1527 | v: '1.0' | ||
| 1528 | } | ||
| 1529 | getPlan(data, params) | ||
| 1530 | .then(res => { | ||
| 1531 | Toast.clear() | ||
| 1532 | let newArr = JSON.parse(res).returnModel | ||
| 1533 | console.log('返回的数据', newArr) | ||
| 1534 | newArr.forEach(item => { | ||
| 1535 | item.data.forEach((e, index) => { | ||
| 1536 | e.distance = e.distance.toFixed(2) | ||
| 1537 | e.hospital = e.returnName | ||
| 1538 | e.status = '未去' | ||
| 1539 | e.coordinate = e.destination | ||
| 1540 | e.isOrigin = 'N' | ||
| 1541 | if (index == item.data.length - 1) { | ||
| 1542 | e.pkgs = 0 | ||
| 1543 | } else { | ||
| 1544 | e.pkgs = 100 | ||
| 1545 | } | ||
| 1546 | // e.distance.toFixed(2) | ||
| 1547 | }) | ||
| 1548 | item.data.pop() | ||
| 1549 | }) | ||
| 1550 | this.resultData = newArr | ||
| 1551 | console.log('aaaaa', this.resultData) | ||
| 1552 | |||
| 1553 | let arrs = this.resultData | ||
| 1554 | arrs.forEach((item, index) => { | ||
| 1555 | item.rowNo = index + 1 | ||
| 1556 | }) | ||
| 1557 | this.$store.dispatch('setOrder', JSON.stringify(newArr)) | ||
| 1558 | this.$router.push({ path: '/result' }) | ||
| 1559 | }) | ||
| 1560 | .catch(() => {}) | ||
| 1561 | }, | ||
| 1562 | getDate() { | ||
| 1563 | this.date = new Date() | ||
| 1564 | }, | ||
| 1565 | // 即时规划 | ||
| 1566 | instantPlanning() { | ||
| 1567 | if (!this.checkeData.length) { | ||
| 1568 | Toast('请至少选择一条数据') | ||
| 1569 | return | ||
| 1570 | } | ||
| 1571 | this.$store.dispatch('setTarget', JSON.stringify(this.checkeData)) | ||
| 1572 | this.$router.push({ path: '/about1' }) | ||
| 1573 | }, | ||
| 1574 | nextStep() { | ||
| 1575 | if (!this.checkeData.length) { | ||
| 1576 | Toast('请至少选择一条数据') | ||
| 1577 | return | ||
| 1578 | } | ||
| 1579 | this.getSessionId() | ||
| 1580 | }, | ||
| 1581 | // 下一个 | ||
| 1582 | nextOrder() { | ||
| 1583 | console.log(this.orginData) | ||
| 1584 | if (this.index == this.orginData.length - 1) { | ||
| 1585 | Toast.fail('已经是最后一条') | ||
| 1586 | return | ||
| 1587 | } | ||
| 1588 | this.index++ | ||
| 1589 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 1590 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 1591 | if (this.index == 4) { | ||
| 1592 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 1593 | } | ||
| 1594 | this.currentData.customerData.shift() | ||
| 1595 | this.currentData.batch = '第一批' | ||
| 1596 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 1597 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 1598 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1599 | this.$forceUpdate() | ||
| 1600 | }, | ||
| 1601 | // 上一个 | ||
| 1602 | lastOrder() { | ||
| 1603 | console.log(this.orginData) | ||
| 1604 | if (this.index == 0) { | ||
| 1605 | Toast.fail('已经是第一条') | ||
| 1606 | return | ||
| 1607 | } | ||
| 1608 | this.index-- | ||
| 1609 | this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 1610 | this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 1611 | if (this.index == 4) { | ||
| 1612 | this.currentData.customerData = this.currentData.customerData.filter(item => item.batch == 1) | ||
| 1613 | } | ||
| 1614 | this.currentData.customerData.shift() | ||
| 1615 | this.currentData.batch = '第一批' | ||
| 1616 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 1617 | // this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 1618 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1619 | this.$forceUpdate() | ||
| 1620 | }, | ||
| 1621 | // 下一批 | ||
| 1622 | nextCargo() { | ||
| 1623 | console.log(this.orginData[this.index].customerData) | ||
| 1624 | if (this.index == 4) { | ||
| 1625 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 2) | ||
| 1626 | this.currentData.departure = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 1627 | this.currentData.departureDate = this.cloneData.customerData.findLast(element => element.batch == '1').dateTime | ||
| 1628 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1629 | this.currentData.batch = '第二批' | ||
| 1630 | } | ||
| 1631 | console.log(this.currentData.customerData) | ||
| 1632 | }, | ||
| 1633 | // 上一批 | ||
| 1634 | lastCargo() { | ||
| 1635 | if (this.index == 4) { | ||
| 1636 | this.currentData.customerData = this.cloneData.customerData.filter(item => item.batch == 1) | ||
| 1637 | this.currentData.arrival = this.cloneData.customerData.findLast(element => element.batch == '1').hospital | ||
| 1638 | this.currentData.departureDate = this.cloneData.customerData[0].dateTime | ||
| 1639 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1640 | this.currentData.batch = '第一批' | ||
| 1641 | } | ||
| 1642 | } | ||
| 1643 | }, | ||
| 1644 | watch: { | ||
| 1645 | city: { | ||
| 1646 | handler: function (val) { | ||
| 1647 | switch (val) { | ||
| 1648 | case '济南': | ||
| 1649 | this.$store.dispatch('setCity', val) | ||
| 1650 | this.currentData = this.TargetList[0]?.customerData | ||
| 1651 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1652 | break | ||
| 1653 | case '德州': | ||
| 1654 | this.$store.dispatch('setCity', val) | ||
| 1655 | this.currentData = this.TargetList[1]?.customerData | ||
| 1656 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1657 | break | ||
| 1658 | case '聊城': | ||
| 1659 | this.$store.dispatch('setCity', val) | ||
| 1660 | this.currentData = this.TargetList[2]?.customerData | ||
| 1661 | this.currentData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1662 | break | ||
| 1663 | } | ||
| 1664 | }, | ||
| 1665 | deep: true, | ||
| 1666 | immediate: true | ||
| 1667 | } | ||
| 1668 | }, | ||
| 1669 | created() { | ||
| 1670 | this.$bus.$on('selecte', e => (this.checkeData = e)) | ||
| 1671 | this.city = this.$store.state.app.city | ||
| 1672 | this.departureData = this.$route.query.departureData | ||
| 1673 | // this.orginData.forEach(item => item.customerData.forEach(item1 => (item1.status = '未去'))) | ||
| 1674 | // this.cloneData = _.cloneDeep(this.orginData[this.index]) | ||
| 1675 | // this.currentData = _.cloneDeep(this.orginData[this.index]) | ||
| 1676 | // this.currentData.batch = '第一批' | ||
| 1677 | // this.currentData.customerData.shift() | ||
| 1678 | // console.log('cloneData', this.cloneData) | ||
| 1679 | // this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
| 1680 | // console.log(this.currentData.customerData) | ||
| 1681 | // this.getDate() | ||
| 1682 | }, | ||
| 1683 | destroyed() { | ||
| 1684 | // 取消对bus事件的监听 | ||
| 1685 | // this.$bus.$off('selecte') | ||
| 1686 | } | ||
| 1687 | } | ||
| 1688 | </script> | ||
| 1689 | |||
| 1690 | <style lang="scss" scoped> | ||
| 1691 | .title { | ||
| 1692 | padding: 10px; | ||
| 1693 | } | ||
| 1694 | |||
| 1695 | .header-text { | ||
| 1696 | font-size: 36px; | ||
| 1697 | font-weight: 800; | ||
| 1698 | } | ||
| 1699 | |||
| 1700 | .table-box { | ||
| 1701 | margin: 12px 0px; | ||
| 1702 | |||
| 1703 | .th-row { | ||
| 1704 | height: 56px; | ||
| 1705 | line-height: 56px; | ||
| 1706 | background: #ebf1f7; | ||
| 1707 | padding: 0px 12px; | ||
| 1708 | font-size: 36px; | ||
| 1709 | } | ||
| 1710 | |||
| 1711 | .tb-row { | ||
| 1712 | font-size: 48px; | ||
| 1713 | height: 56px; | ||
| 1714 | line-height: 56px; | ||
| 1715 | padding: 0px 12px; | ||
| 1716 | } | ||
| 1717 | } | ||
| 1718 | |||
| 1719 | .fixed-bottom-right { | ||
| 1720 | // position: absolute; | ||
| 1721 | margin-top: 80px; | ||
| 1722 | bottom: 20px; | ||
| 1723 | right: 0px; | ||
| 1724 | width: 100%; | ||
| 1725 | } | ||
| 1726 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | <van-nav-bar left-text="返回" left-arrow @click-left="onClickLeft" @click-right="onClickRight" /> | ||
| 3 | <div class="layout-content"> | 4 | <div class="layout-content"> |
| 4 | <keep-alive v-if="$route.meta.keepAlive"> | 5 | <keep-alive v-if="$route.meta.keepAlive"> |
| 5 | <router-view></router-view> | 6 | <router-view></router-view> |
| 6 | </keep-alive> | 7 | </keep-alive> |
| 7 | <router-view v-else></router-view> | 8 | <router-view v-else></router-view> |
| 8 | </div> | 9 | </div> |
| 9 | <div class="layout-footer"> | 10 | <!-- <div class="layout-footer"> |
| 10 | <TabBar :data="tabbars" @change="handleChange" /> | 11 | <TabBar :data="tabbars" @change="handleChange" /> |
| 11 | </div> | 12 | </div> --> |
| 12 | </div> | 13 | </div> |
| 13 | </template> | 14 | </template> |
| 14 | 15 | ||
| ... | @@ -42,7 +43,13 @@ export default { | ... | @@ -42,7 +43,13 @@ export default { |
| 42 | methods: { | 43 | methods: { |
| 43 | handleChange(v) { | 44 | handleChange(v) { |
| 44 | console.log('tab value:', v) | 45 | console.log('tab value:', v) |
| 45 | } | 46 | }, |
| 47 | onClickLeft() { | ||
| 48 | this.$router.go(-1) | ||
| 49 | }, | ||
| 50 | onClickRight() { | ||
| 51 | Toast('按钮'); | ||
| 52 | }, | ||
| 46 | } | 53 | } |
| 47 | } | 54 | } |
| 48 | </script> | 55 | </script> | ... | ... |
| ... | @@ -53,18 +53,29 @@ module.exports = defineConfig({ | ... | @@ -53,18 +53,29 @@ module.exports = defineConfig({ |
| 53 | warnings: false, | 53 | warnings: false, |
| 54 | errors: true | 54 | errors: true |
| 55 | } | 55 | } |
| 56 | }, | ||
| 57 | headers: { | ||
| 58 | 'Access-Control-Allow-Origin': '*' | ||
| 59 | }, | ||
| 60 | proxy: { | ||
| 61 | //配置跨域 | ||
| 62 | '/session': { | ||
| 63 | target: 'http://117.78.47.109:8180', | ||
| 64 | // ws:true, | ||
| 65 | changOrigin: true, | ||
| 66 | pathRewrite: { | ||
| 67 | '^/session': '' | ||
| 68 | } | ||
| 69 | }, | ||
| 70 | '/apis': { | ||
| 71 | target: 'http://117.78.47.109:9081', | ||
| 72 | // ws:true, | ||
| 73 | changOrigin: true, | ||
| 74 | pathRewrite: { | ||
| 75 | '^/apis': '' | ||
| 76 | } | ||
| 77 | } | ||
| 56 | } | 78 | } |
| 57 | // proxy: { | ||
| 58 | // //配置跨域 | ||
| 59 | // '/api': { | ||
| 60 | // target: "https://test.xxx.com", | ||
| 61 | // // ws:true, | ||
| 62 | // changOrigin:true, | ||
| 63 | // pathRewrite:{ | ||
| 64 | // '^/api':'/' | ||
| 65 | // } | ||
| 66 | // } | ||
| 67 | // } | ||
| 68 | }, | 79 | }, |
| 69 | css: { | 80 | css: { |
| 70 | extract: IS_PROD, // 是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。 | 81 | extract: IS_PROD, // 是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。 | ... | ... |
This diff could not be displayed because it is too large.
-
Please register or sign in to post a comment