Explorar el Código

增加我司货号查询,不需要填写qcqalog,菜单减少入库qc扫描,入库单号查询,两个驳回

panxingxin hace 5 años
padre
commit
a3a08c83ec

+ 1 - 1
src/app/contract-detail/contract-detail.page.ts

@@ -130,7 +130,7 @@ export class ContractDetailPage implements OnInit {
       for (let j of i['qaIdList']) {
         this.userData.deleteSampleQa(j)
       }
-      if(i.qalog && i.imageData) {
+      if(i.imageData) {
         // let file = []
         // file.push(i.imgData)
         let form = {

+ 2 - 2
src/app/contract/contract.page.html

@@ -14,8 +14,8 @@
       <ion-input [(ngModel)]="sscCode"></ion-input>
     </ion-item>
     <ion-item>
-      <ion-label>业务人员:</ion-label>
-      <ion-input [(ngModel)]="sscCreator"></ion-input>
+      <ion-label>我司货号:</ion-label>
+      <ion-input [(ngModel)]="scpCodes"></ion-input>
     </ion-item>
     <ion-item>
       <ion-label>合同开始:</ion-label>

+ 3 - 3
src/app/contract/contract.page.ts

@@ -14,7 +14,7 @@ export class ContractPage implements OnInit {
 
   public sscContractdateGt: any
   public sscContractdateLt: any
-  public sscCreator: string
+  public scpCodes: string
   public sscCode: string
 
   constructor(public userData: UserData,
@@ -84,9 +84,9 @@ export class ContractPage implements OnInit {
         range: range
       })
     }
-    if (this.sscCreator) {
+    if (this.scpCodes) {
       let prefix = {}
-      prefix['sscCreator.keyword'] = this.sscCreator
+      prefix['scpCodes.keyword'] = this.scpCodes.toUpperCase()
       queryForm.query.bool.must.push({
         prefix: prefix
       })

+ 5 - 5
src/app/es-apply-scan/es-apply-scan.page.html

@@ -3,15 +3,15 @@
     <ion-buttons slot="start">
       <ion-menu-button></ion-menu-button>
     </ion-buttons>
-    <ion-title>入库单号扫描</ion-title>
+    <ion-title>入库单号查询</ion-title>
     <ion-buttons slot="end">
       <ion-button [disabled]="esStoreList.length===0" (click)="saveStore()">
         保存
       </ion-button>
-      /
+      <!-- /
       <ion-button (click)="qrscan()">
         <ion-icon name="qr-scanner"></ion-icon>
-      </ion-button>
+      </ion-button> -->
     </ion-buttons>
   </ion-toolbar>
 </ion-header>
@@ -19,7 +19,7 @@
 <ion-content>
   <ion-item>
     <ion-label>入库申请单号:</ion-label>
-    <ion-input #scanInput clear-on-edit autofocus (ionFocus)="hideKeyboard()" (ionChange)="getStoreDetail()"
+    <ion-input #scanInput clear-on-edit autofocus (ionFocus)="hideKeyboard()" (keyup)="getCodeInput($event)"
       [(ngModel)]="scanCode"></ion-input>
   </ion-item>
   <!-- <ion-list style="margin-bottom: 0px;" *ngFor="let es of esStoreList index as i"> -->
@@ -131,7 +131,7 @@
             <ion-label>
               仓位编号:
             </ion-label>
-            <ion-input style="--padding-top: 0;" [(ngModel)]="store.storelocation" type="number"
+            <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">

+ 9 - 0
src/app/es-apply-scan/es-apply-scan.page.ts

@@ -99,6 +99,15 @@ export class EsApplyScanPage implements OnInit {
     this.scanInput.setFocus();
   }
 
+  getCodeInput(e) {
+    e.preventDefault()
+    let keycode = window.event ? e.keyCode : e.which;
+    if (keycode == 13) {
+      e.preventDefault();
+      this.getStoreDetail()
+    }
+  }
+
   // 获取入库单详情
   async getStoreDetail(item?) {
     console.log('detail')

+ 17 - 13
src/app/menu/menu.ts

@@ -41,14 +41,16 @@ export const menu_list = [
         }]
     },{
         title: '仓库管理',
-        children: [{
-            id: 7000,
-            name: '入库扫描',
-            icon: 'appstore',
-            url: 'enter-store'
-        },{
+        children: [
+        //     {
+        //     id: 7000,
+        //     name: '入库扫描',
+        //     icon: 'appstore',
+        //     url: 'enter-store'
+        // },
+        {
             id: 8000,
-            name: '入库单号扫描',
+            name: '入库单号查询',
             icon: 'appstore',
             url: 'es-apply-scan'
         }, {
@@ -64,12 +66,14 @@ export const menu_list = [
             name: 'QC验货初检报告列表',
             icon: 'list-box',
             url: 'store-qc'
-        }, {
-            id: 11000,
-            name: 'QC扫描',
-            icon: 'qr-scanner',
-            url: 'store-qc-scanning'
-        }, {
+        },
+        //  {
+        //     id: 11000,
+        //     name: 'QC扫描',
+        //     icon: 'qr-scanner',
+        //     url: 'store-qc-scanning'
+        // },
+         {
             id: 12000,
             name: '待验货物',
             icon: 'checkbox',

+ 1 - 1
src/app/sample-detail/sample-detail.page.ts

@@ -130,7 +130,7 @@ export class SampleDetailPage implements OnInit {
       for (let j of i['qaIdList']) {
         this.userData.deleteSampleQa(j)
       }
-      if (i.qalog && i.imageData) {
+      if (i.imageData) {
         let form = {
           sdpId: i.sdpId,
           mark: i.qalog,

+ 2 - 2
src/app/sample/sample.page.html

@@ -32,8 +32,8 @@
       <ion-icon name="close" *ngIf="sdCreateDateLt" (click)="clearDate('sdCreateDateLt')" slot="end"></ion-icon>
     </ion-item> 
     <ion-item>
-      <ion-label>跟单 QA:</ion-label>
-      <ion-input [(ngModel)]="sdMan"></ion-input>
+      <ion-label>我司货号:</ion-label>
+      <ion-input [(ngModel)]="scpCodes"></ion-input>
     </ion-item>
   </ion-list>
   <div class="ion-padding">

+ 4 - 4
src/app/sample/sample.page.ts

@@ -14,7 +14,7 @@ export class SamplePage implements OnInit {
   public sdDocument: string
   public sdCreateDateLt: any
   public sdCreateDateGt: any
-  public sdMan: string
+  public scpCodes: string
   constructor(
     private router: Router,
     public commonService: commonService,
@@ -85,9 +85,9 @@ export class SamplePage implements OnInit {
         range: range
       })
     }
-    if (this.sdMan) {
+    if (this.scpCodes) {
       let prefix = {}
-      prefix['sdMan.keyword'] = this.sdMan
+      prefix['scpCodes.keyword'] = this.scpCodes.toUpperCase()
       queryForm.query.bool.must.push({
         prefix: prefix
       })
@@ -98,7 +98,7 @@ export class SamplePage implements OnInit {
     this.sdDocument = '',
       this.sdCreateDateLt = '',
       this.sdCreateDateGt = '',
-      this.sdMan = ''
+      this.scpCodes = ''
   }
   clear() {
     this.initialData()

+ 11 - 1
src/app/store-pending/store-pending.page.html

@@ -13,7 +13,7 @@
       refreshingText="刷新...">
     </ion-refresher-content>
   </ion-refresher>
-  <ion-card *ngFor="let pending of pendingList" (click)="getStoreQCDetail(pending)">
+  <ion-card *ngFor="let pending of pendingList" (click)="getStoreQCDetail(pending)" class="speaker-card">
     <ion-card-content class="pending-content">
       <ion-item lines="none" *ngIf="pending.imgsrc" (click)="showFullScreenImage(pending)">
         <span>产品图片:</span>
@@ -31,6 +31,16 @@
       <ion-item>
         <span>仓位说明:{{pending.storelocation}}</span>
       </ion-item>
+      <div class="edit-btn">
+        <ion-button fill="clear" size="small" color="primary" (click)="rejectSample(pending);$event.stopPropagation()">
+          <ion-icon name="undo" slot="start"></ion-icon>
+          QC驳回样品准备
+        </ion-button>
+        <ion-button fill="clear" size="small" color="primary" (click)="rejectWarehouse(pending);$event.stopPropagation()">
+          <ion-icon name="refresh" slot="start"></ion-icon>
+          QC驳回仓库准备
+        </ion-button>
+      </div>
     </ion-card-content>
   </ion-card>
 </ion-content>

+ 33 - 4
src/app/store-pending/store-pending.page.scss

@@ -1,7 +1,36 @@
 .title-image {
-    width: auto;
-    height: 60px;
+  width: auto;
+  height: 60px;
 }
 span {
-    font-size: 14px;
-}
+  font-size: 14px;
+}
+
+.speaker-card ion-card-header {
+  padding: 0;
+}
+
+.speaker-card ion-card-header .item {
+  padding: 4px 16px;
+}
+
+.speaker-card ion-card-content {
+  flex: 1 1 auto;
+
+  padding: 0;
+}
+
+.ion-text-left {
+  text-align: left;
+}
+
+.ion-text-right {
+  text-align: right;
+}
+
+.edit-btn {
+  display: flex;
+  justify-content: space-around;
+  height: 3rem;
+  align-items: center;
+}

+ 8 - 0
src/app/store-pending/store-pending.page.ts

@@ -77,4 +77,12 @@ export class StorePendingPage implements OnInit {
     //   }
     // }
   }
+  async rejectSample(pending) {
+    await this.userData.rejectSample(pending.sscId,pending.pid)
+    this.getList()
+  }
+  async rejectWarehouse(pending) {
+    await this.userData.rejectWarehouse(pending.sscId,pending.pid)
+    this.getList()
+  }
 }

+ 1 - 1
src/app/store-qc-detail/store-qc-detail.page.ts

@@ -171,7 +171,7 @@ export class StoreQCDetailPage implements OnInit {
       for (let j of i['qcIdList']) {
         this.userData.deleteSampleQc(j)
       }
-      if (i.qclog && i.imageData) {
+      if (i.imageData) {
         let form = {
           files: i.imageData,
           mark: i.qclog,

+ 1 - 1
src/app/store-qc-scanning/store-qc-scanning.page.ts

@@ -181,7 +181,7 @@ export class StoreQCScanningPage implements OnInit {
       for (let j of i['qcIdList']) {
         this.userData.deleteSampleQc(j)
       }
-      if (i.qclog && i.imageData) {
+      if (i.imageData) {
         let form = {
           files: i.imageData,
           mark: i.qclog,

+ 90 - 0
src/providers/user-data.ts

@@ -1103,6 +1103,96 @@ export class UserData {
     });
   }
 
+  // qc驳回样品准备
+  async rejectSample(sscId: any, pId: any) {
+    const token = await this.getToken();
+    const loading = await this.loadingCtrl.create();
+    await loading.present();
+    this.nativeHttp.setDataSerializer('json');
+    const headers = { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json;charset=UTF-8' };
+    return new Promise((resolve, reject) => {
+      from(this.nativeHttp.put(`${environment.APP_SERVE_URL}/inventory/qc/mobile/rejectSample?sscId=${sscId}&pId=${pId}`, {},
+        headers)).pipe(
+          finalize(() => loading.dismiss())
+        ).subscribe(async data => {
+          let message = '';
+          if (JSON.parse(data.data).code === 0) {
+            message = `驳回成功`;
+          } else if (JSON.parse(data.data).code === 1) {
+            message = JSON.parse(data.data).msg;
+          }
+          const alert = await this.alertController.create({
+            // header: 'Confirm!',
+            message: message,
+            buttons: [
+              {
+                text: '确定',
+                role: 'cancel',
+                cssClass: 'secondary',
+                handler: (blah) => {
+                }
+              }
+            ]
+          });
+          await alert.present();
+          resolve(data.data);
+        }, async err => {
+          console.log(err);
+          const toast = await this.toastCtrl.create({
+            message: '驳回失败',
+            duration: 1000,
+            position: 'top'
+          });
+          await toast.present();
+        });
+    });
+  }
+
+  // qc驳回仓库准备
+  async rejectWarehouse(sscId: any, pId: any) {
+    const token = await this.getToken();
+    const loading = await this.loadingCtrl.create();
+    await loading.present();
+    this.nativeHttp.setDataSerializer('json');
+    const headers = { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json;charset=UTF-8' };
+    return new Promise((resolve, reject) => {
+      from(this.nativeHttp.put(`${environment.APP_SERVE_URL}/inventory/qc/mobile/rejectWarehouse?sscId=${sscId}&pId=${pId}`, {},
+        headers)).pipe(
+          finalize(() => loading.dismiss())
+        ).subscribe(async data => {
+          let message = '';
+          if (JSON.parse(data.data).code === 0) {
+            message = `驳回成功`;
+          } else if (JSON.parse(data.data).code === 1) {
+            message = JSON.parse(data.data).msg;
+          }
+          const alert = await this.alertController.create({
+            // header: 'Confirm!',
+            message: message,
+            buttons: [
+              {
+                text: '确定',
+                role: 'cancel',
+                cssClass: 'secondary',
+                handler: (blah) => {
+                }
+              }
+            ]
+          });
+          await alert.present();
+          resolve(data.data);
+        }, async err => {
+          console.log(err);
+          const toast = await this.toastCtrl.create({
+            message: '驳回失败',
+            duration: 1000,
+            position: 'top'
+          });
+          await toast.present();
+        });
+    });
+  }
+
   // 获取QC验货初检报告详情
   async getQCDetail(sscId: number, pId: number): Promise<any> {
     const token = await this.getToken();