提交
Showing
27 changed files
with
7683 additions
and
173 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 | </div> | 10 | <van-col span="8"> |
11 | <div class="item">项目作者: sunnie</div> | 11 | <div class="header-text">出发地:{{ currentData.departure }}</div> |
12 | <div class="item"></div> | 12 | </van-col> |
13 | <div class="wechat"> | 13 | <van-col span="8"> |
14 | <img :src="this.wechat" alt="" /> | 14 | <div class="header-text">目的地:{{ currentData.arrival }}</div> |
15 | </div> | 15 | </van-col> |
16 | <div class="item">关注公众号:回复“加群”即可加 前端仙女群</div> | 16 | <van-col span="8"> |
17 | <div class="item"> | 17 | <div class="header-text" style="display: flex"> |
18 | {{ userName }} | 18 | 出发时间:<van-field v-model="currentData.departureDate" size="small" placeholder="请输入时间" /> |
19 | <van-button v-if="userName == ''" type="warning" size="small" @click="doDispatch">快点我~</van-button> | 19 | </div> |
20 | </div> | 20 | </van-col> |
21 | </van-row> | ||
22 | </div> | ||
23 | <div> | ||
24 | <Table-vant :option="option1" :tableData="filterTable" v-if="filterTable.length > 0"></Table-vant> | ||
25 | <div style="width: 100%; overflow-x: auto"> | ||
26 | <Table-vant :option="option" :tableData="dataList" width="790px"></Table-vant> | ||
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) { |
57 | } | 615 | return |
58 | } | 616 | } |
59 | } | 617 | return Math.round(Math.random() * (arr.length - 1)) |
60 | </script> | 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`, '未去') | ||
628 | } | ||
629 | var num = this.getRadom(newArr) || 1 | ||
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(':') | ||
674 | |||
675 | // var hour1 = parseInt(time1[0]) | ||
676 | // var hour2 = parseInt(time2[0]) | ||
61 | 677 | ||
62 | <style lang="scss"> | 678 | // var minute1 = parseInt(time1[1]) |
63 | .about-container { | 679 | // var minute2 = parseInt(time2[1]) |
64 | /* 你的命名空间 */ | 680 | |
65 | background: #fff; | 681 | // if (hour1 < hour2) { |
66 | height: 100vh; | 682 | // return -1 |
67 | box-sizing: border-box; | 683 | // } else if (hour1 > hour2) { |
68 | .warpper { | 684 | // return 1 |
69 | padding: 50px 12px 12px 12px; | 685 | // } else { |
70 | .list { | 686 | // if (minute1 < minute2) { |
71 | display: flex; | 687 | // return -1 |
72 | flex-direction: column; | 688 | // } else if (minute1 > minute2) { |
73 | align-items: center; | 689 | // return 1 |
74 | color: #666; | 690 | // } else { |
75 | font-size: 14px; | 691 | // return 0 |
76 | .demo-home__title { | 692 | // } |
77 | margin: 0 0 6px; | 693 | // } |
78 | font-size: 32px; | 694 | // }) |
79 | .demo-home__title img, | 695 | let arr = [...this.filterTable, ...this.dataList] |
80 | .demo-home__title span { | 696 | arr.forEach((item, index) => { |
81 | display: inline-block; | 697 | item.rowNo = index + 1 |
82 | vertical-align: middle; | 698 | // this.filterTable[index].rowNo = index |
699 | // this.dataList[index].rowNo = index | ||
700 | }) | ||
701 | }, | ||
702 | // 模拟插单2 | ||
703 | insertSheet2() { | ||
704 | let num = this.getRadom(this.dataList) | ||
705 | this.deleteData = [this.dataList[num]] | ||
706 | console.log(this.deleteData) | ||
707 | this.dataList.splice(num, 1) | ||
708 | this.judgePerson(2) | ||
709 | let arr = [...this.filterTable, ...this.dataList] | ||
710 | console.log(arr) | ||
711 | arr.forEach((item, index) => { | ||
712 | item.rowNo = index + 1 | ||
713 | // this.filterTable[index].rowNo = index | ||
714 | // this.dataList[index].rowNo = index | ||
715 | }) | ||
716 | }, | ||
717 | judgePerson(type) { | ||
718 | // this.dataList.splice(this.getRadom(this.dataList), 0,) | ||
719 | // array.splice(array.length,0,6,8,9);//第二个参数为0的时候,是可以添加参数的,1的时候是删除 | ||
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 | }) | ||
83 | } | 749 | } |
84 | } | 750 | } else if (this.currentData.name == '路飞') { |
85 | .item { | 751 | if (type == 1) { |
86 | font-size: 14px; | 752 | this.dataList.splice(this.getRadom(this.dataList), 0, { |
87 | line-height: 34px; | 753 | rowNo: [...this.dataList, ...this.filterTable].length + 1, |
88 | a { | 754 | hospital: '德州市立医院', |
89 | text-decoration: underline; | 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 | }) | ||
90 | } | 779 | } |
91 | .van-button { | 780 | } else if (this.currentData.name == '王东') { |
92 | /* vant-ui 元素*/ | 781 | if (type == 1) { |
93 | background: #ff5500; | 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 | }) | ||
94 | } | 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 | }) | ||
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 | }) | ||
865 | } | ||
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 != '已去')] | ||
95 | } | 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 | ||
96 | 886 | ||
97 | .logo { | 887 | // 途经点 |
98 | width: 120px; | 888 | // 116.402796,39.936915 |
99 | height: 120px; | 889 | // pointOfPassage: `${this.dataList.map(item => item.coordinate).join('|')},midwaypoint` |
100 | background: url($cdn + '/weapp/logo.png') center / contain no-repeat; | ||
101 | } | 890 | } |
102 | .wechat { | 891 | // console.log(obj) |
103 | width: 200px; | 892 | let url = '' |
104 | height: 200px; | 893 | arr.forEach((item, index) => { |
105 | img { | 894 | if (index > 0 && index < arr.length - 1) { |
106 | width: 100%; | 895 | url += |
107 | height: auto; | 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]` | ||
108 | } | 902 | } |
109 | } | 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` | ||
110 | } | 932 | } |
111 | } | 933 | } |
112 | } | 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%; | ||
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' |
15 | 36 | import { Toast } from 'vant' | |
16 | let list = ref([ | 37 | import _ from 'lodash' |
17 | 'Vue-cli4', | 38 | export default { |
18 | '配置多环境变量', | 39 | components: { TableVant }, |
19 | 'VantUI 组件按需加载', | 40 | data() { |
20 | 'Sass 全局样式', | 41 | return { |
21 | 'Webpack 4', | 42 | index: 0, |
22 | 'Vuex 状态管理', | 43 | date: '', |
23 | 'Axios 封装及接口管理', | 44 | cloneData: {}, |
24 | 'Vue-router', | 45 | currentData: { |
25 | 'Webpack 4 vue.config.js 基础配置', | 46 | name: '', |
26 | '配置 proxy 跨域', | 47 | plate: '', |
27 | '配置 alias 别名', | 48 | batch: '第一批', |
28 | '配置 打包分析', | 49 | departure: '', |
29 | '配置 externals 引入 cdn 资源', | 50 | arrival: '', |
30 | '去掉 console.log', | 51 | departureDate: '', |
31 | 'splitChunks 单独打包第三方模块', | 52 | customerData: [] |
32 | '添加 IE 兼容', | 53 | }, |
33 | 'Eslint+Pettier 统一开发规范' | 54 | option: { |
34 | ]) | 55 | column: [ |
35 | </script> | 56 | { |
36 | 57 | label: '序号', | |
37 | <style lang="scss" scoped> | 58 | tableDataprop: 'rowNo', |
38 | .index-container { | 59 | width: '50px' |
39 | .warpper { | 60 | }, |
40 | padding: 24px; | 61 | { |
41 | background: #fff; | 62 | label: '途经', |
42 | .demo-home__title { | 63 | tableDataprop: 'hospital', |
43 | display: flex; | 64 | width: '230px' |
44 | align-items: center; | 65 | }, |
45 | justify-content: center; | 66 | { |
46 | margin: 0 0 6px; | 67 | label: '取样数', |
47 | font-size: 56px; | 68 | tableDataprop: 'pkgs', |
48 | .demo-home__title img, | 69 | width: '50px', |
49 | .demo-home__title span { | 70 | align: 'right' |
50 | display: inline-block; | 71 | }, |
51 | vertical-align: middle; | 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)) | ||
52 | } | 753 | } |
53 | img { | 754 | this.$router.push({ path: '/about' }) |
54 | width: 64px; | 755 | }, |
756 | // 下一个 | ||
757 | nextOrder() { | ||
758 | console.log(this.orginData) | ||
759 | if (this.index == this.orginData.length - 1) { | ||
760 | Toast.fail('已经是最后一条') | ||
761 | return | ||
55 | } | 762 | } |
56 | span { | 763 | this.index++ |
57 | margin-left: 16px; | 764 | this.cloneData = _.cloneDeep(this.orginData[this.index]) |
58 | font-weight: 500; | 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 = '第一批' | ||
59 | } | 816 | } |
60 | } | 817 | } |
61 | .demo-home__desc { | 818 | }, |
62 | text-align: center; | 819 | created() { |
63 | margin: 0 0 20px; | 820 | this.orginData.forEach(item => item.customerData.forEach(item1 => (item1.status = '未去'))) |
64 | color: rgba(69, 90, 100, 0.6); | 821 | this.cloneData = _.cloneDeep(this.orginData[this.index]) |
65 | font-size: 28px; | 822 | this.currentData = _.cloneDeep(this.orginData[this.index]) |
66 | } | 823 | this.currentData.batch = '第一批' |
824 | this.currentData.customerData.shift() | ||
825 | console.log('cloneData', this.cloneData) | ||
826 | |||
827 | this.currentData.customerData.forEach((item, index) => (item.rowNo = index + 1)) | ||
828 | console.log(this.currentData.customerData) | ||
829 | this.getDate() | ||
830 | } | ||
831 | } | ||
832 | </script> | ||
833 | |||
834 | <style lang="scss" scoped> | ||
835 | .title { | ||
836 | padding: 10px; | ||
837 | } | ||
838 | |||
839 | .header-text { | ||
840 | font-size: 24px; | ||
841 | font-weight: 800; | ||
842 | } | ||
843 | |||
844 | .table-box { | ||
845 | margin: 12px 0px; | ||
846 | |||
847 | .th-row { | ||
848 | height: 56px; | ||
849 | line-height: 56px; | ||
850 | background: #ebf1f7; | ||
851 | padding: 0px 12px; | ||
852 | font-size: 36px; | ||
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