Commit 512b328a authored by 杨勇飞's avatar 杨勇飞

增加异常查询的界面

parent 37ba2033
......@@ -826,6 +826,13 @@
]
})
},
navigateToAbnormalReport() {
console.log('点击了日报跳转按钮');
// 直接触发父组件的 choiceItem
uni.navigateTo({
url: '/pages/abnormal/list/index'
});
},
navigateToDailyReport() {
console.log('点击了日报跳转按钮');
// 直接触发父组件的 choiceItem
......
......@@ -117,7 +117,7 @@
background: #fff;
padding: 20px 15px;
border-radius: 8px;
// margin-bottom: 15px;
margin-bottom: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
.stat-item {
......
......@@ -79,32 +79,32 @@
"devServer" : {
"https" : false,
"disableHostCheck" : true,
"port" : 8083,
"port" : 8089,
"proxy" : {
"/api" : {
// "target" : "http://122.112.220.204:8089",
"target" : "http://localhost:8083",
"target" : "http://122.112.220.204:8089",
// "target" : "http://localhost:8083",
// "target" : "https://stms.bjzc-scs.com",
"changeOrigin" : true,
"secure" : false
},
"/handler" : {
// "target" : "http://122.112.220.204:8089",
"target" : "http://localhost:8083",
"target" : "http://122.112.220.204:8089",
// "target" : "http://localhost:8083",
// "target" : "https://stms.bjzc-scs.com",
"changeOrigin" : true,
"secure" : false
},
"/sandtable" : {
// "target" : "http://122.112.220.204:8089",
"target" : "http://localhost:8083",
"target" : "http://122.112.220.204:8089",
// "target" : "http://localhost:8083",
// "target" : "https://stms.bjzc-scs.com",
"changeOrigin" : true,
"secure" : false
},
"/tmsca" : {
// "target" : "http://122.112.220.204:8089",
"target" : "http://localhost:8083",
"target" : "http://122.112.220.204:8089",
// "target" : "http://localhost:8083",
// "target" : "https://stms.bjzc-scs.com",
"changeOrigin" : true,
"secure" : false
......
......@@ -28,6 +28,22 @@
"enablePullDownRefresh": false,
"disableScroll": true
}
},
{
"path": "pages/abnormal/list/index",
"style": {
"navigationBarTitleText": "异常订单",
"enablePullDownRefresh": false,
"disableScroll": true
}
},
{
"path": "pages/abnormal/detail/index",
"style": {
"navigationBarTitleText": "异常订单详情",
"enablePullDownRefresh": false,
"disableScroll": true
}
}
],
"subPackages": [{
......
This diff is collapsed.
<template>
<view class="abnormal-report">
<!-- 状态统计卡片 -->
<view class="status-stats">
<view class="stat-item" v-for="(stat, index) in stats" :key="index">
<text class="number">{{ stat.count }}</text>
<text class="label">{{ stat.label }}</text>
</view>
</view>
<!-- 异常订单列表 -->
<scroll-view class="order-list" scroll-y>
<view
class="order-card"
v-for="(order, index) in orders"
:key="index"
@click="goToDetail(order.id)"
>
<view class="card-header">
<view class="left">
<text class="order-id">{{ order.abnormalId }}</text>
<text class="status" :class="getStatusClass(order.approvalStatus)">
{{ order.approvalStatus }}
</text>
</view>
<text class="time">{{ order.occurTime }}</text>
</view>
<view class="card-content">
<view class="info-row">
<text class="label">客户:</text>
<text class="value">{{ order.customer }}</text>
</view>
<view class="info-row">
<text class="label">二级异常:</text>
<text class="value">{{ order.secondaryAbnormal }}</text>
</view>
<view class="info-row">
<text class="label">涉及金额:</text>
<text class="value amount">¥{{ order.amount }}</text>
</view>
<view class="info-row">
<text class="label">处理状态:</text>
<text class="value" :class="getProcessClass(order.processStatus)">
{{ order.processStatus }}
</text>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
stats: [
{ label: '未审批', count: 12 },
{ label: '审批中', count: 5 },
{ label: '审批完成', count: 28 },
{ label: '合计', count: 45 }
],
orders: [
{
id: 1,
abnormalId: 'AB202403200001',
approvalStatus: '未审批',
customer: '某某物流有限公司',
occurTime: '2024-03-20 09:30',
secondaryAbnormal: '货物损坏',
amount: '5000.00',
processStatus: '待处理'
},
{
id: 2,
abnormalId: 'AB202403200002',
approvalStatus: '审批中',
customer: '某某运输公司',
occurTime: '2024-03-20 10:15',
secondaryAbnormal: '延迟到达',
amount: '3000.00',
processStatus: '处理中'
},
// ... 更多测试数据
]
}
},
methods: {
getStatusClass(status) {
const classMap = {
'未审批': 'status-pending',
'审批中': 'status-processing',
'审批完成': 'status-completed'
}
return classMap[status] || ''
},
getProcessClass(status) {
const classMap = {
'待处理': 'process-pending',
'处理中': 'process-ongoing',
'已处理': 'process-completed'
}
return classMap[status] || ''
},
goToDetail(id) {
// 跳转到详情页面
uni.navigateTo({
url: `/pages/abnormal/detail/index?id=${id}`
})
}
}
}
</script>
<style lang="scss">
.abnormal-report {
padding: 15px;
background: #f5f7fa;
min-height: 100vh;
.status-stats {
display: flex;
justify-content: space-between;
background: #fff;
padding: 20px 15px;
border-radius: 8px;
margin-bottom: 15px;
box-shadow: 0 2px 12px rgba(0,0,0,0.05);
.stat-item {
text-align: center;
padding: 15px 24px;
background: #f9f9f9;
border-radius: 6px;
min-width: 80px;
.number {
display: block;
font-size: 24px;
font-weight: bold;
color: #333;
margin-bottom: 8px;
&:after {
content: '';
display: block;
width: 24px;
height: 2px;
background: #1890ff;
margin: 8px auto 0;
border-radius: 1px;
}
}
.label {
font-size: 14px;
color: #999;
}
}
}
.order-list {
height: calc(100vh - 120px);
.order-card {
background: #fff;
border-radius: 8px;
padding: 15px;
margin-bottom: 15px;
box-shadow: 0 2px 12px rgba(0,0,0,0.05);
transition: all 0.3s ease;
&:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
.left {
display: flex;
align-items: center;
gap: 10px;
.order-id {
font-size: 16px;
font-weight: bold;
color: #333;
}
.status {
padding: 4px 12px;
border-radius: 10px;
font-size: 12px;
&.status-pending {
background: rgba(250, 173, 20, 0.1);
color: #faad14;
border: 1px solid rgba(250, 173, 20, 0.2);
}
&.status-processing {
background: rgba(24, 144, 255, 0.1);
color: #1890ff;
border: 1px solid rgba(24, 144, 255, 0.2);
}
&.status-completed {
background: rgba(82, 196, 26, 0.1);
color: #52c41a;
border: 1px solid rgba(82, 196, 26, 0.2);
}
}
}
.time {
font-size: 14px;
color: #999;
}
}
.card-content {
.info-row {
display: flex;
margin-bottom: 8px;
align-items: center;
&:last-child {
margin-bottom: 0;
}
.label {
width: 80px;
font-size: 14px;
color: #666;
}
.value {
flex: 1;
font-size: 14px;
color: #333;
&.amount {
color: #ff4d4f;
font-weight: 500;
}
&.process-pending {
color: #faad14;
}
&.process-ongoing {
color: #1890ff;
}
&.process-completed {
color: #52c41a;
}
}
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -9,8 +9,8 @@ let BASEURL = {
// url: 'http://192.168.1.199:7080' //唐浩然
// url: 'http://192.168.0.230:8080' // xiaohan
// url: "https://botms-demo.logwirecloud.com",
url: "http://localhost:8083", //开发
// url: "http://122.112.220.204:8089", //开发
// url: "http://localhost:8083", //开发
url: "http://122.112.220.204:8089", //开发
// url: "https://stms.bjzc-scs.com", //生产
};
......
......@@ -3,83 +3,83 @@
"@amap/amap-jsapi-loader@^1.0.1":
"integrity" "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw=="
"resolved" "https://mirrors.cloud.tencent.com/npm/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz"
"version" "1.0.1"
version "1.0.1"
resolved "https://mirrors.cloud.tencent.com/npm/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz"
integrity sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==
"@babel/runtime@^7.17.2":
"integrity" "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ=="
"resolved" "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.26.7.tgz"
"version" "7.26.7"
version "7.26.7"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/runtime/-/runtime-7.26.7.tgz"
integrity sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==
dependencies:
"regenerator-runtime" "^0.14.0"
regenerator-runtime "^0.14.0"
"@dcloudio/uni-ui@^1.5.7":
"integrity" "sha512-DugxSIrQrze1FLdUOj9a+JEQ0bHGjnJTcGUK1mN/MivKg7nuKJBRWk5Ipa9sUdoBznX6ndz5h2e7Uao6x1CdCw=="
"resolved" "https://mirrors.cloud.tencent.com/npm/@dcloudio/uni-ui/-/uni-ui-1.5.7.tgz"
"version" "1.5.7"
version "1.5.7"
resolved "https://mirrors.cloud.tencent.com/npm/@dcloudio/uni-ui/-/uni-ui-1.5.7.tgz"
integrity sha512-DugxSIrQrze1FLdUOj9a+JEQ0bHGjnJTcGUK1mN/MivKg7nuKJBRWk5Ipa9sUdoBznX6ndz5h2e7Uao6x1CdCw==
"@wecom/jssdk@^2.1.0":
"integrity" "sha512-qOBAsfqaiYM8jZHWYs/atHSpJhsLdZVNaxHQdmEQ7ZWul/GZMt4P5VY8Nf7GII7GhG8z/k+r37Dto6qtAaRqow=="
"resolved" "https://mirrors.cloud.tencent.com/npm/@wecom/jssdk/-/jssdk-2.2.5.tgz"
"version" "2.2.5"
version "2.2.5"
resolved "https://mirrors.cloud.tencent.com/npm/@wecom/jssdk/-/jssdk-2.2.5.tgz"
integrity sha512-qOBAsfqaiYM8jZHWYs/atHSpJhsLdZVNaxHQdmEQ7ZWul/GZMt4P5VY8Nf7GII7GhG8z/k+r37Dto6qtAaRqow==
"copy-text-to-clipboard@^3.0.1":
"integrity" "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q=="
"resolved" "https://mirrors.cloud.tencent.com/npm/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz"
"version" "3.2.0"
copy-text-to-clipboard@^3.0.1:
version "3.2.0"
resolved "https://mirrors.cloud.tencent.com/npm/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz"
integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
"core-js@^3.11.0":
"integrity" "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ=="
"resolved" "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-3.40.0.tgz"
"version" "3.40.0"
core-js@^3.11.0:
version "3.40.0"
resolved "https://mirrors.cloud.tencent.com/npm/core-js/-/core-js-3.40.0.tgz"
integrity sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==
"echarts@^5.6.0":
"integrity" "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA=="
"resolved" "https://mirrors.cloud.tencent.com/npm/echarts/-/echarts-5.6.0.tgz"
"version" "5.6.0"
echarts@^5.6.0:
version "5.6.0"
resolved "https://mirrors.cloud.tencent.com/npm/echarts/-/echarts-5.6.0.tgz"
integrity sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==
dependencies:
"tslib" "2.3.0"
"zrender" "5.6.1"
tslib "2.3.0"
zrender "5.6.1"
"jweixin-module@^1.6.0":
"integrity" "sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w=="
"resolved" "https://mirrors.cloud.tencent.com/npm/jweixin-module/-/jweixin-module-1.6.0.tgz"
"version" "1.6.0"
jweixin-module@^1.6.0:
version "1.6.0"
resolved "https://mirrors.cloud.tencent.com/npm/jweixin-module/-/jweixin-module-1.6.0.tgz"
integrity sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w==
"mutation-observer@^1.0.3":
"integrity" "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
"resolved" "https://mirrors.cloud.tencent.com/npm/mutation-observer/-/mutation-observer-1.0.3.tgz"
"version" "1.0.3"
mutation-observer@^1.0.3:
version "1.0.3"
resolved "https://mirrors.cloud.tencent.com/npm/mutation-observer/-/mutation-observer-1.0.3.tgz"
integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
"regenerator-runtime@^0.14.0":
"integrity" "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
"resolved" "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
"version" "0.14.1"
regenerator-runtime@^0.14.0:
version "0.14.1"
resolved "https://mirrors.cloud.tencent.com/npm/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
"tslib@2.3.0":
"integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
"resolved" "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz"
"version" "2.3.0"
tslib@2.3.0:
version "2.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/tslib/-/tslib-2.3.0.tgz"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
"uview-ui@^2.0.31":
"integrity" "sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw=="
"resolved" "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.31.tgz"
"version" "2.0.31"
uview-ui@^2.0.31:
version "2.0.31"
resolved "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.31.tgz"
integrity sha512-I/0fGuvtiKHH/mBb864SGYk+SJ7WaF32tsBgYgeBOsxlUp+Th+Ac2tgz2cTvsQJl6eZYWsKZ3ixiSXCAcxZ8Sw==
"vconsole@^3.15.0":
"integrity" "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g=="
"resolved" "https://mirrors.cloud.tencent.com/npm/vconsole/-/vconsole-3.15.1.tgz"
"version" "3.15.1"
vconsole@^3.15.0:
version "3.15.1"
resolved "https://mirrors.cloud.tencent.com/npm/vconsole/-/vconsole-3.15.1.tgz"
integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
dependencies:
"@babel/runtime" "^7.17.2"
"copy-text-to-clipboard" "^3.0.1"
"core-js" "^3.11.0"
"mutation-observer" "^1.0.3"
copy-text-to-clipboard "^3.0.1"
core-js "^3.11.0"
mutation-observer "^1.0.3"
"zrender@5.6.1":
"integrity" "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag=="
"resolved" "https://mirrors.cloud.tencent.com/npm/zrender/-/zrender-5.6.1.tgz"
"version" "5.6.1"
zrender@5.6.1:
version "5.6.1"
resolved "https://mirrors.cloud.tencent.com/npm/zrender/-/zrender-5.6.1.tgz"
integrity sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==
dependencies:
"tslib" "2.3.0"
tslib "2.3.0"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment