Browse Source

补全其他页面+调整复选框全选

sunChengjie 11 months ago
parent
commit
b52863e5a3

+ 3 - 4
src/pages/components/HomePage.vue

@@ -68,9 +68,8 @@ export default {
 		}
 	},
 	created: function () {
-		//this.getOpenid("");
 		this.isLogin();
-		this.getData()
+		// this.getData()
 	},
 	mounted() {
 		// 页面加载完成唤醒微信扫一扫
@@ -123,7 +122,7 @@ export default {
 						show: true,
 					}
 				},
-				color: ['#02a7f0', '#bfbf00', '#d7d7d7', '#079bf9'],
+				color: ['#07daf9', '#f98407', '#f9df07', '#079bf9'],
 				labelLine: {
 					show: false
 				},
@@ -190,7 +189,7 @@ export default {
 						show: true,
 					}
 				},
-				color: ['#02a7f0', '#bfbf00', '#d7d7d7', '#079bf9'],
+				color: ['#07daf9', '#f98407', '#f9df07', '#079bf9'],
 				labelLine: {
 					show: false
 				},

+ 8 - 2
src/pages/components/Waitsent.vue

@@ -30,8 +30,8 @@
             </div>
 
             <!-- 签收 -->
-            <van-popup v-model="receiving" style="width: 100%; height: 80%;">
-                <div>派件签收</div>
+            <van-popup v-model="receiving" style="width: 100%; height: 85%;">
+                <div style="font-size: 20px; text-align: center; ">派件签收</div>
                 <van-form @submit="onSubmit">
                     <van-field label="运单号" value="xxx" readonly />
                     <van-field label="快件类型" value="xxx" readonly />
@@ -47,6 +47,11 @@
                     <van-popup v-model="showPicker" position="bottom">
                         <van-picker show-toolbar  :columns="options" @confirm="onConfirm" @cancel="showPicker = false" />
                     </van-popup>
+                    <van-field name="uploader" label="签收照片">
+                        <template #input>
+                            <van-uploader v-model="uploader" />
+                        </template>
+                    </van-field>
                     <van-field v-if="wer == '他人签收'" v-model="qwe" label="代取手机号" placeholder="请输入代取手机号" />
                     <div style="margin: 16px;">
                         <van-button round block type="info" native-type="submit">签收完成</van-button>
@@ -74,6 +79,7 @@ export default {
             options: ['本人签收', '他人签收'],
             showPicker: false,
             wer:'',
+            uploader: [{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' }],
         };
     },
     methods: {

+ 2 - 2
src/pages/email.vue

@@ -8,9 +8,9 @@
 		<div v-if="this.active === 0">
 			<HomePage></HomePage>
 		</div>
-		<div v-else>
+		<!-- <div v-else>
 			<My></My>
-		</div>
+		</div> -->
 	</div>
 </template>
 

+ 102 - 0
src/pages/new/batched.vue

@@ -0,0 +1,102 @@
+<template>
+    <div>
+        <back :title="titlename"></back>
+        <div class="container">
+            <div>批次号生成</div>
+            <div class="number">xxxxxxxxx</div>
+            <div class="wenzi">批次内包含以下快件:</div>
+            <div class="middle-box">
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+                
+                <div class="middle-box-little">xxxxxxxxxxx x</div>
+               
+            </div>
+        </div>
+        <div class="bottom">
+            <van-button @click="onBack" type="default">返回上一页</van-button>
+            <van-button @click="newBatch" type="info">创建新批次</van-button>
+            <van-button @click="backHome" type="info">返回首页</van-button>
+        </div>
+    </div>
+</template>
+
+<script>
+export default {
+    name: 'batched',
+    data() {
+        return {
+            titlename: '快件出库'
+
+        };
+    },
+    methods:{
+        // 返回
+        onBack() {
+            this.$router.go(-1)
+        },
+        // 创建新批次
+        newBatch() {
+            this.$router.go(-1)
+        },
+        // 回首页
+        backHome() {
+            this.$router.push('/')
+        }
+    }
+
+};
+</script>
+
+<style lang="less" scoped>
+* {
+    font-size: 16px;
+}
+
+.container {
+    background-color: #fff;
+    height: 620px;
+    padding: 0 20px;
+
+    .number {
+        font-size: 20px;
+        text-align: center;
+        margin-top: 20px;
+    }
+
+    .wenzi {
+        margin-top: 50px;
+    }
+
+    .middle-box {
+        display: flex;
+        flex-wrap: wrap;
+        margin-top: 10px;
+
+        &-little {
+            width: 40%;
+            margin-left: 20px;
+        }
+    }
+
+
+
+}
+
+.bottom {
+    position: fixed;
+    width: 100%;
+    height: 50px;
+    bottom: 0;
+    left: 0;
+    display: flex;
+    justify-content: space-evenly;
+}
+</style>

+ 50 - 19
src/pages/new/combine.vue

@@ -2,24 +2,18 @@
     <div class="container">
         <div style="padding: 20px 0;">找到n个属于"xxx"&部门xxx&xxx的快件:</div>
 
-        <van-button style="margin-bottom: 10px;" type="info" size="mini" @click="toggleAll">{{ qwe === false ? '全选' :
-            '取消全选' }}</van-button>
-        <!-- <van-checkbox-group v-model="result" ref="checkboxGroup">
-            <van-checkbox name="a" shape="square">复选框 a</van-checkbox>
-        </van-checkbox-group> -->
-
-        <van-checkbox-group v-model="result" ref="checkboxGroup">
-
-            <van-checkbox style="margin-bottom: 10px;" name="a" shape="square">复选框 a</van-checkbox>
-            <van-checkbox style="margin-bottom: 10px;" name="b" shape="square">复选框 a</van-checkbox>
-            <van-checkbox style="margin-bottom: 10px;" name="c" shape="square">复选框 a</van-checkbox>
-            <van-checkbox style="margin-bottom: 10px;" name="b" shape="square">复选框 a</van-checkbox>
-            <van-checkbox style="margin-bottom: 10px;" name="d" shape="square">复选框 a</van-checkbox>
-        </van-checkbox-group>
+        <van-checkbox style="margin-bottom: 10px;" v-model="isAllChecked" >全选</van-checkbox>
 
-        <van-button style="height: 40px; width: 150px; border-radius: 8px; margin-right: 20px;" type="info" @click="sureSign">合并签收</van-button>
-        <van-button style="height: 40px; width: 150px; border-radius: 8px;" type="default" @click="back">返回上一级</van-button>
+        <van-checkbox-group v-model="checkedGoods">
+            <van-checkbox style="margin-bottom: 10px;" @change="onChange(good)" :checked="good.checked"
+                v-for="good in goods" :name="good.id" :key="good.id">
+                {{ good.name }}
+            </van-checkbox>
+        </van-checkbox-group>
 
+        <van-button class="sureSign" type="info" @click="sureSign">合并签收</van-button>
+        <van-button style="height: 40px; width: 150px; border-radius: 8px;" type="default"
+            @click="back">返回上一级</van-button>
 
     </div>
 </template>
@@ -28,8 +22,15 @@
 export default {
     data() {
         return {
-            result: [],
-            qwe: false
+            goods: [
+                // 假设的商品列表
+                { id: 1, name: '商品1', checked: false },
+                { id: 2, name: '商品2', checked: false },
+                { id: 3, name: '商品3', checked: false },
+                { id: 4, name: '商品4', checked: false },
+                // ...更多商品
+            ],
+            checkedGoods: [], // 选中的商品ID集合
         };
     },
     methods: {
@@ -39,12 +40,34 @@ export default {
         },
         // 返回
         back() {
-            this.$router.push('SignA')
+            this.$router.go(-1)
         },
         sureSign() {
             this.$router.push('SureCombine')
+        },
+        // 选中的选项
+        onChange(good) {
+            // 更新单个商品的选中状态
+             good.checked = !good.checked;
+            // 检查是否全选
+            this.isAllChecked = this.goods.every(g => g.checked);
+            // 更新选中的商品ID集合
+            this.checkedGoods = this.goods.filter(g => g.checked).map(g => g.id);
+        },
+    },
+    computed: {
+        isAllChecked: {
+            // 计算是否全选
+            get() {
+                return this.goods.length === this.checkedGoods.length;
+            },
+            // 设置全选
+            set(value) {
+                this.checkedGoods = value ? this.goods.map(good => good.id) : [];
+            }
         }
     },
+
 };
 </script>
 
@@ -57,5 +80,13 @@ export default {
     margin: 20px 10px 0 10px;
     background-color: #fff;
     height: 640px;
+
+    .sureSign {
+        height: 40px;
+        width: 150px;
+        border-radius: 8px;
+        margin-right: 20px;
+        margin-top: 20px;
+    }
 }
 </style>

+ 2 - 5
src/pages/new/deliveryInquiry.vue

@@ -1,5 +1,6 @@
 <template>
     <div>
+        <back :title="titlename"></back>
         <van-tabs v-model="active">
             <van-tab title="待派件">
                 <waitsent></waitsent>
@@ -7,11 +8,7 @@
             <van-tab title="已派件">
                 <sented></sented>
             </van-tab>
-
         </van-tabs>
-
-
-
     </div>
 </template>
 
@@ -26,8 +23,8 @@ export default {
     },
     data() {
         return {
+            titlename:'快件查询',
             active: 0,
-            value: '',
         }
     },
 }

+ 56 - 3
src/pages/new/removal.vue

@@ -1,14 +1,67 @@
 <template>
-    <div class="container">Removal</div>
+    <div class="container">
+        <back :title="titlename"></back>
+        <van-search v-model="phone" placeholder="请输入手机单号" />
+        <img @click="onImg" src="@/assets/user/u4.png" alt="">
+        <div style="padding: 12px;">
+            <div v-if="show">已添加快件:</div>
+            <div v-if="show">
+                xxxxxxx
+            </div>
+            <van-button @click="onBatch" class="build" v-if="show" type="info">生成批次</van-button>
+        </div>
+    </div>
 </template>
 
 <script>
 export default {
     name: 'Removal',
     data() {
-        return {};
+        return {
+            titlename: "快件出库",
+            show: false,
+        };
     },
-  
+    methods: {
+        onImg() {
+            this.show = true
+
+        },
+        phone() {
+            console.log('123')
+        },
+        // 生成批次
+        onBatch() {
+            this.$router.push('Batched')
+        }
+    }
+
 };
 </script>
 
+<style lang="less" scoped>
+* {
+    font-size: 16px;
+}
+
+.container {
+    background-color: #fff;
+    height: 660px;
+
+    img {
+        position: fixed;
+        height: 20px;
+        width: 20px;
+        right: 22px;
+        top: 62px;
+    }
+}
+
+.build {
+    position: fixed;
+    height: 40px;
+    width: 160px;
+    bottom: 60px;
+    right: 10px;
+}
+</style>

+ 8 - 4
src/pages/new/sign.vue

@@ -1,10 +1,14 @@
 <template>
-    <div class="container">
+    <div>
+        <back :title="titlename"></back>
+        <div class="container">
+        <!-- <back :title="titlename"></back> -->
         <van-search v-model="value" placeholder="请输入快件单号" />
         <img @click="onImg" src="@/assets/user/u4.png" alt="">
         <van-search v-model="phone" placeholder="请输入手机单号" />
         <van-button style="width: 200px; border-radius: 6px; margin-left: 10px;" type="info" @click="check">查询</van-button>
     </div>
+    </div>
 </template>
 
 <script>
@@ -12,6 +16,7 @@ export default {
     name: 'Sign',
     data() {
         return {
+            titlename: "派件签收",
             value: '',
             phone:'',
         };
@@ -31,15 +36,14 @@ export default {
 
 <style lang="less" scoped>
     .container {
-        margin: 20px 10px 0 10px;
         background-color: #fff;
         height: 640px;
         img {
             position: fixed;
             height: 20px;
             width: 20px;
-            right: 26px;
-            top: 38px;
+            right: 22px;
+            top: 62px;
         }
     }
 </style>

+ 61 - 89
src/pages/new/storage.vue

@@ -1,99 +1,71 @@
 <template>
     <div>
         <div class="container">
+            <back :title="titlename"></back>
             <van-form @submit="onSubmit">
-                <div class="little-box">
-                    <div class="text1">快递单号</div>
-                    <van-field v-model="object.a" name="快递单号" placeholder="请输入快递单号"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">快递公司:</div>
-                    <van-field readonly clickable name="picker" :value="value" placeholder="请选择快递公司"
-                        @click="showPicker = true" />
-                    <van-popup v-model="showPicker" position="bottom">
-                        <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
-                    </van-popup>
-                </div>
-                <div class="little-box">
-                    <div class="text">收件人手机号码</div>
-                    <van-field v-model="object.b" name="手机号码" placeholder="请输入收件人手机号码"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">收件人姓名</div>
-                    <van-field v-model="object.username" name="收件人姓名" placeholder="请输入收件人姓名"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">收件人部门</div>
-                    <van-field v-model="object.username" name="收件人姓名" placeholder="请输入收件人部门"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">所属收发室:</div>
-                    <van-field readonly clickable name="picker" :value="value2" placeholder="请选择所属收发室"
-                        @click="outgoing = true" />
-                    <van-popup v-model="outgoing" position="bottom">
-                        <van-picker show-toolbar :columns="outgoings" @confirm="onOutgoing"
-                            @cancel="outgoing = false" />
-                    </van-popup>
-                </div>
-                <div class="little-box">
-                    <div class="text">收件人楼层:</div>
-                    <van-field readonly clickable name="picker" :value="value3" placeholder="请选择收件人楼层"
-                        @click="floor = true" />
-                    <van-popup v-model="floor" position="bottom">
-                        <van-picker show-toolbar :columns="floors" @confirm="onFloor" @cancel="floor = false" />
-                    </van-popup>
-                </div>
-                <div class="little-box">
-                    <div class="text">收件人座位</div>
-                    <van-field v-model="object.set" name="收件人座位" placeholder="请输入收件人座位"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">快件类型</div>
-                    <van-field name="radio">
+                <van-field v-model="object.a"  name="快递单号" label="快递单号" placeholder="快递单号"
+                    :rules="[{ required: true, message: '请填写快递单号' }]" />
+
+                <van-field readonly clickable name="picker" label="快递公司" :value="value" placeholder="请选择快递公司"
+                    @click="showPicker = true" />
+                <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 v-model="object.username" name="收件人姓名" label="收件人姓名" placeholder="请输入收件人姓名"
+                    :rules="[{ required: true, message: '' }]" />
+
+                <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 v-model="object.set" name="收件人座位" label="收件人座位" placeholder="请输入收件人座位"
+                    :rules="[{ required: true, message: '' }]" />
+
+                <van-field name="radio" label="快件类型">
+                    <template #input>
+                        <van-radio-group v-model="object.radio" direction="horizontal">
+                            <van-radio name="1">文件</van-radio>
+                            <van-radio name="2">物品</van-radio>
+                        </van-radio-group>
+                    </template>
+                </van-field>
+
+                <van-field v-model="object.e" name="快递数量" placeholder="请输入快递数量" label="快递数量"
+                    :rules="[{ required: true, message: '' }]" />
+
+                <van-field readonly clickable name="picker" label="货架信息" :value="value4" placeholder="请选择货架"
+                    @click="shelf = true" />
+                <van-popup v-model="shelf" position="bottom">
+                    <van-picker show-toolbar :columns="shelfs" @confirm="onShelf" @cancel="shelf = false" />
+                </van-popup>
+
+                <div style="display: flex; justify-content: flex-start;">
+                    <van-field name="checkbox" label="到付件">
                         <template #input>
-                            <van-radio-group v-model="object.radio" direction="horizontal">
-                                <van-radio name="1">文件</van-radio>
-                                <van-radio name="2">物品</van-radio>
-                            </van-radio-group>
+                            <van-checkbox v-model="checkbox" @change="onCheckboxChange" shape="square" /><span>到付</span>
                         </template>
                     </van-field>
+                    <van-field :disabled="isdisabled" label="快递公司" style="margin-left: -245px;" v-model="object.e"
+                        name="到付备注" placeholder="请输入到付备注" />
                 </div>
-                <div class="little-box">
-                    <div class="text">快递数量</div>
-                    <van-field v-model="object.e" name="快递数量" placeholder="请输入快递数量"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
-                <div class="little-box">
-                    <div class="text">货架信息:</div>
-                    <van-field readonly clickable name="picker" :value="value4" placeholder="请选择货架"
-                        @click="shelf = true" />
-                    <van-popup v-model="shelf" position="bottom">
-                        <van-picker show-toolbar :columns="shelfs" @confirm="onShelf" @cancel="shelf = false" />
-                    </van-popup>
-                </div>
-                <div class="little-box">
-                    <div class="text">到付件</div>
-                    <div style="display: flex; justify-content: flex-start;">
-                        <van-field name="checkbox">
-                            <template #input>
-                                <van-checkbox v-model="checkbox" @change="onCheckboxChange"
-                                    shape="square" /><span>到付</span>
-                            </template>
-                        </van-field>
-                        <van-field :disabled="isdisabled" style="margin-left: -245px;" v-model="object.e" name="到付备注"
-                            placeholder="请输入到付备注"  />
-                    </div>
-                </div>
-                <div class="little-box">
-                    <div class="text">快递备注</div>
-                    <van-field v-model="object.f" name="快递备注" placeholder="请输入快递备注"
-                        :rules="[{ required: true, message: '' }]" />
-                </div>
+
+                <van-field v-model="object.f" label="快递备注" name="快递备注" placeholder="请输入快递备注"
+                    :rules="[{ required: true, message: '' }]" />
 
 
 
@@ -115,6 +87,7 @@
 export default {
     data() {
         return {
+            titlename: "快件入库",
             object: {
                 username: '',
                 a: '',
@@ -181,7 +154,6 @@ export default {
 .container {
     height: 100%;
     background-color: #f2f2f2;
-    margin: 18px 12px;
 
     .little-box {
         background-color: #fff;

+ 8 - 7
src/pages/new/sureCombine.vue

@@ -9,10 +9,10 @@
             <van-checkbox style="margin-bottom: 10px;" name="d" shape="square">复选框 a</van-checkbox>
         </van-checkbox-group>
         <div style="color: #169bd5; margin-bottom: 50px;">拍照或上传图片</div>
-
-        
-        <van-button style="height: 40px; width: 150px; border-radius: 8px; margin-right: 20px;" type="info" @click="sureSign">确定签收</van-button>
-        <van-button style="height: 40px; width: 150px; border-radius: 8px;" type="default" @click="back">返回上一级</van-button>
+        <van-button style="height: 40px; width: 150px; border-radius: 8px; margin-right: 20px;" type="info"
+            @click="sureSign">确定签收</van-button>
+        <van-button style="height: 40px; width: 150px; border-radius: 8px;" type="default"
+            @click="back">返回上一级</van-button>
 
     </div>
 </template>
@@ -25,12 +25,13 @@ export default {
             result: [],
         };
     },
-    methods:{
+    methods: {
         sureSign() {
-            this.$router.push('SignA')
+            this.$router.push('/')
         },
         back() {
-            this.$router.push('Combine')
+            // this.$router.push('Combine')
+            this.$router.go(-1)
         },
     }
 

+ 9 - 0
src/router/index.js

@@ -11,6 +11,7 @@ import DeliveryInquiry from '@/pages/new/deliveryInquiry'
 import SignA from '@/pages/new/sign'
 import Combine from '@/pages/new/combine'
 import SureCombine from '@/pages/new/sureCombine'
+import Batched from '@/pages/new/batched'
 import Addper from '@/pages/addper'
 import Box from '@/pages/box'
 import Pjpc from '@/pages/pjpc'
@@ -179,6 +180,14 @@ export default new Router({
 				needLogin: true //需要加校检判断的路由
 			}
 		},
+		{ //生成批次号
+			path: '/Batched',
+			name: 'Batched',
+			component: Batched,
+			meta: {
+				needLogin: true //需要加校检判断的路由
+			}
+		},
 		{ //新增收件人
 			path: '/Addper',
 			name: 'Addper',