lichao преди 3 години
родител
ревизия
8b206fa914

+ 38 - 0
src/views/businessManagement/deliveryNotice/configuration/customerContact.json

@@ -38,6 +38,14 @@
     {
       "name": "purchaseTotalAmount",
       "type": "sum"
+    },
+    {
+      "name": "actualWeight",
+      "type": "sum"
+    },
+    {
+      "name": "containerVolume",
+      "type": "sum"
     }
   ],
   "column":[
@@ -250,6 +258,36 @@
           "trigger": "blur"
         }
       ]
+    },
+    {
+      "label": "重量",
+      "prop": "actualWeight",
+      "index": 17,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入重量",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "体积",
+      "prop": "containerVolume",
+      "index": 18,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入体积",
+          "trigger": "blur"
+        }
+      ]
     }
   ]
 }

+ 28 - 0
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -737,7 +737,31 @@ export default {
                 trigger: 'change'
               }
             ]
+          },
+          {
+            label: '重量合计',
+            prop: 'totalWeight',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
           },{
+            label: '体积合计',
+            prop: 'totalVolumn',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: "备注",
             span: 24,
             type: 'textarea',
@@ -862,6 +886,8 @@ export default {
       this.$set(this.form, 'srcOrderNo', this.form.orgOrderNo)
       this.$set(this.form, 'arrivalContact', this.form.corpAttn)
       this.$set(this.form, 'arrivalTel', this.form.corpTel)
+      this.$set(this.form, 'totalWeight', this.form.cartonWeight)
+      this.$set(this.form, 'totalVolumn', this.form.cntrVolumn)
       this.form.orderItemsList.forEach(item => {
         this.$set(item, 'contractNumber', this.form.orgOrderNo)
       })
@@ -913,6 +939,8 @@ export default {
         delete item.updateUser
       })
       this.contactsData.forEach(item => {
+        this.$set(item, 'containerVolume', item.cntrVolumn)
+        this.$set(item, 'actualWeight', item.cartonWeight)
         this.$set(item, 'specificationAndModel', item.itemType)
         this.$set(item, 'orgOrderNo', this.form.orgOrderNo)
         this.$set(item, 'srcOrderNo', this.form.srcOrderNo)

+ 38 - 0
src/views/businessManagement/purchaseOrder/configuration/customerContact.json

@@ -31,6 +31,14 @@
       "name": "orderQuantity",
       "type": "sum",
       "decimals": 0
+    },
+    {
+      "name": "cartonWeight",
+      "type": "sum"
+    },
+    {
+      "name": "cntrVolumn",
+      "type": "sum"
     }
   ],
   "column":[
@@ -163,6 +171,36 @@
           "trigger": "blur"
         }
       ]
+    },
+    {
+      "label": "重量",
+      "prop": "cartonWeight",
+      "index": 15,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入重量",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "体积",
+      "prop": "cntrVolumn",
+      "index": 15,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入体积",
+          "trigger": "blur"
+        }
+      ]
     }
   ]
 }

+ 1 - 1
src/views/businessManagement/purchaseOrder/configuration/mainList.json

@@ -14,7 +14,7 @@
   "viewBtn": false,
   "editBtn": false,
   "delBtn": false,
-  "menuWidth": 130,
+  "menuWidth": 180,
   "dialogClickModal": false,
   "searchLabelWidth": 100,
   "searchIcon": true,

+ 22 - 0
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -770,6 +770,28 @@ export default {
               }
             ]
           },{
+            label: '重量合计',
+            prop: 'cartonWeight',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '体积合计',
+            prop: 'cntrVolumn',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
             label: "备注",
             span: 24,
             prop: "orderRemark",

+ 38 - 0
src/views/businessManagement/receipt/configuration/customerContact.json

@@ -30,6 +30,14 @@
     {
       "name": "deliveryAmount",
       "type": "sum"
+    },
+    {
+      "name": "actualWeight",
+      "type": "sum"
+    },
+    {
+      "name": "containerVolume",
+      "type": "sum"
     }
   ],
   "column":[
@@ -161,6 +169,36 @@
           "trigger": "blur"
         }
       ]
+    },
+    {
+      "label": "重量",
+      "prop": "actualWeight",
+      "index": 7,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入重量",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "体积",
+      "prop": "containerVolume",
+      "index": 8,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入体积",
+          "trigger": "blur"
+        }
+      ]
     }
   ]
 }

+ 27 - 0
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -654,6 +654,29 @@ export default {
               disabled:true
           },
           {
+            label: '重量合计',
+            prop: 'totalWeight',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '体积合计',
+            prop: 'totalVolumn',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: "入库单备注",
             span: 24,
             type: 'textarea',
@@ -767,12 +790,16 @@ export default {
       delete this.form.corpName
       this.$set(this.form, 'deliveryStatus', '录入')
       this.$set(this.form, 'salesCompany', this.form.belongToCorpId)
+      this.$set(this.form, 'totalWeight', this.form.cartonWeight)
+      this.$set(this.form, 'totalVolumn', this.form.cntrVolumn)
       delete this.form.belongToCorpList
       this.$set(this.form, 'deliveryAmount', 0)
       this.$set(this.form, 'totalQuantity', 0)
       this.$set(this.form, 'purchaseAmount', 0)
       this.returnBack({id: this.form.corpId})
       this.contactsData.forEach(item => {
+        this.$set(item, 'containerVolume', item.cntrVolumn)
+        this.$set(item, 'actualWeight', item.cartonWeight)
         this.$set(item, 'specificationAndModel', item.itemType)
         this.$set(item, 'orgOrderNo', this.form.orgOrderNo)
         this.$set(item, "inventoryNumber", item.storageQuantity)

+ 12 - 0
src/views/businessManagement/salesOrder/configuration/commodity.json

@@ -124,6 +124,18 @@
       "overHidden": true
     },
     {
+      "label": "体积",
+      "prop": "cntrVolumn",
+      "slot": true,
+      "overHidden": true
+    },
+    {
+      "label": "重量",
+      "prop": "cartonWeight",
+      "slot": true,
+      "overHidden": true
+    },
+    {
       "label": "商品图片",
       "prop": "url",
       "type": "upload",

+ 38 - 0
src/views/businessManagement/salesOrder/configuration/customerContact.json

@@ -37,6 +37,14 @@
       "name": "actualQuantity",
       "type": "sum",
       "decimals": 0
+    },
+    {
+      "name": "cartonWeight",
+      "type": "sum"
+    },
+    {
+      "name": "cntrVolumn",
+      "type": "sum"
     }
   ],
   "column":[{
@@ -281,6 +289,36 @@
           "trigger": "blur"
         }
       ]
+    },
+    {
+      "label": "重量",
+      "prop": "cartonWeight",
+      "index": 15,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入重量",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "体积",
+      "prop": "cntrVolumn",
+      "index": 15,
+      "width":100,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入体积",
+          "trigger": "blur"
+        }
+      ]
     }
   ]
 }

+ 9 - 1
src/views/businessManagement/salesOrder/configuration/mainList.json

@@ -416,7 +416,15 @@
       "label": "特批提交时间",
       "prop": "specialCheckTime",
       "search": false,
-      "index": 33,
+      "index": 38,
+      "width": 120,
+      "overHidden": true
+    },
+    {
+      "label": "备注",
+      "prop": "orderRemark",
+      "search": false,
+      "index": 39,
       "width": 120,
       "overHidden": true
     }

+ 13 - 0
src/views/businessManagement/salesOrder/configuration/optionPolicy.json

@@ -81,6 +81,19 @@
         }
       ]
     },{
+      "label": "供应商",
+      "prop": "corpName",
+      "index": 4,
+      "width":100,
+      "cell": true,
+      "rules": [
+        {
+          "required": false,
+          "message": " ",
+          "trigger": "blur"
+        }
+      ]
+    },{
       "label": "采购价(元)",
       "prop": "purchasePrice",
       "index": 5,

+ 99 - 4
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -567,6 +567,34 @@
                        ref="crud"
                        @selection-change="selectionChangePolicy"
                        :page.sync="pagePolicy">
+              <template slot="menuLeft">
+                <el-button
+                  type="info"
+                  size="mini"
+                  icon="el-icon-download"
+                  @click="downLoadPolicy"
+                >下载模板</el-button>
+                <el-upload
+                  :action="policyUrl+'?policyName=' + uploadPolicy.policyName + '&salesType=1'"
+                  :headers="headers"
+                  :disabled="detailData.seeDisabled || browse"
+                  :on-progress="uploading"
+                  :show-file-list=false
+                  accept=".xls,.xlsx"
+                  multiple
+                  :on-success="successPolicy"
+                  :on-error="uploadError"
+                  style="float: right"
+                >
+                  <el-button
+                    type="primary"
+                    size="mini"
+                    icon="el-icon-upload"
+                    :disabled="uploadPolicy.policyName === ''"
+                    :loading="loadingPolicy"
+                  >导 入</el-button>
+                </el-upload>
+              </template>
               <template slot="orderQuantity" slot-scope="{row}">
                 <el-input-number
                   v-model="row.orderQuantity"
@@ -935,7 +963,6 @@ export default {
           const newTime = new Date().toLocaleString('chinese',{hour12:false})
           policyColumn({newTime: newTime,parentId: parentId,corps: this.form.corpId}).then(res => {
             resolve(res.data.data.map(item => {
-              console.log(item)
               return {
                 ...item,
                 leaf: !item.hasChildren
@@ -1279,6 +1306,28 @@ export default {
                 trigger: 'blur'
               }
             ]
+          },{
+            label: '重量合计',
+            prop: 'cartonWeight',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
+            label: '体积合计',
+            prop: 'cntrVolumn',
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
           }, {
             label: '制单人',
             prop: 'createUserName',
@@ -1561,7 +1610,13 @@ export default {
       switchDialog: false,
       // 商品信息表格loading
       goodsLoading: false,
-      baseURL: '/api/blade-purchase-sales/orderitems/importPrice',
+      // 上传时带的参数
+      uploadPolicy: {
+        policyName: '',
+        salesType: 1
+      },
+      baseURL: '/api/blade-purchase-sales/orderitems/importPrice', // 商品明细上传路径
+      policyUrl: '/api/blade-purchase-sales/orderitems/importPolicy', // 导入政策上传路径
       headers: { "Blade-Auth": 'Bearer ' + getToken()},
       activeName: 'searchList',
       // 商品列表数据合计
@@ -1633,7 +1688,6 @@ export default {
     });
     // 获取角色
     this.roleName = localStorage.getItem('roleName')
-    console.log(this.roleName)
     if (!this.roleName.includes('admin') && !this.roleName.includes('assistant')) {
       this.contactInformation.column.forEach(item => {
         if (item.prop == 'grossProfitRate' || item.prop == 'grossProfit') item.display = false
@@ -1991,6 +2045,7 @@ export default {
     uploading(event, file, fileList) {
       this.openFullScreen(false, '文件正在解析中');
     },
+    // 商品明细上传成功钩子
     importTemplate(res, file) {
       this.openFullScreen(true)
       let goodsData = []
@@ -2028,6 +2083,16 @@ export default {
       this.goodsShowData = this.goodsShowData.concat(res.data)
 
     },
+    // 政策导入成功钩子
+    successPolicy(res, file) {
+      this.openFullScreen(true)
+      if (res.data.message === "" && !res.data.message) {
+        this.dataPolicy = res.data.list? res.data.list: [];
+      } else {
+        this.dataPolicy = res.data.list? res.data.list: [];
+        this.$message.error(res.data.message);
+      }
+    },
     uploadError(err, file, fileList) {
       this.openFullScreen(true)
       this.$message.error(JSON.parse(err.message).msg)
@@ -2537,6 +2602,7 @@ export default {
     },
     closePolicy() {
       this.treePolicyId = '';
+      this.uploadPolicy.policyName = ''
       this.dataPolicy = [];
       this.contactsDataBuyFree = [];
       this.policyData = []
@@ -2558,6 +2624,7 @@ export default {
     },
     //导入页销售政策查询
     policyNodeClick(data) {
+      this.uploadPolicy.policyName = data.id;
       this.treePolicyId = data.id
       // detailList(data.id).then(res => {
       //   //特价促销
@@ -3274,18 +3341,24 @@ export default {
             item.property == "amount" ||
             item.property == "orderQuantity" ||
             item.property == "actualQuantity" ||
-            item.property == "integral"
+            item.property == "integral" ||
+            item.property == "cartonWeight" ||
+            item.property == "cntrVolumn"
           ) {
             let amountSum = 0;
             let orderQuantitySum = 0;
             let actualQuantitySum = 0;
             let integralSum = 0;
+            let cartonWeight = 0;
+            let cntrVolumn = 0;
             if (this.selection.length > 0) {
               this.selection.forEach(e => {
                 amountSum = _.add(amountSum, Number(e.amount));
                 orderQuantitySum = _.add(orderQuantitySum, Number(e.orderQuantity));
                 actualQuantitySum = _.add(actualQuantitySum, Number(e.actualQuantity));
                 integralSum = _.add(integralSum, Number(e.integral));
+                cartonWeight = _.add(cartonWeight, Number(e.cartonWeight));
+                cntrVolumn = _.add(cntrVolumn, Number(e.cntrVolumn));
               })
             }
             // 订货数量合计
@@ -3304,6 +3377,14 @@ export default {
             if (item.property == "integral") {
               sums[index] = integralSum ? integralSum.toFixed(2) : "0.00";
             }
+            // 重量合计
+            if (item.property == "cartonWeight") {
+              sums[index] = cartonWeight ? cartonWeight.toFixed(2) : "0.00";
+            }
+            // 体积合计
+            if (item.property == "cntrVolumn") {
+              sums[index] = cntrVolumn ? cntrVolumn.toFixed(2) : "0.00";
+            }
           }
         })
       }
@@ -3601,6 +3682,20 @@ export default {
       })
       this.$message.success('刷新成功')
     },
+    // 导入政策下载模板
+    downLoadPolicy() {
+      this.$confirm('是否下载模板文件?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        window.open(
+          `/api/blade-purchase-sales/orderitems/policy?${
+            this.website.tokenHeader
+          }=${getToken()}`
+        );
+      })
+    },
   },
   computed: {
     ...mapGetters(["userInfo", "permission"])

+ 2 - 1
src/views/maintenance/salesPolicy/configuration/BuyFree.json

@@ -90,7 +90,8 @@
           "trigger": "blur"
         }
       ]
-    },{
+    },
+    {
       "label": "供应商",
       "prop": "corpId",
       "index": 3,