Alex 10 hónapja
szülő
commit
b56b82d024
100 módosított fájl, 791 hozzáadás és 390 törlés
  1. 17 15
      manifest.json
  2. 12 0
      pages.json
  3. 11 11
      pages/index/detail/book-audit.vue
  4. 65 41
      pages/index/detail/components/AuditInfo.vue
  5. 25 19
      pages/index/detail/components/BookInfo.vue
  6. 11 10
      pages/index/detail/index.vue
  7. 2 3
      pages/index/express/components/ExceptionItem.vue
  8. 19 9
      pages/index/wms/bad-in.vue
  9. 75 46
      pages/index/wms/bad-out-order.vue
  10. 22 23
      pages/index/wms/bad-out.vue
  11. 17 9
      pages/index/wms/components/LocationOrderItem.vue
  12. 33 2
      pages/index/wms/good-in.vue
  13. 130 0
      pages/index/wms/location-order-list.vue
  14. 32 51
      pages/index/wms/location-order.vue
  15. 33 2
      pages/index/wms/medium-in.vue
  16. 149 0
      pages/index/wms/order-query-list.vue
  17. 69 126
      pages/index/wms/order-query.vue
  18. 33 2
      pages/index/wms/secondary-in.vue
  19. BIN
      static/img/share.png
  20. 3 3
      uni_modules/uview-plus/components/u-search/u-search.vue
  21. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/app-config-service.js
  22. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/app-service.js
  23. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/app.css
  24. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/book/index.css
  25. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/confirm-receipt.css
  26. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/express-order.css
  27. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/isbn-order.css
  28. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/scan-order.css
  29. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/sender.css
  30. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/batch-audit.css
  31. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/book-audit.css
  32. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/index.css
  33. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/entry/book-weight.css
  34. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/entry/scan-book.css
  35. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/logistics-detail.css
  36. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/quick-check.css
  37. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/quick-unpack.css
  38. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/route-exception.css
  39. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/transfer-sign.css
  40. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/warehouse-sign.css
  41. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/weight-modify.css
  42. 1 1
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/index.css
  43. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/offline/check-order.css
  44. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/offline/check-record.css
  45. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/after-sale.css
  46. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/audit.css
  47. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/package.css
  48. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-in.css
  49. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-out-order.css
  50. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-out.css
  51. 1 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/good-in.css
  52. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-order-list.css
  53. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-order.css
  54. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-select.css
  55. 1 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/medium-in.css
  56. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/order-query-list.css
  57. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/order-query.css
  58. 1 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/secondary-in.css
  59. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/speedy-check-add.css
  60. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/speedy-check.css
  61. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/task-detail.css
  62. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/warehouse-select.css
  63. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/login/login.css
  64. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/audit-unfinished.css
  65. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/book-display.css
  66. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/password.css
  67. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/school.css
  68. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/user-info.css
  69. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/volume.css
  70. 0 0
      unpackage/cache/wgt/__UNI__65C1C73/pages/order/index.css
  71. 8 2
      unpackage/cache/wgt/__UNI__65C1C73/static/css/common.scss
  72. BIN
      unpackage/cache/wgt/__UNI__65C1C73/static/img/share.png
  73. BIN
      unpackage/debug/android_debug.apk
  74. 0 0
      unpackage/dist/build/app-plus/app-config-service.js
  75. 0 0
      unpackage/dist/build/app-plus/app-service.js
  76. 0 0
      unpackage/dist/build/app-plus/app.css
  77. 20 14
      unpackage/dist/build/app-plus/manifest.json
  78. 0 0
      unpackage/dist/build/app-plus/pages/book/index.css
  79. 0 0
      unpackage/dist/build/app-plus/pages/index/audit/confirm-receipt.css
  80. 0 0
      unpackage/dist/build/app-plus/pages/index/audit/express-order.css
  81. 0 0
      unpackage/dist/build/app-plus/pages/index/audit/isbn-order.css
  82. 0 0
      unpackage/dist/build/app-plus/pages/index/audit/scan-order.css
  83. 0 0
      unpackage/dist/build/app-plus/pages/index/audit/sender.css
  84. 0 0
      unpackage/dist/build/app-plus/pages/index/detail/batch-audit.css
  85. 0 0
      unpackage/dist/build/app-plus/pages/index/detail/book-audit.css
  86. 0 0
      unpackage/dist/build/app-plus/pages/index/detail/index.css
  87. 0 0
      unpackage/dist/build/app-plus/pages/index/entry/book-weight.css
  88. 0 0
      unpackage/dist/build/app-plus/pages/index/entry/scan-book.css
  89. 0 0
      unpackage/dist/build/app-plus/pages/index/express/logistics-detail.css
  90. 0 0
      unpackage/dist/build/app-plus/pages/index/express/quick-check.css
  91. 0 0
      unpackage/dist/build/app-plus/pages/index/express/quick-unpack.css
  92. 0 0
      unpackage/dist/build/app-plus/pages/index/express/route-exception.css
  93. 0 0
      unpackage/dist/build/app-plus/pages/index/express/transfer-sign.css
  94. 0 0
      unpackage/dist/build/app-plus/pages/index/express/warehouse-sign.css
  95. 0 0
      unpackage/dist/build/app-plus/pages/index/express/weight-modify.css
  96. 1 1
      unpackage/dist/build/app-plus/pages/index/index.css
  97. 0 0
      unpackage/dist/build/app-plus/pages/index/offline/check-order.css
  98. 0 0
      unpackage/dist/build/app-plus/pages/index/offline/check-record.css
  99. 0 0
      unpackage/dist/build/app-plus/pages/index/statistic/after-sale.css
  100. 0 0
      unpackage/dist/build/app-plus/pages/index/statistic/audit.css

+ 17 - 15
manifest.json

@@ -47,7 +47,9 @@
                     "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
-                ]
+                ],
+                "minSdkVersion" : 23,
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
             },
             /* ios打包配置 */
             "ios" : {
@@ -61,20 +63,6 @@
             "sdkConfigs" : {}
         },
         "nativePlugins" : {
-            "nrb-tts-plugin" : {
-                "__plugin_info__" : {
-                    "name" : "语音合成TTS - [试用版,仅用于自定义调试基座]",
-                    "description" : "原生语音合成TTS",
-                    "platforms" : "Android,iOS",
-                    "url" : "https://ext.dcloud.net.cn/plugin?id=4133",
-                    "android_package_name" : "",
-                    "ios_bundle_id" : "",
-                    "isCloud" : true,
-                    "bought" : 0,
-                    "pid" : "4133",
-                    "parameters" : {}
-                }
-            },
             "iData-BarcodePlugin" : {
                 "__plugin_info__" : {
                     "name" : "iData条码扫描插件",
@@ -88,6 +76,20 @@
                     "pid" : "3898",
                     "parameters" : {}
                 }
+            },
+            "nrb-tts-plugin" : {
+                "__plugin_info__" : {
+                    "name" : "语音合成TTS",
+                    "description" : "原生语音合成TTS",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=4133",
+                    "android_package_name" : "com.wk.pds",
+                    "ios_bundle_id" : "",
+                    "isCloud" : true,
+                    "bought" : 1,
+                    "pid" : "4133",
+                    "parameters" : {}
+                }
             }
         }
     },

+ 12 - 0
pages.json

@@ -191,12 +191,24 @@
 						"navigationBarTitleText": "订单查询"
 					}
 				},
+                {
+					"path": "wms/order-query-list",
+					"style": {
+						"navigationBarTitleText": "订单查询结果"
+					}
+				},
 				{
 					"path": "wms/location-order",
 					"style": {
 						"navigationBarTitleText": "库位订单"
 					}
 				},
+                {
+					"path": "wms/location-order-list",
+					"style": {
+						"navigationBarTitleText": "库位订单查询结果"
+					}
+				},
 				{
 					"path": "wms/location-select",
 					"style": {

+ 11 - 11
pages/index/detail/book-audit.vue

@@ -36,7 +36,7 @@
         <view class="mt-20">
             <u-subsection :list="list" mode="subsection" :current="current"
                 @change="handleSectionChange"></u-subsection>
-            <AuditInfo v-if="current == 0" :detail="auditBook" @selected="handleAuditSelected" />
+            <AuditInfo v-if="current == 0" :detail="auditBook"  ref="auditInfoRef" />
             <FileInfo v-if="current == 2" :orderId="orderId" :annexType="2" :isbn="auditBook.isbn" />
         </view>
 
@@ -72,7 +72,13 @@ const handleSectionChange = (index) => {
 //图书审核
 const auditData = ref([])
 const handleAuditSelected = (data) => {
-    auditData.value = data
+    auditData.value = data.map((item, index) => {
+        item.idx = index
+        console.log(index,item.com, 'item.com',Array.isArray(item.com))
+        item.com = Array.isArray(item.com) ? item.com.join(',') : item.com
+        return item
+    })
+    console.log(auditData.value, 'auditData.value')
 }
 
 //存储已经扫码的图书
@@ -168,16 +174,10 @@ function handleScanCode() {
     })
 }
 
+const auditInfoRef = ref()
 //审核 /app/orderinfo/checkOrder
 const handleAudit = () => {
-
-    let sts = auditData.value?.[0]?.sts || 0
-    if (sts == 0) {
-        uni.$u.toast('请选择品相')
-        uni.$u.ttsModule.speak('请选择品相')
-        return
-    }
-
+    let checkList = auditInfoRef.value?.formatReason(auditData.value)
     let checkUserInfo = uni.getStorageSync('checkUserInfo')
     if (checkUserInfo.userId) {
         checkUserId.value = checkUserInfo.userId
@@ -188,7 +188,7 @@ const handleAudit = () => {
     uni.$u.http.post('/app/orderinfo/checkOrder', {
         "checkUserId": checkUserId.value,
         "orderId": orderId.value,
-        "checkList": auditData.value
+        "checkList": checkList
     }).then(res => {
         if (res.code == 200) {
             uni.showToast({ title: '审核成功', icon: 'none' })

+ 65 - 41
pages/index/detail/components/AuditInfo.vue

@@ -3,46 +3,64 @@
         <view class="font-bold mt-16" style="padding: 0 20rpx">
             该书共{{ detail.num }}本,其中:良好{{ getAuditCateNum(1) }}本,一般{{ getAuditCateNum(2) }}本,极差{{ getAuditCateNum(3) }}本
         </view>
-        <view class="mt-10 bind-code" style="padding: 10rpx 20rpx">
-            SH码:未绑码
-        </view>
 
-        <view class="mt-20 bg-white flex flex-j-a flex-a-c" style="padding:20rpx;border-radius: 10rpx;">
-            <view class="u-page__tag-item" v-for="(item, index) in auditList" :key="index">
-                <u-tag size="large" :text="item.label" :plain="current != item.sts" type="primary" :name="item.sts"
-                    @click="radioClick">
-                </u-tag>
+        <view v-if="auditCommentList.length > 0" v-for="(audit, index) in auditCommentList" :key="index">
+            <view class="mt-10 bind-code" style="padding: 10rpx 20rpx">
+                第{{ index + 1 }}本的审核意见
+            </view>
+
+            <view class="mt-20 bg-white flex flex-j-a flex-a-c" style="padding:20rpx;border-radius: 10rpx;">
+                <view class="u-page__tag-item" v-for="(item, idx) in auditList" :key="idx">
+                    <u-tag size="large" :text="item.label" :plain="audit.sts != item.sts" type="primary"
+                        :name="item.sts" :class="{ 'disabled': item.sts == 2 }"
+                        @click="radioClick(audit, index, item.sts)">
+                    </u-tag>
+                </view>
             </view>
-        </view>
 
-        <view class="mt-20 bg-white" style="padding:20rpx;border-radius: 10rpx;" v-if="current == 3">
-            <view class="flex flex-a-c flex-wrap">
-                <text class="mr-10 reason-item" v-for="(item, index) in reasonList" :key="index"
-                    @click="toggleReason(item)" :class="{ 'selected': selectedReasons.includes(item.label) }">
-                    <view class="ml-10">{{ item.label }}</view>
-                </text>
+            <view class="mt-20 bg-white" style="padding:20rpx;border-radius: 10rpx;" v-if="audit.sts == 3">
+                <view class="flex flex-a-c flex-wrap">
+                    <view class="mr-10 reason-item" v-for="(item, idx) in reasonList" :key="idx"
+                        @click="toggleReason(audit, index, item)"
+                        :class="{ 'selected': audit.comList.includes(item.label) }">
+                        {{ item.label }}
+                    </view>
+                </view>
             </view>
         </view>
+
+
+
     </view>
 </template>
 
 <script setup>
-import { ref } from 'vue';
+import { ref, watch } from 'vue';
 const props = defineProps({
     detail: {
         type: Object,
         default: () => ({})
-    }
+    },
 })
 
-const auditList = ref([{ sts: 1, label: '品相良好' }, { sts: 2, label: '品相一般', disabled: true }, { sts: 3, label: '品相极差' }])
-const current = ref(0)
 
-const radioClick = (index) => {
-    current.value = index
+const auditCommentList = ref([])
+watch(() => props.detail?.auditCommentList, (newVal) => {
+    if (!newVal) return
+    auditCommentList.value = newVal.map(item => ({
+        ...item,
+        isbn: props.detail.isbn,
+        comList: item.com ? (typeof item.com === 'string' ? item.com.split(',') : item.com) : []
+    }))
+}, { immediate: true, deep: true })
 
-    let data = formatReason()
-    emit('selected', data)
+const auditList = ref([{ sts: 1, label: '品相良好' }, { sts: 2, label: '品相一般', disabled: true }, { sts: 3, label: '品相极差' }])
+const emit = defineEmits(['selected'])
+const radioClick = (audit, index, sts) => {
+    if (sts == 2) return
+    audit.sts = sts
+    auditCommentList.value[index] = audit
+    formatReason()
 }
 
 const getAuditCateNum = (cate) => {
@@ -65,29 +83,31 @@ let reasonList = ref([
     { sts: 3, label: '图书馆/藏书印章' }
 ])
 
-function formatReason() {
-    return [
-        {
-            "isbn": props.detail.isbn,
-            "sts": current.value,
-            "com": selectedReasons.value.join(',')
-        }
-    ]
+const formatReason = () => {
+    let list = auditCommentList.value.map((item, index) => ({
+        ...item,
+        idx: index,
+        com: item.comList.join(',')
+    }))
+    console.log(list, 'list')
+    return list
 }
 
-const emit = defineEmits(['selected'])
-const selectedReasons = ref([]);
-const toggleReason = (item) => {
-    const index = selectedReasons.value.indexOf(item.label);
-    if (index > -1) {
-        selectedReasons.value.splice(index, 1);
+const toggleReason = (audit, index, item) => {
+    const idx = audit.comList.indexOf(item.label)
+    
+    if (idx > -1) {
+        audit.comList.splice(idx, 1)
     } else {
-        selectedReasons.value.push(item.label);
+        audit.comList.push(item.label)
     }
+    
+    auditCommentList.value[index] = audit
+}
 
-    let data = formatReason()
-    emit('selected', data)
-};
+defineExpose({
+    formatReason
+})
 </script>
 
 <style lang="scss" scoped>
@@ -106,4 +126,8 @@ const toggleReason = (item) => {
 .selected {
     background-color: #d0e8ff;
 }
+
+.disabled {
+    background-color: #d0d0d0;
+}
 </style>

+ 25 - 19
pages/index/detail/components/BookInfo.vue

@@ -1,11 +1,13 @@
 <template>
     <view class="book-info">
-        <view class="font-bold mt-12 mb-10" style="padding: 0 20rpx">
-            {{ bookList.length }}条记录,共{{ detail.totalNum }}本,已审{{ auditNum || 0 }}本
-        </view>
-        <view class="font-light" style="padding: 0 20rpx">
-            其中已审:良好{{ getAuditCateNum(1) }}本,一般0本,极差{{ getAuditCateNum(3) }}本
-        </view>
+        <template v-if="isShow">
+            <view class="font-bold mt-12 mb-10" style="padding: 0 20rpx">
+                {{ bookList.length }}条记录,共{{ detail.totalNum }}本,已审{{ auditNum || 0 }}本
+            </view>
+            <view class="font-light" style="padding: 0 20rpx">
+                其中已审:良好{{ getAuditCateNum(1) }}本,一般0本,极差{{ getAuditCateNum(3) }}本
+            </view>
+        </template>
 
         <view class="book-info-item bg-white mt-12" :style="{ backgroundColor: item.backgroundColor }"
             v-for="item in formatList" :key="item.title" :id="item.id" v-show="item?.title">
@@ -29,6 +31,10 @@ const props = defineProps({
     detail: {
         type: Object,
         default: () => ({})
+    },
+    isShow: {
+        type: Boolean,
+        default: true
     }
 })
 
@@ -45,19 +51,19 @@ function handleBookClick(book) {
         return
     }
     //判断是否已经审核完
-    let auditNum = book.auditCommentList?.length || 0
-    if (book.num > auditNum) {
-        uni.navigateTo({
-            url: `/pages/index/detail/book-audit?isbn=${book.isbn}&orderId=${props.detail.orderId}`
-        })
-        uni.setStorageSync('auditBook', book)
-    } else {
-        uni.showToast({
-            title: '该书籍已审核完成',
-            icon: 'none'
-        })
-        uni.$u.ttsModule.speak('该书籍已审核完成')
-    }
+    // let auditNum = book.auditCommentList?.length || 0
+    // if (book.num > auditNum) {
+    uni.navigateTo({
+        url: `/pages/index/detail/book-audit?isbn=${book.isbn}&orderId=${props.detail.orderId}`
+    })
+    uni.setStorageSync('auditBook', book)
+    // } else {
+    //     uni.showToast({
+    //         title: '该书籍已审核完成',
+    //         icon: 'none'
+    //     })
+    //     uni.$u.ttsModule.speak('该书籍已审核完成')
+    // }
 }
 
 function getAuditCateNum(cate) {

+ 11 - 10
pages/index/detail/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <view class="order-detail" :class="{'fixed-bottom-2': type == 2}">
+    <view class="order-detail" :class="{ 'fixed-bottom-2': type == 2 }">
         <scroll-view class="scroller" :scroll-into-view="toView" scroll-y="true" scroll-with-animation="true">
             <view class="flex flex-a-c flex-j-b bg-white bind-audit mb-16">
                 <text>绑定审核员</text>
@@ -238,8 +238,8 @@ function getOrderDetail() {
 }
 //isbn正则校验是否符合
 function checkIsbn(isbn) {
-    let reg = /(?:[0-9]+\-?){9}[0-9X]|(?:978|979)\-?(?:[0-9]+\-?){10}/
-    if (reg.test(isbn)) {
+    const isbn13Regex = /^(?:97[89]-?\d{1,5}-?\d{1,7}-?\d{1,6}-?\d)$/;
+    if (isbn13Regex.test(isbn)) {
         return true
     }
     return false
@@ -259,16 +259,16 @@ function handleScan(isbn) {
     }
 
     let isbns = orderDetail.value.detailVoList.map(item => item.isbn)
+    console.log(isbns.includes(isbn), 'isbns')
+
     if (isbns.includes(isbn)) {
         let book = orderDetail.value.detailVoList.find(item => item.isbn == isbn)
-        if (book.num == book.auditCommentList?.length) {
-            let text = ''
-            if (book.auditCommentList.every(item => item.sts == 1)) {
-                text = `${isbn}已审核为良好`
-            }
-            uni.$u.ttsModule.speak(text)
-            return
+        console.log(orderDetail.value.detailVoList, book, 'book')
+        if (book.auditCommentList.every(item => item.sts == 1)) {
+            let text = `${isbn}已审核为良好`
+            return uni.$u.ttsModule.speak(text)
         }
+
         //扫描到套装书
         if (book.suit == 1) {
             let text = `${isbn}请注意套装书是否齐全`
@@ -295,6 +295,7 @@ function handleScan(isbn) {
 function handleScanCode() {
     uni.scanCode({
         success: (res) => {
+            console.log(typeof res.result, 'res')
             res.result && handleScan(res.result)
         },
     })

+ 2 - 3
pages/index/express/components/ExceptionItem.vue

@@ -29,7 +29,6 @@
             <u-button type="primary" text="查看物流" size="small" @click="handleCheckLogistics" />
             <approve-button v-if="order.checkStatus == 1" @approve="handleButtonClick(2)" />
             <reject-button v-if="order.checkStatus == 1" @reject="(reason) => handleButtonClick(3, reason)" />
-                <reject-button  @reject="(reason) => handleButtonClick(3, reason)" />
             <view v-if="order.checkStatus == 2" style="color: #19be6b;">[已签收]</view>
             <view v-if="order.checkStatus == 3" style="color: #f00;">[已驳回]</view>
         </view>
@@ -105,10 +104,10 @@ function handleButtonClick(checkStatus, reason) {
 
     .label {
         color: #666;
-        width: 80px;
+        width: 140rpx;
     }
 
-    .value {
+    .value{
         color: #333;
         flex: 1;
     }

+ 19 - 9
pages/index/wms/bad-in.vue

@@ -90,9 +90,15 @@ function getDetailByCode(code) {
         if (res.code == 200) {
             ordersMap.value.unshift(res.data)
             codeMap.value.push(code)
+        } else if (res.code == 601) {
+            uni.$u.ttsModule.speak(res.msg)
+            uni.showModal({
+                title: '提示',
+                content: res.msg,
+                showCancel: false,
+            })
         } else {
             uni.$u.toast(res.msg)
-            uni.$u.ttsModule.speak(res.msg)
         }
     })
 }
@@ -104,15 +110,19 @@ const currentEditIndex = ref(-1)
 
 // 方法定义
 const goBack = () => {
-    uni.showModal({
-        title: '退出确认',
-        content: '是否确认放弃本次入库?',
-        success: (res) => {
-            if (res.confirm) {
-                uni.navigateBack();
+    if (ordersMap.value.length > 0) {
+        uni.showModal({
+            title: '退出确认',
+            content: '是否确认放弃本次入库?',
+            success: (res) => {
+                if (res.confirm) {
+                    uni.navigateBack();
+                }
             }
-        }
-    })
+        })
+    } else {
+        uni.navigateBack();
+    }
 };
 
 const onSubmit = () => {

+ 75 - 46
pages/index/wms/bad-out-order.vue

@@ -47,6 +47,7 @@ import { ref, onMounted } from 'vue'
 import BadOutCard from './components/BadOutCard.vue'
 import RemarkDialog from './components/RemarkDialog.vue';
 import VolumeTTS from '@/utils/VolumeTTS.js';
+import { onLoad } from '@dcloudio/uni-app'
 
 const ttsModule = ref(null)
 // 搜索文本
@@ -54,54 +55,59 @@ const searchText = ref('')
 
 // 位置信息
 const locationInfo = ref({
-    location: 'K01-01-1A',
-    logisticsNo: 'DPK20232154221',
-    orderNo: '7516531',
-    goodsCount: '10',
+    location: '',
+    logisticsNo: '',
+    orderNo: '',
+    goodsCount: '',
     remark: ''
 })
 
 // 极差商品列表
-const badList = ref([
-    {
-        image: 'https://img20.360buyimg.com/da/jfs/t1/141592/25/8861/261559/5f68d8c1E33ed78ab/698ad655bfcfbaed.png',
-        title: '公文写作教程',
-        isbn: '978704051555',
-        price: 49.5,
-        discount: 0.85,
-        quantity: 5,
-        set: '不是',
-        estimate: 4.11,
-        review: 0,
-        good: 0,
-        average: 0,
-        bad: 1,
-        reason: '明显泛黄水印/发霉/明显异味'
-    },
-    {
-        image: 'https://img20.360buyimg.com/da/jfs/t1/141592/25/8861/261559/5f68d8c1E33ed78ab/698ad655bfcfbaed.png',
-        title: '公文写作教程',
-        isbn: '978704051555',
-        price: 49.5,
-        discount: 0.85,
-        quantity: 5,
-        set: '不是',
-        estimate: 4.11,
-        review: 0,
-        good: 0,
-        average: 0,
-        bad: 1,
-        reason: '明显泛黄水印/发霉/明显异味'
-    }
-])
+const badList = ref([])
 
-onMounted(() => {
+onLoad((options) => {
+    if (options.searchText) {
+        searchText.value = options.searchText
+        onSearch()
+    }
     ttsModule.value = new VolumeTTS()
 })
 
+// 判断搜索类型
+const getSearchType = (text) => {
+    // 这里可以根据实际业务逻辑调整判断条件
+    // 假设订单号都是纯数字,物流号包含字母
+    return /^[0-9]+$/.test(text) ? 1 : 2
+}
+
 // 搜索处理
-const onSearch = () => {
-    // 实现搜索逻辑
+const onSearch = async () => {
+    if (!searchText.value) return
+
+    try {
+        const searchType = getSearchType(searchText.value)
+        const { data } = await uni.$u.http.post('/app/stock/findOrderOutStock', {
+            search: searchText.value,
+            searchType: searchType
+        })
+
+        if (data) {
+            // 更新页面数据
+            locationInfo.value = {
+                location: data.location || '',
+                logisticsNo: data.logisticsNo || '',
+                orderNo: data.orderNo || '',
+                goodsCount: data.goodsCount || '',
+                remark: data.remark || ''
+            }
+            badList.value = data.badList || []
+        }
+    } catch (error) {
+        uni.showToast({
+            title: '获取数据失败',
+            icon: 'none'
+        })
+    }
 }
 
 // 打开扫码
@@ -134,14 +140,37 @@ const onConfirm = () => {
     uni.showModal({
         title: '确认提示',
         content: '是否确认出库?',
-        success: (res) => {
+        success: async (res) => {
             if (res.confirm) {
-                // 处理确认出库逻辑
-                uni.showToast({
-                    title: '出库成功',
-                    icon: 'success'
-                })
-                ttsModule.value.speak('出库成功')
+                try {
+                    await uni.$u.http.post('/app/stock/outStock', {
+                        orderId: locationInfo.value.orderNo,
+                        positionCode: locationInfo.value.location,
+                        outputRemark: locationInfo.value.remark
+                    })
+
+                    uni.showToast({
+                        title: '出库成功',
+                        icon: 'success'
+                    })
+                    ttsModule.value.speak('出库成功')
+
+                    // 清空数据
+                    searchText.value = ''
+                    locationInfo.value = {
+                        location: '',
+                        logisticsNo: '',
+                        orderNo: '',
+                        goodsCount: '',
+                        remark: ''
+                    }
+                    badList.value = []
+                } catch (error) {
+                    uni.showToast({
+                        title: '出库失败',
+                        icon: 'none'
+                    })
+                }
             }
         }
     })

+ 22 - 23
pages/index/wms/bad-out.vue

@@ -2,13 +2,13 @@
     <view class="container flex-d h100">
         <!-- 库位列表 -->
         <view class="location-list flex-1">
-           <view class="no-data flex-c mt-60">请输入快递单号/订单编号</view>
+            <view class="no-data flex-c mt-60">请输入快递单号/订单编号</view>
         </view>
 
         <!-- 底部搜索框 -->
         <view class="pad-20 flex-a" style="background: #ffffff;">
             <u-search v-model="searchText" placeholder="请输入库位条码" :show-action="false" :clearabled="true"
-                @change="onSearch" height="40"  @click="searchText = ''">
+                @change="onSearch" height="40" @click="searchText = ''">
             </u-search>
             <u-icon name="scan" size="28" color="#19be6b" @click="openScan"></u-icon>
         </view>
@@ -31,27 +31,26 @@ const onSearch = () => {
 
 // 打开扫码
 const openScan = () => {
-  // #ifdef APP-PLUS || MP-WEIXIN
-  uni.scanCode({
-    success: (res) => {
-      searchText.value = res.result
-      onSearch()
-    },
-    fail: (err) => {
-      uni.showToast({
-        title: '扫码失败',
-        icon: 'error'
-      })
-    }
-  })
-  // #endif
+    // #ifdef APP-PLUS || MP-WEIXIN
+    uni.scanCode({
+        success: (res) => {
+            searchText.value = res.result
+            onSearch()
+        },
+        fail: (err) => {
+            uni.showToast({
+                title: '扫码失败',
+                icon: 'error'
+            })
+        }
+    })
+    // #endif
 
-  // #ifdef H5
-  uni.showToast({
-    title: 'H5环境不支持扫码',
-    icon: 'none'
-  })
-  // #endif
+    // #ifdef H5
+    uni.showToast({
+        title: 'H5环境不支持扫码',
+        icon: 'none'
+    })
+    // #endif
 }
 </script>
-

+ 17 - 9
pages/index/wms/components/LocationOrderItem.vue

@@ -4,23 +4,23 @@
             <view class="order-info">
                 <view class="info-row">
                     <text class="label">订单编号:</text>
-                    <text class="value">{{ item.orderNo }}</text>
+                    <text class="value">{{ item.orderId }}</text>
                 </view>
                 <view class="info-row">
                     <text class="label">不良数量:</text>
-                    <text class="value">{{ item.badCount }}</text>
+                    <text class="value">{{ item.badNum }}</text>
                 </view>
                 <view class="info-row">
                     <text class="label">物流单号:</text>
-                    <text class="value">{{ item.logisticsNo }}</text>
+                    <text class="value">{{ item.waybillCode }}</text>
                 </view>
                 <view class="info-row">
                     <text class="label">验货完成日期:</text>
-                    <text class="value">{{ item.inspectionDate }}</text>
+                    <text class="value">{{ item.auditFinishTime }}</text>
                 </view>
                 <view class="info-row">
                     <text class="label">录入人:</text>
-                    <text class="value">{{ item.operator }}</text>
+                    <text class="value">{{ item.auditUserName }}</text>
                 </view>
             </view>
 
@@ -30,9 +30,10 @@
                     :color="item.checked ? '#19be6b' : '#c8c9cc'" size="28" @click="toggleSelect"></u-icon>
             </view>
 
-            <navigator v-else :url="item.jumpUrl" hover-class="none" class="quick-jump">
-                <u-icon name="arrow-rightward" color="#2979ff" size="20"></u-icon>
-            </navigator>
+            <view class="flex flex-d flex-a-c flex-j-c quick-jump" @click="handleQuickJump">
+                <image src="/static/img/share.png" mode="widthFix" style="width: 30px;"></image>
+                <text style="font-size: 28rpx;color: #19be6b;">快速跳转</text>
+            </view>
         </view>
     </view>
 </template>
@@ -56,6 +57,12 @@ const emit = defineEmits(['select'])
 const toggleSelect = () => {
     emit('select', props.item)
 }
+
+const handleQuickJump = () => {
+    uni.navigateTo({
+        url: `/pages/index/wms/order-query-list?id=${props.item.orderId}`
+    })
+}
 </script>
 
 <style lang="scss" scoped>
@@ -63,6 +70,7 @@ const toggleSelect = () => {
     background-color: #ffffff;
     padding: 20rpx;
     border-bottom: 1px solid #eee;
+    margin-top: 20rpx;
 }
 
 .order-header {
@@ -89,7 +97,7 @@ const toggleSelect = () => {
 .label {
     color: #666;
     margin-right: 16rpx;
-    min-width: 160rpx;
+    min-width: 180rpx;
 }
 
 .value {

+ 33 - 2
pages/index/wms/good-in.vue

@@ -1,3 +1,34 @@
 <template>
-	<view>1</view>
-</template>
+	<view class="container">
+		<!-- 开发中提示 -->
+		<view class="developing">
+			<text>开发中</text>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'GoodIn'
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	min-height: 100vh;
+	background-color: #f5f5f5;
+}
+
+.developing {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	height: 200px;
+    background: #ffffff;
+	
+	text {
+		font-size: 16px;
+		color: #999;
+	}
+}
+</style>

+ 130 - 0
pages/index/wms/location-order-list.vue

@@ -0,0 +1,130 @@
+<template>
+    <view class="container">
+        <view class="header">
+            <view class="flex-d">
+                <text>仓库: {{ detail.godownName }}</text>
+                <text class="mt-16">库位编号: {{ detail.positionCode }}</text>
+                <text class="mt-16">订单数量: {{ originList.length }}</text>
+            </view>
+        </view>
+
+        <view class="product-details">
+            <LocationOrderItem v-for="(item, index) in orderList" :key="index" :item="item" />
+        </view>
+
+        <!-- 底部扫码输入框 -->
+        <view class="fixed-bottom pad-20" style="background: #ffffff;">
+            <u-search placeholder="请输入快递单号/订单编号" :searchIconSize="24" bgColor="#f6f7f6"
+                @search="onSearch" v-model="orderCode" :clearabled="true" :focus="false"
+                :showAction="false" :height="42"></u-search>
+
+            <u-icon name="scan" size="36" color="#19be6b" @click="openScan"></u-icon>
+        </view>
+    </view>
+</template>
+
+<script setup>
+import {
+    reactive,
+    ref
+} from 'vue'
+import {
+    onLoad
+} from '@dcloudio/uni-app'
+import LocationOrderItem from './components/LocationOrderItem.vue'
+
+const orderCode = ref('')
+const originList = ref([])
+const orderList = ref([])
+
+//根据库位编号查询订单
+const detail = ref({})
+const getOrderListByPositionCode = (positionCode) => {
+    uni.$u.http.get('/app/stock/getOrderByPositionCode?positionCode=' + positionCode).then(res => {
+        if (res.code == 200) {
+            detail.value = res.data
+            orderList.value = res.data.godownStockLogResults
+            originList.value = res.data.godownStockLogResults
+            if (originList.value.length > 0) {
+                uni.$u.ttsModule.speak('查询到' + originList.value.length + '条订单')
+            } else {
+                uni.$u.toast('暂无订单')
+                uni.$u.ttsModule.speak('暂无订单')
+            }
+        } else {
+            uni.$u.toast(res.msg)
+            uni.$u.ttsModule.speak(res.msg)
+        }
+    })
+}
+
+const onSearch = () => {
+    if (!orderCode.value) {
+        orderList.value = originList.value
+        uni.$u.toast('请输入订单号或物流单号')
+        return
+    }
+
+    // 判断是否为纯数字字符串(订单号)
+    const searchValue = String(orderCode.value).trim()
+    const isNumeric = /^[0-9]+$/.test(searchValue)
+
+    // 在orderList中搜索
+    const result = originList.value.filter(item => {
+        if (isNumeric) {
+            // 如果是纯数字,按orderId搜索
+            return item.orderId === orderCode.value
+        } else {
+            // 非纯数字,按物流单号搜索
+            return item.waybillCode === orderCode.value
+        }
+    })
+
+    orderList.value = result
+}
+
+function openScan() {
+    uni.scanCode({
+        success: (res) => {
+            orderCode.value = res.result
+            onSearch()
+        }
+    })
+}
+
+onLoad((options) => {
+    if (options.positionCode) {
+        getOrderListByPositionCode(options.positionCode)
+    }
+
+    // #ifdef APP-PLUS
+    uni.$u.useGlobalEvent((e) => {
+        if (e.barcode) {
+            orderCode.value = res.result
+            onSearch()
+        }
+    })
+    // #endif
+})
+</script>
+
+<style lang="scss" scoped>
+.header {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    background-color: #ffffff;
+}
+
+.status {
+    color: green;
+}
+
+
+.log-item {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    border-bottom: 1px solid #e0e0e0;
+}
+</style>

+ 32 - 51
pages/index/wms/location-order.vue

@@ -1,73 +1,54 @@
 <template>
     <view class="container">
-        <view class="header">
-            <view class="flex-d">
-                <text>仓库: 河南仓</text>
-                <text class="mt-16">库位编号: {{ location }}</text>
-                <text class="mt-16">订单数量: 3</text>
-            </view>
-        </view>
-
-        <view class="product-details">
-            <LocationOrderItem v-for="(item, index) in products" :key="index" :item="item" />
-        </view>
-
         <!-- 底部扫码输入框 -->
         <view class="fixed-bottom pad-20" style="background: #ffffff;">
-            <u-search placeholder="请输入快递单号/订单编号" v-model="searchValue" @confirm="onSearch" :show-action="false"
-                custom-style="margin-right:10px"></u-search>
-            <u-icon name="scan" size="28" color="#19be6b" @click="openScan"></u-icon>
+            <u-search placeholder="请输入库位编号" :searchIconSize="24" bgColor="#f6f7f6" @search="onSearch"
+                v-model="positionCode" :clearabled="true" :focus="false" :showAction="false" :height="42"></u-search>
+
+            <u-icon name="scan" size="32" color="#19be6b" @click="openScan"></u-icon>
         </view>
     </view>
 </template>
 
 <script setup>
 import {
-    reactive,
     ref
 } from 'vue'
-import LocationOrderItem from './components/LocationOrderItem.vue'
-
-const location = 'K01-01-1A'
-const searchValue = ref('')
-
-const products = ref([{
-    orderNo: '978704051555',
-    logisticsNo: "SFUS98218323132131",
-    inspectionDate: "2023-01-01",
-    badCount: 5,
-    operator: '张三',
-},
-{
-    orderNo: '978704051555',
-    logisticsNo: "SFUS98218323132131",
-    inspectionDate: "2023-01-01",
-    badCount: 5,
-    operator: '张三',
-}
-])
+import {
+    onLoad
+} from '@dcloudio/uni-app'
 
-const operationLogs = ref([
-    // Example log data
-    {
-        date: '2024-01-12 14:18:01',
-        user: '张张张',
-        action: '提交出库'
-    },
-    {
-        date: '2024-01-12 14:18:01',
-        user: '张张张',
-        action: '提交入库'
-    }
-])
+const positionCode = ref('')
 
 const onSearch = () => {
-    // Implement search logic here
+    if (positionCode.value) {
+        uni.navigateTo({
+            url: '/pages/index/wms/location-order-list?positionCode=' + positionCode.value
+        })
+    } else {
+        uni.$u.toast('请输入库位编号')
+    }
 }
 
 function openScan() {
-
+    uni.scanCode({
+        success: (res) => {
+            positionCode.value = res.result
+            onSearch()
+        }
+    })
 }
+
+onLoad(() => {
+    // #ifdef APP-PLUS
+    uni.$u.useGlobalEvent((e) => {
+        if (e.barcode) {
+            positionCode.value = e.barcode
+            onSearch()
+        }
+    })
+    // #endif
+})
 </script>
 
 <style lang="scss" scoped>

+ 33 - 2
pages/index/wms/medium-in.vue

@@ -1,3 +1,34 @@
 <template>
-	<view>1</view>
-</template>
+	<view class="container">
+		<!-- 开发中提示 -->
+		<view class="developing">
+			<text>开发中</text>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'GoodIn'
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	min-height: 100vh;
+	background-color: #f5f5f5;
+}
+
+.developing {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	height: 200px;
+    background: #ffffff;
+	
+	text {
+		font-size: 16px;
+		color: #999;
+	}
+}
+</style>

+ 149 - 0
pages/index/wms/order-query-list.vue

@@ -0,0 +1,149 @@
+<template>
+    <view class="container">
+        <view class="header" v-if="detail.orderId">
+            <view class="flex-d">
+                <text>订单编号: {{ detail.orderId }}</text>
+                <text class="mt-16">库位: {{ detail.positionCode }}</text>
+            </view>
+            <view class="status">
+                <text>{{ detail.stockStatus == 1 ? '已入库' : '已出库' }}</text>
+            </view>
+        </view>
+
+        <view style="background-color: #ffffff" class="pad-5 mt-20" v-if="detail.orderId">
+            <u-tabs :list="list1" v-model="activeTab" :itemStyle="{ height: '44px', width: '48%' }"
+                @change="handleTabChange"></u-tabs>
+
+            <view v-if="activeTab === 0" class="product-details">
+                <BookInfo :bookList="detail.detailVoList" :detail="detail" :isShow="false" />
+            </view>
+            <view v-else class="operation-logs mt-20">
+                <view v-for="(log, index) in operationLogs" :key="index" class="log-item">
+                    <text>{{ log.createTime }}</text>
+                    <text>{{ log.createName }}</text>
+                    <text>{{ log.content }}</text>
+                </view>
+            </view>
+        </view>
+
+        <!-- 底部扫码输入框 -->
+        <view class="fixed-bottom pad-20" style="background: #ffffff;">
+            <u-search placeholder="请输入快递单号/订单编号" :searchIconSize="24" bgColor="#f6f7f6"
+                    @search="orderQuery" v-model="query.search" custom-style="font-size:32rpx"
+                    placeholder-style="font-size:32rpx" :clearabled="true" :focus="false" :showAction="false"
+                    :height="42"></u-search>
+            <u-icon name="scan" size="34" color="#19be6b" @click="openScan"></u-icon>
+        </view>
+    </view>
+</template>
+
+<script setup>
+import {
+    reactive,
+    ref
+} from 'vue'
+import { onLoad } from '@dcloudio/uni-app'
+import BookInfo from '../detail/components/BookInfo.vue'
+
+const list1 = reactive([{
+    name: '商品明细'
+}, {
+    name: "操作记录"
+}])
+
+const activeTab = ref(0)
+
+const query = reactive({
+    searchType: 2,
+    search: ''
+})
+
+// 判断搜索类型
+const determineSearchType = (search) => {
+    // 判断是否为纯数字的字符串
+    const isNumberString = /^\d+$/.test(search.toString())
+    return isNumberString ? 1 : 2
+}
+
+//订单查询 /app/stock/findOrder
+const detail = ref({})
+const orderQuery = () => {
+    if (!query.search) {
+        uni.$u.toast('请输入快递单号/订单编号')
+        uni.$u.ttsModule.speak('请输入快递单号/订单编号')
+        return
+    }
+    // 设置搜索类型
+    query.searchType = determineSearchType(query.search)
+    
+    uni.$u.http.get('/app/stock/findOrder', { params: query }).then(res => {
+        if (res.code == 200) {
+            detail.value = res.data
+            uni.$u.ttsModule.speak('查询成功')
+            getOperationLogs(res.data.orderId)
+        } else {
+            uni.$u.toast(res.msg)
+            uni.$u.ttsModule.speak(res.msg)
+        }
+    })
+}
+//获取操作记录
+const operationLogs = ref([])
+const getOperationLogs = (orderId) => {
+    uni.$u.http.get('/app/stock/getGodownStocklog', {params: {orderId}}).then(res => {
+        if(res.code == 200){
+            operationLogs.value = res.data
+        }
+    })
+}
+
+
+function handleTabChange(tab) {
+    activeTab.value = tab.index
+}
+
+
+function openScan() {
+    uni.scanCode({
+        success: (res) => {
+            query.search = res.result
+            orderQuery()
+        }
+    })
+}
+
+onLoad((options) => {
+    if(options.id){
+        query.search = options.id
+        orderQuery()
+    }
+     // #ifdef APP-PLUS
+     uni.$u.useGlobalEvent((e) => {
+        if (e.barcode) {
+            getDetailByCode(e.barcode)
+        }
+    })
+    // #endif
+})
+</script>
+
+<style lang="scss" scoped>
+.header {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    background-color: #ffffff;
+}
+
+.status {
+    color: green;
+}
+
+
+.log-item {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    border-bottom: 1px solid #e0e0e0;
+}
+</style>

+ 69 - 126
pages/index/wms/order-query.vue

@@ -1,134 +1,77 @@
 <template>
-	<view class="container">
-		<view class="header">
-			<view class="flex-d">
-				<text>订单编号: {{ orderNumber }}</text>
-				<text class="mt-16">库位: {{ location }}</text>
-			</view>
-			<view class="status">
-				<text>已出库</text>
-			</view>
-		</view>
-
-		<view style="background-color: #ffffff" class="pad-5 mt-20">
-			<u-tabs :list="list1" v-model="activeTab" :itemStyle="{height:'44px',width:'48%'}"
-				@change="handleTabChange"></u-tabs>
-		</view>
-
-		<view v-if="activeTab === 0" class="product-details">
-			<bad-out-card v-for="(item, index) in products" :key="index" :item="item" />
-		</view>
-		<view v-else class="operation-logs mt-20">
-			<view v-for="(log, index) in operationLogs" :key="index" class="log-item">
-				<text>{{ log.date }}</text>
-				<text>{{ log.user }}</text>
-				<text>{{ log.action }}</text>
-			</view>
-		</view>
-
-		<!-- 底部扫码输入框 -->
-		<view class="fixed-bottom pad-20" style="background: #ffffff;">
-			<u-search placeholder="请输入快递单号/订单编号" v-model="searchValue" @confirm="onSearch" :show-action="false"
-				custom-style="margin-right:10px"></u-search>
-			<u-icon name="scan" size="28" color="#19be6b" @click="openScan"></u-icon>
-		</view>
-	</view>
+    <view class="container">
+        
+        <!-- 底部扫码输入框 -->
+        <view class="fixed-bottom pad-20" style="background: #ffffff;">
+            <u-search placeholder="请输入快递单号/订单编号" :searchIconSize="24" bgColor="#f6f7f6"
+                    @search="orderQuery" v-model="query.search" custom-style="font-size:32rpx"
+                    placeholder-style="font-size:32rpx" :clearabled="true" :focus="false" :showAction="false"
+                    :height="42"></u-search>
+            <u-icon name="scan" size="34" color="#19be6b" @click="openScan"></u-icon>
+        </view>
+    </view>
 </template>
 
 <script setup>
-	import {
-		reactive,
-		ref
-	} from 'vue'
-	import BadOutCard from './components/BadOutCard.vue'
-
-	const list1 = reactive([{
-		name: '商品明细'
-	}, {
-		name: "操作记录"
-	}])
-
-	const orderNumber = '4654114'
-	const location = 'K01-01-1A'
-	const activeTab = ref(0)
-	const searchValue = ref('')
-
-	const products = ref([{
-			image: 'https://img20.360buyimg.com/da/jfs/t1/141592/25/8861/261559/5f68d8c1E33ed78ab/698ad655bfcfbaed.png',
-			title: '公文写作教程',
-			isbn: '978704051555',
-			price: 49.5,
-			discount: 0.85,
-			quantity: 5,
-			set: '不是',
-			estimate: 4.11,
-			review: 0,
-			good: 0,
-			average: 0,
-			bad: 1,
-			reason: '明显泛黄水印/发霉/明显异味'
-		},
-		{
-			image: 'https://img20.360buyimg.com/da/jfs/t1/141592/25/8861/261559/5f68d8c1E33ed78ab/698ad655bfcfbaed.png',
-			title: '公文写作教程',
-			isbn: '978704051555',
-			price: 49.5,
-			discount: 0.85,
-			quantity: 5,
-			set: '不是',
-			estimate: 4.11,
-			review: 0,
-			good: 0,
-			average: 0,
-			bad: 1,
-			reason: '明显泛黄水印/发霉/明显异味'
-		}
-	])
-
-	const operationLogs = ref([
-		// Example log data
-		{
-			date: '2024-01-12 14:18:01',
-			user: '张张张',
-			action: '提交出库'
-		},
-		{
-			date: '2024-01-12 14:18:01',
-			user: '张张张',
-			action: '提交入库'
-		}
-	])
-
-	function handleTabChange(tab) {
-		activeTab.value = tab.index
-	}
-
-	const onSearch = () => {
-		// Implement search logic here
-	}
-
-	function openScan() {
-
-	}
+import {
+    reactive,
+    ref
+} from 'vue'
+import { onLoad } from '@dcloudio/uni-app'
+
+const query = reactive({
+    searchType: 2,
+    search: ''
+})
+//订单查询 /app/stock/findOrder
+const orderQuery = () => {
+    if (!query.search) {
+        uni.$u.toast('请输入快递单号/订单编号')
+        return
+    }
+    uni.navigateTo({
+        url: `/pages/index/wms/order-query-list?id=${query.search}`
+    })
+}
+
+function openScan() {
+    uni.scanCode({
+        success: (res) => {
+            query.search = res.result
+            orderQuery()
+        }
+    })
+}
+
+onLoad(() => {
+     // #ifdef APP-PLUS
+     uni.$u.useGlobalEvent((e) => {
+        if (e.barcode) {
+            query.search = e.barcode
+            orderQuery()
+        }
+    })
+    // #endif
+})
 </script>
 
 <style lang="scss" scoped>
-	.header {
-		display: flex;
-		justify-content: space-between;
-		padding: 20rpx 30rpx;
-		background-color: #ffffff;
-	}
-
-	.status {
-		color: green;
-	}
-
-
-	.log-item {
-		display: flex;
-		justify-content: space-between;
-		padding: 20rpx 30rpx;
-		border-bottom: 1px solid #e0e0e0;
-	}
+.header {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    background-color: #ffffff;
+}
+
+.status {
+    color: green;
+}
+
+
+.log-item {
+    display: flex;
+    justify-content: space-between;
+    padding: 20rpx 30rpx;
+    border-bottom: 1px solid #e0e0e0;
+}
 </style>

+ 33 - 2
pages/index/wms/secondary-in.vue

@@ -1,3 +1,34 @@
 <template>
-	<view>1</view>
-</template>
+	<view class="container">
+		<!-- 开发中提示 -->
+		<view class="developing">
+			<text>开发中</text>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	name: 'GoodIn'
+}
+</script>
+
+<style lang="scss" scoped>
+.container {
+	min-height: 100vh;
+	background-color: #f5f5f5;
+}
+
+.developing {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	height: 200px;
+    background: #ffffff;
+	
+	text {
+		font-size: 16px;
+		color: #999;
+	}
+}
+</style>

BIN
static/img/share.png


+ 3 - 3
uni_modules/uview-plus/components/u-search/u-search.vue

@@ -223,17 +223,17 @@
 @import "../../libs/css/components.scss";
 $u-search-content-padding: 0 10px !default;
 $u-search-label-color: $u-main-color !default;
-$u-search-label-font-size: 14px !default;
+$u-search-label-font-size: 16px !default;
 $u-search-label-margin: 0 4px !default;
 $u-search-close-size: 20px !default;
 $u-search-close-radius: 100px !default;
 $u-search-close-bgColor: #C6C7CB !default;
 $u-search-close-transform: scale(0.82) !default;
-$u-search-input-font-size: 14px !default;
+$u-search-input-font-size: 16px !default;
 $u-search-input-margin: 0 5px !default;
 $u-search-input-color: $u-main-color !default;
 $u-search-input-placeholder-color: $u-tips-color !default;
-$u-search-action-font-size: 14px !default;
+$u-search-action-font-size: 16px !default;
 $u-search-action-color: $u-main-color !default;
 $u-search-action-width: 0 !default;
 $u-search-action-active-width: 40px !default;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/app-config-service.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/app-service.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/app.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/book/index.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/confirm-receipt.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/express-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/isbn-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/scan-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/audit/sender.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/batch-audit.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/book-audit.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/detail/index.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/entry/book-weight.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/entry/scan-book.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/logistics-detail.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/quick-check.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/quick-unpack.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/route-exception.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/transfer-sign.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/warehouse-sign.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/express/weight-modify.css


+ 1 - 1
unpackage/cache/wgt/__UNI__65C1C73/pages/index/index.css

@@ -1 +1 @@
-.operation-container[data-v-f0bf2d75]{padding:.625rem;box-sizing:border-box}.section[data-v-f0bf2d75]{margin-bottom:.9375rem;background:#fff;border-radius:.5rem;padding:.625rem;box-shadow:0 .0625rem .375rem rgba(0,0,0,.05)}.section .section-title[data-v-f0bf2d75]{font-size:1.5625rem;font-weight:600;color:#333;padding:.625rem;padding-top:0;border-bottom:.0625rem solid #f0f0f0;margin-bottom:.625rem}.section .grid-container[data-v-f0bf2d75]{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:.3125rem}.section .grid-container .grid-item[data-v-f0bf2d75]{min-height:4.625rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:.625rem .9375rem;line-height:1.875rem;font-size:1.5625rem;border-radius:.375rem;color:#fff;transition:all .3s;white-space:pre-wrap}.section .grid-container .grid-item.primary[data-v-f0bf2d75]{background:linear-gradient(135deg,#4cd964,#3ac555)}.section .grid-container .grid-item.primary[data-v-f0bf2d75]:active{background:linear-gradient(135deg,#3ac555,#2fb548)}.section .grid-container .grid-item.warning[data-v-f0bf2d75]{background:linear-gradient(135deg,#ff9500,#ff8000)}.section .grid-container .grid-item.warning[data-v-f0bf2d75]:active{background:linear-gradient(135deg,#ff8000,#e67300)}.section .grid-container .grid-item[data-v-f0bf2d75]:active{transform:scale(.98)}
+.operation-container[data-v-238d40be]{padding:.625rem;box-sizing:border-box}.section[data-v-238d40be]{margin-bottom:.9375rem;background:#fff;border-radius:.5rem;padding:.625rem;box-shadow:0 .0625rem .375rem rgba(0,0,0,.05)}.section .section-title[data-v-238d40be]{font-size:1.5625rem;font-weight:600;color:#333;padding:.625rem;padding-top:0;border-bottom:.0625rem solid #f0f0f0;margin-bottom:.625rem}.section .grid-container[data-v-238d40be]{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:.3125rem}.section .grid-container .grid-item[data-v-238d40be]{min-height:4.625rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:.625rem .9375rem;line-height:1.875rem;font-size:1.5625rem;border-radius:.375rem;color:#fff;transition:all .3s;white-space:pre-wrap}.section .grid-container .grid-item.primary[data-v-238d40be]{background:linear-gradient(135deg,#4cd964,#3ac555)}.section .grid-container .grid-item.primary[data-v-238d40be]:active{background:linear-gradient(135deg,#3ac555,#2fb548)}.section .grid-container .grid-item.warning[data-v-238d40be]{background:linear-gradient(135deg,#ff9500,#ff8000)}.section .grid-container .grid-item.warning[data-v-238d40be]:active{background:linear-gradient(135deg,#ff8000,#e67300)}.section .grid-container .grid-item[data-v-238d40be]:active{transform:scale(.98)}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/offline/check-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/offline/check-record.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/after-sale.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/audit.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/statistic/package.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-in.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-out-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/bad-out.css


+ 1 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/good-in.css

@@ -0,0 +1 @@
+.container[data-v-feb20296]{min-height:100vh;background-color:#f5f5f5}.developing[data-v-feb20296]{display:flex;justify-content:center;align-items:center;height:200px;background:#fff}.developing uni-text[data-v-feb20296]{font-size:16px;color:#999}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-order-list.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/location-select.css


+ 1 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/medium-in.css

@@ -0,0 +1 @@
+.container[data-v-c51d8b68]{min-height:100vh;background-color:#f5f5f5}.developing[data-v-c51d8b68]{display:flex;justify-content:center;align-items:center;height:200px;background:#fff}.developing uni-text[data-v-c51d8b68]{font-size:16px;color:#999}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/order-query-list.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/order-query.css


+ 1 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/secondary-in.css

@@ -0,0 +1 @@
+.container[data-v-a34069c4]{min-height:100vh;background-color:#f5f5f5}.developing[data-v-a34069c4]{display:flex;justify-content:center;align-items:center;height:200px;background:#fff}.developing uni-text[data-v-a34069c4]{font-size:16px;color:#999}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/speedy-check-add.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/speedy-check.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/task-detail.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/index/wms/warehouse-select.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/login/login.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/audit-unfinished.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/book-display.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/password.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/school.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/user-info.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/my/page/volume.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/wgt/__UNI__65C1C73/pages/order/index.css


+ 8 - 2
unpackage/cache/wgt/__UNI__65C1C73/static/css/common.scss

@@ -266,7 +266,7 @@ view{
 	font-weight: 500;
 	font-size: 13px;
 	color: #666666;
-	line-height: 24px;
+	line-height: 20px;
 	text-align: left;
 }
 
@@ -330,7 +330,13 @@ view{
 	}
 }
 .color-primary{
-	color: #707bce !important;
+	color: #1684fc !important;
+}
+.color-green{
+	color: #22ac38 !important;
+}
+.color-red{
+	color: #c5493e !important;
 }
 
 .team-title {

BIN
unpackage/cache/wgt/__UNI__65C1C73/static/img/share.png


BIN
unpackage/debug/android_debug.apk


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/app-config-service.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/app-service.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/app.css


+ 20 - 14
unpackage/dist/build/app-plus/manifest.json

@@ -66,6 +66,12 @@
           "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
           "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
           "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>"
+        ],
+        "minSdkVersion": 23,
+        "abiFilters": [
+          "armeabi-v7a",
+          "arm64-v8a",
+          "x86"
         ]
       },
       "apple": {
@@ -84,20 +90,6 @@
       }
     },
     "nativePlugins": {
-      "nrb-tts-plugin": {
-        "__plugin_info__": {
-          "name": "语音合成TTS - [试用版,仅用于自定义调试基座]",
-          "description": "原生语音合成TTS",
-          "platforms": "Android,iOS",
-          "url": "https://ext.dcloud.net.cn/plugin?id=4133",
-          "android_package_name": "",
-          "ios_bundle_id": "",
-          "isCloud": true,
-          "bought": 0,
-          "pid": "4133",
-          "parameters": {}
-        }
-      },
       "iData-BarcodePlugin": {
         "__plugin_info__": {
           "name": "iData条码扫描插件",
@@ -111,6 +103,20 @@
           "pid": "3898",
           "parameters": {}
         }
+      },
+      "nrb-tts-plugin": {
+        "__plugin_info__": {
+          "name": "语音合成TTS",
+          "description": "原生语音合成TTS",
+          "platforms": "Android,iOS",
+          "url": "https://ext.dcloud.net.cn/plugin?id=4133",
+          "android_package_name": "com.wk.pds",
+          "ios_bundle_id": "",
+          "isCloud": true,
+          "bought": 1,
+          "pid": "4133",
+          "parameters": {}
+        }
       }
     },
     "statusbar": {

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/book/index.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/audit/confirm-receipt.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/audit/express-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/audit/isbn-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/audit/scan-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/audit/sender.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/detail/batch-audit.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/detail/book-audit.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/detail/index.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/entry/book-weight.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/entry/scan-book.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/logistics-detail.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/quick-check.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/quick-unpack.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/route-exception.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/transfer-sign.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/warehouse-sign.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/express/weight-modify.css


+ 1 - 1
unpackage/dist/build/app-plus/pages/index/index.css

@@ -1 +1 @@
-.operation-container[data-v-f0bf2d75]{padding:.625rem;box-sizing:border-box}.section[data-v-f0bf2d75]{margin-bottom:.9375rem;background:#fff;border-radius:.5rem;padding:.625rem;box-shadow:0 .0625rem .375rem rgba(0,0,0,.05)}.section .section-title[data-v-f0bf2d75]{font-size:1.5625rem;font-weight:600;color:#333;padding:.625rem;padding-top:0;border-bottom:.0625rem solid #f0f0f0;margin-bottom:.625rem}.section .grid-container[data-v-f0bf2d75]{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:.3125rem}.section .grid-container .grid-item[data-v-f0bf2d75]{min-height:4.625rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:.625rem .9375rem;line-height:1.875rem;font-size:1.5625rem;border-radius:.375rem;color:#fff;transition:all .3s;white-space:pre-wrap}.section .grid-container .grid-item.primary[data-v-f0bf2d75]{background:linear-gradient(135deg,#4cd964,#3ac555)}.section .grid-container .grid-item.primary[data-v-f0bf2d75]:active{background:linear-gradient(135deg,#3ac555,#2fb548)}.section .grid-container .grid-item.warning[data-v-f0bf2d75]{background:linear-gradient(135deg,#ff9500,#ff8000)}.section .grid-container .grid-item.warning[data-v-f0bf2d75]:active{background:linear-gradient(135deg,#ff8000,#e67300)}.section .grid-container .grid-item[data-v-f0bf2d75]:active{transform:scale(.98)}
+.operation-container[data-v-238d40be]{padding:.625rem;box-sizing:border-box}.section[data-v-238d40be]{margin-bottom:.9375rem;background:#fff;border-radius:.5rem;padding:.625rem;box-shadow:0 .0625rem .375rem rgba(0,0,0,.05)}.section .section-title[data-v-238d40be]{font-size:1.5625rem;font-weight:600;color:#333;padding:.625rem;padding-top:0;border-bottom:.0625rem solid #f0f0f0;margin-bottom:.625rem}.section .grid-container[data-v-238d40be]{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;padding:.3125rem}.section .grid-container .grid-item[data-v-238d40be]{min-height:4.625rem;display:flex;align-items:center;justify-content:center;text-align:center;padding:.625rem .9375rem;line-height:1.875rem;font-size:1.5625rem;border-radius:.375rem;color:#fff;transition:all .3s;white-space:pre-wrap}.section .grid-container .grid-item.primary[data-v-238d40be]{background:linear-gradient(135deg,#4cd964,#3ac555)}.section .grid-container .grid-item.primary[data-v-238d40be]:active{background:linear-gradient(135deg,#3ac555,#2fb548)}.section .grid-container .grid-item.warning[data-v-238d40be]{background:linear-gradient(135deg,#ff9500,#ff8000)}.section .grid-container .grid-item.warning[data-v-238d40be]:active{background:linear-gradient(135deg,#ff8000,#e67300)}.section .grid-container .grid-item[data-v-238d40be]:active{transform:scale(.98)}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/offline/check-order.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/offline/check-record.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/statistic/after-sale.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/dist/build/app-plus/pages/index/statistic/audit.css


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott