Ver código fonte

Merge branch 'feature/Feature-supply' into develop

莫绍宝 3 anos atrás
pai
commit
65e0157f5e

+ 104 - 85
src/components/Common/print-guangzhou.vue

@@ -3,6 +3,7 @@
     <div class="print-page" v-for="(item, index) in showData" :key="index">
       <div class="print-title">
         <div class="title1">广州盛世欣兴格力贸易有限公司销售发货单</div>
+        <div class="title2">{{ item.informationKey }}</div>
       </div>
       <div class="print-form-2">
         <el-row :gutter="0">
@@ -18,34 +19,28 @@
               <el-input v-model="nowDate" readonly></el-input>
             </div>
           </el-col>
-          <el-col :span="8" class="item">
+          <el-col :span="16" class="item">
             <div class="label">发货单号</div>
             <div class="value">
               <el-input v-model="item.id" readonly></el-input>
             </div>
           </el-col>
           <el-col :span="8" class="item">
-            <div class="label">销售类型</div>
-            <div class="value">
-              <el-input v-model="item.customerName" readonly></el-input>
-            </div>
-          </el-col>
-          <el-col :span="8" class="item">
             <div class="label">订单号</div>
             <div class="value">
-              <el-input v-model="item.customerName" readonly></el-input>
+              <el-input v-model="item.aaa" readonly></el-input>
             </div>
           </el-col>
           <el-col :span="16" class="item">
             <div class="label">使用单位</div>
             <div class="value">
-              <el-input v-model="item.customerName" readonly></el-input>
+              <el-input v-model="item.aaa" readonly></el-input>
             </div>
           </el-col>
           <el-col :span="8" class="item">
             <div class="label">合同号</div>
             <div class="value">
-              <el-input v-model="item.customerName" readonly></el-input>
+              <el-input v-model="item.aaa" readonly></el-input>
             </div>
           </el-col>
           <el-col :span="24" class="item">
@@ -66,65 +61,88 @@
       <div class="print-table-1">
         <div class="head">
           <el-row :gutter="20">
-            <el-col :span="4">发货单号/订单号</el-col>
-            <el-col :span="3">销售类型</el-col>
-            <el-col :span="3">文件编号</el-col>
-            <el-col :span="8">规格型号</el-col>
-            <el-col :span="3">单位</el-col>
-            <el-col :span="3">数量</el-col>
+            <el-col :span="2">仓库名称</el-col>
+            <el-col :span="2">销售类型</el-col>
+            <el-col :span="3">存货名称</el-col>
+            <el-col :span="6">规格型号</el-col>
+            <el-col :span="2">数量</el-col>
+            <el-col :span="2">含税单价</el-col>
+            <el-col :span="2">价税合计</el-col>
+            <el-col :span="2">折扣价</el-col>
+            <el-col :span="3">说明</el-col>
           </el-row>
         </div>
         <div class="body">
           <div v-for="(item, index) in item.invoicePickBeans" :key="index">
             <el-row :gutter="20">
-              <el-col :span="4">{{ item.invoiceId || '' }}</el-col>
-              <el-col :span="3">{{ item.saleTypeName || '' }}</el-col>
-              <el-col :span="3">{{ item.fileNo || '' }}</el-col>
-              <el-col :span="8">{{ item.specification || '' }}</el-col>
-              <el-col :span="3">{{ item.unit || '' }}</el-col>
-              <el-col :span="3">{{ item.refundableQty || 0 }}</el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="4">{{ item.invoiceId || '' }}</el-col>
-              <el-col :span="2">发货日期</el-col>
-              <el-col :span="4">{{ item.theTime || '' }}</el-col>
-              <el-col :span="2">工程编号</el-col>
-              <el-col :span="4">{{ item.refEnginRecordNo || '' }}</el-col>
-              <el-col :span="2">备注</el-col>
-              <el-col :span="6">{{ item.remark || '' }}</el-col>
+              <el-col :span="2">{{ item.correspondName }}</el-col>
+              <el-col :span="2">{{ item.saleTypeName }}</el-col>
+              <el-col :span="3">{{ item.materialName }}</el-col>
+              <el-col :span="6">{{ item.specification }}</el-col>
+              <el-col :span="2">{{ item.refundableQty }}</el-col>
+              <el-col :span="2">{{ item.price }}</el-col>
+              <el-col :span="2">{{ item.payAmount }}</el-col>
+              <el-col :span="2">{{ item.totalDiscAmount }}</el-col>
+              <el-col :span="3">{{ item.remark }}</el-col>
             </el-row>
           </div>
         </div>
         <div class="foot">
           <el-row :gutter="20">
-            <el-col :span="21">合计</el-col>
-            <el-col :span="3">{{ item.total }}</el-col>
+            <el-col :span="2">合计</el-col>
+            <el-col :span="2"></el-col>
+            <el-col :span="3"></el-col>
+            <el-col :span="6"></el-col>
+            <el-col :span="2">{{ item.total_num }}</el-col>
+            <el-col :span="2"></el-col>
+            <el-col :span="2">{{ item.total_amount }}</el-col>
+            <el-col :span="2">{{ item.total_discount }}</el-col>
+            <el-col :span="3"></el-col>
           </el-row>
         </div>
       </div>
 
       <div class="print-form-2">
         <el-row :gutter="30">
-          <el-col :span="8" class="item">
-            <div class="label">销售公司</div>
+          <el-col :span="5" class="item">
+            <div class="label">制表</div>
             <div class="value">
-              <el-input readonly></el-input>
+              <el-input v-model="item.createBy" readonly></el-input>
             </div>
           </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">仓库</div>
+          <el-col :span="5" class="item">
+            <div class="label">审核</div>
             <div class="value">
-              <el-input readonly></el-input>
+              <el-input v-model="item.createBy" readonly></el-input>
             </div>
           </el-col>
-          <el-col :span="8" class="item">
-            <div class="label">经销商</div>
+          <el-col :span="5" class="item">
+            <div class="label">珠海格力办</div>
             <div class="value">
-              <el-input readonly></el-input>
+              <el-input value="赵玲玲" readonly></el-input>
+            </div>
+          </el-col>
+          <el-col :span="5" class="item">
+            <div class="label">仓库签章</div>
+            <div class="value">
+              <el-input v-model="item.userName" readonly></el-input>
             </div>
           </el-col>
         </el-row>
       </div>
+
+      <div class="print-text">
+        <div>仓租费:自开单日起5天内免费,逾期15天内收取0.3%/天,超过15天及以上按0.4%/天。</div>
+        <div>
+          <span style="width: 58px"></span>
+          <span>此单过期</span>
+          <el-input readonly></el-input>
+          <span>天,在后期费用中扣除</span>
+          <el-input readonly></el-input>
+          <span>元。</span>
+        </div>
+      </div>
+
     </div>
 
   </div>
@@ -145,14 +163,25 @@ export default {
     showData() {
       var showData = [];
       if(this.detailData && this.detailData.invoicePickBeans) {
-        for(var i=0; i<this.detailData.invoicePickBeans.length; i+=2){
+        for(var i=0; i<this.detailData.invoicePickBeans.length; i+=5){
           let obj = JSON.parse(JSON.stringify(this.detailData));
-          obj.invoicePickBeans = this.detailData.invoicePickBeans.slice(i, i+2);
-          let num = 0;
+          obj.userName = JSON.parse(localStorage.getItem("supply_user")).nickName;
+          obj.invoicePickBeans = this.detailData.invoicePickBeans.slice(i, i+5);
+          obj.total_num = 0;
+          obj.total_price = 0;
+          obj.total_amount = 0;
+          obj.total_discount = 0;
           obj.invoicePickBeans.forEach(item => {
-            num = num + item.refundableQty;
+            obj.total_num = obj.total_num + item.refundableQty;
+            obj.total_price = obj.total_price + item.price;
+            obj.total_amount = obj.total_amount + item.payAmount;
+            obj.total_discount = obj.total_discount + item.totalDiscAmount;
           });
-          obj.total = num;
+          for(var j=0; j<5; j++){
+            if(!obj.invoicePickBeans[j]) {
+              obj.invoicePickBeans[j] = {};
+            }
+          }
           showData.push(obj);
         }
       }
@@ -194,49 +223,22 @@ export default {
     page-break-after: always;
   }
   .print-title {
-    text-align: center;
     .title1 {
       font-size: 24px;
-      margin-bottom: 18px;
+      margin-bottom: 10px;
+      text-align: center;
     }
     .title2 {
       font-size: 18px;
-      margin-bottom: 24px;
-    }
-  }
-  .print-form-1 {
-    .item {
-      display: flex;
-      padding-right: 10px;
-      .label {
-        height: 40px;
-        display: flex;
-        align-items: center;
-        box-sizing: border-box;
-        font-size: 14px;
-        color: #333333;
-        flex-shrink: 0;
-      }
-      .value {
-        flex: 1;
-        height: 40px;
-        display: flex;
-        align-items: center;
-        box-sizing: border-box;
-        font-size: 14px;
-        color: #333333;
-        input {
-          border: none;
-          padding: 0;
-        }
-      }
+      margin-bottom: 20px;
+      text-align: right;
+      margin-right: 100px;
     }
   }
-
   .print-table-1 {
     font-size: 14px;
-    margin-top: 20px;
-    margin-bottom: 40px;
+    margin-top: 10px;
+    margin-bottom: 10px;
     .el-row {
       margin-left: 0 !important;
       margin-right: 0 !important;
@@ -273,8 +275,9 @@ export default {
     }
     .foot {
       color: #333333;
-      margin-top: 20px;
-      border-right: 1px solid #EBEEF5;
+      .el-row {
+        border-top: none;
+      }
       .el-col {
         padding: 0;
         display: flex;
@@ -290,7 +293,7 @@ export default {
       display: flex;
       padding-right: 10px;
       .label {
-        height: 40px;
+        height: 32px;
         display: flex;
         align-items: center;
         box-sizing: border-box;
@@ -300,7 +303,7 @@ export default {
       }
       .value {
         flex: 1;
-        height: 40px;
+        height: 32px;
         display: flex;
         align-items: center;
         box-sizing: border-box;
@@ -316,4 +319,20 @@ export default {
     }
   }
 
+  .print-text {
+    font-size: 14px;
+    &>div {
+      display: flex;
+      margin-top: 10px;
+    }
+    ::v-deep .el-input {
+      width: 50px;
+      input {
+        height: 30px;
+        border: none;
+        padding: 0 10px;
+      }
+    } 
+  }
+
 </style>

+ 1 - 0
src/views/setting/menu.vue

@@ -657,6 +657,7 @@ export default {
               moduleName: this.addChildForm.twoMenu,
               code: this.addChildForm.code,
               url: this.addChildForm.url,
+              fullUrl: this.addChildForm.fullUrl,
               icon: this.addChildForm.icon,
               sortNum: this.addChildForm.sort,
               type: 2

+ 2 - 2
src/views/supply/apply/components/engin_form.vue

@@ -199,7 +199,7 @@
           </el-col>
           <el-col :xs="12" :sm="12" :lg="6">
             <el-form-item prop="warehouse" label="选择仓库">
-              <el-select v-model="screenForm.warehouse" placeholder="请选择仓库" size="small" filterable clearable :disabled="goodsList.length > 0 || tableSelection.length > 0">
+              <el-select v-model="screenForm.warehouse" placeholder="请选择仓库" size="small" filterable clearable :disabled="goodsList.length > 0 || tableSelection.length > 0" style="width: 100%">
                 <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
               </el-select>
             </el-form-item>
@@ -249,7 +249,7 @@
           </el-table-column>
           <el-table-column align="center" label="对应库存数量" prop="stockCorrespond" min-width="110" show-overflow-tooltip>
             <template slot-scope="scope">
-              {{stockFilter(scope.row, 1)}}
+              {{stockFilter(scope.row, 2)}}
             </template>
           </el-table-column>
         </el-table>

+ 8 - 0
src/views/supply/engin/components/commerce_form.vue

@@ -664,6 +664,14 @@ export default {
               this.$errorMsg('请选择现金钱包');
               return;
             }
+            if(!this.goodsList[i].qty) {
+              this.$errorMsg('请输入数量');
+              return;
+            }
+            if(this.goodsList[i].qty > this.goodsList[i].enginNum) {
+              this.$errorMsg('数量不能大于工程信息数量');
+              return;
+            }
           }
 
           let goodsList = JSON.parse(JSON.stringify(this.goodsList));