瀏覽代碼

入库单保存,去除扫描方式

panxingxin 5 年之前
父節點
當前提交
cb97e98181

+ 130 - 113
src/app/es-apply-scan/es-apply-scan.page.html

@@ -5,7 +5,7 @@
     </ion-buttons>
     <ion-title>入库单号查询</ion-title>
     <ion-buttons slot="end">
-      <ion-button [disabled]="esStoreList.length===0" (click)="saveStore()">
+      <ion-button [disabled]="esStoreDetailList.length===0" (click)="saveStore()">
         保存
       </ion-button>
       <!-- /
@@ -23,129 +23,146 @@
       [(ngModel)]="scanCode"></ion-input>
   </ion-item>
   <!-- <ion-list style="margin-bottom: 0px;" *ngFor="let es of esStoreList index as i"> -->
-  <ion-grid *ngFor="let es of esStoreDetailList">
-    <ion-row *ngFor="let store of es.detailList;let i = index">
+  <ion-grid *ngFor="let store of esStoreDetailList">
+    <ion-row>
       <!-- <form #esApplyForm="ngForm"> -->
-        <div class="divider"></div>
-        <ion-col size="3" class="ion-col">
-          <ion-label class="disabled-input">
-            PO号:
+      <div class="divider"></div>
+      <ion-col size="3" class="ion-col">
+        <ion-label class="disabled-input">
+          PO号:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.scpPoCode" name="scpPoCode" #scpPoCode="ngModel" disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="3" class="ion-col">
+        <ion-label class="disabled-input">
+          客户货号:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.scpCustomercode" name="scpCustomercode"
+          #scpCustomercode="ngModel" disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="5" class="ion-col">
+        <ion-label class="disabled-input">
+          我司货号:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.scpCode" name="scpCode" #scpCode="ngModel" disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="9" class="ion-col">
+        <ion-label class="disabled-input">
+          中文品名:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.scpCnname" name="scpCnname" #scpCnname="ngModel" disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="3" class="ion-col">
+        <ion-label class="disabled-input">
+          总箱数:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.contractBoxs" name="contractBoxs" #contractBoxs="ngModel"
+          disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="3" class="ion-col">
+        <ion-label class="disabled-input">
+          qc员:
+        </ion-label>
+        <ion-input class="ion-input" [(ngModel)]="store.qcName" name="qcName" #qcName="ngModel" disabled>
+        </ion-input>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            入库箱数:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.scpPoCode" name="scpPoCode" #scpPoCode="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="3" class="ion-col">
-          <ion-label class="disabled-input">
-            我司货号:
+          <ion-input placeholder="请输入" class="es-input" [(ngModel)]="store.enterBoxs" type="number"
+            (ionFocus)="hideKeyboard()" name="enterBoxs" required></ion-input>
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.enterBoxs&&clicked)" class="ion-padding-start">
+            请输入入库箱数
+          </p>
+        </ion-text>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            外箱长度:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.scpCode" name="scpCode" #scpCode="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="3" class="ion-col">
-          <ion-label class="disabled-input">
-            客户货号:
+          <!-- <ion-item class="item-input"> -->
+            <ion-input class="es-input" [(ngModel)]="store.outboxlength" type="number"
+              (ionFocus)="hideKeyboard()" name="outboxlength" required></ion-input>
+          <!-- </ion-item> -->
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.outboxlength&&clicked)" class="ion-padding-start">
+            请输入外箱长度
+          </p>
+        </ion-text>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            外箱宽度:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.scpCustomercode" name="scpCustomercode"
-            #scpCustomercode="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="9" class="ion-col">
-          <ion-label class="disabled-input">
-            中文品名:
+          <ion-input class="es-input" [(ngModel)]="store.outboxwidth" type="number" (ionFocus)="hideKeyboard()"
+            name="outboxwidth" required></ion-input>
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.outboxwidth&&clicked)" class="ion-padding-start">
+            请输入外箱宽度
+          </p>
+        </ion-text>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            外箱高度:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.scpCnname" name="scpCnname" #scpCnname="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="3" class="ion-col">
-          <ion-label class="disabled-input">
-            总箱数:
+          <ion-input class="es-input" [(ngModel)]="store.outboxheigt" type="number" (ionFocus)="hideKeyboard()"
+            name="outboxheigt" required></ion-input>
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.outboxheigt&&clicked)" class="ion-padding-start">
+            请输入外箱高度
+          </p>
+        </ion-text>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            毛重:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.boxsCount" name="boxsCount" #boxsCount="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="3" class="ion-col">
-          <ion-label class="disabled-input">
-            qc员:
+          <ion-input class="es-input" [(ngModel)]="store.grossweight" type="number" (ionFocus)="hideKeyboard()"
+            name="grossweight" required></ion-input>
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.grossweight&&clicked)" class="ion-padding-start">
+            请输入毛重:
+          </p>
+        </ion-text>
+      </ion-col>
+      <ion-col size="3" class="mode-input">
+        <div>
+          <ion-label>
+            仓位编号:
           </ion-label>
-          <ion-input class="ion-input" [(ngModel)]="store.qcName" name="qcName" #qcName="ngModel" disabled>
-          </ion-input>
-        </ion-col>
-        <ion-col size="6" class="mode-input">
-          <div>
-            <ion-label>
-              外箱长度:
-            </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.outboxlength" type="number"
-              (ionFocus)="hideKeyboard()" name="outboxlength" required></ion-input>
-          </div>
-          <ion-text class="mode-input-danger" color="danger">
-            <p style="padding-left: 0;" [hidden]="!(!store.outboxlength&&clicked)" class="ion-padding-start">
-              请输入外箱长度
-            </p>
-          </ion-text>
-        </ion-col>
-        <ion-col size="3" class="mode-input">
-          <div>
-            <ion-label>
-              外箱宽度:
-            </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.outboxwidth" type="number"
-              (ionFocus)="hideKeyboard()" name="outboxwidth" required></ion-input>
-          </div>
-          <ion-text class="mode-input-danger" color="danger">
-            <p style="padding-left: 0;" [hidden]="!(!store.outboxwidth&&clicked)" class="ion-padding-start">
-              请输入外箱宽度
-            </p>
-          </ion-text>
-        </ion-col>
-        <ion-col size="3" class="mode-input">
-          <div>
-            <ion-label>
-              外箱高度:
-            </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.outboxheigt" type="number"
-              (ionFocus)="hideKeyboard()" name="outboxheigt" required></ion-input>
-          </div>
-          <ion-text class="mode-input-danger" color="danger">
-            <p style="padding-left: 0;" [hidden]="!(!store.outboxheigt&&clicked)" class="ion-padding-start">
-              请输入外箱高度
-            </p>
-          </ion-text>
-        </ion-col>
-        <ion-col size="3" class="mode-input">
-          <div>
-            <ion-label>
-              毛重:
-            </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.grossweight" type="number"
-              (ionFocus)="hideKeyboard()" name="grossweight" required></ion-input>
-          </div>
-          <ion-text class="mode-input-danger" color="danger">
-            <p style="padding-left: 0;" [hidden]="!(!store.grossweight&&clicked)" class="ion-padding-start">
-              请输入毛重:
-            </p>
-          </ion-text>
-        </ion-col>
-        <ion-col size="3" class="mode-input">
-          <div>
-            <ion-label>
-              仓位编号:
-            </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.storelocation"
-              (ionFocus)="hideKeyboard()" name="storelocation" required></ion-input>
-          </div>
-          <ion-text class="mode-input-danger" color="danger">
-            <p style="padding-left: 0;" [hidden]="!(!store.storelocation&&clicked)" class="ion-padding-start">
-              请输入仓位编号
-            </p>
-          </ion-text>
-        </ion-col>
+          <ion-input class="es-input" [(ngModel)]="store.storelocation" (ionFocus)="hideKeyboard()"
+            name="storelocation" required></ion-input>
+        </div>
+        <ion-text class="mode-input-danger" color="danger">
+          <p style="padding-left: 0;" [hidden]="!(!store.storelocation&&clicked)" class="ion-padding-start">
+            请输入仓位编号
+          </p>
+        </ion-text>
+      </ion-col>
       <!-- </form> -->
     </ion-row>
   </ion-grid>
 
   <!-- </ion-list> -->
-  <div class="ion-padding">
+  <!-- <div class="ion-padding">
     <ion-button color="primary" type="submit" expand="block" (click)="saveRecord()"
       [disabled]="esStoreDetailList.length===0">记 录</ion-button>
   </div>
@@ -161,5 +178,5 @@
       <ion-label color="primary" (click)="getStoreDetail(item)">入库申请单号:({{item.scanCode}})</ion-label>
       <ion-icon name="trash" (click)="deleteStore(item, i)"></ion-icon>
     </ion-item>
-  </ion-list>
+  </ion-list> -->
 </ion-content>

+ 8 - 2
src/app/es-apply-scan/es-apply-scan.page.scss

@@ -18,7 +18,7 @@
 }
 
 .mode-input {
-    font-size: 14px;
+    font-size: 12px;
 }
 .mode-input div {
     display: flex;
@@ -28,6 +28,12 @@
     padding: 0.2rem;
 }
 
-.mode-input-danger {
+.es-input {
+    border-bottom: 1px solid #000;
+    --padding-top: 0;
+    --padding-bottom: 0.2rem;
+}
 
+.es-input .native-input.sc-ion-input-ios:invalid {
+    padding: 0;
 }

+ 61 - 58
src/app/es-apply-scan/es-apply-scan.page.ts

@@ -13,7 +13,8 @@ import { Device } from '@ionic-native/device/ngx'
 })
 export class EsApplyScanPage implements OnInit {
 
-  esStoreDetailList = []
+  esStoreDetailList = [
+  ]
   clicked = false
   esStoreList = [
   ]
@@ -31,11 +32,11 @@ export class EsApplyScanPage implements OnInit {
 
   @ViewChild('scanInput') scanInput;
   ngOnInit() {
-    this.storage.get('esStoreList').then(async (val) => {
-      if (val) {
-        this.esStoreList = JSON.parse(val)
-      }
-    })
+    // this.storage.get('esStoreList').then(async (val) => {
+    //   if (val) {
+    //     this.esStoreList = JSON.parse(val)
+    //   }
+    // })
   }
 
   // 进入页面
@@ -56,13 +57,13 @@ export class EsApplyScanPage implements OnInit {
     window.removeEventListener('keyboardDidShow', this.ifHideKeyboard)
   }
 
-  ionViewDidLeave() {
-    if (this.esStoreList.length !== 0) {
-      this.storage.set('esStoreList', JSON.stringify(this.esStoreList))
-    } else {
-      this.storage.remove('esStoreList')
-    }
-  }
+  // ionViewDidLeave() {
+  //   if (this.esStoreList.length !== 0) {
+  //     this.storage.set('esStoreList', JSON.stringify(this.esStoreList))
+  //   } else {
+  //     this.storage.remove('esStoreList')
+  //   }
+  // }
 
   hideKeyboard() {
     // 收缩键盘后还是聚焦状态,不会进入此事件,需监听事件来隐藏键盘
@@ -93,7 +94,7 @@ export class EsApplyScanPage implements OnInit {
 
   // 隐藏键盘
   initialData() {
-    this.esStoreDetailList = []
+    // this.esStoreDetailList = []
     this.clicked = false
     this.scanCode = ''
     this.scanInput.setFocus();
@@ -111,52 +112,54 @@ export class EsApplyScanPage implements OnInit {
   // 获取入库单详情
   async getStoreDetail(item?) {
     console.log('detail')
-    if (item) {
-      this.scanCode = item.scanCode
-      this.esStoreDetailList = new Array(item)
-    } else {
-      if (this.scanCode) {
-        let filterData = []
-        filterData = this.esStoreList.filter(item => {
-          return item.scanCode === this.scanCode
-        })
-        if (filterData.length === 0) {
-          let data = await this.userData.getAppStoreDetail(this.scanCode)
-          this.esStoreDetailList.push({
-            scanCode: this.scanCode,
-            detailList: data.data
-          })
-        } else {
-          this.esStoreDetailList = filterData
-        }
+    // if (item) {
+    //   this.scanCode = item.scanCode
+    //   this.esStoreDetailList = new Array(item)
+    // } else {
+    if (this.scanCode) {
+      let filterData = []
+      filterData = this.esStoreList.filter(item => {
+        return item.scanCode === this.scanCode
+      })
+      if (filterData.length === 0) {
+        let data = await this.userData.getAppStoreDetail(this.scanCode)
+        this.esStoreDetailList = data.data
+        // this.esStoreDetailList.push({
+        //   scanCode: this.scanCode,
+        //   detailList: data.data
+        // })
+      } else {
+        this.esStoreDetailList = filterData
       }
     }
+    // }
   }
   // 记录数据
   async saveRecord() {
-    this.clicked = true
-    // if (form.valid) {
-    // 是否已扫描记录过该数据
-    let filterData = []
-    filterData = this.esStoreList.filter(item => {
-      return item.scanCode === this.esStoreDetailList[0].scanCode
-    })
-    // 有则更新
-    if (filterData.length !== 0) {
-      filterData = this.esStoreDetailList
-      // 无则加上  
-    } else {
-      this.esStoreList = this.esStoreList.concat(this.esStoreDetailList)
-    }
-    // 显示记录中的外销合同号
-    for (let i of this.esStoreList) {
-      for (let j of i.detailList) {
-        j.enterCount = Number(j.enterBoxs) * Number(j.scpOutrate)
-        j.amount = j.enterCount
-      }
-    }
-    this.storage.set('esStoreList', JSON.stringify(this.esStoreList))
-    this.initialData()
+    console.log(this.esStoreDetailList)
+    // this.clicked = true
+    // // if (form.valid) {
+    // // 是否已扫描记录过该数据
+    // let filterData = []
+    // filterData = this.esStoreList.filter(item => {
+    //   return item.scanCode === this.esStoreDetailList[0].scanCode
+    // })
+    // // 有则更新
+    // if (filterData.length !== 0) {
+    //   filterData = this.esStoreDetailList
+    //   // 无则加上  
+    // } else {
+    //   this.esStoreList = this.esStoreList.concat(this.esStoreDetailList)
+    // }
+    // // 显示记录中的外销合同号
+    // for (let i of this.esStoreList) {
+    //   for (let j of i.detailList) {
+    //     j.enterCount = Number(j.enterBoxs) * Number(j.scpOutrate)
+    //     j.amount = j.enterCount
+    //   }
+    // }
+    // this.storage.set('esStoreList', JSON.stringify(this.esStoreList))
+    // this.initialData()
     // }
   }
 
@@ -166,9 +169,9 @@ export class EsApplyScanPage implements OnInit {
 
   // 保存并生成货号
   async saveStore() {
-    for (let i of this.esStoreList) {
-      await this.userData.saveStoreDetail(i.detailList)
-    }
+    // for (let i of this.esStoreList) {
+    await this.userData.saveStoreDetail(this.esStoreDetailList)
+    // }
     this.initialData()
     this.esStoreList = []
   }

+ 1 - 1
src/providers/user-data.ts

@@ -690,7 +690,7 @@ export class UserData {
   }
 
   // 生成入库单
-  async saveStoreDetail(list: Array<[]>): Promise<any> {
+  async saveStoreDetail(list: any): Promise<any> {
     const token = await this.getToken();
     const loading = await this.loadingCtrl.create();
     await loading.present();