调度APP 1-6功能
This commit is contained in:
parent
7c6c40dd52
commit
25dbbe17b2
@ -2,7 +2,7 @@
|
||||
"version" : "1.0",
|
||||
"configurations" : [
|
||||
{
|
||||
"playground" : "custom",
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-android"
|
||||
},
|
||||
{
|
||||
|
||||
@ -52,11 +52,12 @@
|
||||
<text class="infoValue">{{ orderData.source || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">故障车经办人:</text>
|
||||
<!-- <text class="infoLabel">故障车经办人:</text> -->
|
||||
<text class="infoLabel">客户:</text>
|
||||
<text class="infoValue">{{ orderData.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">经办人电话:</text>
|
||||
<text class="infoLabel">客户电话:</text>
|
||||
<text class="infoValue">{{ orderData.connectionPhone || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
@ -87,7 +88,8 @@
|
||||
<text class="infoValue">{{ orderData.licenseNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">故障车经办人:</text>
|
||||
<!-- <text class="infoLabel">故障车经办人:</text> -->
|
||||
<text class="infoLabel">客户:</text>
|
||||
<text class="infoValue">{{ orderData.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
|
||||
@ -26,6 +26,63 @@
|
||||
@click.stop="editOrder">编辑工单</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="orderInfoContainer" v-if="isExpanded === false && activeTab === -1">
|
||||
<!-- <view class="orderInfoContainer" v-if="!isExpanded"> -->
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">开始时间:</text>
|
||||
<text class="infoValue">{{ formatTimestamp(orderData.rescueStartTime) || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">完成时间:</text>
|
||||
<text class="infoValue">{{ formatTimestamp(orderData.rescueEndTime) || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">调度:</text>
|
||||
<text class="infoValue">{{ orderData.secondDispatchName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">司机:</text>
|
||||
<text class="infoValue">{{ orderData.driverName || '暂无数据' }}</text>
|
||||
</view>
|
||||
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援车辆:</text>
|
||||
<text class="infoValue">{{ orderData.driverCarNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">渠道:</text>
|
||||
<text class="infoValue">{{ orderData.channel || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">来源:</text>
|
||||
<text class="infoValue">{{ orderData.source || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援类型:</text>
|
||||
<text class="infoValue">{{ orderData.rescueTypeStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户姓名:</text>
|
||||
<text class="infoValue">{{ orderData.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户电话:</text>
|
||||
<text class="infoValue">{{ orderData.connectionPhone || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户车牌号:</text>
|
||||
<text class="infoValue">{{ orderData.licenseNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援状态:</text>
|
||||
<text class="infoValue">{{ orderData.rescueStatusStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">财务状态:</text>
|
||||
<text class="infoValue">{{ orderData.orderStatusStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="orderInfoContainer" v-if="activeTab === 0 || isExpanded">
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel" style="color: black; font-weight: bold; font-size: 32rpx;">司机信息</text>
|
||||
@ -76,11 +133,13 @@
|
||||
<text class="infoValue">{{ orderData.source || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">故障车经办人:</text>
|
||||
<!-- <text class="infoLabel">故障车经办人:</text> -->
|
||||
<text class="infoLabel">客户:</text>
|
||||
<text class="infoValue">{{ orderData.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">经办人电话:</text>
|
||||
<!-- <text class="infoLabel">经办人电话:</text> -->
|
||||
<text class="infoLabel">客户电话:</text>
|
||||
<text class="infoValue">{{ orderData.connectionPhone || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
@ -114,7 +173,8 @@
|
||||
<text class="infoValue">{{ orderData.licenseNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">故障车经办人:</text>
|
||||
<!-- <text class="infoLabel">故障车经办人:</text> -->
|
||||
<text class="infoLabel">客户:</text>
|
||||
<text class="infoValue">{{ orderData.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
@ -615,6 +675,9 @@
|
||||
},
|
||||
toggleExpand() {
|
||||
this.isExpanded = !this.isExpanded;
|
||||
if (!this.isExpanded) {
|
||||
this.$emit('update:activeTab', -1);
|
||||
}
|
||||
},
|
||||
|
||||
onPinpaiConfirm(e) {
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
// 应用全局配置
|
||||
module.exports = {
|
||||
// baseUrl: 'https://www.nuoyunr.com/admin-api',
|
||||
baseUrl: 'http://192.168.1.8:48080/admin-api',
|
||||
// baseUrl: 'http://192.168.1.8:48080/admin-api',
|
||||
baseUrl: 'http://localhost:48080/admin-api',
|
||||
imagesUrl: 'http://shequ.0315e.com/static/images/pages/',
|
||||
baseImageUrl: 'https://www.nuoyunr.com/minio',
|
||||
baseImageUrlNew: 'https://www.nuoyunr.com/minio/',
|
||||
@ -28,4 +29,4 @@ module.exports = {
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
"versionName" : "1.0.0",
|
||||
"versionCode" : "100",
|
||||
"transformPx" : false,
|
||||
"sassImplementationName": "node-sass",
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
"usingComponents" : true,
|
||||
|
||||
484
package-lock.json
generated
484
package-lock.json
generated
@ -1,6 +1,472 @@
|
||||
{
|
||||
"name": "lanan-app",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"uview-ui": "^2.0.36",
|
||||
"weapp-qrcode": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"sass": "^1.69.5",
|
||||
"sass-loader": "^10.4.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.15",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-keywords": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"ajv": "^6.9.1"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
||||
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
|
||||
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fill-range": "^7.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"anymatch": "~3.1.2",
|
||||
"braces": "~3.0.2",
|
||||
"glob-parent": "~5.1.2",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.10.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/emojis-list": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
|
||||
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/immutable": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
|
||||
"integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-extglob": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-glob": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-extglob": "^2.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-number": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/klona": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
|
||||
"integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/loader-utils": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
|
||||
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/neo-async": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/punycode": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"picomatch": "^2.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.69.5",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz",
|
||||
"integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chokidar": ">=3.0.0 <4.0.0",
|
||||
"immutable": "^4.0.0",
|
||||
"source-map-js": ">=0.6.2 <2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"sass": "sass.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sass-loader": {
|
||||
"version": "10.4.1",
|
||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.4.1.tgz",
|
||||
"integrity": "sha512-aX/iJZTTpNUNx/OSYzo2KsjIUQHqvWsAhhUijFjAPdZTEhstjZI9zTNvkTTwsx+uNUJqUwOw5gacxQMx4hJxGQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"klona": "^2.0.4",
|
||||
"loader-utils": "^2.0.0",
|
||||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"semver": "^7.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"fibers": ">= 3.1.0",
|
||||
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||
"sass": "^1.3.0",
|
||||
"webpack": "^4.36.0 || ^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"fibers": {
|
||||
"optional": true
|
||||
},
|
||||
"node-sass": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
|
||||
"integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.8",
|
||||
"ajv": "^6.12.5",
|
||||
"ajv-keywords": "^3.5.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.5.4",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
|
||||
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-number": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uri-js": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/uview-ui": {
|
||||
"version": "2.0.36",
|
||||
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz",
|
||||
"integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/weapp-qrcode": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/weapp-qrcode/-/weapp-qrcode-1.0.0.tgz",
|
||||
"integrity": "sha512-4sa3W0rGDVJ9QaeZpAKlAuUxVyjhDwiUqHyGK/jJMsRMXnhb4yO8qWU/pZruMo+iT5J6CraS67lDMFb1VY+RaA==",
|
||||
"dependencies": {
|
||||
"extend": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/json-schema": {
|
||||
"version": "7.0.15",
|
||||
@ -24,7 +490,8 @@
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.3",
|
||||
@ -79,6 +546,11 @@
|
||||
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
@ -296,6 +768,14 @@
|
||||
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz",
|
||||
"integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA=="
|
||||
},
|
||||
"weapp-qrcode": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/weapp-qrcode/-/weapp-qrcode-1.0.0.tgz",
|
||||
"integrity": "sha512-4sa3W0rGDVJ9QaeZpAKlAuUxVyjhDwiUqHyGK/jJMsRMXnhb4yO8qWU/pZruMo+iT5J6CraS67lDMFb1VY+RaA==",
|
||||
"requires": {
|
||||
"extend": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
|
||||
@ -34,6 +34,13 @@
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/rescue/businessManage",
|
||||
"style": {
|
||||
"navigationBarTitleText": "业务管理",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/details/details",
|
||||
@ -279,4 +286,4 @@
|
||||
"backgroundColor": "#F8F8F8"
|
||||
},
|
||||
"uniIdRouter": {}
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
<view class="box-title">订单处于待开始,请耐心等待</view>
|
||||
</view>
|
||||
<view class="c-box" style="margin-bottom: 20rpx;">
|
||||
<view class="box-title_driver">
|
||||
<!-- <view class="box-title_driver">
|
||||
<text style="margin-bottom: 14rpx;">调度姓名:
|
||||
<text
|
||||
style="margin-left: 20rpx;">{{detailsinfo.rescueInfo.secondDispatchName || '暂无数据'}}</text></text>
|
||||
@ -38,6 +38,63 @@
|
||||
style="margin-left: 20rpx;">{{detailsinfo.rescueInfo.secondDispatchPhone}}</text></text>
|
||||
<text>是否出发现场: <text
|
||||
style="margin-left: 20rpx;">{{detailsinfo.rescueInfo.isDispatchedToScene != null ? (detailsinfo.rescueInfo.isDispatchedToScene == 1 ? '是' : '否') : '暂无数据'}}</text></text>
|
||||
</view> -->
|
||||
|
||||
<view class="box-title_driver">
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">开始时间:</text>
|
||||
<text class="infoValue">{{ formatTimestamp(detailsinfo.rescueInfo.rescueStartTime) || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">完成时间:</text>
|
||||
<text class="infoValue">{{ formatTimestamp(detailsinfo.rescueInfo.rescueEndTime) || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">调度:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.secondDispatchName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">司机:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.driverName || '暂无数据' }}</text>
|
||||
</view>
|
||||
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援车辆:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.driverCarNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">渠道:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.channel || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">来源:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.source || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援类型:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.rescueTypeStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户姓名:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.connectionName || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户电话:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.connectionPhone || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">客户车牌号:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.licenseNum || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">救援状态:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.rescueStatusStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
<view class="infoRow">
|
||||
<text class="infoLabel">财务状态:</text>
|
||||
<text class="infoValue">{{ detailsinfo.rescueInfo.orderStatusStr || '暂无数据' }}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
@ -201,6 +258,19 @@
|
||||
loop: this.isLoop
|
||||
})
|
||||
}, */
|
||||
// 格式化时间戳
|
||||
formatTimestamp(timestamp) {
|
||||
if (!timestamp) return null;
|
||||
|
||||
const date = new Date(timestamp);
|
||||
const year = date.getFullYear();
|
||||
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
||||
const day = date.getDate().toString().padStart(2, '0');
|
||||
const hours = date.getHours().toString().padStart(2, '0');
|
||||
const minutes = date.getMinutes().toString().padStart(2, '0');
|
||||
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
},
|
||||
previewImage(url, type = 'images') {
|
||||
// 预先生成完整的图片列表(包含现场照片和补充照片)
|
||||
this.generateImageList();
|
||||
|
||||
@ -150,6 +150,26 @@
|
||||
:showAction="false"></u-search>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter-section" style="padding: 0 10rpx;" v-if="hasRole('ddzx')">
|
||||
<text>渠道</text>
|
||||
<view class="options">
|
||||
<view class="select-field" @click="showPicker('channel')">
|
||||
<text
|
||||
class="select-text">{{ queryParams.channel ? getSelectedLabel('channel', queryParams.channel) : '请选择渠道' }}</text>
|
||||
<u-icon name="arrow-down" size="14" color="#999"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter-section" style="padding: 0 10rpx;" v-if="hasRole('ddzx')">
|
||||
<text>来源</text>
|
||||
<view class="options">
|
||||
<view class="select-field" @click="showPicker('source')">
|
||||
<text
|
||||
class="select-text">{{ queryParams.source ? getSelectedLabel('source', queryParams.source) : '请选择来源' }}</text>
|
||||
<u-icon name="arrow-down" size="14" color="#999"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="filter-section" style="padding: 0 10rpx;" v-if="hasRole('ddzx')">
|
||||
<text>调度</text>
|
||||
<view class="options">
|
||||
@ -301,6 +321,10 @@
|
||||
</view>
|
||||
<lzc-picker ref="lzcPickerRescueStatus" :pickerList="jyStatusOptions" pickerTittle="选择救援状态"
|
||||
@change="onPickerConfirm('rescueStatus', $event)"></lzc-picker>
|
||||
<lzc-picker ref="lzcPickerChannel" :pickerList="channelOptions" pickerTittle="选择渠道"
|
||||
@change="onPickerConfirm('channel', $event)"></lzc-picker>
|
||||
<lzc-picker ref="lzcPickerSource" :pickerList="sourceOptions" pickerTittle="选择来源"
|
||||
@change="onPickerConfirm('source', $event)"></lzc-picker>
|
||||
<lzc-picker ref="lzcPickerDispatcher" :pickerList="dispatcherOptions" pickerTittle="选择调度"
|
||||
@change="onPickerConfirm('secondDispatchId', $event)"></lzc-picker>
|
||||
<lzc-picker ref="lzcPickerRescueType" :pickerList="jyTypeOptions" pickerTittle="选择救援类型"
|
||||
@ -319,7 +343,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import OrderCardVue from '../../components/orderCard/StatisticsInfoOrderCard.vue';
|
||||
// import OrderCardVue from '../../components/orderCard/StatisticsInfoOrderCard.vue';
|
||||
import request from '../../utils/request';
|
||||
import CategoryList from '../../components/categoryList/CategoryList.vue';
|
||||
import lzcPicker from '@/components/lzc-picker/lzc-picker.vue';
|
||||
@ -384,6 +408,9 @@
|
||||
driverCarNum: null,
|
||||
faultType: null,
|
||||
phenomenon: null,
|
||||
channel: null,
|
||||
channelId: null,
|
||||
source: null
|
||||
},
|
||||
rescueStatusList: [{
|
||||
text: "已接单",
|
||||
@ -441,6 +468,8 @@
|
||||
dispatcherOptions: [], // 调度选项
|
||||
rescueDriverOptions: [],
|
||||
rescueCarOptions: [],
|
||||
channelOptions: [],
|
||||
sourceOptions: [],
|
||||
|
||||
countNum: {
|
||||
jyzNum: 0,
|
||||
@ -456,7 +485,7 @@
|
||||
};
|
||||
},
|
||||
components: {
|
||||
OrderCardVue,
|
||||
// OrderCardVue,
|
||||
CategoryList,
|
||||
lzcPicker,
|
||||
},
|
||||
@ -591,6 +620,12 @@
|
||||
let pickerRef = '';
|
||||
|
||||
switch (type) {
|
||||
case 'channel':
|
||||
pickerRef = 'lzcPickerChannel';
|
||||
break;
|
||||
case 'source':
|
||||
pickerRef = 'lzcPickerSource';
|
||||
break;
|
||||
case 'rescueStatus':
|
||||
pickerRef = 'lzcPickerRescueStatus';
|
||||
break;
|
||||
@ -634,6 +669,16 @@
|
||||
|
||||
async loadPickerOptions(type) {
|
||||
switch (type) {
|
||||
case 'channel':
|
||||
if (this.channelOptions.length === 0) {
|
||||
await this.loadChannelOptions();
|
||||
}
|
||||
break;
|
||||
case 'source':
|
||||
if (this.sourceOptions.length === 0) {
|
||||
await this.loadSourceOptions();
|
||||
}
|
||||
break;
|
||||
case 'rescueStatus':
|
||||
if (this.jyStatusOptions.length === 0) {
|
||||
await this.loadjyStatusOptions();
|
||||
@ -679,6 +724,8 @@
|
||||
this.queryParams.driverId = selectedItem.id
|
||||
} else if (field == 'rescueCar') {
|
||||
this.queryParams.driverCarNum = selectedItem.value
|
||||
}else if(field == 'channel') {
|
||||
this.queryParams.channelId = selectedItem.id
|
||||
}
|
||||
// 根据字段名设置对应的值
|
||||
this.queryParams[field] = selectedItem.value;
|
||||
@ -694,6 +741,12 @@
|
||||
getSelectedLabel(type, value) {
|
||||
let options = [];
|
||||
switch (type) {
|
||||
case 'channel':
|
||||
options = this.channelOptions;
|
||||
break;
|
||||
case 'source':
|
||||
options = this.sourceOptions;
|
||||
break;
|
||||
case 'rescueStatus':
|
||||
options = this.jyStatusOptions;
|
||||
break;
|
||||
@ -887,6 +940,8 @@
|
||||
driverCarNum: null,
|
||||
faultType: null,
|
||||
phenomenon: null,
|
||||
channel: null,
|
||||
source: null
|
||||
};
|
||||
this.searchText = '';
|
||||
this.searchKeyword = null;
|
||||
@ -935,6 +990,40 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取所有渠道信息
|
||||
async loadChannelOptions() {
|
||||
return new Promise((resolve, reject) => {
|
||||
request({
|
||||
url: '/rescue-channel-source/channelList',
|
||||
method: 'get',
|
||||
}).then((res) => {
|
||||
this.channelOptions = res.data.map(item => ({
|
||||
nickname: item.name, // 显示文本
|
||||
value: item.name, // 实际值
|
||||
id: item.id, // ID
|
||||
label: item.name // 保留原字段
|
||||
}));
|
||||
resolve();
|
||||
}).catch(reject);
|
||||
});
|
||||
},
|
||||
// 获取所有来源信息
|
||||
async loadSourceOptions() {
|
||||
return new Promise((resolve, reject) => {
|
||||
request({
|
||||
url: '/rescue-channel-source/sourceList',
|
||||
method: 'get',
|
||||
}).then((res) => {
|
||||
this.sourceOptions = res.data.map(item => ({
|
||||
nickname: item.name, // 显示文本
|
||||
value: item.name, // 实际值
|
||||
id: item.id, // ID
|
||||
label: item.name // 保留原字段
|
||||
}));
|
||||
resolve();
|
||||
}).catch(reject);
|
||||
});
|
||||
},
|
||||
|
||||
// 获取调度人员信息
|
||||
loadDispatcherOptions() {
|
||||
@ -1120,6 +1209,7 @@
|
||||
await this.loadPhenomenonOptions()
|
||||
await this.loadRescueDriverOptions()
|
||||
await this.loadRescueCarOptions()
|
||||
await this.loadChannelOptions()
|
||||
},
|
||||
|
||||
getCountNum() {
|
||||
|
||||
@ -5,7 +5,31 @@
|
||||
<uni-icons size="28" type="plus" color="#fff" @click="goupdata('')"></uni-icons>
|
||||
</template>
|
||||
</VNavigationBar>
|
||||
|
||||
<scroll-view class="carManangeScrollView" scroll-y @scrolltolower="scrolltolower">
|
||||
<!-- 顶部统计条 -->
|
||||
<view class="statsContainer">
|
||||
<!-- 车辆总数单独一行 -->
|
||||
<view class="totalStatsRow">
|
||||
<view class="totalStatCard">
|
||||
<view class="totalStatValue">{{ statsOverview.totalCars || 0 }}</view>
|
||||
<view class="totalStatLabel">车辆总数</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 分类统计,一行最多4个 -->
|
||||
<view class="categoryStatsGrid">
|
||||
<view
|
||||
class="categoryStatCard"
|
||||
v-for="(count, category) in statsOverview.categoryCount"
|
||||
:key="category"
|
||||
>
|
||||
<view class="categoryStatValue">{{ count }}</view>
|
||||
<view class="categoryStatLabel">{{ category }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="ail">
|
||||
<view class="_box" v-for="(item,index) in carList" :key="index" @click="goupdata(item.id)">
|
||||
<view class="_box-content">
|
||||
@ -19,13 +43,13 @@
|
||||
<view class="cph">{{item.rescueCarNum}}</view>
|
||||
</view>
|
||||
<view class="right-top">
|
||||
<view class="timesize">保养到期里程:</view>
|
||||
<view class="time">{{item.carMaintenanceMileage}}</view>
|
||||
</view>
|
||||
<!-- <view class="right-top">
|
||||
<view class="timesize">保养到期时间:</view>
|
||||
<view class="time">{{item.carKeepTime}}</view>
|
||||
</view>
|
||||
<view class="right-top">
|
||||
<view class="timesize">保险到期时间:</view>
|
||||
<view class="time">{{item.carInsuranceTime}}</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="right-top">
|
||||
<view class="timesize">年检到期时间:</view>
|
||||
<view class="time">{{item.carCheckTime}}</view>
|
||||
@ -42,8 +66,6 @@
|
||||
<tabBar msg="1"></tabBar>
|
||||
<!-- <view class="anniu" @click="goupdata('')">
|
||||
<u-icon name="plus" color="#fff" size="34"></u-icon>
|
||||
|
||||
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
@ -59,18 +81,61 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
baseUrl: this.$baseImageUrlNew,
|
||||
carList: [],
|
||||
searchName: null,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
totalNum: '',
|
||||
|
||||
statsOverview: {
|
||||
totalCars: 0,
|
||||
categoryCount: {}
|
||||
}
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getCarList()
|
||||
this.getStatsData()
|
||||
// this.loadStatsData()
|
||||
},
|
||||
methods: {
|
||||
// 根据分类名称返回对应图标
|
||||
getCategoryIcon(category) {
|
||||
const iconMap = {
|
||||
'大拖车': '🚛',
|
||||
'小拖车': '🚐',
|
||||
'皮卡': '🛻',
|
||||
'清障车': '🚨',
|
||||
'吊车': '🏗️',
|
||||
'救援车': '🚑',
|
||||
'工程车': '🚜',
|
||||
'货车': '📦'
|
||||
};
|
||||
// 如果有匹配的图标就返回,否则返回默认图标
|
||||
return iconMap[category] || '🚙';
|
||||
},
|
||||
|
||||
// 获取统计数据
|
||||
async getStatsData() {
|
||||
try {
|
||||
const res = await request({
|
||||
url: "/system/rescueCar/getStats",
|
||||
method: 'get'
|
||||
})
|
||||
this.statsOverview = res.data
|
||||
} catch (error) {
|
||||
console.error('获取统计数据失败:', error)
|
||||
uni.showToast({
|
||||
title: '统计数据获取失败',
|
||||
icon: 'none'
|
||||
})
|
||||
} finally {
|
||||
this.statsLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
scrolltolower() {
|
||||
if (this.carList.length >= this.totalNum) {
|
||||
uni.showToast({
|
||||
@ -116,6 +181,94 @@
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.statsContainer {
|
||||
padding: 20rpx;
|
||||
background: #f8f9fa;
|
||||
}
|
||||
|
||||
// 车辆总数单独一行
|
||||
.totalStatsRow {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.totalStatCard {
|
||||
background: white;
|
||||
border-radius: 12rpx;
|
||||
padding: 30rpx;
|
||||
text-align: center;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
|
||||
}
|
||||
|
||||
.totalStatValue {
|
||||
font-size: 48rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.totalStatLabel {
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
|
||||
// 分类统计网格布局
|
||||
.categoryStatsGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 16rpx;
|
||||
}
|
||||
|
||||
.categoryStatCard {
|
||||
background: white;
|
||||
border-radius: 12rpx;
|
||||
padding: 20rpx 12rpx;
|
||||
text-align: center;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
|
||||
min-height: 100rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.categoryStatValue {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.categoryStatLabel {
|
||||
font-size: 22rpx;
|
||||
color: #666;
|
||||
margin-top: 6rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
// 响应式处理,小屏幕时改为3列
|
||||
@media (max-width: 750rpx) {
|
||||
.categoryStatsGrid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
// 超小屏幕时改为2列
|
||||
@media (max-width: 600rpx) {
|
||||
.categoryStatsGrid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.carManageContent {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@ -236,4 +389,4 @@
|
||||
bottom: 30px;
|
||||
right: 15px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -47,10 +47,15 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="dis_">
|
||||
<view class="">保养到期里程</view>
|
||||
<view class="right_"> <input placeholder-class="inputPlaceholder" type="text" placeholder="请输入"
|
||||
v-model="carInfo.carMaintenanceMileage" /> </view>
|
||||
</view>
|
||||
<!-- <view class="dis_">
|
||||
<view class="">保养到期时间</view>
|
||||
<view class="right_" @click="seletTime('by')"> {{carInfo.carKeepTime||'请选择'}}
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="dis_">
|
||||
<view class="">保险到期时间</view>
|
||||
<view class="right_" @click="seletTime('bx')"> {{carInfo.carInsuranceTime||'请选择'}}
|
||||
@ -114,6 +119,8 @@
|
||||
imageList1: [],
|
||||
imageList2: [],
|
||||
carInfo: {
|
||||
carModel:"", // 车辆型号
|
||||
carMaintenanceMileage:"", // 保养到期里程
|
||||
rescueCarType: "", //车辆类型
|
||||
rescueCarNum: "", //车牌号
|
||||
rescueCarBrand: "", //品牌型号
|
||||
@ -273,6 +280,7 @@
|
||||
},
|
||||
cancel() {
|
||||
this.show = false
|
||||
this.carColorShow = false
|
||||
},
|
||||
confirmtime(e) {
|
||||
this.showtime = false
|
||||
@ -548,4 +556,4 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -80,16 +80,18 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="jyxx-tinput">
|
||||
<view class="text1">故障车经办人</view>
|
||||
<!-- <view class="text1">故障车经办人</view> -->
|
||||
<view class="text1">客户</view>
|
||||
<view class="you">
|
||||
<input type="text" placeholder-style="color: #929292;font-size:24rpx" placeholder="请输入故障车经办人"
|
||||
<input type="text" placeholder-style="color: #929292;font-size:24rpx" placeholder="请输入客户姓名"
|
||||
v-model="connectionName">
|
||||
</view>
|
||||
</view>
|
||||
<view class="jyxx-tinput">
|
||||
<view class="text1">经办人手机号</view>
|
||||
<!-- <view class="text1">经办人手机号</view> -->
|
||||
<view class="text1">客户手机号</view>
|
||||
<view class="you">
|
||||
<input type="text" placeholder-style="color: #929292;font-size:24rpx" placeholder="请输入经办人手机号"
|
||||
<input type="text" placeholder-style="color: #929292;font-size:24rpx" placeholder="请输入客户手机号"
|
||||
v-model="connectionPhone">
|
||||
</view>
|
||||
</view>
|
||||
@ -392,13 +394,13 @@
|
||||
isKouChe: '0',
|
||||
show: false,
|
||||
value1: Number(new Date()),
|
||||
rescueLongitude: '',
|
||||
rescueLatitude: '',
|
||||
rescueLongitude: '117.063239',
|
||||
rescueLatitude: '36.683392',
|
||||
connectionName: '',
|
||||
connectionPhone: '',
|
||||
carOwner: '',
|
||||
carOwnerPhone: '',
|
||||
rescuePosition: '',
|
||||
rescuePosition: '山东省济南市历城区洪楼南路1号(百花摄影图片社)阿水大杯茶(洪楼广场店)',
|
||||
rescueDetail: '',
|
||||
rescueType: '',
|
||||
baseUrl: this.$baseUrl,
|
||||
@ -459,11 +461,11 @@
|
||||
province: '',
|
||||
city: '',
|
||||
area: '',
|
||||
four: '',
|
||||
four: '山东省济南市历城区洪楼南路1号(百花摄影图片社)阿水大杯茶(洪楼广场店)',
|
||||
province1: '',
|
||||
city1: '',
|
||||
area1: '',
|
||||
four1: '',
|
||||
four1: '山东省济南市历城区花园路136号印象城5号楼515商铺',
|
||||
shows: false,
|
||||
kcname: '',
|
||||
columns: [
|
||||
@ -638,6 +640,31 @@
|
||||
|
||||
return
|
||||
}
|
||||
/* 车辆类型校验*/
|
||||
if (this.carzhi === null) {
|
||||
uni.showToast({ title: '请选择车辆类型', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
/* 是否新能源校验*/
|
||||
if (this.ifNewEnergy === '') {
|
||||
uni.showToast({ title: '请选择故障车辆是否为新能源', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
/* 故障类型校验*/
|
||||
if (!this.selectedFaultTypeId) {
|
||||
uni.showToast({ title: '请选择故障类型', icon: 'none' })
|
||||
return
|
||||
}
|
||||
// 校验业务渠道是否已选择
|
||||
if (!this.selectedChannelId) {
|
||||
uni.showToast({
|
||||
title: '请选择业务渠道',
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.feeType === null) {
|
||||
uni.showToast({
|
||||
title: '请选择收费类型',
|
||||
@ -645,6 +672,7 @@
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
// if (this.connectionName == "") {
|
||||
// uni.showToast({
|
||||
// title: '联系人不能为空',
|
||||
@ -941,7 +969,11 @@
|
||||
this.selectedChannelId = null;
|
||||
this.selectedChannelName = '';
|
||||
this.selectedSourceId = null;
|
||||
console.log('selectedChannelId',this.selectedChannelId)
|
||||
console.log('selectedChannelId',item.id)
|
||||
} else {
|
||||
console.log('selectedChannelId',this.selectedChannelId)
|
||||
console.log('selectedChannelId',item.id)
|
||||
this.selectedChannelId = item.id;
|
||||
this.selectedChannelName = item.name;
|
||||
this.selectedSourceId = null;
|
||||
@ -1583,4 +1615,4 @@
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -215,7 +215,7 @@
|
||||
<view style="display: flex;flex-direction: column;row-gap: 10px;" v-else>
|
||||
<order-card-new :status="1" @deleteOk="deleteOrderHandle" @revokeOk="revokeOrderHandle"
|
||||
@refresh="getlist" v-for="(item, index) in orderList" :key="index" :orderData="item"
|
||||
:activeTab="activeTab"></order-card-new>
|
||||
:activeTab="activeTab" @update:activeTab="activeTab = $event"></order-card-new>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
@ -276,7 +276,8 @@
|
||||
homeHeaderMenuHeight: 50,
|
||||
homeHeaderMenuLeft: 0,
|
||||
// #endif
|
||||
activeTab: 1, // 新增:当前选中的选项卡索引
|
||||
// activeTab: 1, // 新增:当前选中的选项卡索引
|
||||
activeTab: -1, // 新增:当前选中的选项卡索引
|
||||
busiTypeList: [{
|
||||
label: '拖车',
|
||||
icon: require('@/static/icons/order/tuoche.png')
|
||||
@ -300,7 +301,9 @@
|
||||
],
|
||||
topMenuList: [{
|
||||
title: '业务管理',
|
||||
/* path: '/pages/rescue/historylist?id=1', */
|
||||
// path: '/pages/rescue/historylist?id=1',
|
||||
// path: '/pages/rescue/historylist',
|
||||
path: '/pages/rescue/businessManage',
|
||||
icon: require('@/static/icons/homeTopMenu/icon_business.png')
|
||||
},
|
||||
{
|
||||
@ -1775,4 +1778,4 @@
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,8 +1,8 @@
|
||||
|
||||
var isReady=false;var onReadyCallbacks=[];
|
||||
var isServiceReady=false;var onServiceReadyCallbacks=[];
|
||||
var __uniConfig = {"pages":["pages/index/index","pages/rescue/rescue","pages/rescue/trafficPolice","pages/rescue/PoliceOder","pages/my/my","pages/details/details","pages/message/message","pages/Detain/Detain","pages/move/move","pages/rescue/order","pages/rescue/initiate","pages/rescue/historylist","pages/select/select","pages/login/login","pages/login/register","pages/login/forgot","pages/my/carManage","pages/my/carManageForm","pages/my/carlist","pages/my/StatisticsInfo"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"蓝安汽车","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"蓝安救援","compilerVersion":"4.15","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true},"window":{"navigationBarTitleText":"蓝安汽车","navigationStyle":"custom"}},{"path":"/pages/rescue/rescue","meta":{},"window":{"navigationBarTitleText":"道路救援首页","navigationStyle":"custom"}},{"path":"/pages/rescue/trafficPolice","meta":{},"window":{"navigationBarTitleText":"交警首页","navigationStyle":"custom"}},{"path":"/pages/rescue/PoliceOder","meta":{},"window":{"navigationBarTitleText":"交警点击救援跳转","navigationStyle":"custom"}},{"path":"/pages/my/my","meta":{},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/details/details","meta":{},"window":{"navigationBarTitleText":"救援详情","navigationStyle":"custom"}},{"path":"/pages/message/message","meta":{},"window":{"navigationBarTitleText":"消息","navigationStyle":"custom"}},{"path":"/pages/Detain/Detain","meta":{},"window":{"navigationBarTitleText":"扣车","navigationStyle":"custom"}},{"path":"/pages/move/move","meta":{},"window":{"navigationBarTitleText":"运力","navigationStyle":"custom"}},{"path":"/pages/rescue/order","meta":{},"window":{"navigationBarTitleText":"下单页-前","navigationStyle":"custom"}},{"path":"/pages/rescue/initiate","meta":{},"window":{"navigationBarTitleText":"下单页","navigationStyle":"custom"}},{"path":"/pages/rescue/historylist","meta":{},"window":{"navigationBarTitleText":"历史订单列表","navigationStyle":"custom"}},{"path":"/pages/select/select","meta":{},"window":{"navigationBarTitleText":"选择身份","navigationStyle":"custom"}},{"path":"/pages/login/login","meta":{},"window":{"navigationBarTitleText":"登录","navigationStyle":"custom"}},{"path":"/pages/login/register","meta":{},"window":{"navigationBarTitleText":"注册","navigationStyle":"custom"}},{"path":"/pages/login/forgot","meta":{},"window":{"navigationBarTitleText":"忘记密码","navigationStyle":"custom"}},{"path":"/pages/my/carManage","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/carManageForm","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/carlist","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/StatisticsInfo","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}}];
|
||||
var __uniConfig = {"pages":["pages/index/index","pages/rescue/rescue","pages/rescue/trafficPolice","pages/rescue/PoliceOder","pages/my/my","pages/rescue/businessManage","pages/details/details","pages/details/dispatchDetails","pages/message/message","pages/Detain/Detain","pages/move/move","pages/rescue/order","pages/rescue/initiate","pages/rescue/initiateEdit","pages/rescue/initiateSurvey","pages/rescue/historylist","pages/select/select","pages/login/login","pages/login/register","pages/login/forgot","pages/my/carManage","pages/my/carManageForm","pages/my/carlist","pages/my/StatisticsInfo","pages/internal/index","pages/internal/NewstaffManagement","pages/internal/rescueManage","pages/internal/reportList","pages/internal/reportDetals","pages/internal/rescueAdd","pages/internal/addStaff","pages/internal/deviceManage","pages/internal/informationManage","pages/internal/informationAdd","pages/my/revoke","pages/process/dispatchProcess","pages/process/dispatchAgentDriverExecute","pages/my/classificationInfo"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"蓝安汽车","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"蓝安救援","compilerVersion":"4.76","entryPagePath":"pages/index/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/index/index","meta":{"isQuit":true},"window":{"navigationBarTitleText":"蓝安汽车","navigationStyle":"custom"}},{"path":"/pages/rescue/rescue","meta":{},"window":{"navigationBarTitleText":"道路救援首页","navigationStyle":"custom"}},{"path":"/pages/rescue/trafficPolice","meta":{},"window":{"navigationBarTitleText":"交警首页","navigationStyle":"custom"}},{"path":"/pages/rescue/PoliceOder","meta":{},"window":{"navigationBarTitleText":"交警点击救援跳转","navigationStyle":"custom"}},{"path":"/pages/my/my","meta":{},"window":{"navigationBarTitleText":"我的","navigationStyle":"custom"}},{"path":"/pages/rescue/businessManage","meta":{},"window":{"navigationBarTitleText":"业务管理","navigationStyle":"custom"}},{"path":"/pages/details/details","meta":{},"window":{"navigationBarTitleText":"救援详情","navigationStyle":"custom"}},{"path":"/pages/details/dispatchDetails","meta":{},"window":{"navigationBarTitleText":"调度流程","navigationStyle":"custom"}},{"path":"/pages/message/message","meta":{},"window":{"navigationBarTitleText":"消息","navigationStyle":"custom"}},{"path":"/pages/Detain/Detain","meta":{},"window":{"navigationBarTitleText":"扣车","navigationStyle":"custom"}},{"path":"/pages/move/move","meta":{},"window":{"navigationBarTitleText":"运力","navigationStyle":"custom"}},{"path":"/pages/rescue/order","meta":{},"window":{"navigationBarTitleText":"下单页-前","navigationStyle":"custom"}},{"path":"/pages/rescue/initiate","meta":{},"window":{"navigationBarTitleText":"下单页","navigationStyle":"custom"}},{"path":"/pages/rescue/initiateEdit","meta":{},"window":{"navigationBarTitleText":"修改工单页","navigationStyle":"custom"}},{"path":"/pages/rescue/initiateSurvey","meta":{},"window":{"navigationBarTitleText":"现场查勘工单页","navigationStyle":"custom"}},{"path":"/pages/rescue/historylist","meta":{},"window":{"navigationBarTitleText":"历史订单列表","navigationStyle":"custom"}},{"path":"/pages/select/select","meta":{},"window":{"navigationBarTitleText":"选择身份","navigationStyle":"custom"}},{"path":"/pages/login/login","meta":{},"window":{"navigationBarTitleText":"登录","navigationStyle":"custom"}},{"path":"/pages/login/register","meta":{},"window":{"navigationBarTitleText":"注册","navigationStyle":"custom"}},{"path":"/pages/login/forgot","meta":{},"window":{"navigationBarTitleText":"忘记密码","navigationStyle":"custom"}},{"path":"/pages/my/carManage","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/carManageForm","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/carlist","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/StatisticsInfo","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/index","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/NewstaffManagement","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/rescueManage","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/reportList","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/reportDetals","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/rescueAdd","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/addStaff","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/deviceManage","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/informationManage","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/internal/informationAdd","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/revoke","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/process/dispatchProcess","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/process/dispatchAgentDriverExecute","meta":{},"window":{"navigationBarTitleText":"","navigationStyle":"custom"}},{"path":"/pages/my/classificationInfo","meta":{},"window":{"navigationBarTitleText":""}}];
|
||||
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});
|
||||
|
||||
51987
unpackage/dist/dev/app-plus/app-service.js
vendored
51987
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
47897
unpackage/dist/dev/app-plus/app-view.js
vendored
47897
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/dev/app-plus/manifest.json
vendored
2
unpackage/dist/dev/app-plus/manifest.json
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/dev/app-plus/view.css
vendored
2
unpackage/dist/dev/app-plus/view.css
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
File diff suppressed because one or more lines are too long
@ -120,6 +120,48 @@ export async function getDictDataById(id) {
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export function getDateRange(type) {
|
||||
const now = new Date()
|
||||
let start, end
|
||||
|
||||
if (type === 'week') {
|
||||
// 获取本周的开始(周一)和结束(周日)
|
||||
const day = now.getDay() || 7 // Sunday 为 0,设为 7
|
||||
start = new Date(now)
|
||||
start.setDate(now.getDate() - day + 1)
|
||||
|
||||
end = new Date(start)
|
||||
end.setDate(start.getDate() + 6)
|
||||
} else if (type === 'month') {
|
||||
// 获取本月的开始和结束
|
||||
start = new Date(now.getFullYear(), now.getMonth(), 1)
|
||||
end = new Date(now.getFullYear(), now.getMonth() + 1, 0) // 本月最后一天
|
||||
}else if (type === 'day') {
|
||||
// 获取当天的开始和结束(00:00:00 到 23:59:59)
|
||||
start = new Date(now)
|
||||
start.setHours(0, 0, 0, 0)
|
||||
|
||||
end = new Date(now)
|
||||
end.setHours(23, 59, 59, 999)
|
||||
} else {
|
||||
console.warn('不支持的类型:', type)
|
||||
return []
|
||||
}
|
||||
|
||||
return [
|
||||
formatDateCus(start),
|
||||
formatDateCus(end)
|
||||
]
|
||||
}
|
||||
|
||||
export function formatDateCus(date) {
|
||||
const y = date.getFullYear()
|
||||
const m = (date.getMonth() + 1).toString().padStart(2, '0')
|
||||
const d = date.getDate().toString().padStart(2, '0')
|
||||
return `${y}-${m}-${d}`
|
||||
}
|
||||
|
||||
export {
|
||||
getWXStatusHeight,
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user