Elements-SY

Merge branch 'test' into uat

...@@ -56,7 +56,8 @@ ...@@ -56,7 +56,8 @@
56 <span class="fontWeight">{{ routeItem.route }}</span> 56 <span class="fontWeight">{{ routeItem.route }}</span>
57 </template> 57 </template>
58 <template v-for="(val, idx) in infoForm.list"> 58 <template v-for="(val, idx) in infoForm.list">
59 - <el-card shadow="always" style="min-height:350px" v-if="val.flightRoute === routeItem.route" :key="idx"> 59 + <el-card shadow="always" style="min-height:350px" v-if="val.flightRoute === routeItem.route"
60 + :key="idx">
60 <div> 61 <div>
61 <el-empty description="未设置规则!" v-if="!val.isLocation"> 62 <el-empty description="未设置规则!" v-if="!val.isLocation">
62 <el-button type="primary" size="small" @click="newRoute(idx)">新增规则 63 <el-button type="primary" size="small" @click="newRoute(idx)">新增规则
...@@ -64,16 +65,26 @@ ...@@ -64,16 +65,26 @@
64 </el-empty> 65 </el-empty>
65 <el-row class="rowPadding" v-else> 66 <el-row class="rowPadding" v-else>
66 <el-button type="primary" size="mini" @click="submit(idx)">保 存</el-button> 67 <el-button type="primary" size="mini" @click="submit(idx)">保 存</el-button>
67 - <el-button type="primary" v-if="val.status === '1'" size="mini" icon="el-icon-video-pause" 68 + <el-button type="primary" v-if="val.status === '1'" size="mini"
68 - @click="changeStatus(idx)"> 69 + icon="el-icon-video-pause" @click="changeStatus(idx)">
69 停 用</el-button> 70 停 用</el-button>
70 - <el-button type="primary" v-if="val.status === '3'" size="mini" icon="el-icon-video-pause" 71 + <el-button type="primary" v-if="val.status === '3'" size="mini"
71 - @click="changeStatus(idx)"> 72 + icon="el-icon-video-pause" @click="changeStatus(idx)">
72 启 用</el-button> 73 启 用</el-button>
73 - <el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete" @click="del(idx)">删 74 + <el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete"
75 + @click="del(idx)">删
74 76
75 </el-button> 77 </el-button>
78 + <div v-if="(routeSatus.indexOf('flightInformationMaintenance') >= 0)"
79 + style="display: inline-block;">
76 <span v-if="val.id">日期级别规则</span><span v-else>普通规则</span> 80 <span v-if="val.id">日期级别规则</span><span v-else>普通规则</span>
81 + </div>
82 + <div v-else-if="(routeSatus.indexOf('FlightAllocConfig') >= 0)"
83 + style="display: inline-block;">
84 + <span
85 + v-if="infoForm.fltDate != null && infoForm.fltDate != '' && infoForm.fltDate != ' '">日期级别规则</span><span
86 + v-else>普通规则</span>
87 + </div>
77 <el-divider></el-divider> 88 <el-divider></el-divider>
78 <el-col :span="24"> 89 <el-col :span="24">
79 <el-form-item label="始发站"> 90 <el-form-item label="始发站">
...@@ -84,13 +95,13 @@ ...@@ -84,13 +95,13 @@
84 </el-radio-group> 95 </el-radio-group>
85 </el-col> 96 </el-col>
86 <el-col :span="10"> 97 <el-col :span="10">
87 - <el-input v-if="val.isLocation == '1'" v-model="val.location" type="textarea" 98 + <el-input v-if="val.isLocation == '1'" v-model="val.location"
88 - :rows="4" resize="none" style="width: 500px" placeholder="始发站之间用分号分隔" 99 + type="textarea" :rows="4" resize="none" style="width: 500px"
89 - @change="change" @input="change($event)"> 100 + placeholder="始发站之间用回车符分隔" @change="change" @input="change($event)">
90 </el-input> 101 </el-input>
91 <el-input v-else v-model="val.notLocation" type="textarea" :rows="4" 102 <el-input v-else v-model="val.notLocation" type="textarea" :rows="4"
92 - resize="none" style="width: 500px" placeholder="始发站之间用分号分隔" @change="change" 103 + resize="none" style="width: 500px" placeholder="始发站之间用回车符分隔"
93 - @input="change($event)"> 104 + @change="change" @input="change($event)">
94 </el-input> 105 </el-input>
95 </el-col> 106 </el-col>
96 </el-form-item> 107 </el-form-item>
...@@ -104,13 +115,13 @@ ...@@ -104,13 +115,13 @@
104 </el-radio-group> 115 </el-radio-group>
105 </el-col> 116 </el-col>
106 <el-col :span="10"> 117 <el-col :span="10">
107 - <el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite" type="textarea" 118 + <el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite"
108 - :rows="4" resize="none" style="width: 500px" placeholder="目的站之间用分号分隔" 119 + type="textarea" :rows="4" resize="none" style="width: 500px"
109 - @change="change" @input="change($event)"> 120 + placeholder="目的站之间用回车符分隔" @change="change" @input="change($event)">
110 </el-input> 121 </el-input>
111 <el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4" 122 <el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4"
112 - resize="none" style="width: 500px" placeholder="目的站之间用分号分隔" @change="change" 123 + resize="none" style="width: 500px" placeholder="目的站之间用回车符分隔"
113 - @input="change($event)"> 124 + @change="change" @input="change($event)">
114 </el-input> 125 </el-input>
115 </el-col> 126 </el-col>
116 </el-form-item> 127 </el-form-item>
...@@ -126,8 +137,8 @@ ...@@ -126,8 +137,8 @@
126 </el-col> 137 </el-col>
127 <el-col :span="12"> 138 <el-col :span="12">
128 <el-form-item label="URSA不包含"> 139 <el-form-item label="URSA不包含">
129 - <el-input v-model="val.notIncludeUrsa" type="textarea" :rows="4" resize="none" 140 + <el-input v-model="val.notIncludeUrsa" type="textarea" :rows="4"
130 - placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change" 141 + resize="none" placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change"
131 @input="change($event)"> 142 @input="change($event)">
132 </el-input> 143 </el-input>
133 </el-form-item> 144 </el-form-item>
...@@ -174,7 +185,8 @@ ...@@ -174,7 +185,8 @@
174 <el-card shadow="never" style="width: 95%"> 185 <el-card shadow="never" style="width: 95%">
175 <el-checkbox-group v-model="val.typeOfGoods" @change="change"> 186 <el-checkbox-group v-model="val.typeOfGoods" @change="change">
176 <el-row> 187 <el-row>
177 - <el-col v-for="item in checkBoxItem.cargoType" :span="2" :key="item.id"> 188 + <el-col v-for="item in checkBoxItem.cargoType" :span="2"
189 + :key="item.id">
178 <el-checkbox v-if="item.status === 1" :label="item.chineseName" 190 <el-checkbox v-if="item.status === 1" :label="item.chineseName"
179 :name="item.chineseName" :key="item.code"> 191 :name="item.chineseName" :key="item.code">
180 <Tooltips :content="item.chineseName" :refName="item.code"> 192 <Tooltips :content="item.chineseName" :refName="item.code">
...@@ -209,7 +221,8 @@ ...@@ -209,7 +221,8 @@
209 <el-card shadow="never" style="width: 95%"> 221 <el-card shadow="never" style="width: 95%">
210 <el-checkbox-group v-model="val.puporpuxCode" @change="change"> 222 <el-checkbox-group v-model="val.puporpuxCode" @change="change">
211 <el-row> 223 <el-row>
212 - <el-col :span="2" v-for="item in checkBoxItem.puporpux" :key="item.id"> 224 + <el-col :span="2" v-for="item in checkBoxItem.puporpux"
225 + :key="item.id">
213 <el-checkbox 226 <el-checkbox
214 v-if="item.status === 1 || val.puporpuxCode.includes(item.chineseName)" 227 v-if="item.status === 1 || val.puporpuxCode.includes(item.chineseName)"
215 :label="item.chineseName" :name="item.chineseName" 228 :label="item.chineseName" :name="item.chineseName"
...@@ -325,7 +338,14 @@ ...@@ -325,7 +338,14 @@
325 <el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete" style="margin-right:10px" 338 <el-button v-if="val.id" type="danger" size="mini" icon="el-icon-delete" style="margin-right:10px"
326 @click="del(idx)">删 除 339 @click="del(idx)">删 除
327 </el-button> 340 </el-button>
341 + <div v-if="routeSatus.indexOf('flightInformationMaintenance') >= 0" style="display: inline-block;">
328 <span v-if="val.id">日期级别规则</span><span v-else>普通规则</span> 342 <span v-if="val.id">日期级别规则</span><span v-else>普通规则</span>
343 + </div>
344 + <div v-else-if="(routeSatus.indexOf('FlightAllocConfig') >= 0)" style="display: inline-block;">
345 + <span
346 + v-if="infoForm.fltDate != null && infoForm.fltDate != '' && infoForm.fltDate != ' '">日期级别规则</span><span
347 + v-else>普通规则</span>
348 + </div>
329 <el-divider></el-divider> 349 <el-divider></el-divider>
330 <el-col :span="24"> 350 <el-col :span="24">
331 <el-form-item label="始发站"> 351 <el-form-item label="始发站">
...@@ -337,11 +357,11 @@ ...@@ -337,11 +357,11 @@
337 </el-col> 357 </el-col>
338 <el-col :span="10"> 358 <el-col :span="10">
339 <el-input v-if="val.isLocation == '1'" v-model="val.location" type="textarea" :rows="4" 359 <el-input v-if="val.isLocation == '1'" v-model="val.location" type="textarea" :rows="4"
340 - resize="none" style="width: 500px" placeholder="始发站之间用分号分隔" @change="change" 360 + resize="none" style="width: 500px" placeholder="始发站之间用回车符分隔" @change="change"
341 @input="change($event)"> 361 @input="change($event)">
342 </el-input> 362 </el-input>
343 <el-input v-else v-model="val.notLocation" type="textarea" :rows="4" resize="none" 363 <el-input v-else v-model="val.notLocation" type="textarea" :rows="4" resize="none"
344 - style="width: 500px" placeholder="始发站之间用分号分隔" @change="change" 364 + style="width: 500px" placeholder="始发站之间用回车符分隔" @change="change"
345 @input="change($event)"> 365 @input="change($event)">
346 </el-input> 366 </el-input>
347 </el-col> 367 </el-col>
...@@ -356,12 +376,12 @@ ...@@ -356,12 +376,12 @@
356 </el-radio-group> 376 </el-radio-group>
357 </el-col> 377 </el-col>
358 <el-col :span="10"> 378 <el-col :span="10">
359 - <el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite" type="textarea" 379 + <el-input v-if="val.isDestinationSite == '1'" v-model="val.destinationSite"
360 - :rows="4" resize="none" style="width: 500px" placeholder="目的站之间用分号分隔" 380 + type="textarea" :rows="4" resize="none" style="width: 500px"
361 - @change="change" @input="change($event)"> 381 + placeholder="目的站之间用回车符分隔" @change="change" @input="change($event)">
362 </el-input> 382 </el-input>
363 <el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4" 383 <el-input v-else v-model="val.notDestinationSite" type="textarea" :rows="4"
364 - resize="none" style="width: 500px" placeholder="目的站之间用分号分隔" @change="change" 384 + resize="none" style="width: 500px" placeholder="目的站之间用回车符分隔" @change="change"
365 @input="change($event)"> 385 @input="change($event)">
366 </el-input> 386 </el-input>
367 </el-col> 387 </el-col>
...@@ -371,16 +391,14 @@ ...@@ -371,16 +391,14 @@
371 <el-col :span="12"> 391 <el-col :span="12">
372 <el-form-item label="URSA包含"> 392 <el-form-item label="URSA包含">
373 <el-input v-model="val.includeUrsa" type="textarea" :rows="4" resize="none" 393 <el-input v-model="val.includeUrsa" type="textarea" :rows="4" resize="none"
374 - placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change" 394 + placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change" @input="change($event)">
375 - @input="change($event)">
376 </el-input> 395 </el-input>
377 </el-form-item> 396 </el-form-item>
378 </el-col> 397 </el-col>
379 <el-col :span="12"> 398 <el-col :span="12">
380 <el-form-item label="URSA不包含"> 399 <el-form-item label="URSA不包含">
381 <el-input v-model="val.notIncludeUrsa" type="textarea" :rows="4" resize="none" 400 <el-input v-model="val.notIncludeUrsa" type="textarea" :rows="4" resize="none"
382 - placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change" 401 + placeholder="URSA之间用分号分隔,例:F2;F3;P_" @change="change" @input="change($event)">
383 - @input="change($event)">
384 </el-input> 402 </el-input>
385 </el-form-item> 403 </el-form-item>
386 </el-col> 404 </el-col>
...@@ -460,7 +478,7 @@ ...@@ -460,7 +478,7 @@
460 <el-card shadow="never" style="width: 95%"> 478 <el-card shadow="never" style="width: 95%">
461 <el-checkbox-group v-model="val.puporpuxCode" @change="change"> 479 <el-checkbox-group v-model="val.puporpuxCode" @change="change">
462 <el-row> 480 <el-row>
463 - <el-col :span="2" v-for="item in checkBoxItem.puporpux" :key="item.code"> 481 + <el-col :span="2" v-for="item in checkBoxItem.puporpux" :key="item">
464 <el-checkbox 482 <el-checkbox
465 v-if="item.status === 1 || val.puporpuxCode.includes(item.chineseName)" 483 v-if="item.status === 1 || val.puporpuxCode.includes(item.chineseName)"
466 :label="item.chineseName" :name="item.chineseName" 484 :label="item.chineseName" :name="item.chineseName"
...@@ -605,6 +623,7 @@ export default { ...@@ -605,6 +623,7 @@ export default {
605 } 623 }
606 }, 624 },
607 created() { 625 created() {
626 + // console.log(this.$route.params)
608 this.dictData() 627 this.dictData()
609 this.status = this.$route.params.handle 628 this.status = this.$route.params.handle
610 this.$route.params.handle === 'detail' ? this.disabled = true : this.disabled = false 629 this.$route.params.handle === 'detail' ? this.disabled = true : this.disabled = false
...@@ -719,6 +738,7 @@ export default { ...@@ -719,6 +738,7 @@ export default {
719 this.infoForm.fltDate = res.data.list.ruleDate 738 this.infoForm.fltDate = res.data.list.ruleDate
720 this.infoForm.route = res.data.list.flightRoute 739 this.infoForm.route = res.data.list.flightRoute
721 this.infoForm.list.push(this.dataHandle(res.data.list)) 740 this.infoForm.list.push(this.dataHandle(res.data.list))
741 + console.log('A:', this.infoForm.list)
722 } else { 742 } else {
723 this.isEmpty = true 743 this.isEmpty = true
724 } 744 }
...@@ -758,6 +778,7 @@ export default { ...@@ -758,6 +778,7 @@ export default {
758 res.data.list.forEach(item => { 778 res.data.list.forEach(item => {
759 this.infoForm.list.push(this.dataHandle(item)) 779 this.infoForm.list.push(this.dataHandle(item))
760 }) 780 })
781 + console.log('B:', this.infoForm.list)
761 } else { 782 } else {
762 //航班类型为Purple Tail则显示所有航线维度 783 //航班类型为Purple Tail则显示所有航线维度
763 this.routeList.forEach(route => { 784 this.routeList.forEach(route => {
...@@ -779,6 +800,7 @@ export default { ...@@ -779,6 +800,7 @@ export default {
779 }) 800 })
780 } 801 }
781 }) 802 })
803 + console.log('C:', this.infoForm.list)
782 } 804 }
783 } else { 805 } else {
784 //航线为空,对应航班或航班+日期下的全部维度(需补全未创建维度) 806 //航线为空,对应航班或航班+日期下的全部维度(需补全未创建维度)
...@@ -801,6 +823,7 @@ export default { ...@@ -801,6 +823,7 @@ export default {
801 }) 823 })
802 } 824 }
803 }) 825 })
826 + console.log('D:', this.infoForm.list)
804 } 827 }
805 } else { 828 } else {
806 //未请求到数据 829 //未请求到数据
...@@ -828,6 +851,7 @@ export default { ...@@ -828,6 +851,7 @@ export default {
828 }) 851 })
829 this.infoForm.list.push(this.dataHandle(item)) 852 this.infoForm.list.push(this.dataHandle(item))
830 }) 853 })
854 + console.log('E:', this.infoForm.list)
831 } else { 855 } else {
832 //航班类型Purple Tail展示全部航线维度 856 //航班类型Purple Tail展示全部航线维度
833 let routesStatus = 1 857 let routesStatus = 1
...@@ -851,6 +875,7 @@ export default { ...@@ -851,6 +875,7 @@ export default {
851 }) 875 })
852 } 876 }
853 }) 877 })
878 + console.log('F:', this.infoForm.list)
854 } 879 }
855 } else { 880 } else {
856 //未查询到,插入占位基础数据使用户新建 881 //未查询到,插入占位基础数据使用户新建
...@@ -866,6 +891,7 @@ export default { ...@@ -866,6 +891,7 @@ export default {
866 }) 891 })
867 } 892 }
868 }) 893 })
894 + console.log('G:', this.infoForm.list)
869 } else { 895 } else {
870 //航班类型Purple Tail展示全部航线维度 896 //航班类型Purple Tail展示全部航线维度
871 // this.isEmpty = true 897 // this.isEmpty = true
...@@ -877,6 +903,7 @@ export default { ...@@ -877,6 +903,7 @@ export default {
877 routePriority: route.routePriority, 903 routePriority: route.routePriority,
878 }) 904 })
879 }) 905 })
906 + console.log('H:', this.infoForm.list)
880 } 907 }
881 } 908 }
882 }).catch(err => { 909 }).catch(err => {
...@@ -919,6 +946,7 @@ export default { ...@@ -919,6 +946,7 @@ export default {
919 }) 946 })
920 } 947 }
921 }) 948 })
949 + console.log('I:', this.infoForm.list)
922 } else { 950 } else {
923 this.routeList.forEach((route) => { 951 this.routeList.forEach((route) => {
924 this.infoForm.list.push({ 952 this.infoForm.list.push({
...@@ -928,6 +956,7 @@ export default { ...@@ -928,6 +956,7 @@ export default {
928 routePriority: route.routePriority, 956 routePriority: route.routePriority,
929 }) 957 })
930 }) 958 })
959 + console.log('J:', this.infoForm.list)
931 } 960 }
932 }).catch(err => { 961 }).catch(err => {
933 this.isEmpty = true 962 this.isEmpty = true
...@@ -942,6 +971,7 @@ export default { ...@@ -942,6 +971,7 @@ export default {
942 routePriority: route.routePriority, 971 routePriority: route.routePriority,
943 }) 972 })
944 }) 973 })
974 + console.log('K:', this.infoForm.list)
945 } 975 }
946 } 976 }
947 } 977 }
...@@ -973,6 +1003,7 @@ export default { ...@@ -973,6 +1003,7 @@ export default {
973 routePriority: item.ordinal 1003 routePriority: item.ordinal
974 }) 1004 })
975 }) 1005 })
1006 + console.log('L:', this.infoForm.list)
976 } else { 1007 } else {
977 this.msgWarning('未查询到航线信息!') 1008 this.msgWarning('未查询到航线信息!')
978 this.routeList = [] 1009 this.routeList = []
...@@ -995,9 +1026,10 @@ export default { ...@@ -995,9 +1026,10 @@ export default {
995 this.msgWarning('件数前区间不能大于后区间') 1026 this.msgWarning('件数前区间不能大于后区间')
996 } else if (new Number(data.minWeight) > new Number(data.maxWeight)) { 1027 } else if (new Number(data.minWeight) > new Number(data.maxWeight)) {
997 this.msgWarning('重量前区间不能大于后区间') 1028 this.msgWarning('重量前区间不能大于后区间')
998 - } else if (data.handlingCode == '' && data.serviceCode == '' && data.subCategory == '' && data.typeOfGoods == '' && data.puporpuxCode == '' && (!data.location || data.location == '') && data.notLocation == '' && (!data.destinationSite || data.destinationSite == '') && data.notDestinationSite == '' && (data.includeUrsa == null || data.notIncludeUrsa == null) && (!data.minNumOfPieces || data.minNumOfPieces == '') && (!data.maxNumOfPieces || data.maxNumOfPieces == '') && (!data.minWeight || data.minWeight == '') && (!data.maxWeight || data.maxWeight == '')) { 1029 + } else if (data.handlingCode == '' && data.serviceCode == '' && data.subCategory == '' && data.typeOfGoods == '' && data.puporpuxCode == '' && (!data.location || data.location == '') && data.notLocation == '' && (data.includeUrsa == null || data.includeUrsa == '') && (data.notIncludeUrsa == null || data.notIncludeUrsa == '') && (!data.minNumOfPieces || data.minNumOfPieces == '') && (!data.maxNumOfPieces || data.maxNumOfPieces == '') && (!data.minWeight || data.minWeight == '') && (!data.maxWeight || data.maxWeight == '')) {
999 this.msgWarning('未添加规则信息,请添加后再保存!') 1030 this.msgWarning('未添加规则信息,请添加后再保存!')
1000 } else { 1031 } else {
1032 + // this.loading = true
1001 this.routeList.forEach((item, idx) => { 1033 this.routeList.forEach((item, idx) => {
1002 routeArr.push(item.route) 1034 routeArr.push(item.route)
1003 }) 1035 })
...@@ -1019,9 +1051,9 @@ export default { ...@@ -1019,9 +1051,9 @@ export default {
1019 this.loading = false 1051 this.loading = false
1020 if (res.code === 200) { 1052 if (res.code === 200) {
1021 this.fltNoDisabled = true 1053 this.fltNoDisabled = true
1054 + this.$forceUpdate()
1022 this.msgSuccess('保存成功!') 1055 this.msgSuccess('保存成功!')
1023 this.infoForm.list[val] = this.dataHandle(res.data) 1056 this.infoForm.list[val] = this.dataHandle(res.data)
1024 - this.$forceUpdate()
1025 } else { 1057 } else {
1026 this.msgWarning(res.msg) 1058 this.msgWarning(res.msg)
1027 } 1059 }
...@@ -1175,15 +1207,12 @@ export default { ...@@ -1175,15 +1207,12 @@ export default {
1175 }, 1207 },
1176 //数据处理 1208 //数据处理
1177 dataHandle(val) { 1209 dataHandle(val) {
1178 - 1210 + val.isLocation = '1'
1179 - val.isLocation = '1' // 始发站 radio
1180 val.location ? val.isLocation = '1' : '' 1211 val.location ? val.isLocation = '1' : ''
1181 val.notLocation ? val.isLocation = '2' : '' 1212 val.notLocation ? val.isLocation = '2' : ''
1182 - 1213 + val.isDestinationSite = '1'
1183 - val.isDestinationSite = '1' // 目的站 radio 1214 + val.notDestinationSite ? val.isDestinationSite = '1' : ''
1184 - val.destinationSite ? val.isDestinationSite = '1' : '' 1215 + val.notLocation ? val.isDestinationSite = '2' : ''
1185 - val.notDestinationSite ? val.isDestinationSite = '2' : ''
1186 -
1187 val.maxNumOfPieces == null ? val.maxNumOfPieces = undefined : val.maxNumOfPieces = val.maxNumOfPieces//最大件数 1216 val.maxNumOfPieces == null ? val.maxNumOfPieces = undefined : val.maxNumOfPieces = val.maxNumOfPieces//最大件数
1188 val.maxWeight == null ? val.maxWeight = undefined : val.maxWeight = val.maxWeight//最大重量 1217 val.maxWeight == null ? val.maxWeight = undefined : val.maxWeight = val.maxWeight//最大重量
1189 val.minNumOfPieces == null ? val.minNumOfPieces = undefined : val.minNumOfPieces = val.minNumOfPieces//最小件数 1218 val.minNumOfPieces == null ? val.minNumOfPieces = undefined : val.minNumOfPieces = val.minNumOfPieces//最小件数
......