瀏覽代碼

Merge branch 'dev' of http://git.echepei.com/caojunjie/Smart_platform_ui into dev

QuKatie 3 年之前
父節點
當前提交
9addcd462c

+ 3 - 2
src/api/importTrade/salesContract.js

@@ -72,12 +72,13 @@ export function generateShipment(data) {
   })
 }
 //提单号带出合同号
-export function getOrgOrderNo(billNo) {
+export function getOrgOrderNo(billNo,billType) {
   return request({
     url: '/api/blade-purchase-sales/entranceOrder/findContractNoByBillNo',
     method: 'get',
     params:{
-      billNo:billNo
+      billNo:billNo,
+      billType:"CG"
     }
   })
 }

+ 1 - 1
src/components/procurement/config/purchase.json

@@ -36,7 +36,7 @@
     },
     {
       "label": "供应商",
-      "prop": "strCorpName",
+      "prop": "corpName",
       "search": true,
       "index": 3,
       "width":180

+ 37 - 16
src/views/importTrade/invoice/config/customerContact.json

@@ -19,6 +19,22 @@
   "selection": true,
   "menuWidth": 300,
   "dialogClickModal": false,
+  "showSummary": true,
+  "summaryText": "合计",
+  "sumColumnList": [
+    {
+      "name": "contractAmount",
+      "type": "sum"
+    },
+    {
+      "name": "billWeight",
+      "type": "sum"
+    },
+    {
+      "name": "invoiceWeight",
+      "type": "sum"
+    }
+  ],
   "column":[
     {
       "label": "提单号",
@@ -43,24 +59,19 @@
         }
       ]
     },{
-      "label": "件数",
-      "prop": "actualQuantity",
+      "label": "库存",
+      "prop": "kuCun",
       "index": 4,
       "width":120
     },{
-      "label": "单价",
-      "prop": "price",
-      "index": 5,
-      "width":100
-    },{
-      "label": "合同金额",
-      "prop": "contractAmount",
-      "index": 6,
+      "label": "数量",
+      "prop": "actualQuantity",
+      "index": 4,
       "width":120
     },{
-      "label": "发票净重(吨)",
-      "prop": "invoiceWeight",
-      "index": 7,
+      "label": "码单重量(吨)",
+      "prop": "billWeight",
+      "index": 5,
       "width":120,
       "rules": [
         {
@@ -70,9 +81,9 @@
         }
       ]
     },{
-      "label": "码单重量(吨)",
-      "prop": "billWeight",
-      "index": 8,
+      "label": "发票净重(吨)",
+      "prop": "invoiceWeight",
+      "index": 6,
       "width":120,
       "rules": [
         {
@@ -81,6 +92,16 @@
           "trigger": "blur"
         }
       ]
+    },{
+      "label": "单价",
+      "prop": "price",
+      "index": 7,
+      "width":100
+    },{
+      "label": "合同金额",
+      "prop": "contractAmount",
+      "index": 8,
+      "width":120
     },
    {
       "label": "货物详情",

+ 49 - 22
src/views/importTrade/invoice/detailsPageEdit.vue

@@ -34,7 +34,7 @@
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" :disabled="item.disabled?true:false || goodsDisable" size="small" type="date" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                 <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" :configuration="configuration"/>
-                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="item.disabled?true:false || goodsDisable"  v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
+                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="item.disabled?true:false || goodsDisable"  @change="warehouseChange" v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
                   <el-option v-for="(item,index) in storageIdDic" :key="index" :label="item.cname" :value="item.id"></el-option>
                 </el-select>
                 <el-input type="textarea" v-else-if="(item.prop === 'deliveryRemarks')" :disabled="item.disabled?true:false || goodsDisable" v-model="form[item.prop]"   size="small" autocomplete="off" placeholder="请输入"></el-input>
@@ -81,7 +81,7 @@
               >
                 <el-option
                   style="width:90%"
-                  @change="sumOrderNo()"
+                  @change="sumOrderNo(row)"
                   v-for="(item,index) in contractDic"
                   :key="index"
                   :label="item.orderNo"
@@ -96,7 +96,7 @@
                 v-if="row.$cellEdit"
                 v-model="row.priceCategoryNames"
                 size="small"
-                placeholder="请点击右侧按钮选择"
+                placeholder=" "
                 :disabled="true"
                 style="width: 63%"
               ></el-input>
@@ -110,7 +110,8 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="totalChange(row.invoiceWeight)"
+                @input="invoiceWeightChange(row)"
+                @change="totalChange(row.invoiceWeight)"
               ></el-input>
               <span v-else>{{ row.invoiceWeight }}</span>
             </template>
@@ -121,7 +122,7 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d\d\d\d\d).*$/, "$1.$2")'
-                @input="totalChange(row.billWeight)"
+                @change="totalChange(row.billWeight)"
               ></el-input>
               <span v-else>{{ row.billWeight }}</span>
             </template>
@@ -137,7 +138,6 @@
               <span v-else>{{ row.price }}</span>
             </template>
             <template slot="actualQuantity" slot-scope="{ row }">
-              <span v-if="row.$cellEdit" class="required_fields">*</span>
               <el-input
                 v-if="row.$cellEdit"
                 v-model="row.actualQuantity"
@@ -145,7 +145,6 @@
                 placeholder="请输入"
                 size="small"
                 oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
-                @input="quantityChange(row)"
               ></el-input>
               <span v-else>{{ row.actualQuantity }}</span>
             </template>
@@ -266,6 +265,7 @@ import { contrastObj,contrastList } from "@/util/contrastData";
 import {getStorage} from "@/api/importTrade/receipt"
 import { getOrgOrderNo } from "@/api/importTrade/salesContract"
 import  marketDetail from "@/components/procurement/market";
+import {selectGoodsNum} from "@/api/basicData/inventoryAccount"
 import _ from "lodash";
 
 export default {
@@ -358,9 +358,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },  {
-            label: '发票重量',
-            prop: 'invoiceWeight',
+          }, {
+            label: '码单重量',
+            prop: 'billWeight',
             disabled: true,
             rules: [
               {
@@ -369,9 +369,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },{
-            label: '码单重量',
-            prop: 'billWeight',
+          }, {
+            label: '发票重量',
+            prop: 'invoiceWeight',
             disabled: true,
             rules: [
               {
@@ -480,11 +480,20 @@ export default {
     }
   },
   methods: {
+    //选择仓库  带出库存
+    warehouseChange(){
+      this.contactsData.forEach(item =>{
+        this.selectInventory(item);
+      })
+    },
     //合同号合计
-    sumOrderNo(){
+    sumOrderNo(row){
       //拿到所有明细合同号 去重加逗号放到主表合同号
       const contractNumberList =  this.contactsData.map(item =>{item.contractNumber})
       this.$set(this.form,'orderNo', Array.from(new Set(contractNumberList)).join(","))
+      if(row){
+        this.selectInventory(row)
+      }
     },
     //码单合计
     totalChange(){
@@ -514,6 +523,21 @@ export default {
       }).catch(()=>{
         row.contractNumber = ''
       })
+      this.selectInventory(row)
+    },
+    //查询库存
+    selectInventory(row){
+      if(row.billNo && row.contractNumber && row.priceCategory && this.form.storageId){
+        const params = {
+          billNo:row.billNo,
+          contractNumber:row.contractNumber,
+          priceCategory:row.priceCategory,
+          storageId:this.form.storageId,
+        }
+        selectGoodsNum(params).then(res =>{
+          this.$set(this.contactsData[row.$index],"kuCun",res.data.data)
+        })
+      }
     },
     //单价
     priceChange(row) {
@@ -521,16 +545,16 @@ export default {
         row.price = "";
         row.contractAmount = 0
       } else {
-        row.contractAmount = _.multiply(row.actualQuantity, row.price).toFixed(2);
+        row.contractAmount = _.multiply(row.invoiceWeight, row.price).toFixed(2);
       }
     },
     //件数
-    quantityChange(row) {
-      if (!row.actualQuantity) {
-        row.actualQuantity = "";
+    invoiceWeightChange(row) {
+      if (!row.invoiceWeight) {
+        row.invoiceWeight = "";
         row.contractAmount = 0
       } else {
-        row.contractAmount = _.multiply(row.actualQuantity, row.price).toFixed(2);
+        row.contractAmount = _.multiply(row.invoiceWeight, row.price).toFixed(2);
       }
     },
     //导入销售明细
@@ -539,10 +563,12 @@ export default {
         item.contractNumber = item.orgOrderNo;
         item.contractAmount = item.amount;
         item.actualQuantity = item.orderQuantity;
+        this.selectInventory(item);
         delete item.id
         this.$refs.crudContact.rowCellAdd(item);
       })
-      this.sumOrderNo();
+      this.totalChange();  //计算码单 发票
+      this.sumOrderNo();   //合并合同号
       this.marketDialog = false;
     },
     //选择货物品种
@@ -555,6 +581,7 @@ export default {
       if(this.tableData){
         this.contactsData[this.selectKind].priceCategory = this.tableData[0].id;
         this.$set(this.contactsData[this.selectKind],'priceCategoryNames',this.tableData[0].cname)
+        this.selectInventory(this.contactsData[this.selectKind]);
         this.dialogVisible = !this.dialogVisible
         this.selectKind = -1
       }
@@ -568,7 +595,7 @@ export default {
     },
     //点击行可编辑
     handleRowClick(row, event, column) {
-      console.log(row.$index)
+
     },
     //商品编辑
     rowCell(row, index) {
@@ -828,7 +855,7 @@ export default {
       if (inSave) {
         this.$message.success("保存成功");
         //关闭窗口
-        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+        this.$refs.crudContact.$refs.dialogColumn.columnBox = false;
       }
     },
   },

+ 14 - 9
src/views/importTrade/receipt/config/customerContact.json

@@ -19,7 +19,6 @@
   "selectionFixed": false,
   "selection": true,
   "menuWidth": 220,
-  "dialogClickModal": false,
   "showSummary": true,
   "summaryText": "合计",
   "sumColumnList": [
@@ -74,15 +73,21 @@
         }
       ]
     },
+    {
+      "label": "库存",
+      "prop": "kuCun",
+      "index": 5,
+      "width":120
+    },
    {
       "label": "数量",
       "prop": "actualQuantity",
-      "index": 4,
+      "index": 6,
       "width":120
     },{
       "label": "码单重量(吨)",
       "prop": "billWeight",
-      "index": 5,
+      "index": 7,
       "width":120,
       "rules": [
         {
@@ -95,7 +100,7 @@
     {
       "label": "发票净重(吨)",
       "prop": "invoiceWeight",
-      "index": 6,
+      "index": 8,
       "width":120,
       "rules": [
         {
@@ -107,7 +112,7 @@
     },{
       "label": "单价",
       "prop": "price",
-      "index": 7,
+      "index": 9,
       "width":120,
       "rules": [
         {
@@ -119,7 +124,7 @@
     },{
       "label": "合同金额",
       "prop": "contractAmount",
-      "index": 8,
+      "index": 10,
       "width":120,
       "rules": [
         {
@@ -131,7 +136,7 @@
     },{
       "label": "货物详情",
       "prop": "itemDescription",
-      "index": 10,
+      "index": 11,
       "width":150,
       "cell": true,
       "rules": [
@@ -144,7 +149,7 @@
     },{
       "label": "税率",
       "prop": "taxRate",
-      "index": 11,
+      "index": 12,
       "width":120,
       "cell": true,
       "rules": [
@@ -157,7 +162,7 @@
     },{
       "label": "备注",
       "prop": "remarks",
-      "index": 11,
+      "index": 13,
       "width":150,
       "cell": true,
       "rules": [

+ 30 - 3
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -34,7 +34,7 @@
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" :disabled="receiptDisable" size="small" type="date" placeholder="请选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                 <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]" :configuration="configuration"/>
-                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="receiptDisable"  v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
+                <el-select v-else-if="item.prop === 'storageId'" style="width: 100%" :disabled="receiptDisable" @change="warehouseChange" v-model="form[item.prop]" size="small" placeholder="请选择" clearable filterable>
                   <el-option v-for="(item,index) in storageIdDic" :key="index" :label="item.cname" :value="item.id"></el-option>
                 </el-select>
                 <el-input type="textarea" v-else-if="(item.prop === 'deliveryRemarks')" v-model="form[item.prop]"  :disabled="receiptDisable" size="small" autocomplete="off" placeholder="请输入"></el-input>
@@ -84,7 +84,7 @@
                   v-for="(item,index) in contractDic"
                   :key="index"
                   :label="item.orderNo"
-                  @change="sumOrderNo()"
+                  @change="sumOrderNo(row)"
                   :value="item.orderNo"
                 ></el-option>
               </el-select>
@@ -268,6 +268,7 @@ import {detailListData } from "@/api/importTrade/purchase";
 import { contrastObj,contrastList } from "@/util/contrastData";
 import { getOrgOrderNo } from "@/api/importTrade/salesContract"
 import  procurementDetail from "@/components/procurement/purchase";
+import {selectGoodsNum} from "@/api/basicData/inventoryAccount"
 import _ from "lodash";
 import importInventory from "../../salesManagement/salesContract/config/importInventory.json";
 
@@ -505,10 +506,33 @@ export default {
     }
   },
   methods: {
-    sumOrderNo(){
+    //选择仓库  带出库存
+    warehouseChange(){
+      this.contactsData.forEach(item =>{
+        this.selectInventory(item);
+      })
+    },
+    //查询库存
+    selectInventory(row){
+      if(row.billNo && row.contractNumber && row.priceCategory && this.form.storageId){
+        const params = {
+          billNo:row.billNo,
+          contractNumber:row.contractNumber,
+          priceCategory:row.priceCategory,
+          storageId:this.form.storageId,
+        }
+        selectGoodsNum(params).then(res =>{
+          this.$set(this.contactsData[row.$index],"kuCun",res.data.data)
+        })
+      }
+    },
+    sumOrderNo(row){
       //拿到所有明细合同号 去重加逗号放到主表合同号
       const contractNumberList =  this.contactsData.map(item =>{return  item.contractNumber})
       this.$set(this.form,'orderNo', Array.from(new Set(contractNumberList)).join(","))
+      if(row){
+        this.selectInventory(row);
+      }
     },
     //合计
     totalChange(){
@@ -538,6 +562,7 @@ export default {
       }).catch(()=>{
         row.contractNumber = ''
       })
+      this.selectInventory(row);
     },
     //单价
     priceChange(row) {
@@ -702,6 +727,7 @@ export default {
         item.contractAmount = item.amount;
         item.actualQuantity = item.purchaseQuantity;
         this.$refs.crudContact.rowCellAdd(item);
+        this.selectInventory(item)
       })
       this.totalChange();  //计算码单 发票
       this.sumOrderNo();   //合并合同号
@@ -753,6 +779,7 @@ export default {
         this.contactsData[this.selectKind].priceCategory = this.tableData[0].id;
         this.contactsData[this.selectKind].itemDescription = this.tableData[0].cnameDescription;
         this.$set(this.contactsData[this.selectKind],'priceCategoryNames',this.tableData[0].cname)
+        this.selectInventory(this.contactsData[this.selectKind]);
         this.dialogVisible = !this.dialogVisible
         this.selectKind = -1;
       }

+ 0 - 2
src/views/purchase/contract/config/mainList.json

@@ -19,8 +19,6 @@
   "searchLabelWidth": 60,
   "addBtnText": "新单",
   "expand": true,
-  "searchIcon": true,
-  "searchIndex": 3,
   "column":[
     {
       "label": "合同号",

+ 0 - 6
src/views/salesManagement/salesContract/config/importInventory.json

@@ -85,12 +85,6 @@
       "width":120
     },
     {
-      "label": "库存",
-      "prop": "kucun",
-      "index": 4,
-      "width":120
-    },
-    {
       "label": "码单重量(吨)",
       "prop": "billWeight",
       "index": 7,

+ 32 - 23
src/views/salesManagement/salesContract/detailsPage.vue

@@ -382,19 +382,20 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '合同金额',
-            prop: 'orderAmount',
+          },  {
+            label: '计划交期',
+            prop: 'plannedDeliveryDate',
+            type: 'datetime',
             rules: [
               {
-                pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                required: false,
                 message: ' ',
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '收款金额',
-            prop: 'settlmentAmount',
+          },{
+            label: '合同金额',
+            prop: 'orderAmount',
             rules: [
               {
                 pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -402,22 +403,20 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },
-          {
-            label: '包装要求',
-            prop: 'packageRemarks',
+          }, {
+            label: '收款金额',
+            prop: 'settlmentAmount',
             rules: [
               {
-                required: false,
+                pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
                 message: ' ',
                 trigger: 'blur'
               }
             ]
           },
           {
-            label: '客户首付日期',
-            prop: 'advanceCollectionDate',
-            type: 'datetime',
+            label: '销售单价',
+            prop: 'salesPrice',
             rules: [
               {
                 required: false,
@@ -449,8 +448,8 @@ export default {
             ]
           },
           {
-            label: '计划交期',
-            prop: 'plannedDeliveryDate',
+            label: '客户首付日期',
+            prop: 'advanceCollectionDate',
             type: 'datetime',
             rules: [
               {
@@ -482,9 +481,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '销售单价',
-            prop: 'salesPrice',
+          },   {
+            label: '包装要求',
+            prop: 'packageRemarks',
             rules: [
               {
                 required: false,
@@ -492,7 +491,7 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },  {
+          }, {
             label: '币别',
             prop: 'currency',
           }, {
@@ -666,6 +665,9 @@ export default {
           this.oldFilesList = this.deepClone(this.form.orderFilesList)
         }
       })
+    }else{
+      this.$set(this.form,"currency","美元")
+      this.$set(this.form,"exchangeRate",6.3843)
     }
   },
   components: {
@@ -853,10 +855,17 @@ export default {
     //提单号带出合同号
     bingOut(row){
       getOrgOrderNo(row.billNo).then(res =>{
-        if(res.data){
+        if(res.data.length != 0){
           this.contractDic = res.data;
           row.orgOrderNo =  res.data[0].orderNo
-          row.cntrNo =  res.data[0].cntrNo
+          row.priceCategoryNames  = res.data[0].itemName[0].cname
+          row.priceCategory  = res.data[0].itemName[0].id
+        }else{
+          this.$message.warning("无此提单号记录!");
+          this.contractDic  = [];
+          row.orgOrderNo =  ''
+          row.priceCategoryNames  = ''
+          row.priceCategory  = ''
         }
       }).catch(()=>{
         row.orgOrderNo = ''