Prechádzať zdrojové kódy

Merge branch 'master' of https://prodog.leanwo.com:3000/prodog-client-2023/client-wms-v3

YangZhiJie 2 rokov pred
rodič
commit
ae38dd8cb5

+ 2 - 2
package.json

@@ -1,7 +1,7 @@
 {
   "name": "client-wms-v3",
   "description": "Leanwo Prodog Client",
-  "version": "3.0.4",
+  "version": "3.0.7",
   "author": "yangzhijie1488 <yangzhijie1488@163.com>",
   "scripts": {
     "dev": "cross-env webpack serve --config ./webpack.dev.js",
@@ -15,7 +15,7 @@
   "peerDependencies": {
     "ant-design-vue": "^3.2.15",
     "moment": "^2.29.4",
-    "pc-component-v3": "^1.0.44",
+    "pc-component-v3": "^1.0.70",
     "v-tooltip": "^4.0.0-beta.17",
     "vue-select": "^4.0.0-beta.6"
   },

+ 14 - 24
src/components/InventoryPrint.vue

@@ -10,6 +10,7 @@
             <PrintWidget
               ref="printWidget"
               :printer-localstorage-id="'#InventoryPrinterPrinter'"
+              @selected-printer-name="getPrintName"
             />
 
             <div class="form-group">
@@ -212,28 +213,11 @@ import Common from '../common/Common.js';
 
 import InventoryResource from '../api/common/InventoryResource.js';
 import InventoryInstancePrintResource from '../api/wms/InventoryInstancePrintResource.js';
-import { PrintUtil } from 'pc-component-v3';
-
-
-
-
-
-
-
-
-
-
-
+import { PrintUtil, PrintWidget } from 'pc-component-v3';
 
 export default {
   components: {
-    
-    
-    
-    
-    
-    
-    
+    PrintWidget,
     
   },
   data: function () {
@@ -263,6 +247,7 @@ export default {
       printType: 0, //类型 0:采购入库打印/1:扫描入库打印
       printerName: '',
       loading: false,
+      selectedPrinterTitle:'',
     };
   },
 
@@ -282,6 +267,11 @@ export default {
   },
 
   methods: {
+
+    getPrintName:function(value){
+      this.selectedPrinterTitle = value;
+    },
+
     getFieldValue1: function (item) {
       var fieldValue1 = {
         id: item.vendorId,
@@ -341,7 +331,7 @@ export default {
         return;
       }
 
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (selectedPrinter == null || selectedPrinter.length == 0) {
         Notify.error('提示', '请先选择打印机。', false);
         return;
@@ -417,7 +407,7 @@ export default {
         return;
       }
 
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (selectedPrinter == null || selectedPrinter.length == 0) {
         Notify.error('提示', '请先选择打印机。', false);
         return;
@@ -557,9 +547,9 @@ export default {
       InventoryInstancePrintResource.print(recordIds).then(
         baseListResponse => {
           _self.loading=false;
-          if (baseListResponse.errorCode) {
-            let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
-            let selectedPrinterType = _self.$refs.printWidget.getSelectedPrinterType();
+          if (baseListResponse.errorCode == 0) {
+            let selectedPrinter = this.selectedPrinterTitle;
+            let selectedPrinterType = _self.$refs.printWidget.getSelectedPrinterTypeTitle();
             _self.printerName = selectedPrinter;
             if (selectedPrinterType == '发卡机' || selectedPrinterType == 'Jw发卡机') {
               _self.$nextTick(function () {

+ 12 - 21
src/components/InventoryPrintScan.vue

@@ -21,6 +21,7 @@
             <PrintWidget
               ref="printWidget"
               :printer-localstorage-id="'#InventoryPrinterPrinter'"
+              @selected-printer-name="getPrintName"
             />
 
             <div class="form-group">
@@ -249,25 +250,11 @@ import Common from '../common/Common.js';
 
 import InventoryResource from '../api/common/InventoryResource.js';
 import InventoryInstancePrintResource from '../api/wms/InventoryInstancePrintResource.js';
-import { PrintUtil } from 'pc-component-v3';
-
-
-
-
-
-
-
-
+import { PrintUtil,PrintWidget } from 'pc-component-v3';
 
 export default {
   components: {
-    
-    
-    
-    
-    
-    
-     
+    PrintWidget,
   },
   data: function () {
     this.Common = Common;
@@ -296,6 +283,7 @@ export default {
       printType: 1,//类型 0:采购入库打印/1:扫描入库打印
       printerName: '',
       loading: false,
+      selectedPrinterTitle:'',
     };
   },
 
@@ -316,6 +304,10 @@ export default {
 
   methods: {
 
+    getPrintName:function(value){
+      this.selectedPrinterTitle = value;
+    },
+
     getFieldValue1: function (item) {
       var fieldValue1 = {
         id: item.vendorId,
@@ -376,7 +368,7 @@ export default {
         return;
       }
 
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (selectedPrinter == null || selectedPrinter.length == 0) {
         Notify.error('提示', '请先选择打印机。', false);
         return;
@@ -445,12 +437,11 @@ export default {
         return;
       }
 
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (selectedPrinter == null || selectedPrinter.length == 0) {
         Notify.error('提示', '请先选择打印机。', false);
         return;
       }
-
       var datas = [];
       datas.push(inventoryInstance);
       $.ajax({
@@ -580,8 +571,8 @@ export default {
       InventoryInstancePrintResource.print(recordIds).then(baseListResponse => {
         _self.loading=false;
         if (baseListResponse.errorCode == 0) {
-          let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
-          let selectedPrinterType = _self.$refs.printWidget.getSelectedPrinterType();
+          let selectedPrinter = this.selectedPrinterTitle;
+          let selectedPrinterType = _self.$refs.printWidget.getSelectedPrinterTypeTitle();
           _self.printerName = selectedPrinter;
           if (selectedPrinterType == '发卡机') {
             _self.$nextTick(function(){

+ 314 - 206
src/pick/PickingCar.vue

@@ -29,7 +29,15 @@
               <span class="text-danger">*</span>
               项目事件
             </label>
-            <select id="projectItem" class="form-control" />
+            <a-select
+              v-model:value="projectItemName"
+              style="width: 220px"
+              show-search
+              @change="projectHandleChange"
+            >
+              <a-select-option v-for="item in projectList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="projectItem" class="form-control" /> -->
           </div>
 
           <div class="form-group">
@@ -37,11 +45,26 @@
               <span class="text-danger">*</span>
               仓库
             </label>
-            <select id="warehouse" class="form-control" />
+            <a-select
+              v-model:value="warehouseName"
+              style="width: 220px"
+              @change="storeHandleChange"
+            >
+              <a-select-option v-for="item in warehouseList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="warehouse" class="form-control" /> -->
           </div>
           <div class="form-group">
             <label for="stockOutPrepateTemplate">需求模板</label>
-            <select id="stockOutPrepateTemplate" class="form-control" />
+            <a-select
+              v-model:value="stockOutPrepateTemplateName"
+              style="width: 220px"
+              show-search
+              @change="templateHandleChange"
+            >
+              <a-select-option v-for="item in stockOutPrepateTemplateList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="stockOutPrepateTemplate" class="form-control" /> -->
           </div>
           <div class="form-group">
             <label>物料编码</label>
@@ -413,14 +436,6 @@
 import Common from '../common/Common.js';
 import PickingCarResource from '../api/wms/PickingCarResource.js';
 import StockOutPrepareResource from '../api/wms/StockOutPrepareResource.js';
-
-
-
-
-
-
-
-
 import InvoiceResource from '../api/wms/InvoiceResource.js';
 
 export default {
@@ -431,6 +446,9 @@ export default {
     return {
       pickingCars: [],
       stockOutPrepares: [],
+      projectList:[],//项目事件数据
+      warehouseList:[],//仓库数据
+      stockOutPrepateTemplateList: [],
       inventoryName: undefined,
       inventoryNo: undefined,
       inventoryType: undefined,
@@ -520,11 +538,11 @@ export default {
     this.loadSelectWarehouse();
     this.loadSelectTemplate();
     if (this.warehouseId != null) {
-      var warehouse = new Option(this.warehouseName, this.warehouseId);
-      $('#warehouse').append(warehouse);
+      // var warehouse = new Option(this.warehouseName, this.warehouseId);
+      // $('#warehouse').append(warehouse);
       if (this.projectItemId != null) {
-        var projectItem = new Option(this.projectItemName, this.projectItemId);
-        $('#projectItem').append(projectItem);
+        // var projectItem = new Option(this.projectItemName, this.projectItemId);
+        // $('#projectItem').append(projectItem);
         this.getDatas();
         this.getStockOutPrepareDatas();
       }
@@ -539,6 +557,38 @@ export default {
   },
 
   methods: {
+
+    // 项目事件
+    projectHandleChange:function (_,{key,value}) {
+      var _self = this;
+      console.log(key,value);
+      this.projectItemId = key;
+      localStorage.setItem('projectItemId',key);
+      localStorage.setItem('projectItemName',value);
+      _self.getDatas();
+      _self.getStockOutPrepareDatas();
+    },
+    // 仓库事件
+    storeHandleChange:function (_,{key,value}) {
+      var _self = this;
+      this.warehouseId = key;
+      console.log(key,value);
+      localStorage.setItem('warehouseId',key);
+      localStorage.setItem('warehouseName',value);
+      _self.getDatas();
+    },
+
+    templateHandleChange: function(_,{key,value}) {
+      var _self = this;
+      this.stockOutPrepateTemplateId = key;
+      console.log(key,value);
+      localStorage.setItem('stockOutPrepateTemplateId',key);
+      localStorage.setItem('stockOutPrepateTemplateName',value);
+      //需求模板改变,设定页数充1开始
+      _self.pagination.current_page = 1;
+      _self.getDatas();
+    },
+
     displayMoreToAddress: function () {
       var _self = this;
       var toAddressDto = {
@@ -739,153 +789,192 @@ export default {
       _self.stockOutPrepareWarehouseName = _self.stockOutPrepares[index].warehouseName;
       //_self.getDatas();
     },
+
     /**
      * 项目事件
      */
     loadSelectProjectItem: function () {
       var _self = this;
-      $('#projectItem')
-        .select2({
-          // 请求搜索框数据
-          //data: _self.data,
-          theme: 'bootstrap',
-          placeholder: '项目事件',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('ProjectItemResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                _self.projectItems = data.datas;
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.projectItemId = null;
-            var storage = window.localStorage;
-            storage.setItem('projectItemId', _self.projectItemId);
-            _self.projectItemName = '';
-            storage.setItem('projectItemName', _self.projectItemName);
-          } else {
-            _self.projectItemId = $(this).val();
-            for (var i = 0; i < _self.projectItems.length; i++) {
-              if (_self.projectItems[i].id == _self.projectItemId) {
-                _self.projectItemName = _self.projectItems[i].name;
-              }
-            }
-
-            storage.setItem('projectItemId', _self.projectItemId);
-            storage.setItem('projectItemName', _self.projectItemName);
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('ProjectItemResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.projectList = datas; 
+          }else{
+            alert(errorMessage);
           }
-          _self.getDatas();
-          _self.getStockOutPrepareDatas();
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#projectItem')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     //data: _self.data,
+      //     theme: 'bootstrap',
+      //     placeholder: '项目事件',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('ProjectItemResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           _self.projectItems = data.datas;
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.projectItemId = null;
+      //       var storage = window.localStorage;
+      //       storage.setItem('projectItemId', _self.projectItemId);
+      //       _self.projectItemName = '';
+      //       storage.setItem('projectItemName', _self.projectItemName);
+      //     } else {
+      //       _self.projectItemId = $(this).val();
+      //       for (var i = 0; i < _self.projectItems.length; i++) {
+      //         if (_self.projectItems[i].id == _self.projectItemId) {
+      //           _self.projectItemName = _self.projectItems[i].name;
+      //         }
+      //       }
+
+      //       storage.setItem('projectItemId', _self.projectItemId);
+      //       storage.setItem('projectItemName', _self.projectItemName);
+      //     }
+      //     _self.getDatas();
+      //     _self.getStockOutPrepareDatas();
+      //   });
     },
     /**
      * 仓库
      */
     loadSelectWarehouse: function () {
       var _self = this;
-      $('#warehouse')
-        .select2({
-          // 请求搜索框数据
-          //data: _self.data,
-          theme: 'bootstrap',
-          placeholder: '仓库',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('WarehouseResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                _self.warehouses = data.datas;
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.warehouseId = undefined;
-            var storage = window.localStorage;
-            _self.warehouseName = '';
-            storage.setItem('warehouseId', _self.warehouseId);
-            storage.setItem('warehouseName', _self.warehouseName);
-          } else {
-            _self.warehouseId = $(this).val();
-            for (var i = 0; i < _self.warehouses.length; i++) {
-              if (_self.warehouses[i].id == _self.warehouseId) {
-                _self.warehouseName = _self.warehouses[i].name;
-              }
-            }
-            storage.setItem('warehouseId', _self.warehouseId);
-            storage.setItem('warehouseName', _self.warehouseName);
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('WarehouseResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.warehouseList = datas; 
+          }else{
+            alert(errorMessage);
           }
-          _self.getDatas();
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#warehouse')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     //data: _self.data,
+      //     theme: 'bootstrap',
+      //     placeholder: '仓库',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('WarehouseResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           _self.warehouses = data.datas;
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.warehouseId = undefined;
+      //       var storage = window.localStorage;
+      //       _self.warehouseName = '';
+      //       storage.setItem('warehouseId', _self.warehouseId);
+      //       storage.setItem('warehouseName', _self.warehouseName);
+      //     } else {
+      //       _self.warehouseId = $(this).val();
+      //       for (var i = 0; i < _self.warehouses.length; i++) {
+      //         if (_self.warehouses[i].id == _self.warehouseId) {
+      //           _self.warehouseName = _self.warehouses[i].name;
+      //         }
+      //       }
+      //       storage.setItem('warehouseId', _self.warehouseId);
+      //       storage.setItem('warehouseName', _self.warehouseName);
+      //     }
+      //     _self.getDatas();
+      //   });
     },
 
     /**
@@ -893,64 +982,83 @@ export default {
      */
     loadSelectTemplate: function () {
       var _self = this;
-      $('#stockOutPrepateTemplate')
-        .select2({
-          // 请求搜索框数据
-          //data: _self.data,
-          theme: 'bootstrap',
-          placeholder: '需求模板',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.stockOutPrepateTemplateId = null;
-          } else {
-            _self.stockOutPrepateTemplateId = $(this).val();
-            _self.stockOutPrepateTemplateName = $(this).text();
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.stockOutPrepateTemplateList = datas; 
+          }else{
+            alert(errorMessage);
           }
-          //需求模板改变,设定页数充1开始
-          _self.pagination.current_page = 1;
-          _self.getDatas();
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#stockOutPrepateTemplate')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     //data: _self.data,
+      //     theme: 'bootstrap',
+      //     placeholder: '需求模板',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.stockOutPrepateTemplateId = null;
+      //     } else {
+      //       _self.stockOutPrepateTemplateId = $(this).val();
+      //       _self.stockOutPrepateTemplateName = $(this).text();
+      //     }
+      //     //需求模板改变,设定页数充1开始
+      //     _self.pagination.current_page = 1;
+      //     _self.getDatas();
+      //   });
     },
 
     /**

+ 100 - 64
src/pick/StockOutPrepareApproved.vue

@@ -39,10 +39,18 @@
               </span>
               项目事件
             </label>
-            <select
+            <a-select
+              v-model:value="projectItemName"
+              style="width: 220px"
+              show-search
+              @change="projectHandleChange"
+            >
+              <a-select-option v-for="item in projectList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select
               id="projectItem"
               class="form-control"
-            />
+            /> -->
           </div>
           <div class="form-group">
             <button
@@ -193,6 +201,7 @@ export default {
     return {
       stockOutPrepareLines: [], //详单对应的数据
       stockOutPrepares: [], //领料主单数据
+      projectList:[],//项目事件数据
       documentType: 0, //手工单据
       documentStatus: 'PROCESSING', //查询全部单据
       projectItemId: undefined,
@@ -245,13 +254,13 @@ export default {
     this.getLocalStorage();
     this.loadSelectProjectItem();
     this.queryPickingCarCount();
-    if (this.projectItemId != null) {
-      var projectItem = new Option(this.projectItemName, this.projectItemId);
-      $('#projectItem').append(projectItem);
-      this.getStockOutPrepareDatas();
-    } else {
-      this.getStockOutPrepareDatas();
-    }
+    // if (this.projectItemId != null) {
+    //   var projectItem = new Option(this.projectItemName, this.projectItemId);
+    //   $('#projectItem').append(projectItem);
+    //   this.getStockOutPrepareDatas();
+    // } else {
+    //   this.getStockOutPrepareDatas();
+    // }
 
     $('.fixed-table').tableFixer({ 'left': 4, 'head': true });
 
@@ -263,6 +272,17 @@ export default {
 
   methods: {
 
+    // 项目事件
+    projectHandleChange:function (_,{key,value}) {
+      var _self = this;
+      console.log(key,value);
+      this.projectItemId = key;
+      this.projectItemName = value;
+      localStorage.setItem('projectItemId',key);
+      localStorage.setItem('projectItemName',value);
+      _self.getStockOutPrepareDatas();
+    },
+
     /**
          * 查询领料车中的数量
          */
@@ -304,9 +324,6 @@ export default {
       }
     },
 
-
-
-
     /**
          * 点击选择领料单事件
          */
@@ -324,60 +341,79 @@ export default {
          */
     loadSelectProjectItem: function () {
       var _self = this;
-      $('#projectItem').select2({
-        // 请求搜索框数据
-        //data: _self.data,
-        theme: 'bootstrap',
-        placeholder: '项目事件',
-        minimumInputLength: 0,
-        placeholderOption: 'first',
-        quietMillis: 250,
-        allowClear: true,
-        language: 'zh-CN',
-        width: 'resolve',
-        // 请求搜索框数据
-        ajax: {
-          url: function (params) {
-            return Common.getApiURL('ProjectItemResource/queryByCondition');
-          },
-          dataType: 'json',
-          type: 'get',
-          delay: 250,
-          minimumInputLength: 0,
-          transport: function (params, success, failure) {
-            params.beforeSend = Common.addTokenToRequest;
-            var $request = $.ajax(params);
-            $request.then(success);
-            $request.fail(failure);
-            return $request;
-          },
-          data: function (params) {
-            return {
-              'name': params.term,
-            };
-          },
-          processResults: function (data, params) {
-            if(data.errorCode == 0) {
-              var more = (params * 10) <= data.datas.length;
-              for (var i = 0; i < data.datas.length; i++) {
-                data.datas[i].text = data.datas[i].name;
-              }
-              return {
-                results: data.datas,
-                more: more,
-              };
-            }
-          },
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('ProjectItemResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.projectList = datas; 
+          }else{
+            alert(errorMessage);
+          }
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
         },
-      }).on('change', function () {
-        if ($(this).val() == null) {
-          _self.projectItemId = null;
-        } else {
-          _self.projectItemId = $(this).val();
-
-        }
-        _self.getStockOutPrepareDatas();
       });
+      // $('#projectItem').select2({
+      //   // 请求搜索框数据
+      //   //data: _self.data,
+      //   theme: 'bootstrap',
+      //   placeholder: '项目事件',
+      //   minimumInputLength: 0,
+      //   placeholderOption: 'first',
+      //   quietMillis: 250,
+      //   allowClear: true,
+      //   language: 'zh-CN',
+      //   width: 'resolve',
+      //   // 请求搜索框数据
+      //   ajax: {
+      //     url: function (params) {
+      //       return Common.getApiURL('ProjectItemResource/queryByCondition');
+      //     },
+      //     dataType: 'json',
+      //     type: 'get',
+      //     delay: 250,
+      //     minimumInputLength: 0,
+      //     transport: function (params, success, failure) {
+      //       params.beforeSend = Common.addTokenToRequest;
+      //       var $request = $.ajax(params);
+      //       $request.then(success);
+      //       $request.fail(failure);
+      //       return $request;
+      //     },
+      //     data: function (params) {
+      //       return {
+      //         'name': params.term,
+      //       };
+      //     },
+      //     processResults: function (data, params) {
+      //       if(data.errorCode == 0) {
+      //         var more = (params * 10) <= data.datas.length;
+      //         for (var i = 0; i < data.datas.length; i++) {
+      //           data.datas[i].text = data.datas[i].name;
+      //         }
+      //         return {
+      //           results: data.datas,
+      //           more: more,
+      //         };
+      //       }
+      //     },
+      //   },
+      // }).on('change', function () {
+      //   if ($(this).val() == null) {
+      //     _self.projectItemId = null;
+      //   } else {
+      //     _self.projectItemId = $(this).val();
+
+      //   }
+      //   _self.getStockOutPrepareDatas();
+      // });
     },
 
     /**

+ 342 - 232
src/pick/StockOutPrepareLine.vue

@@ -32,7 +32,15 @@
               <span class="text-danger"> * </span>
               项目事件
             </label>
-            <select id="projectItem" class="form-control" style="width: 156px" />
+            <a-select
+              v-model:value="projectItemName"
+              style="width: 220px"
+              show-search
+              @change="projectHandleChange"
+            >
+              <a-select-option v-for="item in projectList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="projectItem" class="form-control" style="width: 156px" /> -->
             <button
               type="button"
               class="btn btn-info"
@@ -47,11 +55,26 @@
               <span class="text-danger"> * </span>
               仓库
             </label>
-            <select id="warehouse" class="form-control" />
+            <a-select
+              v-model:value="warehouseName"
+              style="width: 220px"
+              @change="storeHandleChange"
+            >
+              <a-select-option v-for="item in warehouseList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="warehouse" class="form-control" /> -->
           </div>
           <div class="form-group">
             <label for="stockOutPrepateTemplate"> 需求模板 </label>
-            <select id="stockOutPrepateTemplate" class="form-control" />
+            <a-select
+              v-model:value="stockOutPrepateTemplateName"
+              style="width: 220px"
+              show-search
+              @change="templateHandleChange"
+            >
+              <a-select-option v-for="item in stockOutPrepateTemplateList" :key="item.id" :value="item.name"> {{ item.name }}</a-select-option>
+            </a-select>
+            <!-- <select id="stockOutPrepateTemplate" class="form-control" /> -->
           </div>
           <div class="form-group">
             <label>物料编码</label>
@@ -561,6 +584,9 @@ export default {
       inventoryInstanceCurrentStocks: [],
       inventoryInstanceCurrentStocks2: [],
       currentStock: [],
+      projectList:[],//项目事件数据
+      warehouseList:[],//仓库数据
+      stockOutPrepateTemplateList: [],
       inventoryName: undefined,
       inventoryNo: undefined,
       inventoryType: undefined,
@@ -602,9 +628,9 @@ export default {
       infoWindowNo1: 283548,
       whereClauseSource: {
         customerDataDimensions:[{
-          fieldName: 'organization.id',
-          dataDimensionTypeNo: '202201191700',
-          defaultDataDimensionTypeValueNo: '1',
+          fieldName: 'client.id',
+          dataDimensionTypeNo: '202201191757',
+          defaultDataDimensionTypeValueNo: '4',
         }],
       },
       inventoryClassId: undefined,
@@ -653,21 +679,21 @@ export default {
     this.loadSelectWarehouse();
     this.loadSelectTemplate();
     this.queryPickingCarCount();
-    if (this.warehouseId != null) {
-      var warehouse = new Option(this.warehouseName, this.warehouseId);
-      $('#warehouse').append(warehouse);
-    }
-    if (this.projectItemId != null) {
-      var projectItem = new Option(this.projectItemName, this.projectItemId);
-      $('#projectItem').append(projectItem);
-    }
-    if (this.stockOutPrepateTemplateId != null) {
-      var stockOutPrepateTemplate = new Option(
-        this.stockOutPrepateTemplateName,
-        this.stockOutPrepateTemplateId,
-      );
-      $('#stockOutPrepateTemplate').append(stockOutPrepateTemplate);
-    }
+    // if (this.warehouseId != null) {
+    //   var warehouse = new Option(this.warehouseName, this.warehouseId);
+    //   $('#warehouse').append(warehouse);
+    // }
+    // if (this.projectItemId != null) {
+    //   var projectItem = new Option(this.projectItemName, this.projectItemId);
+    //   $('#projectItem').append(projectItem);
+    // }
+    // if (this.stockOutPrepateTemplateId != null) {
+    //   var stockOutPrepateTemplate = new Option(
+    //     this.stockOutPrepateTemplateName,
+    //     this.stockOutPrepateTemplateId,
+    //   );
+    //   $('#stockOutPrepateTemplate').append(stockOutPrepateTemplate);
+    // }
     if (this.warehouseId != null) {
       this.getDatas();
     }
@@ -684,6 +710,33 @@ export default {
   },
 
   methods: {
+
+    // 项目事件
+    projectHandleChange:function (_,{key,value}) {
+      console.log(key,value);
+      this.projectItemId = key;
+      localStorage.setItem('projectItemId',key);
+      localStorage.setItem('projectItemName',value);
+    },
+    // 仓库事件
+    storeHandleChange:function (_,{key,value}) {
+      this.warehouseId = key;
+      console.log(key,value);
+      localStorage.setItem('warehouseId',key);
+      localStorage.setItem('warehouseName',value);
+    },
+
+    templateHandleChange: function(_,{key,value}) {
+      var _self = this;
+      this.stockOutPrepateTemplateId = key;
+      console.log(key,value);
+      localStorage.setItem('stockOutPrepateTemplateId',key);
+      localStorage.setItem('stockOutPrepateTemplateName',value);
+      //需求模板改变,设定页数充1开始
+      _self.pagination.current_page = 1;
+      _self.getDatas();
+    },
+
     /**
      * 选择工具箱内的工具加入领料车
      * @author LeiGuoXian
@@ -1088,145 +1141,183 @@ export default {
      */
     loadSelectProjectItem: function () {
       var _self = this;
-      $('#projectItem')
-        .select2({
-          // 请求搜索框数据
-          //data: _self.data,
-          theme: 'bootstrap',
-          placeholder: '项目事件',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('ProjectItemResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                _self.projectItems = data.datas;
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.projectItemId = null;
-            var storage = window.localStorage;
-            storage.setItem('projectItemId', _self.projectItemId);
-            _self.projectItemName = '';
-            storage.setItem('projectItemName', _self.projectItemName);
-          } else {
-            _self.projectItemId = $(this).val();
-            for (var i = 0; i < _self.projectItems.length; i++) {
-              if (_self.projectItems[i].id == _self.projectItemId) {
-                _self.projectItemName = _self.projectItems[i].name;
-              }
-            }
-            storage.setItem('projectItemId', _self.projectItemId);
-            storage.setItem('projectItemName', _self.projectItemName);
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('ProjectItemResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.projectList = datas; 
+          }else{
+            alert(errorMessage);
           }
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#projectItem')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     //data: _self.data,
+      //     theme: 'bootstrap',
+      //     placeholder: '项目事件',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('ProjectItemResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           _self.projectItems = data.datas;
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.projectItemId = null;
+      //       var storage = window.localStorage;
+      //       storage.setItem('projectItemId', _self.projectItemId);
+      //       _self.projectItemName = '';
+      //       storage.setItem('projectItemName', _self.projectItemName);
+      //     } else {
+      //       _self.projectItemId = $(this).val();
+      //       for (var i = 0; i < _self.projectItems.length; i++) {
+      //         if (_self.projectItems[i].id == _self.projectItemId) {
+      //           _self.projectItemName = _self.projectItems[i].name;
+      //         }
+      //       }
+      //       storage.setItem('projectItemId', _self.projectItemId);
+      //       storage.setItem('projectItemName', _self.projectItemName);
+      //     }
+      //   });
     },
     /**
      * 仓库
      */
     loadSelectWarehouse: function () {
       var _self = this;
-      $('#warehouse')
-        .select2({
-          // 请求搜索框数据
-          theme: 'bootstrap',
-          data: _self.data,
-          placeholder: '仓库',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('WarehouseResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                _self.warehouses = data.datas;
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.warehouseId = null;
-            _self.warehouseName = '';
-            var storage = window.localStorage;
-            storage.setItem('warehouseId', _self.warehouseId);
-            storage.setItem('warehouseName', _self.warehouseName);
-          } else {
-            _self.warehouseId = $(this).val();
-            for (var i = 0; i < _self.warehouses.length; i++) {
-              if (_self.warehouses[i].id == _self.warehouseId) {
-                _self.warehouseName = _self.warehouses[i].name;
-              }
-            }
-            storage.setItem('warehouseId', _self.warehouseId);
-            storage.setItem('warehouseName', _self.warehouseName);
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('WarehouseResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.warehouseList = datas; 
+          }else{
+            alert(errorMessage);
           }
-          _self.getDatas();
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#warehouse')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     theme: 'bootstrap',
+      //     data: _self.data,
+      //     placeholder: '仓库',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('WarehouseResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           _self.warehouses = data.datas;
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.warehouseId = null;
+      //       _self.warehouseName = '';
+      //       var storage = window.localStorage;
+      //       storage.setItem('warehouseId', _self.warehouseId);
+      //       storage.setItem('warehouseName', _self.warehouseName);
+      //     } else {
+      //       _self.warehouseId = $(this).val();
+      //       for (var i = 0; i < _self.warehouses.length; i++) {
+      //         if (_self.warehouses[i].id == _self.warehouseId) {
+      //           _self.warehouseName = _self.warehouses[i].name;
+      //         }
+      //       }
+      //       storage.setItem('warehouseId', _self.warehouseId);
+      //       storage.setItem('warehouseName', _self.warehouseName);
+      //     }
+      //     _self.getDatas();
+      //   });
     },
 
     /**
@@ -1234,86 +1325,105 @@ export default {
      */
     loadSelectTemplate: function () {
       var _self = this;
-      $('#stockOutPrepateTemplate')
-        .select2({
-          // 请求搜索框数据
-          //data: _self.data,
-          theme: 'bootstrap',
-          placeholder: '需求模板',
-          minimumInputLength: 0,
-          placeholderOption: 'first',
-          quietMillis: 250,
-          allowClear: true,
-          language: 'zh-CN',
-          width: 'resolve',
-          // 请求搜索框数据
-          ajax: {
-            url: function (params) {
-              return Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition');
-            },
-            dataType: 'json',
-            type: 'get',
-            delay: 250,
-            minimumInputLength: 0,
-            transport: function (params, success, failure) {
-              params.beforeSend = Common.addTokenToRequest;
-              var $request = $.ajax(params);
-              $request.then(success);
-              $request.fail(failure);
-              return $request;
-            },
-            data: function (params) {
-              return {
-                name: params.term,
-              };
-            },
-            processResults: function (data, params) {
-              console.log(data.datas);
-              if(data.errorCode == 0) {
-                var more = params * 10 <= data.datas.length;
-                for (var i = 0; i < data.datas.length; i++) {
-                  data.datas[i].text = data.datas[i].name;
-                }
-                _self.stockOutPrepateTemplateNames = data.datas;
-                return {
-                  results: data.datas,
-                  more: more,
-                };
-              }
-            },
-          },
-        })
-        .on('change', function () {
-          if ($(this).val() == null) {
-            _self.stockOutPrepateTemplateId = null;
-            var storage = window.localStorage;
-            _self.stockOutPrepateTemplateName = '';
-            storage.setItem('stockOutPrepateTemplateId', _self.stockOutPrepateTemplateId);
-            storage.setItem(
-              'stockOutPrepateTemplateName',
-              _self.stockOutPrepateTemplateName,
-            );
-          } else {
-            _self.stockOutPrepateTemplateId = $(this).val();
-            for (var i = 0; i < _self.stockOutPrepateTemplateNames.length; i++) {
-              if (
-                _self.stockOutPrepateTemplateNames[i].id ==
-                _self.stockOutPrepateTemplateId
-              ) {
-                _self.stockOutPrepateTemplateName =
-                  _self.stockOutPrepateTemplateNames[i].name;
-              }
-            }
-            storage.setItem('stockOutPrepateTemplateId', _self.stockOutPrepateTemplateId);
-            storage.setItem(
-              'stockOutPrepateTemplateName',
-              _self.stockOutPrepateTemplateName,
-            );
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        success: function ({datas,errorCode,errorMessage}) {
+          if (errorCode == 0) {
+            _self.stockOutPrepateTemplateList = datas; 
+          }else{
+            alert(errorMessage);
           }
-          //需求模板改变,设定页数充1开始
-          _self.pagination.current_page = 1;
-          _self.getDatas();
-        });
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
+        },
+      });
+      // $('#stockOutPrepateTemplate')
+      //   .select2({
+      //     // 请求搜索框数据
+      //     //data: _self.data,
+      //     theme: 'bootstrap',
+      //     placeholder: '需求模板',
+      //     minimumInputLength: 0,
+      //     placeholderOption: 'first',
+      //     quietMillis: 250,
+      //     allowClear: true,
+      //     language: 'zh-CN',
+      //     width: 'resolve',
+      //     // 请求搜索框数据
+      //     ajax: {
+      //       url: function (params) {
+      //         return Common.getApiURL('StockOutPrepateTemplateResource/queryByCondition');
+      //       },
+      //       dataType: 'json',
+      //       type: 'get',
+      //       delay: 250,
+      //       minimumInputLength: 0,
+      //       transport: function (params, success, failure) {
+      //         params.beforeSend = Common.addTokenToRequest;
+      //         var $request = $.ajax(params);
+      //         $request.then(success);
+      //         $request.fail(failure);
+      //         return $request;
+      //       },
+      //       data: function (params) {
+      //         return {
+      //           name: params.term,
+      //         };
+      //       },
+      //       processResults: function (data, params) {
+      //         console.log(data.datas);
+      //         if(data.errorCode == 0) {
+      //           var more = params * 10 <= data.datas.length;
+      //           for (var i = 0; i < data.datas.length; i++) {
+      //             data.datas[i].text = data.datas[i].name;
+      //           }
+      //           _self.stockOutPrepateTemplateNames = data.datas;
+      //           return {
+      //             results: data.datas,
+      //             more: more,
+      //           };
+      //         }
+      //       },
+      //     },
+      //   })
+      //   .on('change', function () {
+      //     if ($(this).val() == null) {
+      //       _self.stockOutPrepateTemplateId = null;
+      //       var storage = window.localStorage;
+      //       _self.stockOutPrepateTemplateName = '';
+      //       storage.setItem('stockOutPrepateTemplateId', _self.stockOutPrepateTemplateId);
+      //       storage.setItem(
+      //         'stockOutPrepateTemplateName',
+      //         _self.stockOutPrepateTemplateName,
+      //       );
+      //     } else {
+      //       _self.stockOutPrepateTemplateId = $(this).val();
+      //       for (var i = 0; i < _self.stockOutPrepateTemplateNames.length; i++) {
+      //         if (
+      //           _self.stockOutPrepateTemplateNames[i].id ==
+      //           _self.stockOutPrepateTemplateId
+      //         ) {
+      //           _self.stockOutPrepateTemplateName =
+      //             _self.stockOutPrepateTemplateNames[i].name;
+      //         }
+      //       }
+      //       storage.setItem('stockOutPrepateTemplateId', _self.stockOutPrepateTemplateId);
+      //       storage.setItem(
+      //         'stockOutPrepateTemplateName',
+      //         _self.stockOutPrepateTemplateName,
+      //       );
+      //     }
+      //     //需求模板改变,设定页数充1开始
+      //     _self.pagination.current_page = 1;
+      //     _self.getDatas();
+      //   });
     },
     //查询仓库物料信息
     getDatas: function () {
@@ -1653,7 +1763,7 @@ export default {
       var _self = this;
       PickingCarResource.queryPickingCarCount().then(
         successData => {
-          if(successData.errorCdoe == 0) {
+          if(successData.errorCode == 0) {
             _self.count = successData.data;
           }
         },

+ 1 - 1
src/pick/StockOutPrepareLineProjectReceivingAddress.vue

@@ -270,7 +270,7 @@ export default {
   components: {
     
     
-    'v-select': vSelect.VueSelect,
+    'v-select': vSelect,
     
     
   },

+ 1 - 1
src/pick/StockOutPrepareLineProjectShippingAddress.vue

@@ -266,7 +266,7 @@ export default {
   components: {
     
     
-    'v-select': vSelect.VueSelect,
+    'v-select': vSelect,
     
     
   },

+ 8 - 1
src/print/NeedPrint.vue

@@ -7,6 +7,7 @@
           <PrintWidget
             ref="printWidget"
             :printer-localstorage-id="'#InventoryPrinterPrinter'"
+            @selected-printer-name="getPrintName"
           />
           <div class="form-group">
             <label>采购订单号</label>
@@ -171,6 +172,7 @@ export default {
       },
       loading: false,
       modal: false,
+      selectedPrinterTitle:'',
     };
   },
   watch: {
@@ -191,6 +193,11 @@ export default {
     this.keydown();
   },
   methods: {
+    
+    getPrintName:function(value){
+      this.selectedPrinterTitle = value;
+    },
+
     loadNeedPrintInventoryInstance: function () {
       var _self = this;
       var documentNo = _self.documentNo;
@@ -224,7 +231,7 @@ export default {
     //打印条码
     printBarCode: function () {
       var _self = this;
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (_self.checkboxModel.length == 0) {
         Notify.notice('提示', '请至少选择一项打印', false);
       } else if (selectedPrinter == null || selectedPrinter.length == 0) {

+ 2 - 2
src/print/PackInventoryInstance.vue

@@ -665,10 +665,10 @@ export default {
       var url;
       if (_self.buttonText == 0) {
         url =
-          'InventoryInstanceResource/loadInventoryInstance/?purchaseOrderLineId=';
+          'InventoryInstanceResource/loadInventoryInstance?purchaseOrderLineId=';
       } else {
         url =
-          'InventoryInstanceResource/notPrintedInventoryInstance/?purchaseOrderLineId=';
+          'InventoryInstanceResource/notPrintedInventoryInstance?purchaseOrderLineId=';
       }
       $.ajax({
         url: Common.getApiURL(url) + _self.purchaseOrderLineId,

+ 8 - 1
src/print/PrintedPurchaseOrder.vue

@@ -7,6 +7,7 @@
           <PrintWidget
             ref="printWidget"
             :printer-localstorage-id="'#InventoryPrinterPrinter'"
+            @selected-printer-name="getPrintName"
           />
           <div class="form-group">
             <label>采购订单号</label>
@@ -183,6 +184,7 @@ export default {
       processReportResult: {},
       loading: false,
       modal: false,
+      selectedPrinterTitle:'',
     };
   },
   watch: {
@@ -204,6 +206,11 @@ export default {
     this.keydown();
   },
   methods: {
+
+    getPrintName:function(value){
+      this.selectedPrinterTitle = value;
+    },
+
     /**
      * 打印PDF条码
      * @return {[type]} [description]
@@ -275,7 +282,7 @@ export default {
     //打印条码
     printBarCode: function () {
       var _self = this;
-      let selectedPrinter = _self.$refs.printWidget.getSelectedPrinterName();
+      let selectedPrinter = this.selectedPrinterTitle;
       if (_self.checkboxModel.length == 0) {
         Notify.notice('提示', '请至少选择一项打印', false);
       } else if (selectedPrinter == null || selectedPrinter.length == 0) {

+ 105 - 46
src/print/QueryPurchaseOrderLine.vue

@@ -15,11 +15,20 @@
       <div class="form-inline">
         <div class="form-group">
           <label for="documentNo">采购订单号</label>
-          <select
+          <!-- <select
             id="documentNo"
             class="form-control"
             placeholder="输入采购订单号"
-          />
+          /> -->
+          <a-select
+            v-model:value="documentNo"
+            style="width: 220px"
+            show-search
+            allow-clear
+            @change="documentNoChange"
+          >
+            <a-select-option v-for="item in documentNoList" :key="item.id" :value="item.documentNo"> {{ item.documentNo }}</a-select-option>
+          </a-select>
         </div>
 
         <div class="form-group">
@@ -139,7 +148,9 @@ import InventoryInstancePrintResource from '../api/wms/InventoryInstancePrintRes
 
 export default {
 
-  
+  components: {
+  },
+
   props: {
     documentNoA: {
       type: Array,
@@ -161,6 +172,7 @@ export default {
       purchaseOrderLineId: '',
       notPrintCount: 0,
       showForm: 0,
+      documentNoList: [],
     };
   },
   mounted: function () {
@@ -172,9 +184,9 @@ export default {
     } else {
       var storage = window.localStorage;
       if (storage.getItem('purchaseOrderNo') != null) {
-        this.documentNo = storage.getItem('purchaseOrderNo');
-        var data = new Option(this.documentNo, this.documentNo);
-        $('#documentNo').append(data);
+        // this.documentNo = storage.getItem('purchaseOrderNo');
+        // var data = new Option(this.documentNo, this.documentNo);
+        // $('#documentNo').append(data);
         _self.refreshPurchaseOrderLineTable();
         _self.keydown();
       }
@@ -191,51 +203,98 @@ export default {
         path: '/wms/printed',
       });
     },
+
+    /**
+     * 项目事件
+     */
     loadDocumentNo: function () {
       var _self = this;
-      $('#documentNo').select2({
-        placeholder: '输入采购订单号',
-        allowClear: true,
-        language: 'zh-CN',
-        tags: true,
-        width: '187px',
-        ajax: {
-          type: 'get',
-          dataType: 'json',
-          url: Common.getApiURL('PurchaseOrderLineResource/queryPurchaseOrderLineDocumentNo'),
-          beforeSend: function (request) {
-            Common.addTokenToRequest(request);
-          },
-          data: function (params) {
-            return {
-              documentNo: params.term,
-            };
-          },
-          processResults: function (data) {
-            return {
-              results: $.map(data, function (item) {
-                return {
-                  id: item.documentNo,
-                  text: item.documentNo,
-                };
-              }),
-            };
-          },
+      $.ajax({
+        type: 'get',
+        dataType: 'json',
+        url: Common.getApiURL('PurchaseOrderLineResource/queryPurchaseOrderLineDocumentNo'),
+        contentType: 'application/json',
+        beforeSend: function (request) {
+          Common.addTokenToRequest(request);
+        },
+        data: function (params) {
+          return {
+            documentNo: params.term,
+          };
+        },
+        success: function (datas) {
+          if (datas.length > 0) {
+            _self.documentNoList = datas; 
+            console.log(_self.documentNoList);
+          }
+        },
+        error: function (XMLHttpRequest, textStatus, errorThrown) {
+          Common.processException(XMLHttpRequest, textStatus, errorThrown);
         },
-      }).on('change', function () {
-        if ($(this).val() == null) {
-          _self.purchaseOrderLines.splice(0, _self.purchaseOrderLines.length);
-          _self.purchaseOrderLineId = '';
-          return;
-        } else {
-          _self.documentNo = $(this).val();
-          var storage = window.localStorage;
-          storage.setItem('purchaseOrderNo', _self.documentNo);
-          _self.refreshPurchaseOrderLineTable();
-          _self.keydown();
-        }
       });
     },
+
+    documentNoChange: function(value) {
+      var _self = this;
+      console.log(value);
+      if (value == null || value == undefined) {
+        _self.purchaseOrderLines.splice(0, _self.purchaseOrderLines.length);
+        _self.purchaseOrderLineId = '';
+        return;
+      } else {
+        // _self.documentNo = this.documentNo;
+        // var storage = window.localStorage;
+        // storage.setItem('purchaseOrderNo', _self.documentNo);
+        _self.refreshPurchaseOrderLineTable();
+        _self.keydown();
+      }
+    },
+
+    // loadDocumentNo: function () {
+    //   var _self = this;
+    //   $('#documentNo').select2({
+    //     placeholder: '输入采购订单号',
+    //     allowClear: true,
+    //     language: 'zh-CN',
+    //     tags: true,
+    //     width: '187px',
+    //     ajax: {
+    //       type: 'get',
+    //       dataType: 'json',
+    //       url: Common.getApiURL('PurchaseOrderLineResource/queryPurchaseOrderLineDocumentNo'),
+    //       beforeSend: function (request) {
+    //         Common.addTokenToRequest(request);
+    //       },
+    //       data: function (params) {
+    //         return {
+    //           documentNo: params.term,
+    //         };
+    //       },
+    //       processResults: function (data) {
+    //         return {
+    //           results: $.map(data, function (item) {
+    //             return {
+    //               id: item.documentNo,
+    //               text: item.documentNo,
+    //             };
+    //           }),
+    //         };
+    //       },
+    //     },
+    //   }).on('change', function () {
+    //     if ($(this).val() == null) {
+    //       _self.purchaseOrderLines.splice(0, _self.purchaseOrderLines.length);
+    //       _self.purchaseOrderLineId = '';
+    //       return;
+    //     } else {
+    //       _self.documentNo = $(this).val();
+    //       var storage = window.localStorage;
+    //       storage.setItem('purchaseOrderNo', _self.documentNo);
+    //       _self.refreshPurchaseOrderLineTable();
+    //       _self.keydown();
+    //     }
+    //   });
+    // },
     refreshPurchaseOrderLineTable: function () {
       var _self = this;
       if (_self.purchaseOrderLines != null && _self.purchaseOrderLines.length > 0) {