Browse Source

入库即将完成

sunChengjie 11 months ago
parent
commit
761ac5bed9
2 changed files with 120 additions and 39 deletions
  1. 20 0
      src/api/index.js
  2. 100 39
      src/pages/new/storage.vue

+ 20 - 0
src/api/index.js

@@ -29,3 +29,23 @@ export function appDeliveryPersonDeliveries(data, config) {
         ...config
     })
 }
+
+//快件入库-通过手机号后四位获取信息
+export function appGetEmployeeInfoByPhone(data, config) {
+    return request({
+        url: '/tianzong/express/appGetEmployeeInfoByPhone',
+        method: 'post',
+        data: data,
+        ...config
+    })
+}
+
+//快件入库-快递物流配置列表
+export function appGeLogisticsList(data, config) {
+    return request({
+        url: '/tianzong/express/appGeLogisticsList',
+        method: 'post',
+        data: data,
+        ...config
+    })
+}

+ 100 - 39
src/pages/new/storage.vue

@@ -3,40 +3,34 @@
         <div class="container">
             <back :title="titlename"></back>
             <van-form @submit="onSubmit">
-                <van-field v-model="object.a" name="快递单号" label="快递单号" placeholder="快递单号"
-                    :rules="[{ required: true }]" />
+                <div style="display: flex; justify-content: space-between; background-color: #fff;">
+                    <van-field style="width: 100%;" v-model="object.a" name="快递单号" label="快递单号" placeholder="快递单号"
+                        :rules="[{ required: true }]" />
+                    <img style="width: .4rem;height: .4rem ;margin-top: 10px; margin-right: 0.3rem;"
+                        @click="wxScanCodeB()" src="@/assets/user/u4.png" alt="">
+
+                </div>
 
                 <van-field readonly clickable name="快递公司" label="快递公司" :value="value" placeholder="请选择快递公司"
-                    @click="showPicker = true" />
+                    @click="onShowPicker" />
                 <van-popup v-model="showPicker" position="bottom">
                     <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
                 </van-popup>
 
-                <van-field v-model="object.b" name="手机号码" label="收件人手机号" placeholder="请输入收件人手机号码"
-                    :rules="[{ required: true, message: '' }]" />
+                <van-field :value="onGroupObject.phones" @focus="onFocus" name="手机号码" label="收件人手机号"
+                    placeholder="后四位" />
 
-                <van-field v-model="object.username" name="收件人姓名" label="收件人姓名" placeholder="请输入收件人姓名"
-                    :rules="[{ required: true, message: '' }]" />
+                <van-field :value="onGroupObject.NAME" readonly name="收件人姓名" label="收件人姓名" placeholder="占位" />
 
-                <van-field v-model="object.username" name="收件人姓名" label="快递公司" placeholder="请输入收件人部门"
-                    :rules="[{ required: true, message: '' }]" />
-
-                <van-field readonly clickable name="picker" :value="value2" label="所属收发室" placeholder="请选择所属收发室"
-                    @click="outgoing = true" />
-                <van-popup v-model="outgoing" position="bottom">
-                    <van-picker show-toolbar :columns="outgoings" @confirm="onOutgoing" @cancel="outgoing = false" />
-                </van-popup>
-
-                <van-field readonly clickable name="picker" :value="value3" label="收件人楼层" placeholder="请选择收件人楼层"
-                    @click="floor = true" />
-                <van-popup v-model="floor" position="bottom">
-                    <van-picker show-toolbar :columns="floors" @confirm="onFloor" @cancel="floor = false" />
-                </van-popup>
+                <van-field :value="onGroupObject.departmentName" name="departmentId" label="收件人部门" placeholder="占位"
+                    readonly />
+                <van-field :value="onGroupObject.mailRoomName" name="mailRoom" label="所属收发室" placeholder="占位"
+                    readonly />
+                <van-field :value="onGroupObject.mailFloor" name="departmentId" label="收件人楼层" placeholder="占位"
+                    readonly />
+                <van-field :value="onGroupObject.seat_no" name="sendSeat" label="收件人座位" placeholder="占位" readonly />
 
-                <van-field v-model="object.set" name="set" label="收件人座位" placeholder="请输入收件人座位"
-                    :rules="[{ required: true, message: '' }]" />
-
-                <van-field name="radio" label="快件类型">
+                <van-field name="expressType" label="快件类型">
                     <template #input>
                         <van-radio-group v-model="object.radio" direction="horizontal">
                             <van-radio name="1">文件</van-radio>
@@ -45,8 +39,7 @@
                     </template>
                 </van-field>
 
-                <van-field v-model="object.e" name="快递数量" placeholder="请输入快递数量" label="快递数量"
-                    :rules="[{ required: true, message: '' }]" />
+                <van-field value="1" name="expressQuantity" placeholder="请输入快递数量" label="快递数量" readonly />
 
                 <van-field readonly clickable name="picker" label="货架信息" :value="value4" placeholder="请选择货架"
                     @click="shelf = true" />
@@ -55,7 +48,7 @@
                 </van-popup>
 
                 <div style="display: flex; justify-content: flex-start;">
-                    <van-field name="checkbox" label="到付件">
+                    <van-field name="isPayOnDelivery" label="到付件">
                         <template #input>
                             <van-checkbox v-model="checkbox" @change="onCheckboxChange" shape="square" /><span>到付</span>
                         </template>
@@ -74,14 +67,47 @@
                 </div>
             </van-form>
         </div>
+
+        <!-- 输入手机号后弹出 -->
+        <van-popup v-model="phoneShow" :style="{ height: '100%', width: '100%', }">
+            <div style="overflow: scroll; height: 100%; width: 100%;">
+                <div style="display: flex; justify-content: space-between;">
+                    <van-search style="width: 100%;" v-model="searchKey" placeholder="请输入搜索关键词" />
+                    <van-icon style="margin-top: 15px; margin-right: 10px" @click="searchCrux" name="search"
+                        color="#1989fa" size="20" />
+                </div>
+
+                <van-cell-group @click="onGroup(item)" v-for="(item, index) in searchKeyList" :key="index" inset
+                    style="border: 1px solid #ccc; margin-bottom: 10px">
+                    <van-cell title="手机号" :value="item.phones" />
+                    <van-cell title="收件人姓名" :value="item.NAME" />
+                    <van-cell title="收件人部门" :value="item.departmentName" />
+                    <van-cell title="所属收发室" :value="item.mailRoomName" />
+                    <van-cell title="收件人楼层" :value="item.mailFloor" />
+                    <van-cell title="收件人座位" :value="item.seat_no" />
+                </van-cell-group>
+
+                <div style="height: 60px; width: 100%; background-color: #fff;"></div>
+
+                <van-button class="goback" @click="phoneShow = false" type="info">
+                    退出
+                </van-button>
+            </div>
+        </van-popup>
     </div>
 </template>
 
 <script>
+import { appGetEmployeeInfoByPhone, appGeLogisticsList } from '@/api/index'
 export default {
     data() {
         return {
             titlename: "快件入库",
+            inputValue: '',//输入手机号后四位聚焦
+            phoneShow: false, //输入手机号后弹出搜索
+            searchKey: '9270',//搜索关键
+            searchKeyList: [], // 搜索后存储的数据
+            onGroupObject: {},//点击后映射的参数
             object: {
                 username: '',
                 a: '',
@@ -98,28 +124,42 @@ export default {
             value: '', //快递公司
             columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'], //快递公司
             showPicker: false, //快递公司
-            value2: '', //快递公司
-            outgoings: ['杭州', '宁波', '温州', '嘉兴', '湖州'], //收发室
-            outgoing: false, //收发室
-            value3: '', //快递公司
-            floors: ['杭州', '宁波', '温州', '嘉兴', '湖州'], //收发室
-            floor: false, //收发室
             value4: '', //快递公司
             shelfs: ['杭州', '宁波', '温州', '嘉兴', '湖州'], //收发室
             shelf: false, //收发室
         };
     },
     methods: {
+        onFocus() {
+            this.phoneShow = true
+        },
+        // 搜索关键
+        async searchCrux() {
+            const res = await appGetEmployeeInfoByPhone({ inquire: this.searchKey }, { emulateJSON: true })
+            this.searchKeyList = res.employeeInfo
+            console.log(res, '123123123123')
+        },
+        // 点击group
+        onGroup(item) {
+            this.onGroupObject = item
+            this.phoneShow = false
+        },
+        // 选择快递公司
+        async onShowPicker() {
+            const res = await appGeLogisticsList({ qwe: 123 }, { emulateJSON: true })
+            console.log(res, 'appGeLogisticsList')
+            this.showPicker = true
+        },
         // 选择快递公司
         onConfirm(value) {
             this.value = value;
             this.showPicker = false;
         },
-        // 选择收发室
-        onOutgoing(value) {
-            this.value2 = value;
-            this.outgoing = false;
+
+        wxScanCodeB() {
+            this.object.a = 'QW132456789'
         },
+
         onFloor(value) {
             this.value3 = value;
             this.floor = false;
@@ -135,7 +175,8 @@ export default {
         },
         onCheckboxChange() {
             this.isdisabled = !this.isdisabled
-        }
+        },
+
 
 
     },
@@ -145,10 +186,30 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.searchCrux {
+    position: fixed;
+    height: 20px;
+    width: 20px;
+    top: 15px;
+    right: 10px;
+
+}
+
+.goback {
+    position: fixed;
+    height: 50px;
+    width: 100%;
+    bottom: 0;
+    left: 0;
+}
+
 .container {
     height: 100%;
+
     background-color: #f2f2f2;
 
+
+
     .little-box {
         background-color: #fff;
         margin-top: 2px;