Your Name 3 năm trước cách đây
mục cha
commit
a350c6ebe7
61 tập tin đã thay đổi với 6474 bổ sung324 xóa
  1. 2 3
      config/index.js
  2. BIN
      dist.zip
  3. 1 1
      package.json
  4. 16 1
      src/components/DilCommonUI/packages/table/src/table.vue
  5. 16 15
      src/views/RMS/components/addCapacity.vue
  6. 2 2
      src/views/RMS/components/capacity.vue
  7. 93 3
      src/views/RMS/components/transitRoute.vue
  8. 1 1
      src/views/WMS/components/steel/addCheckWarehouse.vue
  9. 1 1
      src/views/WMS/components/steel/addSteelInbound.vue
  10. 2 2
      src/views/WMS/components/steel/addSteelReserved.vue
  11. 209 0
      src/views/WMS/components/steel/bar1_steel/bar1_addCheckWarehouse.vue
  12. 218 0
      src/views/WMS/components/steel/bar1_steel/bar1_addSteelInbound.vue
  13. 218 0
      src/views/WMS/components/steel/bar1_steel/bar1_addSteelReserved.vue
  14. 212 0
      src/views/WMS/components/steel/bar1_steel/bar1_addTransfer.vue
  15. 136 0
      src/views/WMS/components/steel/bar1_steel/bar1_billOfLading.vue
  16. 352 0
      src/views/WMS/components/steel/bar1_steel/bar1_billOfLadingAdd.vue
  17. 65 0
      src/views/WMS/components/steel/bar1_steel/bar1_checkWarehouse.vue
  18. 260 0
      src/views/WMS/components/steel/bar1_steel/bar1_editSteel_restack.vue
  19. 41 0
      src/views/WMS/components/steel/bar1_steel/bar1_inboundDetails.vue
  20. 62 0
      src/views/WMS/components/steel/bar1_steel/bar1_insertCheckInventory.vue
  21. 0 0
      src/views/WMS/components/steel/bar1_steel/bar1_insertTransfer.vue
  22. 56 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_check.vue
  23. 49 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_close.vue
  24. 108 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_inbound.vue
  25. 229 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundReal.vue
  26. 230 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundStatistics.vue
  27. 42 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_outbound.vue
  28. 108 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_outboundStatistics.vue
  29. 58 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_real.vue
  30. 80 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_realDown.vue
  31. 49 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_rebound.vue
  32. 83 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_reserved.vue
  33. 157 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_restack.vue
  34. 445 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_restackAdd.vue
  35. 106 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_sendreceive.vue
  36. 102 0
      src/views/WMS/components/steel/bar1_steel/bar1_steel_transfer.vue
  37. 9 8
      src/views/WMS/components/steel/steel_inbound.vue
  38. 20 17
      src/views/WMS/components/steel/steel_inboundReal.vue
  39. 40 24
      src/views/WMS/components/steel/steel_inboundStatistics.vue
  40. 2 2
      src/views/WMS/components/steel/steel_outbound.vue
  41. 19 1
      src/views/WMS/components/steel/steel_outboundStatistics.vue
  42. 6 5
      src/views/WMS/components/steel/steel_restackAdd.vue
  43. 55 1
      src/views/WMS/router/index.js
  44. 1 1
      src/views/appoint/components/saleContract/addSaleCokeSend.vue
  45. 222 65
      src/views/appoint/components/saleContract/addSaleOrderArrange.vue
  46. 1077 0
      src/views/appoint/components/saleContract/addSaleOrderCoproductSend.vue
  47. 192 59
      src/views/appoint/components/saleContract/addSaleOrderSend.vue
  48. 114 37
      src/views/appoint/components/saleContract/addTransportPrice.vue
  49. 9 0
      src/views/appoint/components/saleContract/saleOrder.vue
  50. 1 1
      src/views/appoint/components/saleContract/saleOrderArrange.vue
  51. 447 0
      src/views/appoint/components/saleContract/saleOrderCoproduct.vue
  52. 1 48
      src/views/appoint/components/saleContract/transportPrice.vue
  53. 4 0
      src/views/appoint/router/index.js
  54. 2 0
      src/views/inward/components/truckAppoint/addRequirement2.vue
  55. 6 6
      src/views/sale/components/transportFreight/saleTruckSettlement/addBmsTruckStatement.vue
  56. 6 6
      src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckAudit.vue
  57. 372 6
      src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckDetailOrder.vue
  58. 2 1
      src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckStatement.vue
  59. 2 1
      src/views/sale/components/transport_appointment/directionalDispatch.vue
  60. 4 5
      src/views/sale/components/transport_appointment/openDistribution.vue
  61. 52 1
      src/views/sale/components/transport_order/receiveOrder.vue

+ 2 - 3
config/index.js

@@ -64,8 +64,8 @@ let proxyTable = {
   },
   // 所有数据的请求域名地址
   "/api/v1": {
-    // target: "http://172.16.33.166:8080",
-    target: "http://localhost:8019",
+    target: "http://172.16.33.166:8080",
+    // target: "http://localhost:8019",
     ws: true,
     pathRewrite: {
       "^/api/v1": "/api/v1"
@@ -75,7 +75,6 @@ let proxyTable = {
     target: "http://172.16.33.166:8080",
     // target: "http://172.16.33.166:8080",
     // target: "http://192.168.1.115:8080",
-
     ws: true,
     pathRewrite: {
       "^/views/api/v1": "/api/v1"

BIN
dist.zip


+ 1 - 1
package.json

@@ -40,7 +40,7 @@
     "sass-node": "^4.11.2",
     "sass-resources-loader": "^2.2.4",
     "script-loader": "^0.7.2",
-    "socket.io": "2.2.0",
+    "socket.io": "^2.2.0",
     "socket.io-stream": "^0.9.1",
     "sockjs-client": "^1.3.0",
     "uuid": "^3.3.2",

+ 16 - 1
src/components/DilCommonUI/packages/table/src/table.vue

@@ -11,6 +11,7 @@
       :cell-class-name="cellClassName"
       :height="height"
       :highlight-current-row="highlightCurrentRow"
+      style="width:100%"
       @sort-change="sortChange"
       @selection-change="selectionChange"
       @filter-change="filterChange"
@@ -244,7 +245,12 @@ export default {
       if(val){
         this.dataRadioId = null;
       }
-    }
+    },
+    // dataTabel: function() {
+    //   this.$nextTick(function() {
+    //     this.$refs.mainTable.setCurrentRow(this.dataTabel[0])
+    //   })
+    // }
   },
   methods: {
     // 刷新表格数据
@@ -266,5 +272,14 @@ export default {
   .el-pagination {
     display: none;
   }
+  
 }
+ /deep/.el-table .success-row {
+    background: #fff !important;
+    color: #f56c6c;
+    height: 44px;
+    line-height: 46px;
+    font-size: 22px;
+    font-weight: 700;
+  }
 </style>

+ 16 - 15
src/views/RMS/components/addCapacity.vue

@@ -66,7 +66,7 @@ export default {
   created() {
     this.carrierUserId = getCookie("userId");
     this.form1 = this.form1Initialization;
-    console.log(this.carrierUserId, "carrierUserId");
+    // console.log(this.carrierUserId, "carrierUserId");
   },
   mounted() {
     this.axios
@@ -75,7 +75,7 @@ export default {
       )
       .then((res) => {
         if (res.data.code == "200") {
-          console.log(res.data.data);
+          // console.log(res.data.data);
           if (res.data.data) {
             this.state = res.data.data.carrierName;
             this.carrierIds = res.data.data.carrierId;
@@ -95,7 +95,7 @@ export default {
         .post("/api/v1/uc/getCarrierMesByLike?index=" + queryString)
         .then((res) => {
           if (res.data.code == "200") {
-            console.log(res.data.data);
+            // console.log(res.data.data);
             var restaurants = res.data.data;
             // console.log(restaurants, "restaurants");
             var results = queryString
@@ -141,7 +141,7 @@ export default {
         });
     },
     isVehicleNumber(vehicleNumber) {
-      console.log(vehicleNumber);
+      // console.log(vehicleNumber);
       var result = false;
       if (vehicleNumber.length == 7) {
         var express =
@@ -183,6 +183,7 @@ export default {
         this.$message.error("存在空值!");
         this.addLoading = false;
       } else {
+        //新增SSO运力账号
         var formData = new FormData();
         formData.append("userCode", this.form1.capacityNumber.toUpperCase());
         formData.append("orgCode", "yunli");
@@ -190,21 +191,21 @@ export default {
         formData.append("groupId", "506514577756917769");
         formData.append("companyId", "713710108567277568");
         formData.append("orgId", "924126716337721344");
-        console.log(formData.get("userCode"));
-        console.log(typeof formData);
+        // console.log(formData.get("userCode"));
+        // console.log(typeof formData);
         this.$store
           .dispatch("system/usersManage/addUser", formData)
           .then((res) => {
-            console.log(res);
+            // console.log(res);
             if (res.code === "0") {
-              console.log(res.data.userId);
+              // console.log(res.data.userId);
               this.userId = res.data.userId;
               this.userCode = res.data.userCode;
               RmsCapacity.ssoId = res.data.userId;
               this.axios
                 .post("/api/v1/rms/insertCapacity", RmsCapacity)
                 .then((res) => {
-                  if (res.data.code == "200") {
+                  if (res.data.data == 1) {
                     this.insertRole(this.userId, this.userCode);
                     this.$message.success("添加成功");
                     this.$router.push("capacity");
@@ -215,10 +216,10 @@ export default {
                   }
                 });
             } else {
-              console.log(RmsCapacity, "RmsCapacity");
+              // console.log(RmsCapacity, "RmsCapacity");
               if (res.message == "账号已被注册") {
                 this.$confirm(
-                  "该账号已经绑定承运商, 是否确定进行更改?",
+                  "该账号已经被注册, 是否确定新增承运商绑定关系?",
                   "提示",
                   {
                     confirmButtonText: "确定",
@@ -230,12 +231,12 @@ export default {
                     this.axios
                       .post("/api/v1/rms/insertCapacity", RmsCapacity)
                       .then((res) => {
-                        console.log(res, "res");
-                        if (res.data.code == "200") {
-                          this.$message.success("更改成功");
+                        // console.log(res, "res");
+                        if (res.data.data == 0) {
+                          this.$message.success("新增承运商绑定关系成功!");
                           this.$router.push("capacity");
                         } else {
-                          this.$message.error("请联系管理人员");
+                          this.$message.error("该绑定关系已存在!");
                         }
                       });
                   })

+ 2 - 2
src/views/RMS/components/capacity.vue

@@ -21,7 +21,7 @@
         @func="func"
         :isKuang="isKuang"
       >
-        <el-table-column fixed="right" label="操作" width="100">
+        <!-- <el-table-column fixed="right" label="操作" width="100">
           <template slot-scope="scope">
             <el-button
               type="text"
@@ -38,7 +38,7 @@
               删除
             </el-button>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </dilTable>
     </div>
   </div>

+ 93 - 3
src/views/RMS/components/transitRoute.vue

@@ -13,14 +13,20 @@
       </el-button>
     </div>
     <div class="tab">
-      <dilTable v-bind.sync="option">
+      <dilTable v-bind.sync="option" ref="table">
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button
+            <!-- <el-button
               type="text"
               size="mini"
               @click="transitRouteUpdata(scope.row.lineId)"
               >修改</el-button
+            > -->
+            <el-button
+              size="mini"
+              type="text"
+              @click="transitRouteDetail(scope.row)"
+              >路线详情</el-button
             >
             <el-button
               size="mini"
@@ -30,6 +36,26 @@
             >
           </template>
         </el-table-column>
+
+        <!-- 线路详情抽屉 -->
+        <el-table-column type="expand" width="1">
+          <template slot-scope="props">
+            <el-form label-position="center" inline class="demo-table-expand">
+              <div v-if="false">{{ props }}</div>
+              <div>
+                <el-table :data="tableData" border >
+                  <el-table-column
+                    v-for="(item, i) in tableHead"
+                    :key="i"
+                    :prop="item.prop"
+                    :label="item.label"
+                    :width="item.width"
+                  ></el-table-column>
+                </el-table>
+              </div>
+            </el-form>
+          </template>
+        </el-table-column>
       </dilTable>
     </div>
   </div>
@@ -46,6 +72,33 @@ export default {
         requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249",
       },
       countNumber: 0,
+      //记录旧的row对象
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态
+      oldRowCount: 1,
+      tableHead: [
+        {
+          prop: "enfactoryGatepostName",
+          label: "进门门岗",
+          width: 150,
+        },
+        {
+          prop: "outfactoryGatepostName",
+          label: "出门门岗",
+          width: 150,
+        },
+        {
+          prop: "grossNumber",
+          label: "计毛汽车衡",
+          width: 150,
+        },
+        {
+          prop: "tareNumber",
+          label: "计皮汽车衡",
+          width: 150,
+        },
+      ],
+      tableData: [],
     };
   },
   methods: {
@@ -57,7 +110,7 @@ export default {
             if (res.data.data > 0) {
               this.$message({
                 showClose: true,
-                message: "此路线已经和运输订单关联,不能进行修改!",
+                message: "此路线已经和运输订单关联,不能进行修改!",
                 type: "warning",
               });
             } else {
@@ -106,6 +159,43 @@ export default {
         path: "/transitRouteAdd/0",
       });
     },
+    // -------查看线路详情
+    transitRouteDetail(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+      this.getMaterial(row.lineId);
+    },
+    // 根据线路id查询物资信息
+    getMaterial(lineId) {
+      this.axios
+        .post("/api/v1/rms/getGateCalculateMes?lineId="+lineId)
+        .then((res) => {
+          var lineInfo = [];
+          if(res.data.data!=null){
+            lineInfo.push(res.data.data);
+          }
+          this.tableData = lineInfo;
+        });
+    },
     //跳转修改界面
     transitRouteUpdata(lineId) {
       this.initialization(lineId, 1);

+ 1 - 1
src/views/WMS/components/steel/addCheckWarehouse.vue

@@ -105,7 +105,7 @@ export default {
       this.drawer = true;
       this.a = num;
       if(num==1){
-          this.first.requestUrl = "/api/v1/wms/getSteelMaterialList?apiId=443"
+          this.first.requestUrl = "/api/v1/wms/getSteelMaterialList?apiId=443&warehouseId="+3
       }else{
           this.second.requestUrl = "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=库" + "&i=" + new Date();
       }

+ 1 - 1
src/views/WMS/components/steel/addSteelInbound.vue

@@ -110,7 +110,7 @@ export default {
     },
     // 返回
     onClickCancel() {
-      this.$router.push("/steel_checkWarehouse");
+      this.$router.push("/steel_inbound");
     },
     currentRadioChange1(selection) {
       console.log(selection);

+ 2 - 2
src/views/WMS/components/steel/addSteelReserved.vue

@@ -1,7 +1,7 @@
 <template>
   <!-- 新增预留转入库作业页面 -->
   <div class="addCheckWarehouse">
-    <page-title>入库转预留作业</page-title>
+    <page-title>预留转入库作业</page-title>
     <div class="material from">
       <span class="text">物资规格型号:</span>
       <el-input class="input" v-model="materialName" disabled> </el-input>
@@ -110,7 +110,7 @@ export default {
     },
     // 返回
     onClickCancel() {
-      this.$router.push("/steel_checkWarehouse");
+      this.$router.push("/steel_reserved");
     },
     currentRadioChange1(selection) {
       console.log(selection);

+ 209 - 0
src/views/WMS/components/steel/bar1_steel/bar1_addCheckWarehouse.vue

@@ -0,0 +1,209 @@
+<template>
+  <!-- 新增盘库作业页面 -->
+  <div class="addCheckWarehouse">
+    <page-title>盘库作业</page-title>
+    <div class="material from">
+      <span class="text">仓库:</span>
+      <el-input class="input" v-model="warehouseName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(2)">浏览</el-button>
+    </div>
+    <div class="material from">
+      <span class="text">物资:</span>
+      <el-input class="input" v-model="materialName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(1)">浏览</el-button>
+    </div>
+    <div class="materialNumber from">
+      <span class="text">件数:</span>
+      <el-input class="input" v-model="materialNumber"> </el-input>
+    </div>
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="40%">
+      <div style="margin-bottom: 10px">
+        <el-input
+          placeholder="请输入内容"
+          v-model="input"
+          style="margin-top: 10px; margin-right: 10px; width: 250px"
+          clearable
+        ></el-input>
+        <el-button type="primary" class="btn" @click="onclick(a)">
+          <i class="el-icon-search"></i>查询
+        </el-button>
+      </div>
+      <div v-show="a == 1">
+        <dilTable
+          v-bind.sync="first"
+          @radio-change="currentRadioChange1"
+        ></dilTable>
+      </div>
+      <div v-show="a == 2">
+        <dilTable
+          v-bind.sync="second"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>          
+    </el-drawer>
+    <div class="button_box">
+      <el-button @click="onClickCancel">返回</el-button>
+      <el-button type="primary" @click="onClickConfirm" :disabled = "disabled">确认</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import PageTitle from "@/components/Page/Title";
+import { sjTime, isNumber, isIntegerNumber } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      disabled:false,
+      //仓库名称
+      warehouseName:null,
+      //物资名称
+      materialName: null,
+      //物资编码
+      materialCode:null,
+      //盘点数量
+      materialNumber:null,
+      //物资id
+      materialId: null,
+      //是否需要打开模态窗口
+      drawer: false,
+      a: 1,
+      direction: "rtl",
+      input: "",
+      first: {
+        requestUrl: "",
+        selectionType: "radio",
+        mapList1: [],
+      },
+      second: {
+          requestUrl: "",
+          selectionType:"radio"
+      }
+    };
+  },
+  watch: {
+    drawer(val) {
+      if (!val) {
+        this.input = null;
+      }
+    },
+  },
+  created() {
+      
+  },
+  methods: {
+    onclick(a) {
+      if (a == 1) {
+        this.first.requestUrl =
+          "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" +
+          this.input;
+      }
+    },
+    ondrawer(num) {
+      this.drawer = true;
+      this.a = num;
+      if(num==1){
+          this.first.requestUrl = "/api/v1/wms/getSteelMaterialList?apiId=443"
+      }else{
+          this.second.requestUrl = "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=库" + "&i=" + new Date();
+      }
+    },
+    // 返回
+    onClickCancel() {
+      this.$router.push("/bar1_steel_checkWarehouse");
+    },
+    currentRadioChange1(selection) {
+      console.log(selection);
+      this.materialName = selection.materialName + selection.materialSpecification + '(' + selection.materialModel + ')' ;
+      this.materialId = selection.materialId;
+      this.materialCode = selection.materialCode
+    },
+    currentRadioChange2(selection) {
+      this.warehouseId = selection.warehouseId
+      this.warehouseName = selection.warehouseName
+    },
+    // 确认
+    onClickConfirm() {
+      console.log(this.warehouseId,this.materialCode,this.materialNumber);
+      this.disabled = true
+      this.axios.post("/api/v1/wms/insertStockTaking?warehouseId=" + this.warehouseId + "&materialCode=" + this.materialCode + "&quantity=" + this.materialNumber ).then((res) => {
+          if (res.data.code == "200") {
+            this.$message({
+              message: "添加成功!",
+              type: "success",
+            });
+            this.disabled = false
+            this.onClickCancel()
+          }
+        });
+    },
+  },
+};
+</script>
+<style lang="scss" scope>
+.addCheckWarehouse{
+.contractDetails {
+  width: 100%;
+}
+.from {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 5px;
+  margin-bottom: 20px;
+}
+.warehouse {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  margin-right: 70px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.material {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.materialNumber {
+    display: flex;
+    justify-content: center;
+    margin-top: 20px;
+    margin-right: 70px;
+    .text {
+        display:inline-block;
+        width: 170px;
+        text-align: right;
+    }
+    .input {
+        width: 250px;
+        margin-right: 20px;
+    }
+}
+.button_box {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 100%;
+  height: 100px;
+}
+}
+</style>

+ 218 - 0
src/views/WMS/components/steel/bar1_steel/bar1_addSteelInbound.vue

@@ -0,0 +1,218 @@
+<template>
+  <!-- 新增入库转预留作业页面 -->
+  <div class="addCheckWarehouse">
+    <page-title>入库转预留作业</page-title>
+    <div class="material from">
+      <span class="text">物资规格型号:</span>
+      <el-input class="input" v-model="materialName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(1)">浏览</el-button>
+    </div>
+    <div class="materialNumber from">
+      <span class="text">最大预留件数:</span>
+      <el-input class="input" v-model="max" disabled> </el-input>
+    </div>
+    <div class="materialNumber from">
+      <span class="text">件数:</span>
+      <el-input class="input" v-model="materialNumber"> </el-input>
+    </div>
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="40%">
+      <div style="margin-bottom: 10px">
+        <el-input
+          placeholder="请输入内容"
+          v-model="input"
+          style="margin-top: 10px; margin-right: 10px; width: 250px"
+          clearable
+        ></el-input>
+        <el-button type="primary" class="btn" @click="onclick(a)">
+          <i class="el-icon-search"></i>查询
+        </el-button>
+      </div>
+      <div v-show="a == 1">
+        <dilTable
+          v-bind.sync="first"
+          @radio-change="currentRadioChange1"
+        ></dilTable>
+      </div>
+      <div v-show="a == 2">
+        <dilTable
+          v-bind.sync="second"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>          
+    </el-drawer>
+    <div class="button_box">
+      <el-button @click="onClickCancel">返回</el-button>
+      <el-button type="primary" @click="onClickConfirm" :disabled = "disabled">确认</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import PageTitle from "@/components/Page/Title";
+import { sjTime, isNumber, isIntegerNumber } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      max:null,
+      disabled:false,
+      //仓库名称
+      warehouseName:null,
+      //物资名称
+      materialName: null,
+      //物资编码
+      materialCode:null,
+      //盘点数量
+      materialNumber:null,
+      //物资id
+      materialId: null,
+      //是否需要打开模态窗口
+      drawer: false,
+      a: 1,
+      direction: "rtl",
+      input: "",
+      first: {
+        requestUrl: "",
+        selectionType: "radio",
+        mapList1: [],
+      },
+      second: {
+          requestUrl: "",
+          selectionType:"radio"
+      }
+    };
+  },
+  watch: {
+    drawer(val) {
+      if (!val) {
+        this.input = null;
+      }
+    },
+  },
+  created() {
+      
+  },
+  methods: {
+    onclick(a) {
+      if (a == 1) {
+        this.first.requestUrl =
+          "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" +
+          this.input;
+      }
+    },
+    ondrawer(num) {
+      this.drawer = true;
+      this.a = num;
+      if(num==1){
+          this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=443&warehouseId="+1+"&status="+1
+      }
+    },
+    // 返回
+    onClickCancel() {
+      this.$router.push("/bar1_steel_inbound");
+    },
+    currentRadioChange1(selection) {
+      console.log(selection);
+      this.materialName = selection.materialName + selection.materialSpecification + '(' + selection.materialModel + ')' ;
+      this.materialId = selection.materialId;
+      this.materialCode = selection.materialCode;
+      this.materialSpecification = selection.materialSpecification;
+      this.materialModel = selection.materialModel;
+      this.max = selection.max;
+    },
+    currentRadioChange2(selection) {
+      this.warehouseId = selection.warehouseId
+      this.warehouseName = selection.warehouseName
+    },
+    // 确认
+    onClickConfirm() {
+      // console.log(this.warehouseId,this.materialCode,this.materialNumber);
+      this.disabled = true
+      this.axios.post("/api/v1/wms/insertReserved?warehouseId=" + 1 + "&materialCode=" + this.materialCode+"&materialSpecification="+this.materialSpecification+"&materialModel="+this.materialModel+ "&quantity=" + this.materialNumber ).then((res) => {
+        console.log(res.data)
+          if (res.data.code == "200") {
+            this.$message({
+              message: "预留成功!",
+              type: "success",
+            });
+            this.disabled = false
+            this.onClickCancel()
+            this.$router.go(-1)
+          }else if(res.data.code=="201"){
+            this.$message({
+              message:"预留的数量不正确",
+              type:"faile",
+            })
+          }
+          this.$router.go(-1)
+        });
+    },
+  },
+};
+</script>
+<style lang="scss" scope>
+.addCheckWarehouse{
+.contractDetails {
+  width: 100%;
+}
+.from {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 5px;
+  margin-bottom: 20px;
+}
+.warehouse {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  margin-right: 70px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.material {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.materialNumber {
+    display: flex;
+    justify-content: center;
+    margin-top: 20px;
+    margin-right: 70px;
+    .text {
+        display:inline-block;
+        width: 170px;
+        text-align: right;
+    }
+    .input {
+        width: 250px;
+        margin-right: 20px;
+    }
+}
+.button_box {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 100%;
+  height: 100px;
+}
+}
+</style>

+ 218 - 0
src/views/WMS/components/steel/bar1_steel/bar1_addSteelReserved.vue

@@ -0,0 +1,218 @@
+<template>
+  <!-- 新增预留转入库作业页面 -->
+  <div class="addCheckWarehouse">
+    <page-title>预留转入库作业</page-title>
+    <div class="material from">
+      <span class="text">物资规格型号:</span>
+      <el-input class="input" v-model="materialName" disabled> </el-input>
+      <el-button type="primary" @click="ondrawer(1)">浏览</el-button>
+    </div>
+    <div class="materialNumber from">
+      <span class="text">最大预留件数:</span>
+      <el-input class="input" v-model="max" disabled> </el-input>
+    </div>
+    <div class="materialNumber from">
+      <span class="text">件数:</span>
+      <el-input class="input" v-model="materialNumber"> </el-input>
+    </div>
+    <!-- 模态窗口 -->
+    <el-drawer :visible.sync="drawer" :direction="direction" size="40%">
+      <div style="margin-bottom: 10px">
+        <el-input
+          placeholder="请输入内容"
+          v-model="input"
+          style="margin-top: 10px; margin-right: 10px; width: 250px"
+          clearable
+        ></el-input>
+        <el-button type="primary" class="btn" @click="onclick(a)">
+          <i class="el-icon-search"></i>查询
+        </el-button>
+      </div>
+      <div v-show="a == 1">
+        <dilTable
+          v-bind.sync="first"
+          @radio-change="currentRadioChange1"
+        ></dilTable>
+      </div>
+      <div v-show="a == 2">
+        <dilTable
+          v-bind.sync="second"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>          
+    </el-drawer>
+    <div class="button_box">
+      <el-button @click="onClickCancel">返回</el-button>
+      <el-button type="primary" @click="onClickConfirm" :disabled = "disabled">确认</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import PageTitle from "@/components/Page/Title";
+import { sjTime, isNumber, isIntegerNumber } from "@/utils/sharedJsFile";
+import { getCookie } from "@/utils/util.js";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      max:null,
+      disabled:false,
+      //仓库名称
+      warehouseName:null,
+      //物资名称
+      materialName: null,
+      //物资编码
+      materialCode:null,
+      //盘点数量
+      materialNumber:null,
+      //物资id
+      materialId: null,
+      //是否需要打开模态窗口
+      drawer: false,
+      a: 1,
+      direction: "rtl",
+      input: "",
+      first: {
+        requestUrl: "",
+        selectionType: "radio",
+        mapList1: [],
+      },
+      second: {
+          requestUrl: "",
+          selectionType:"radio"
+      }
+    };
+  },
+  watch: {
+    drawer(val) {
+      if (!val) {
+        this.input = null;
+      }
+    },
+  },
+  created() {
+      
+  },
+  methods: {
+    onclick(a) {
+      if (a == 1) {
+        this.first.requestUrl =
+          "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" +
+          this.input;
+      }
+    },
+    ondrawer(num) {
+      this.drawer = true;
+      this.a = num;
+      if(num==1){
+          this.first.requestUrl = "/api/v1/wms/getSteelMaterialModelList?apiId=443&warehouseId="+1+"&status="+2
+      }
+    },
+    // 返回
+    onClickCancel() {
+      this.$router.push("/bar1_steel_reserved");
+    },
+    currentRadioChange1(selection) {
+      console.log(selection);
+      this.materialName = selection.materialName + selection.materialSpecification + '(' + selection.materialModel + ')' ;
+      this.materialId = selection.materialId;
+      this.materialCode = selection.materialCode;
+      this.materialSpecification = selection.materialSpecification;
+      this.materialModel = selection.materialModel;
+      this.max = selection.max;
+    },
+    currentRadioChange2(selection) {
+      this.warehouseId = selection.warehouseId
+      this.warehouseName = selection.warehouseName
+    },
+    // 确认
+    onClickConfirm() {
+      // console.log(this.warehouseId,this.materialCode,this.materialNumber);
+      this.disabled = true
+      this.axios.post("/api/v1/wms/insertInbounds?warehouseId=" + 1 + "&materialCode=" + this.materialCode+"&materialSpecification="+this.materialSpecification+"&materialModel="+this.materialModel+ "&quantity=" + this.materialNumber ).then((res) => {
+        console.log(res.data)
+          if (res.data.code == "200") {
+            this.$message({
+              message: "入库成功!",
+              type: "success",
+            });
+            this.disabled = false
+            this.onClickCancel()
+            this.$router.go(-1)
+          }else if(res.data.code=="201"){
+            this.$message({
+              message:"入库的数量不正确",
+              type:"faile",
+            })
+          }
+          this.$router.go(-1)
+        });
+    },
+  },
+};
+</script>
+<style lang="scss" scope>
+.addCheckWarehouse{
+.contractDetails {
+  width: 100%;
+}
+.from {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 5px;
+  margin-bottom: 20px;
+}
+.warehouse {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  margin-right: 70px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.material {
+  display: flex;
+  justify-content: center;
+  margin-top: 20px;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input {
+    width: 250px;
+    margin-right: 20px;
+  }
+}
+.materialNumber {
+    display: flex;
+    justify-content: center;
+    margin-top: 20px;
+    margin-right: 70px;
+    .text {
+        display:inline-block;
+        width: 170px;
+        text-align: right;
+    }
+    .input {
+        width: 250px;
+        margin-right: 20px;
+    }
+}
+.button_box {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  width: 100%;
+  height: 100px;
+}
+}
+</style>

+ 212 - 0
src/views/WMS/components/steel/bar1_steel/bar1_addTransfer.vue

@@ -0,0 +1,212 @@
+// 新增倒库单
+<template>
+    <div class="steel_restackAdd">
+        <div class="search">
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value1" placeholder="请选择" @change="onchange1()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>垛位:</span>
+                <el-select v-model="value2" placeholder="请选择" @change ="onchange2()">
+                    <el-option
+                        v-for="(item,i) in options2"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="gradationnumber">
+                <span>层次:</span>
+                <el-select v-model="value3" placeholder="请选择" @change="onchange3()">
+                    <el-option
+                    v-for="(item,i) in options3"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="newWarehouse">
+                <span>新仓库:</span>
+                <el-select v-model="value4" placeholder="请选择" @change="onchange4()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+        </div>
+        <div class="table" >
+            <dilTable v-bind.sync="options11"  @selection-change="selectionChange"></diltable>
+        </div>
+        <div class="button_box">
+            <el-button @click="cancel">取消</el-button>
+            <el-button type="primary" @click="onClickConfirm()">确定</el-button>
+        </div>
+    </div>  
+</template>
+
+<script>
+// import PageTitle from "@/components/Page/Title";
+export default {
+  data(){
+    return{
+      form1:{},
+      inputText:"",
+        options11:{
+        // first请求数据的地址
+      requestUrl: "/api/v1/wms/getWmspRestackMakeResultList?apiId=106",
+      selectionType: "select",
+      mapList:[]
+      },
+
+        //仓库
+        options1:[],
+        // 选中的仓库
+        value1:'',
+        // 垛位
+        options2:[],
+        // 选中垛位
+        value2:'',
+        // 层次
+        options3:[],
+        // 选中的层次
+        value3:'',
+        //新仓库
+        value4:'',
+        // 新增下拉框
+        // 垛位
+        options5:[],
+        // 选中垛位
+        value5:'',
+        inf: {}
+    }
+  },
+    mounted(){
+        this.initialization();
+        //新增下拉框方法
+        this.initialization1();
+    },
+     methods: {
+         //初始化选择仓库垛位
+     initialization(){
+         this.axios.get('/api/v1/wms/selectWarehouse').then((res)=>{
+             this.options1 = res.data.data
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106',{
+                 warehouseid:this.value1
+             }) 
+         })
+     },
+     onchange1(){
+            console.log(1);
+            //  查询选中的仓库垛位
+             this.axios.get('/api/v1/wms/selectStackingId?warehouseid='+this.value1).then((res)=>{
+             this.options2 = res.data.data;
+             this.options5=res.data.data;
+             this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1;
+             this.options.requestUrl = "/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid=" + this.value1;       
+         })
+     },
+     onchange2(){
+        if(this.value1 == ''){
+            this.$message({
+                message: '请选择仓库之后!再选择',
+                type: 'warning'
+            });
+            this.value2 = ''
+        }else{
+            this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1+"&stackingId="+this.value2;        
+            //选择仓库层次号
+            this.axios.get('/api/v1/wms/selectGardationNumber?warehouseid='+this.value1+'&stackingId='+this.value2).then((res)=>{
+            this.options3 = res.data.data;          
+         })
+    }},
+    onchange3(){
+        if(this.value2 == ''||this.value1==''){
+            this.$message({
+                message: '请选择仓库和垛位之后!再选择',
+                type: 'warning'
+            });
+            this.value3 = ''
+        }else{
+            console.log(this.value1,this.value2)
+            this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1 + 
+            "&stackingId="+this.value2+"&gradtionNumber="  + this.value3 
+        }
+    },
+     onclick(){
+      console.log("点击事件");
+     },
+       // 确认
+      onClickConfirm() {
+        let ivBoundResult = {
+            resultBeforeWarehouseId:this.value1,
+            resultAfterWarehouseId:this.value4,
+            mapList:this.mapList
+        };
+        console.log(ivBoundResult)
+       this.axios
+        .post("/api/v1/wms/addIvboundMakeResult", ivBoundResult)
+         .then((res) => {
+         if(res.data.code == 200){
+            this.$router.go(-1); 
+            this.$message({
+            type: "success",  
+            message: "新增成功!",
+           });
+         }
+         
+          
+        });
+    },
+    selectionChange(selection) {
+        this.mapList = selection
+        console.log(this.mapList)
+    },
+    
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_restackAdd{
+    .search{
+        height: 5rem;
+        display: flex;
+        align-items:center;
+        padding-left:0.625rem;
+        .warehouse,.stack,.gradationnumber,newWarehouse{
+            margin-left: 1.25rem;
+        }
+    }
+    .form{
+        display: inline;
+        justify-content: center;
+        margin-left: 1.25rem;
+        
+    }
+    .button_box{
+        width: 90%;
+        position: fixed;
+        bottom: 1.25rem;
+        display: flex;
+        justify-content: center;
+    }
+}
+</style>

+ 136 - 0
src/views/WMS/components/steel/bar1_steel/bar1_billOfLading.vue

@@ -0,0 +1,136 @@
+// 提货单
+<template>
+  <div class="billOfLading">
+    <div class="top">
+      <!-- 框计算 -->
+      <el-input placeholder="请输入内容" v-model="inputText" clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="tab">
+      <dilTable v-bind.sync="option" ref="table">
+        <el-table-column label="操作" fixed="right" width="200">
+          <template slot-scope="scope">
+            <el-button type="text" size="mini" @click="detailclick(scope.row)">
+              物资详情
+            </el-button>
+            <el-button type="text" size="mini" @click="configure(scope.row.orderId)">
+              配置物资优先级
+            </el-button>
+          </template>
+        </el-table-column>
+        
+        <!-- 排队详情下拉框 -->
+        <el-table-column type="expand" width="1">
+          <template slot-scope="props">
+            <el-form label-position="center" inline class="demo-table-expand">
+              <div v-if="false">{{ props }}</div>
+              <div>
+                <el-table :data="tableData" border >
+                  <el-table-column
+                    v-for="(item, i) in tableHead"
+                    :key="i"
+                    :prop="item.prop"
+                    :label="item.label"
+                    :width="item.width"
+                  ></el-table-column>
+                </el-table>
+              </div>
+            </el-form>
+          </template>
+        </el-table-column>
+      </dilTable>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      inputText: "",
+      option: {
+        // 表格请求数据的地址
+        requestUrl: "/api/v1/tms/getSaleOrderOnQueue?apiId=227",
+      },
+      //记录旧的row对象
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态
+      oldRowCount: 1,
+      tableHead: [
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: 150,
+        },
+        {
+          prop: "specificationModel",
+          label: "规格型号",
+          width: 150,
+        },
+        {
+          prop: "orderMaterialNumber",
+          label: "物资件数",
+          width: 100,
+        },
+      ],
+      tableData: [],
+    };
+  },
+  methods: {
+    //   框计算
+    onclick() {
+      this.option.requestUrl = "/api/v1/tms/getSaleOrderOnQueue?apiId=227&con=" + this.inputText;
+    },
+    // 查看物资详情
+    detailclick(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+      this.getMaterial(row.orderId);
+    },
+    // 根据运输订单id查询物资信息
+    getMaterial(orderId) {
+      this.axios
+        .get("api/v1/tms/getMaterial?orderId=" + orderId)
+        .then((res) => {
+          this.tableData = res.data.data;
+        });
+    },
+    // 跳转到配置物资优先顺序
+    configure(orderId){
+        this.$router.push("/bar1_billOfLadingAdd/"+orderId);
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.billOfLading {
+  .top {
+    width: 100%;
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 2.5rem;
+  }
+}
+</style>

+ 352 - 0
src/views/WMS/components/steel/bar1_steel/bar1_billOfLadingAdd.vue

@@ -0,0 +1,352 @@
+<template>
+  <div class="billOfLadingAdd">
+    <div class="top">
+      <div class="material">
+        <span> 物资名称: </span>
+        <el-select v-model="materialId" placeholder="请选择">
+          <el-option
+            v-for="item in materialOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </div>
+      <div class="Warehouse">
+        <span> 仓库: </span>
+        <el-select
+          v-model="WarehouseId"
+          placeholder="请选择"
+          @change="onChange"
+        >
+          <el-option
+            v-for="item in WarehouseOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </div>
+      <div class="platform">
+        <span> 月台: </span>
+        <!-- 可以选择 -->
+        <el-select v-if="disabled" v-model="platformId" placeholder="请选择">
+          <el-option
+            v-for="item in platformOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+        <!-- 不可选择 -->
+        <el-select v-else v-model="platformId" disabled placeholder="请选择">
+        </el-select>
+      </div>
+      <div class="btn">
+        <el-button type="primary" @click="ONclick">确认</el-button>
+      </div>
+    </div>
+    <div class="bottom">
+      <div class="table">
+        <el-table :data="tableData" border style="width: 100%">
+          <el-table-column
+            v-for="(item, i) in tableTop"
+            :key="i"
+            stripe="true"
+            :prop="item.prop"
+            :label="item.label"
+            :width="item.width"
+          >
+          </el-table-column>
+          <el-table-column label="操作">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                @click="handleDelete(scope.row.serialNumber)"
+                >删除</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                @click="topClick(scope.row.serialNumber)"
+                v-if="scope.row.serialNumber == 1"
+                disabled
+                >上移</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                @click="topClick(scope.row.serialNumber)"
+                v-else
+                >上移</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                @click="bottomClick(scope.row.serialNumber)"
+                v-if="scope.row.serialNumber == tableNun"
+                disabled
+                >下移</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                @click="bottomClick(scope.row.serialNumber)"
+                v-else
+                >下移</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <div class="btn_bottom">
+      <el-button @click="open">返回</el-button>
+      <el-button type="primary" @click="addclick">提交</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      materialId: "",
+      WarehouseId: "",
+      platformId: "",
+      materialOptions: [],
+      WarehouseOptions: [],
+      platformOptions: [],
+      tableNun: 0,
+      materialOptionsnumber: 0,
+      disabled: false,
+      tableTop: [
+        {
+          prop: "serialNumber",
+          label: "序号",
+          width: "50",
+        },
+        {
+          prop: "material",
+          label: "物资名称",
+          width: "140",
+        },
+        {
+          prop: "ck",
+          label: "仓库",
+          width: "140",
+        },
+        {
+          prop: "yt",
+          label: "月台",
+          width: "140",
+        },
+      ],
+      tableData: [],
+    };
+  },
+  created() {
+    this.initialization();
+    this.getWarehouse();
+  },
+  methods: {
+    // 第一次进页面,根据运输订单号查询出所有的物资名称
+    initialization() {
+      this.axios
+        .get("/api/v1/tms/getOrderMaterial/" + this.$route.params.orderId)
+        .then((res) => {
+          if (res.data.code == "200") {
+            this.materialOptions = res.data.data;
+            this.materialOptionsnumber = this.materialOptions.length;
+          }
+        });
+      
+    },
+    // 查询所有仓库
+    getWarehouse() {
+      this.axios.get("/api/v1/tms/getUnloadPoint/1").then((res) => {
+        if (res.data.code == "200") {
+          this.WarehouseOptions = res.data.data;
+        }
+      });
+    }, // 返回
+    open() {
+      // debugger
+      if (this.materialOptionsnumber == 1) {
+        if (this.materialOptions.length == 0) {
+          this.prompt();
+        } else {
+          this.$router.push("/billOfLading");
+        }
+      } else if (this.materialOptionsnumber !== this.materialOptions.length) {
+        this.prompt();
+      } else {
+        this.$router.push("/billOfLading");
+      }
+    },
+    // 提示
+    prompt() {
+      this.$confirm("退出页面,数据将会清空!", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$router.push("/billOfLading");
+        })
+        .catch(() => {});
+    },
+    // 提交物资次序给后端
+    addclick() {
+      if (this.materialOptions.length == 0) {
+        this.axios
+          .post("/api/v1/tms/updateLoadingIdAndLoadSq", {
+            orderId: this.$route.params.orderId,
+            list: this.tableData,
+          })
+          .then((res) => {
+            if (res.data.code == "200") {
+              this.$message({
+                message: "提交成功!",
+                type: "success",
+              });
+              this.$router.push("/billOfLading");
+            }
+          });
+      } else {
+        this.$message({
+          message: "请选择完物资在提交!",
+          type: "warning",
+        });
+      }
+    },
+    // 点击确认后把选择框的数据添加到tableData
+    ONclick() {
+      if (this.materialId && this.WarehouseId && this.platformId) {
+        var materialName = null;
+        var WarehouseName = null;
+        var platformName = null;
+        this.materialOptions.forEach((e) => {
+          if (e.value == this.materialId) {
+            materialName = e.label;
+          }
+        });
+        this.WarehouseOptions.forEach((e) => {
+          if (e.value == this.WarehouseId) {
+            WarehouseName = e.label;
+          }
+        });
+        this.platformOptions.forEach((e) => {
+          if (e.value == this.platformId) {
+            platformName = e.label;
+          }
+        });
+        this.tableData.push({
+          serialNumber: this.tableData.length + 1,
+          materialId: this.materialId,
+          material: materialName,
+          WarehouseId: this.WarehouseId,
+          ck: WarehouseName,
+          platformId: this.platformId,
+          yt: platformName,
+        });
+        this.fornumber();
+        this.deletematerial();
+        this.materialId = "";
+        this.WarehouseId = "";
+        this.platformId = "";
+        this.disabled = false;
+      } else {
+        this.$message({
+          message: "请全部选择之后在确认!",
+          type: "warning",
+        });
+      }
+    },
+    // 选择仓库后,查询月台,
+    onChange() {
+      this.platformOptions = [];
+      this.axios
+        .get("/api/v1/tms/getPlatformIdByWarehouse/" + this.WarehouseId)
+        .then((res) => {
+          if (res.data.code == "200") {
+            this.platformOptions = res.data.data;
+            console.log(this.platformOptions.length);
+            if (this.platformOptions.length !== 0) {
+              this.disabled = true;
+            }
+          }
+        });
+    },
+    //   上移
+    topClick(index) {
+      var kong = {};
+      kong = this.tableData[index - 2];
+      this.tableData[index - 2] = this.tableData[index - 1];
+      this.tableData[index - 1] = kong;
+      this.fornumber();
+    },
+    //   下移
+    bottomClick(index) {
+      var kong = {};
+      kong = this.tableData[index];
+      this.tableData[index] = this.tableData[index - 1];
+      this.tableData[index - 1] = kong;
+      this.fornumber();
+    },
+    //   删除当前
+    handleDelete(index) {
+      this.materialOptions.push({
+        value:this.tableData[index-1].materialId,
+        label:this.tableData[index-1].material
+      })
+      this.tableData.splice(index - 1, 1);
+      this.fornumber();
+    },
+    //使serialNumber 的值永远比下标多一
+    fornumber() {
+      this.tableNun = this.tableData.length;
+      for (var i = 0; i < this.tableData.length; i++) {
+        this.tableData[i].serialNumber = i + 1;
+      }
+    },
+    // 移除选过的物资
+    deletematerial() {
+      for (var i = 0; i < this.materialOptions.length; i++) {
+        if (this.materialOptions[i].value == this.materialId) {
+          this.materialOptions.splice(i, 1);
+        }
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.billOfLadingAdd {
+  .top {
+    width: 100%;
+    height: 6.25rem;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+  .bottom {
+    width: 37.5rem;
+    margin: auto;
+    padding-top: 3.125rem;
+  }
+  .btn_bottom {
+    width: 100%;
+    position: absolute;
+    bottom: 0px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+}
+</style>

+ 65 - 0
src/views/WMS/components/steel/bar1_steel/bar1_checkWarehouse.vue

@@ -0,0 +1,65 @@
+// 盘库作业
+<template>
+  <div class="steel_inbound">
+    <div class="top">
+      <!-- 框计算 -->
+      <el-input placeholder="请输入内容" class="input" v-model="inputText" clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn1" @click="AddClick">
+        <i class="el-icon-plus"></i>新增
+      </el-button>
+    </div>
+    <div class="tab">
+      <dilTable v-bind.sync="option">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      // 框计算的输入框的值
+      inputText: null,
+      // 表格渲染的表头及数据
+      option: {
+        requestUrl: "/api/v1/wms/getStockTakingList?apiId=442",
+      },
+    };
+  },
+  methods: {
+    // 框计算查询按钮
+    onclick() {
+      console.log(this.inputText)
+    },
+    // 跳转新增运输路线页面
+    AddClick() {
+      this.$router.push({
+        path: "/bar1_steel_addCheckWarehouse",
+      });
+    },
+  },
+};
+</script>
+<style lang="scss">
+.steel_inbound{
+  .top{
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 30px;
+    .input{
+      width: 250px;
+    }
+    .btn{
+      margin: 20px;
+    }
+  }
+}
+
+</style>

+ 260 - 0
src/views/WMS/components/steel/bar1_steel/bar1_editSteel_restack.vue

@@ -0,0 +1,260 @@
+//修改倒垛作业
+<template>
+    <div class="steel_restackEdit">
+        <div class="search">
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value1" placeholder="请选择" @change="onchange1()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>垛位:</span>
+                <el-select v-model="value2" placeholder="请选择" @change ="onchange2()">
+                    <el-option
+                        v-for="(item,i) in options2"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="gradationnumber">
+                <span>层次:</span>
+                <el-select v-model="value3" placeholder="请选择" @change="onchange3()">
+                    <el-option
+                    v-for="(item,i) in options3"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+        </div>
+        <div class="table" >
+            <dilTable v-bind.sync="options11"  @selection-change="selectionChange"></diltable>
+        </div>
+            <div class="search">
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value4" disabled  placeholder="请选择" @change="onchange4()">
+                    <el-option
+                    v-for="(item,i) in options4"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>垛位:</span>
+                <el-select v-model="value5" placeholder="请选择" @change ="onchange5()">
+                    <el-option
+                        v-for="(item,i) in options5"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+     
+        </div>
+         <div class="table">
+            <dilTable v-bind.sync="options" ></diltable>
+        </div>
+        <div class="button_box">
+            <el-button @click="cancel">取消</el-button>
+            <el-button type="primary" @click="onClickConfirm">确定</el-button>
+        </div>
+    </div>  
+</template>
+
+<script>
+// import PageTitle from "@/components/Page/Title";
+export default {
+  data(){
+    return{
+      form1:{},
+      inputText:"",
+        options11:{
+        // first请求数据的地址
+      requestUrl: "/api/v1/wms/getWmspRestackMakeResultList?apiId=106",
+      selectionType: "select",
+      },
+      options:{
+        // first请求数据的地址
+      requestUrl: "/api/v1/wms/getWmspRestackMakeResultList?apiId=106",
+      },
+        //仓库
+        options1:[],
+        // 选中的仓库
+        value1:'',
+        // 垛位
+        options2:[],
+        // 选中垛位
+        value2:'',
+        // 层次
+        options3:[],
+        // 选中的层次
+        value3:'',
+        // 新增下拉框
+        //仓库
+        options4:[],
+        // // 选中的仓库
+        value4:'',
+        // 垛位
+        options5:[],
+        // 选中垛位
+        value5:'',
+        inf: {}
+    }
+  },
+    mounted(){
+        this.initialization();
+        this.information();
+    },
+     methods: {
+
+   information() {
+      this.axios
+        .post("/api/v1/wms/selectAfterstackingByResultId/" + this.$route.params.resultId)
+        .then((res) => {
+          console.log(res.data.data);
+
+        });
+    },
+     initialization(){
+         this.axios.get('/api/v1/wms/selectWarehouse').then((res)=>{
+             this.options1 = res.data.data
+         })
+     },
+     onchange1(){
+            console.log(1);
+            //  查询选中的仓库垛位
+             this.axios.get('/api/v1/wms/selectStackingId?warehouseid='+this.value1).then((res)=>{
+             this.options2 = res.data.data;
+             this.options5=res.data.data;
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid='+this.value1)
+             
+         })
+     },
+     onchange2(){
+        if(this.value1 == ''){
+            this.$message({
+                message: '请选择仓库之后!再选择',
+                type: 'warning'
+            });
+            this.value2 = ''
+        }else{
+            this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106'+this.value1)
+        }   
+            //选择仓库层次号
+            this.axios.get('/api/v1/wms/selectGardationNumber?warehouseid='+this.value1+'&stackingId='+this.value2).then((res)=>{
+             this.options3 = res.data.data;
+            this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid='+this.value1+'&stackingId=')
+         })
+    },
+    onchange3(){
+        if(this.value2 == ''||this.value1==''){
+            this.$message({
+                message: '请选择仓库和垛位之后!再选择',
+                type: 'warning'
+            });
+            this.value3 = ''
+
+        }else{
+            this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106'+this.value1 +this.value2 )
+        }
+    },
+  
+         onchange4(){
+         console.log(1);
+        //  查询选中的仓库垛位
+             this.axios.get('/api/v1/wms/selectStackingId?warehouseid='+this.value1).then((res)=>{
+              console.log( this.options5 = res.data.data)
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid='+this.value1)
+         })
+     },
+     onchange5(){     
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106'+this.value1)
+            //选择仓库层次号
+             this.axios.get('/api/v1/wms/selectGardationNumber?warehouseid='+this.value1+'&stackingId='+this.value5).then((res)=>{
+             this.options6 = res.data.data;
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid='+this.value1 +'&stackingId=')
+         })
+    },
+
+     onclick(){
+      console.log("点击事件");
+     },
+       // 确认
+      onClickConfirm() { 
+        console.log(this.inf,"inf");
+       let wmspRestackMakeResult = {
+       //倒垛后的垛位id    
+       afterStackingId:this.value5,
+       //倒垛后的层次id
+       afterWarehouseId:this.value1, 
+       //实绩id
+       resultId:this.inf[0].resultId,
+      };
+       console.log(wmspRestackMakeResult,"aaaa");
+       this.axios
+        .post("/api/v1/wms/editRestackMakeResult/", wmspRestackMakeResult)
+         .then(() => {
+         this.$message({
+            type: "success",  
+         message: "修改成功!",
+           });
+          this.$router.go(-1);
+        });
+    },
+    selectionChange(row) {
+      console.log("当前选中行的数据:");
+      console.log(row);
+      this.inf = row;
+      console.log(this.inf);
+    },
+    
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_restackEdit{
+    .search{
+        height: 5rem;
+        display: flex;
+        align-items:center;
+        padding-left:0.625rem;
+        .warehouse,.stack,.gradationnumber{
+            margin-left: 1.25rem;
+        }
+    }
+    .form{
+        display: inline;
+        justify-content: center;
+        margin-left: 1.25rem;
+        
+    }
+    .button_box{
+        width: 90%;
+        position: fixed;
+        bottom: 1.25rem;
+        display: flex;
+        justify-content: center;
+    }
+}
+</style>

+ 41 - 0
src/views/WMS/components/steel/bar1_steel/bar1_inboundDetails.vue

@@ -0,0 +1,41 @@
+//查看入库详情
+<template>
+	<div id="endMaintenance">
+		<page-title>入库详情</page-title>
+    <div class="main">
+			<span class="text">扫描实绩详情</span>
+			<span class="a"></span>
+		</div>
+    <dilTable v-bind.sync="first" >
+		</dilTable>
+	</div>
+</template>
+
+<script>
+import PageTitle from "@/components/Page/Title";
+// import { sjTime } from "@/utils/sharedJsFile";
+export default {
+  components: {
+    PageTitle,
+  },
+  data() {
+    return {
+      form: {},
+      first:{
+       requestUrl: "/api/v1/wms/selectScanResultByIboundResultId?apiId=373&inboundId="+this.$route.params.inboundId,
+      },
+    };
+  },
+  mounted() {
+    // this.information();
+  },
+
+  methods: {
+    
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 62 - 0
src/views/WMS/components/steel/bar1_steel/bar1_insertCheckInventory.vue

@@ -0,0 +1,62 @@
+<template>
+  <div id="endMaintenance">
+    <page-title>库存盘点录入</page-title>
+    <div class="main">
+      <span class="text">新增信息</span>
+      <span class="a"></span>
+    </div>
+    <div class="body">
+      <div class="form-box">
+        <dil-form :formId="232" v-model="form1" ></dil-form>
+      </div>
+    </div>
+    <div class="button-box">
+      <el-button @click="cancel">取消</el-button>
+      <el-button type="primary" @click="makeSure">确认</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import PageTitle from "@/components/Page/Title";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      form1: {},
+      value: undefined,
+    };
+  },
+  mounted() {},
+  methods: {
+    // 确定
+    makeSure() {
+      let inventoryCheck = {
+        warehouseId: this.form1.warehouseId,
+        materialId: this.form1.materialId,
+        totalBookNumber: this.form1.bookTotalNumber,
+        
+      };
+      console.log(inventoryCheck)
+      this.axios
+        .post(
+          "/api/v1/wms/inventoryCheck/inventoryCheck",
+          inventoryCheck
+        )
+        .then((res) => {
+          console.log(res);
+          console.log(this.form1);
+          this.$router.go(-1);
+        });
+    },
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 0
src/views/WMS/components/steel/bar1_steel/bar1_insertTransfer.vue


+ 56 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_check.vue

@@ -0,0 +1,56 @@
+//盘点
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <el-button type="primary" class="btn" @click="toInsert">
+        <i class="el-icon-search"></i>新增
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+      inputText:"",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getInventoryCheck?apiId=94",
+      },
+    }
+  },
+  methods:{
+     toInsert() {
+      this.$router.push("/bar1_insertCheckInventory");
+
+    },
+    onclick(){
+      console.log("点击事件");
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 49 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_close.vue

@@ -0,0 +1,49 @@
+//结转
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+      inputText:"",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getInventoryClose?apiId=95",
+      },
+    }
+  },
+  methods:{
+    onclick(){
+      console.log("点击事件");
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 108 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_inbound.vue

@@ -0,0 +1,108 @@
+//入库
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <!-- <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+       -->
+      <span>入库时间:</span>
+      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn" @click="onreserved">
+        预留
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options" >
+        <!-- <el-table-column fixed="right" label="操作" width="150">
+								<template slot-scope="scope">
+									<el-button type="text" size="mini" @click="inboundDetails(scope)">
+										详情
+									</el-button>
+								</template>
+				</el-table-column> -->
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from '@/utils/util.js';
+export default {
+  data(){
+    return{
+      inputText:"",
+      startTime: null,
+      endTime: null,
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+1,
+        // selectionType: "select",
+        // mapList: [],
+      },
+    }
+  },
+  methods:{
+    // inboundDetails(scope){
+    //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
+    // },
+    onclick(){
+
+      let startTime = null;
+      let endTime = null;
+      if (this.startTime) {
+        startTime = sjTime(this.startTime);
+      }
+      if (this.endTime) {
+        endTime = sjTime(this.endTime);
+      }
+      if (startTime && endTime) {
+        if (startTime < endTime) {
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResult?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
+        } else {
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning("开始时间要比结束时间早");
+        }
+      } else {
+        this.getRequestUrl()
+      }
+    },
+    selectionChange(selection) {
+      this.options.mapList = selection;
+    },
+    onreserved(){
+      this.$router.push({
+        path: "/bar1_addSteelInbound",
+      });
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 229 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundReal.vue

@@ -0,0 +1,229 @@
+//真实入库作业
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <span>入库时间:</span>
+      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <el-select v-model="region" placeholder="请选择班次" style="width: auto;">
+        <el-option label="不选择班次" value="0"></el-option>
+        <el-option label="早班" value="1"></el-option>
+        <el-option label="中班" value="2"></el-option>
+        <el-option label="晚班" value="3"></el-option>
+      </el-select>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <!-- <el-button type="primary" class="btn" @click="onreserved">
+        预留
+      </el-button> -->
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options" @selection-change="selectionChange" ref="table">
+        <!-- <el-table-column fixed="right" label="操作" width="150">
+								<template slot-scope="scope">
+									<el-button type="text" size="mini" @click="inboundDetails(scope)">
+										详情
+									</el-button>
+								</template>
+				</el-table-column> -->
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from '@/utils/util.js';
+export default {
+  data(){
+    return{
+      inputText:"",
+      startTime: null,
+      endTime: null,
+      region: "0",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsInboundResults?apiId=371&warehouseId="+1,
+        // selectionType: "select",
+        // mapList: [],
+      },
+    }
+  },
+  methods:{
+    // inboundDetails(scope){
+    //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
+    // },
+    onclick(){
+      let startTime = null;
+      let endTime = null;
+      
+      // 判断用户有没有班次,有班次则提供默认时间
+      if(this.region!=null){
+        let date =null;
+        let date2 =null;
+        let year = null;
+        let month =null;
+        let day = null;
+        let year2 = null;
+        let month2 =null;
+        let day2 = null;
+        // 判断当前日期输入框中是否选择了时间,并且开始日期和结束日期是否是同一天
+        if(this.startTime!=null){
+            date = this.startTime;
+            // 判断当前开始时间是标准时间还是字符串时间
+            
+           year = date.getFullYear(); // 年
+          month = date.getMonth() + 1; // 月
+          day = date.getDate(); // 日 
+        }
+        if(this.endTime!=null){
+           date2 = this.endTime;
+           year2 = date2.getFullYear(); // 年
+          month2 = date2.getMonth() + 1; // 月
+          day2 = date2.getDate(); // 日 // 日
+        }
+        if(this.startTime==null&&this.endTime==null){
+          // 获取当前的日期时间
+          date = new Date();
+          year = date.getFullYear(); // 年
+          month = date.getMonth() + 1; // 月
+          day = date.getDate(); // 日
+        }
+        // 判断开始日期和结束日期是否是同一天
+        if(!(year==year2&&month==month2&&day==day2)&&(this.startTime!=null||this.endTime!=null)&&this.region==null){
+          // 当不是同一天的时候,直接弹窗警告
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning("开始日期和结束日期不是同一天");
+        }
+        // 判断当前用户选择的具体班次
+        if(this.region == 0){
+          this.startTime = year+"-"+month+"-"+day+" "+"00:00:00";
+          // 将结束时间加一
+          day =parseInt(day) + 1;
+          this.endTime = year+"-"+month+"-"+day+" "+"00:00:00";
+          
+        }else if(this.region == 1){
+          this.startTime = year+"-"+month+"-"+day+" "+"07:30:00";
+          this.endTime = year+"-"+month+"-"+day+" "+"15:30:00";
+        }else if(this.region == 2){
+          this.startTime = year+"-"+month+"-"+day+" "+"15:30:00";
+          this.endTime = year+"-"+month+"-"+day+" "+"23:30:00";
+        }else if(this.region == 3){
+          this.endTime = year+"-"+month+"-"+day+" "+"07:30:00";
+          // 将开始时间减一
+          day =parseInt(day)-1;
+          this.startTime = year+"-"+month+"-"+day+" "+"23:30:00";
+        }
+        this.startTime = new Date(this.startTime)
+        this.endTime = new Date(this.endTime)
+          console.log(this.startTime+"开始时间")
+          console.log(this.endTime+"结束时间")
+        // 将拼接好的日期转换为时间戳
+        startTime = Date.parse(this.startTime)
+        endTime = Date.parse(this.endTime)
+        console.log(startTime+"开始时间2")
+        console.log(endTime+"结束时间2")
+      }else{
+        if (this.startTime) {
+        startTime = sjTime(this.startTime);
+        }
+        if (this.endTime) {
+          endTime = sjTime(this.endTime);
+        }
+      }
+      
+      // console.log(startTime)
+      // console.log(endTime)
+      if (startTime && endTime) {
+        if (startTime < endTime) {
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResults?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
+        } else {
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning("开始时间要比结束时间早");
+        }
+      } else {
+        // this.getRequestUrl()
+      }
+    },
+    selectionChange(selection) {
+      this.options.mapList = selection;
+    },
+    onreserved(){
+      console.log("fahaahahahaha")
+      if (this.options.mapList.length == 0) {
+        this.$message({
+          type: "warning",
+          message: "请先选择入库单!",
+        });
+      } else {
+        this.$confirm("是否预留", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+          center: true,
+        })
+          .then(() => {
+            //初始化maplist
+            var mapList = [];
+            this.options.mapList.forEach((item, i) => {
+              //初始化mapItem
+              var mapItem = {
+                //入库实绩表id
+                inboundId: 0,
+                // 给一个标记定义其为入库变为预留
+                status: 0,
+              };
+              mapItem.inboundId = item.inboundId;
+              mapList.push(mapItem);
+            });
+            this.$message({
+              type: "success",
+              message: "预留成功!",
+            });
+            console.log(mapList)
+            this.axios.post("/api/v1/wms/changeReserved", mapList).then((res) => {
+              console.log("res.data"+res.data)
+              if (res.data >= 1) {
+                //改变查询条件
+                this.$refs.table.setDataRequestQuery({
+                  
+                });  
+                this.$router.go(0);
+              }
+            });
+            console.log("fdagfaahh")
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消上传!",
+            });
+          });
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 230 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_inboundStatistics.vue

@@ -0,0 +1,230 @@
+//入库统计
+<template>
+  <div class="steel_inboundStatistics">
+    <div class="sache">
+      <!-- <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+       -->
+      <span>入库时间:</span>
+      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <el-select v-model="region" placeholder="请选择班次" style="width: auto;">
+        <el-option label="不选择班次" value="0"></el-option>
+        <el-option label="早班" value="1"></el-option>
+        <el-option label="中班" value="2"></el-option>
+        <el-option label="晚班" value="3"></el-option>
+      </el-select>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div>
+      <span style="font-size:10px">炉号</span>
+      <el-input
+        v-model="input1"
+        :disabled="true" class="inputs" style="width:15%;">
+      </el-input>
+      <!-- <span>物资名称</span>
+      <el-input
+        placeholder="请输入内容"
+        v-model="input2"
+        :disabled="true" style="width:13%">
+      </el-input> -->
+      <el-col :span="3" v-html="'\u2003'"/>
+      <span>生产总件数</span>
+      <el-input
+        placeholder="请输入内容"
+        v-model="input3"
+        :disabled="true" class="inputs" style="width:10%">
+      </el-input>
+
+      <!-- <span>生产总重量</span>
+      <el-input
+        placeholder="请输入内容"
+        v-model="input4"
+        :disabled="true" style="width:10%">
+      </el-input> -->
+      <!-- <span>第一件物资生产时间</span>
+      <el-input
+        placeholder="请输入内容"
+        v-model="input5"
+        :disabled="true" style="width:13%">
+      </el-input> -->
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options" @func="func">
+        <!-- <el-table-column fixed="right" label="操作" width="150">
+								<template slot-scope="scope">
+									<el-button type="text" size="mini" @click="inboundDetails(scope)">
+										详情
+									</el-button>
+								</template>
+				</el-table-column> -->
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from '@/utils/util.js';
+export default {
+  data(){
+    return{
+      input1: '',
+      input2: '',
+      input3: '',
+      input4: '',
+      input5: '',
+      inputText:"",
+      startTime: null,
+      endTime: null,
+      region: "0",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+1,
+        // selectionType: "select",
+        // mapList: [],
+      },
+    }
+  },
+  created(){
+    console.log(this.options.data)
+  },
+  methods:{
+    func(res){
+      console.log(res.list[0])
+      this.input1 = res.list[0].furnaceNumber1,
+      this.input2 = res.list[0].materialName,
+      this.input3 = res.list[0].count,
+      this.input4 = res.list[0].weight,
+      this.input5 = res.list[0].onetime
+    },
+    // inboundDetails(scope){
+    //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
+    // },
+    onclick(){
+
+      let startTime = null;
+      let endTime = null;
+      // 判断用户有没有班次,有班次则提供默认时间
+      if(this.region!=null){
+        let date =null;
+        let date2 =null;
+        let year = null;
+        let month =null;
+        let day = null;
+        let year2 = null;
+        let month2 =null;
+        let day2 = null;
+        // 判断当前日期输入框中是否选择了时间,并且开始日期和结束日期是否是同一天
+        if(this.startTime!=null){
+            date = this.startTime;
+            // 判断当前开始时间是标准时间还是字符串时间
+            
+           year = date.getFullYear(); // 年
+          month = date.getMonth() + 1; // 月
+          day = date.getDate(); // 日 
+        }
+        if(this.endTime!=null){
+           date2 = this.endTime;
+           year2 = date2.getFullYear(); // 年
+          month2 = date2.getMonth() + 1; // 月
+          day2 = date2.getDate(); // 日 // 日
+        }
+        if(this.startTime==null&&this.endTime==null){
+          // 获取当前的日期时间
+          date = new Date();
+          year = date.getFullYear(); // 年
+          month = date.getMonth() + 1; // 月
+          day = date.getDate(); // 日
+        }
+        // 判断开始日期和结束日期是否是同一天
+        if(!(year==year2&&month==month2&&day==day2)&&(this.startTime!=null||this.endTime!=null)&&this.region==null){
+          // 当不是同一天的时候,直接弹窗警告
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning("开始日期和结束日期不是同一天");
+        }
+        // 判断当前用户选择的具体班次
+        if(this.region == 0){
+          this.startTime = year+"-"+month+"-"+day+" "+"00:00:00";
+          // 将结束时间加一
+          day =parseInt(day) + 1;
+          this.endTime = year+"-"+month+"-"+day+" "+"00:00:00";
+          
+        }else if(this.region == 1){
+          this.startTime = year+"-"+month+"-"+day+" "+"07:30:00";
+          this.endTime = year+"-"+month+"-"+day+" "+"15:30:00";
+        }else if(this.region == 2){
+          this.startTime = year+"-"+month+"-"+day+" "+"15:30:00";
+          this.endTime = year+"-"+month+"-"+day+" "+"23:30:00";
+        }else if(this.region == 3){
+          this.endTime = year+"-"+month+"-"+day+" "+"07:30:00";
+          // 将开始时间减一
+          day =parseInt(day)-1;
+          this.startTime = year+"-"+month+"-"+day+" "+"23:30:00";
+        }
+        this.startTime = new Date(this.startTime)
+        this.endTime = new Date(this.endTime)
+          console.log(this.startTime+"开始时间")
+          console.log(this.endTime+"结束时间")
+        // 将拼接好的日期转换为时间戳
+        startTime = Date.parse(this.startTime)
+        endTime = Date.parse(this.endTime)
+        console.log(startTime+"开始时间2")
+        console.log(endTime+"结束时间2")
+      }else{
+        if (this.startTime) {
+        startTime = sjTime(this.startTime);
+        }
+        if (this.endTime) {
+          endTime = sjTime(this.endTime);
+        }
+      }
+      if (startTime && endTime) {
+        if (startTime < endTime) {
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
+        } else {
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning("开始时间要比结束时间早");
+        }
+      } else {
+        this.getRequestUrl()
+      }
+    },
+    selectionChange(selection) {
+      this.options.mapList = selection;
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.steel_inboundStatistics {
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+.inputs el-input is-disabled /deep/ el-input__inner{
+    
+    color: #f80808;
+    background-color: #f80808;
+}
+</style>

+ 42 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_outbound.vue

@@ -0,0 +1,42 @@
+//出库
+<template>
+  <div class="steel_outbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+      inputText:"",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmspOutboundResult?apiId=152",
+      },
+    }
+  },
+  methods:{
+    onclick(){
+      this.option.requestUrl="/api/v1/wms/getWmspOutboundResult/152?con="+this.inputText;
+    },
+  }
+}
+</script>
+
+<style lang="scss" scode>
+// @import '../../../styles/WMS/steel/steel_outbound.scss';
+</style>

+ 108 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_outboundStatistics.vue

@@ -0,0 +1,108 @@
+//出库统计炉号生产数量
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <span>出库时间:</span>
+      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+           <el-input
+        placeholder="请输入炉号"
+        v-model="textInput"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <!-- <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button> -->
+      <span style="margin-left: 1rem;">总件数:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+      <span style="margin-left: 1rem;">总重量:</span>
+      <el-input v-model="totalWeight" :disabled="true" style="width: 150px;"></el-input>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="option" @func="func">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+export default {
+  data(){
+    return{
+      textInput:"",
+      startTime: null,
+      endTime: null,
+      totalNumber:0,
+      totalWeight:0,
+      option:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsOutboundResultStatistics?apiId=446&warehouseId="+1+"&startTime=null&endTime=null&i=" +new Date()+"&con="+this.textInput,
+      },
+    }
+  },
+  methods:{
+      refresh(){
+      this.$router.go(0);
+    },
+    func(res){
+      console.log(res)
+      var total1 = 0
+      var total2 = 0
+      res.list.forEach(e => {
+        total1 = total1+e.coun
+        total2 = total2+e.theoreticalWeight
+      });
+  
+      this.totalNumber = total1
+      this.totalWeight = total2
+    },
+   onclick() {
+     console.log("textInput",this.textInput);
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime){
+        startTime = sjTime(this.startTime);
+      }
+      if(this.endTime){
+        endTime = sjTime(this.endTime);
+      }
+      if(startTime && endTime){
+        if(startTime < endTime){
+          this.option.requestUrl = "/api/v1/wms/getWmsOutboundResultStatistics?apiId=446&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date()+"&con="+this.textInput;
+        }else{
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning('开始时间要比结束时间早')
+        }
+      }else{
+        this.option.requestUrl = "/api/v1/wms/getWmsOutboundResultStatistics?apiId=446&warehouseId="+1+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date()+"&con="+this.textInput;
+      }
+    },
+    selectionChange(selection) {
+      this.options.mapList = selection;
+    },
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+     .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 58 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_real.vue

@@ -0,0 +1,58 @@
+<template>
+<!-- 实时库存 -->
+  <div class="steel_real">
+    		<div class="sache">
+			<el-input placeholder="请输入内容" v-model="inputText" clearable>
+			</el-input>
+			<el-button type="primary" class="btn" @click="onClick">
+				<i class="el-icon-search"></i>查询
+			</el-button>
+		</div>
+  <dilTable v-bind.sync="option">
+      <!-- <el-table-column fixed="right" label="操作" width="110">
+        <template slot-scope="scope">
+          <el-button @click="demotionClick(scope.row.gridId)" type="text" size="small"
+            >物资不合格</el-button
+          >
+        </template>
+      </el-table-column> -->
+    </dilTable>
+    </div>
+</template>
+
+<script>
+export default {
+ name:"steel_real",
+  data(){
+    return {
+      inputText:"",
+      option: {
+        requestUrl: "/api/v1/wms/selectGridMaterialList?apiId=167",
+        },
+      };
+    },
+  mounted(){
+
+  },
+  methods:{
+    demotionClick(gridId){
+      this.$router.push("/steel_realDown/" + gridId);
+    },
+    onClick(){
+      this.option.requestUrl= "/api/v1/wms/selectGridMaterialList?apiId=167&&con="+this.inputText;
+      console.log(this.inputText)
+    }
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_real{
+  .sache{
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 80 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_realDown.vue

@@ -0,0 +1,80 @@
+<template>
+<!-- 实时库存 -->
+  <div class="steel_real">
+    <div class="form-box">
+        <div class="form-one">
+          <dil-form :formId="308" v-model="form1"></dil-form>
+        </div>
+      </div>
+    
+    <div class="button-box">
+      <el-button type="primary" @click="onClickConfirm">确认</el-button>
+      <el-button @click="onClickCancel">返回</el-button>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+ name:"steel_real",
+data(){
+   return {
+     form1:{},
+     option: {
+      requestUrl: "/api/v1/wms/selectGridMaterialListByGridId?apiId=155&gridId="+this.$route.params.gridId,
+      },
+    };
+  },
+  mounted(){
+    this.information();
+  },
+  methods:{
+    information() {
+      //渲染数据
+      this.axios
+        .post(
+          "api/v1/wms/selectGridMaterialListByGridId?gridId=" +
+            this.$route.params.gridId
+        )
+        .then((res) => {
+            console.log(res.data.data)
+          res.data.data.forEach((e) => {
+            this.form1 = e;
+          });
+        });
+    },
+    // 返回
+    onClickCancel() {
+      this.$router.go(-1);
+    },
+    // 确认
+    onClickConfirm() {
+      let map = {
+        gridId: this.$route.params.gridId,
+        materialQualified: this.form1.materialQualified,
+      };
+      if (
+        map.materialQualified == null
+      )
+        this.$message.error("必填项存在空值!");
+      else
+        this.axios
+          .post(
+            "/api/v1/wms/updateRmsMaterialSteelDemotion",
+            map
+          )
+          .then((res) => {
+              console.log("res.data",res.data)
+            if (res.data.code == "200") {
+              this.$router.go(-1);
+            }
+          });
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+
+.steel_real {
+    padding: 1.25rem 1.875rem;
+}
+</style>

+ 49 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_rebound.vue

@@ -0,0 +1,49 @@
+//退库
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options">
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+      inputText:"",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsReboundResult?apiId=161",
+      },
+    }
+  },
+  methods:{
+    onclick(){
+      console.log("点击事件");
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 83 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_reserved.vue

@@ -0,0 +1,83 @@
+//预留转入库
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      
+      <!-- <span>入库时间:</span>
+      <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
+      </el-date-picker>
+      <span>至</span>
+      <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
+      </el-date-picker> -->
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" class="btn" @click="onreserved">
+        入库
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options" >
+        <!-- <el-table-column fixed="right" label="操作" width="150">
+								<template slot-scope="scope">
+									<el-button type="text" size="mini" @click="inboundDetails(scope)">
+										详情
+									</el-button>
+								</template>
+				</el-table-column> -->
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from "@/utils/sharedJsFile";
+import { getCookie } from '@/utils/util.js';
+export default {
+  data(){
+    return{
+      inputText:"",
+      startTime: null,
+      endTime: null,
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmsReservedResult?apiId=371",
+        // selectionType: "select",
+        // mapList: [],
+      },
+    }
+  },
+  methods:{
+    // inboundDetails(scope){
+    //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
+    // },
+    onclick(){
+      this.options.requestUrl= "/api/v1/wms/getWmsReservedResult?apiId=371&con="+this.inputText;
+    },
+    selectionChange(selection) {
+      this.options.mapList = selection;
+    },
+    onreserved(){
+      this.$router.push({
+        path: "/bar1_addSteelReserved",
+      });
+    }
+  }
+}
+</script>
+
+<style lang="scss" scode>
+.steel_inbound{
+  .sache{
+    height: 5rem;
+    display: flex;
+    align-items: center;
+    padding-left: 1.875rem;
+  }
+}
+</style>

+ 157 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_restack.vue

@@ -0,0 +1,157 @@
+// 倒垛
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <el-button type="primary" class="btn" @click="Addclick">
+         <i class="el-icon-circle-plus-outline"></i>新增
+      </el-button>
+    </div>
+    <div class="table">
+<!--       <dilTable v-bind.sync="options"> 
+      </dilTable> -->
+    </div>
+      <template>
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane label="待下发" name="first">
+            <dilTable v-bind.sync="first">
+              <el-table-column label="操作" fixed="right" width="120">
+                <template slot-scope="scope">
+                  <el-button type="text" size="mini" @click="Issued(scope.row.resultId)">
+                    下发
+                  </el-button>
+                    <el-button type="text" size="mini" @click="deleteclick(scope.row.resultId)">
+                     删除
+                   </el-button>
+                   <el-button type="text" size="mini"   @click="editclick(scope.row.resultId)">
+                     修改
+                   </el-button>
+                </template>
+              </el-table-column>
+            </dilTable>
+          </el-tab-pane>
+          <el-tab-pane label="已下发" name="second">
+            <dilTable v-bind.sync="second">    
+            </dilTable>
+          </el-tab-pane>     
+        </el-tabs>
+      </template>
+    </div>
+</template>
+<script>
+// import { first, values } from "xe-utils";
+export default {
+  data() {
+    return {
+      state: "",
+      inputText:"",
+      first: {
+        // 未分配地址
+        // 请求未下发的数据
+        requestUrl:
+          "/api/v1/wms/selectRestackList?apiId=438&DistrubtionStatus=0",
+      },
+      second: {
+        // second请求数据的地址
+        // 请求已下发的数据
+        requestUrl:
+          "/api/v1/wms/selectRestackList2?apiId=440&DistrubtionStatus=1",
+      },
+      //默认显示待下发的标签页
+      activeName: "first",
+    };
+  },
+  methods: {
+    onclick() {
+       if(this.activeName == "first"){
+        this.option1.requestUrl = "/api/v1/wms/selectRestackList?apiId=119&DistrubtionStatus=0&con=" + this.inputText;
+      }else{
+        this.option2.requestUrl = "/api/v1/wms/selectRestackList?apiId=119&DistrubtionStatus=0&con=" + this.inputText;
+      }
+     
+    },
+    Addclick() {
+      this.$router.push("/bar1_steel_restackAdd");
+    },
+    //删除方法
+    deleteclick(scope) {
+      let resultId = scope;
+      this.$confirm("是否删除", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "删除成功!",
+          });
+          this.axios
+            .post(
+              "/api/v1/wms/deleteByResultId/" + resultId
+            )
+            .then(() => {
+              this.$router.go(0);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消删除!",
+          });
+        });
+    },
+    //  handleClick(tab, event) {
+    //     console.log(tab, event);
+
+    //   },
+    //根据id进行修改
+    editclick(resultId) {
+      this.$router.push("/bar1_editSteel_restack/" + resultId);
+    },
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    Issued(resultId) {
+      this.$confirm("是否下发", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "下发成功!",
+          });
+          // console.log(this.arr[0].text_prop);
+          this.axios
+            .post(
+              "/api/v1/wms/dispatchDistrubtionStatus/" +
+                resultId
+            )
+            .then(() => {
+              this.$router.go(0);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消下发!",
+          });
+        });
+    },
+  },
+};
+</script>
+<style lang="scss"scode>
+
+</style>

+ 445 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_restackAdd.vue

@@ -0,0 +1,445 @@
+// 新增倒垛作业
+<template>
+    <div class="steel_restackAdd">
+        <page-title>返回</page-title>
+        <div class="search">
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value1" placeholder="请选择" @change="onchange1()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>垛位:</span>
+                <el-select v-model="value2" placeholder="请选择" @change ="onchange2()">
+                    <el-option
+                        v-for="(item,i) in options2"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="gradationnumber">
+                <span>层次:</span>
+                <el-select v-model="value3" placeholder="请选择" @change="onchange3()">
+                    <el-option
+                    v-for="(item,i) in options3"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+
+                <el-button type="primary" class="btn" @click="selectMaterial()">新增倒垛单</el-button>
+            </div>
+        </div>
+        <el-drawer
+            :visible.sync="table"
+            direction="rtl"
+            size="50%"
+            :show-close="false"
+            >
+            <el-button @click="open">取消</el-button>
+            <el-button type="primary" @click="makeSure1">新增</el-button>
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value1" placeholder="请选择" @change="onchange1()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>垛位:</span>
+                <el-select v-model="value2" placeholder="请选择" @change ="onchange2()">
+                    <el-option
+                        v-for="(item,i) in options2"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="gradationnumber">
+                <span>层次:</span>
+                <el-select v-model="value3" placeholder="请选择" @change="onchange3()">
+                    <el-option
+                    v-for="(item,i) in options3"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>新垛位:</span>
+                <el-select v-model="value5" placeholder="请选择" @change ="onchange5()">
+                    <el-option
+                        v-for="(item,i) in options5"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="tablecls">
+                <!-- 查询所有的物资 -->
+                <dilTable v-bind.sync="option" @selection-change="selectionChange1">
+                    <!-- 操作列 -->
+                <el-table-column fixed="right" label="件数" prop="quantity" width="100">
+                <template slot-scope="scope">
+                    <el-input
+                    class="textinput1"
+                    v-model.number="scope.row.quantity"
+                    ></el-input>
+                </template>
+                </el-table-column>
+                </dilTable>
+            </div>
+        </el-drawer> 
+        <!-- <div class="table" >
+            <dilTable v-bind.sync="options11"  @selection-change="selectionChange"></diltable>
+        </div>
+            <div class="search">
+            <div class="warehouse">
+                <span>仓库名称:</span>
+                <el-select v-model="value1" disabled  placeholder="请选择" @change="onchange4()">
+                    <el-option
+                    v-for="(item,i) in options1"
+                    :key="i"
+                    :label="item.label"
+                    :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="stack">
+                <span>新垛位:</span>
+                <el-select v-model="value5" placeholder="请选择" @change ="onchange5()">
+                    <el-option
+                        v-for="(item,i) in options5"
+                        :key="i"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+     
+        </div> -->
+         <div class="table">
+            <dilTable v-bind.sync="options" ></diltable>
+        </div> 
+    </div>  
+</template>
+
+<script>
+import PageTitle from "@/components/Page/Title";
+export default {
+  components: { PageTitle },
+  data(){
+    return{
+      table:false,
+      sselectionList1: [],
+      form1:{},
+      inputText:"",
+      options11:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getWmspRestackMakeResultList?apiId=106",
+        selectionType: "select",
+      },
+      options:{
+        // first请求数据的地址
+      requestUrl: "/api/v1/wms/getWmspRestackMakeResultList?apiId=106",
+      },
+        //仓库
+        options1:[],
+        // 选中的仓库
+        value1:'',
+        // 垛位
+        options2:[],
+        // 选中垛位
+        value2:'',
+        // 层次
+        options3:[],
+        // 选中的层次
+        value3:'',
+        // 新增下拉框
+        // 垛位
+        options5:[],
+        // 选中垛位
+        value5:'',
+        inf: {},
+        // 每个物资型号的件数
+        quantity:[],
+        option: {
+            // 表格请求物资型号
+            requestUrl: "/api/v1/wms/getMaterialTypeList?warehouseid="+this.value1+"&stackingId="+this.value2+"&gradtionNumber="+this.value3+"&apiId=437",
+            // 控制显示多选列
+            selectionType: "select",
+        },
+    }
+  },
+    mounted(){
+        this.initialization();
+        //新增下拉框方法
+        // this.initialization1();
+    },
+     methods: {
+        //  创建选择物资型号的方法
+        selectMaterial(){
+            this.table =true
+            this.option.requestUrl="/api/v1/wms/getMaterialTypeList?warehouseid="+this.value1+"&stackingId="+this.value2+"&gradtionNumber="+this.value3+"&apiId=437";
+        },
+         // 返回选中的物资信息
+        selectionChange1(selection) {
+            this.selectionList1 = [];
+            this.selectionList1 = selection;
+        },
+         // 新增倒垛单
+        makeSure1() {
+            this.table = false;
+            let maps =this.selectionList1;
+            console.log("maps",maps)
+            if(
+                maps[0]==null 
+            )this.$message.error("存在空值!");
+            else
+            this.axios
+                .post("/api/v1/wms/createRestackMakeResult?keeperId=2&beforeLevel="+this.value3+"&afterStackingId="+this.value5+"&afterWarehouseId="+this.value1+"&afterBeforeStackingId="+this.value2+"&resultRemark="+"",maps)
+                .then((res) => {
+                    if (res.data.code == 200) {
+                        this.$message({
+                        type: "success",
+                        message: "新增成功!",
+                        });
+                        this.$router.go(-1);
+                    }else{
+                        this.$message.error("新增失败,可能存在重复!");
+                    }
+                    });
+        },
+         open() {
+            if (this.selectionList1.length != 0) {
+                this.$confirm("取消会将已选择的数据清空, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+                })
+                .then(() => {
+                    this.selectionList1 = [];
+                    this.table = false;
+                })
+                .catch(() => {});
+            } else {
+                this.table = false;
+            }
+        },
+        //  添加倒垛单
+        toInsert() {
+        this.$router.push({
+          name: 'steel_restackTransfer',
+          params: {
+              mapValue:{
+                valus:"ssss",
+                cangku:this.value1,
+                 duowei:this.value2,
+                 cengci:this.value3
+              }
+              
+          }
+        })
+        },
+         //初始化选择仓库垛位
+     initialization(){
+         this.axios.get('/api/v1/wms/selectWarehouse').then((res)=>{
+             this.options1 = res.data.data
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106',{
+                 warehouseid:this.value1
+             }) 
+         })
+     },
+     onchange1(){
+            console.log(1);
+            //  查询选中的仓库垛位
+             this.axios.get('/api/v1/wms/selectStackingId?warehouseid='+this.value1).then((res)=>{
+             this.options2 = res.data.data;
+             this.options5=res.data.data;
+             this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1;
+             this.options.requestUrl = "/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid=" + this.value1;       
+         })
+     },
+     onchange2(){
+        if(this.value1 == ''){
+            this.$message({
+                message: '请选择仓库之后!再选择',
+                type: 'warning'
+            });
+            this.value2 = ''
+        }else{
+            console.log('-----')
+            console.log(this.value2)
+        //     this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1+"&stackingId="+this.value2;        
+        //     this.options.requestUrl ="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1+"&stackingId="+this.value2;   
+        //    console.log(this.options11.requestUrl)
+            //选择仓库层次号
+            this.axios.get('/api/v1/wms/selectGardationNumber?warehouseid='+this.value1+'&stackingId='+this.value2).then((res)=>{
+            this.options3 = res.data.data;
+            console.log("层次选择"+this.options3)})
+            console.log("fasdsaf")
+    }},
+    onchange3(){
+        console.log("change3")
+        if(this.value2 == ''||this.value1==''){
+            this.$message({
+                message: '请选择仓库和垛位之后!再选择',
+                type: 'warning'
+            });
+            this.value3 = ''
+
+        }else{
+            console.log(this.value1,this.value2)
+            this.options11.requestUrl="/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1 + 
+            "&stackingId="+this.value2+"&gradtionNumber="  + this.value3 
+        }
+    },
+    onchange4(){
+        //  console.log(1);
+        //  查询选中的仓库垛位
+             this.axios.get('/api/v1/wms/selectStackingId?warehouseid='+this.value1).then((res)=>{
+              console.log( this.options5 = res.data.data)
+            //  this.options5 = res.data.data;
+            
+             this.axios.post('/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid='+this.value1)
+         })
+     },
+     onchange5(){
+        this.options.requestUrl = "/api/v1/wms/getWmspRestackMakeResultList?apiId=106&warehouseid="+this.value1+"&stackingId="+this.value5;    
+    },
+
+     onclick(){
+      console.log("点击事件");
+     },
+
+       // 确认
+      onClickConfirm() {
+         //console.log("inf",this.inf);
+        let wmspRestackMakeResult={
+            //垛位id    
+            stackingId:this.inf[0].stackingId,
+            //层次    
+            // gridGradationNumber:that.value3,
+            //倒垛前网格id    
+            GridId:this.inf[0].GridId,
+            //仓库id    
+            warehouseid:this.value1,
+            //倒垛后的垛位id    
+            stackingId1:this.value5,
+            //倒垛后的层次id
+            // gridGradationNumber1:that.value6, 
+        };
+        //初始化maplist
+        var maplist=[];
+        this.inf.forEach((item,i)=>{
+            //初始化mapItem
+            var mapItem={
+                //物资编码
+                materialCode:"",
+                //物资炉号    
+                materialFurnaceNumber:"",
+                // 物资理重
+                materialTheoreticalWeight:0,
+                //物资名称    
+                materialName:"",
+                //物资件数   
+                makeMaterialNumber:0,
+                //物资id    
+                materialId:0,
+            };
+            mapItem.materialCode=item.materialCode;
+            mapItem.materialFurnaceNumber=item.materialFurnaceNumber;
+            mapItem.materialTheoreticalWeight=item.materialTheoreticalWeight;
+            mapItem.materialName=item.materialName;
+            mapItem.makeMaterialNumber=item.makeMaterialNumber;
+            mapItem.materialId=item.materialId;
+            maplist.push(mapItem);
+        });
+      
+       let map = {
+       wmspRestackMakeResult : wmspRestackMakeResult,
+       maplist: maplist
+      };
+        console.log(map)
+        // console.log("map",map);
+
+       this.axios
+        .post("/api/v1/wms/addRestackMakeResult/", map)
+         .then((res) => {
+         if(res.data.code == 200){
+                this.$router.push("/steel_restack")
+               this.$message({
+            type: "success",  
+            message: "新增成功!",
+           });
+         }
+         
+       
+          
+        });
+    },
+    selectionChange(row) {
+      console.log("当前选中行的数据:");
+      console.log(row);
+      this.inf = row;
+      console.log(this.inf);
+    },
+    
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    },
+  },
+};
+</script>
+<style lang="scss" scode>
+.steel_restackAdd{
+    .search{
+        height: 5rem;
+        display: flex;
+        align-items:center;
+        padding-left:0.625rem;
+        .warehouse,.stack,.gradationnumber{
+            margin-left: 1.25rem;
+        }
+    }
+
+
+    .form{
+        display: inline;
+        justify-content: center;
+        margin-left: 1.25rem;
+        
+    }
+    .button_box{
+        width: 90%;
+        position: fixed;
+        bottom: 1.25rem;
+        display: flex;
+        justify-content: center;
+    }
+}
+</style>

+ 106 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_sendreceive.vue

@@ -0,0 +1,106 @@
+//收发存报表
+<template>
+  <div class="sendReceive">
+    <div class="frameCalculation">
+      <span>库存时间:</span>
+      <el-date-picker
+        v-model="startTime"
+        type="date"
+        placeholder="选择日期"
+      >
+      </el-date-picker>
+      <!-- <span>至</span>
+      <el-date-picker
+        v-model="endTime"
+        type="date"
+        placeholder="选择日期"
+      >
+      </el-date-picker> -->
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+      <!-- <span style="margin-left: 1rem;">合计昨日库存:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input> -->
+      <span style="margin-left: 1rem;">合计今日库存:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+    </div>
+    <div class="table">
+      <dilTable ref="excelDom" v-bind.sync="option" @func="func"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { sjTime } from '@/utils/sharedJsFile'
+export default {
+  data() {
+    return {
+      option: {
+        requestUrl: "/api/v1/wms/getSendReceive?apiId=97&startTime=null&endTime=null&i=" +new Date(),
+      },
+      startTime: null,
+      endTime: null,
+      //合计今日库存
+      totalNumber: 0,
+      tableTitle:'收发存报表'
+    };
+  },
+  methods: {
+    refresh(){
+      this.$router.go(0);
+    },
+    func(res){
+      console.log(res)
+      var lastDayTotal = 0
+      res.list.forEach(e => {
+        lastDayTotal = lastDayTotal+e.send_receive_thisday_inventory
+      });
+      this.totalNumber = lastDayTotal
+      //this.totalCapacity = res.total;
+      //获取总记录条数作为合计车数
+      // this.totalCapacity = res.total;
+      this.isKuang = false;
+    },
+    onclick() {
+      let startTime = null;
+      let endTime = null;
+      if(this.startTime){
+        startTime = sjTime(this.startTime);
+      }
+      if(this.endTime){
+        endTime = sjTime(this.endTime);
+      }
+      if(startTime && endTime){
+        if(startTime < endTime){
+          this.option.requestUrl = "/api/v1/wms/getSendReceive?apiId=97&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+        }else{
+          this.startTime = null;
+          this.endTime = null;
+          this.$message.warning('开始时间要比结束时间早')
+        }
+      }else{
+        this.option.requestUrl = "/api/v1/wms/getSendReceive?apiId=97&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+      }
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.sendReceive {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .el-date-editor{
+      margin: 20px;
+    }
+  }
+}
+</style>

+ 102 - 0
src/views/WMS/components/steel/bar1_steel/bar1_steel_transfer.vue

@@ -0,0 +1,102 @@
+//倒库
+<template>
+  <div class="steel_inbound">
+    <div class="sache">
+      <el-input
+        placeholder="请输入内容"
+        v-model="inputText"
+        clearable>
+      </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+       <el-button type="primary" class="btn" @click="toInsert">
+        <i class="el-icon-plus"></i>新增
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="options">
+        <el-table-column fixed="right" label="操作" width="240">
+          <template slot-scope="scope">
+             <el-button type="text" size="mini" @click="selectContract(scope)">
+              查看
+            </el-button>
+            <el-button type="text" size="mini" @click="deleted(scope)">
+              删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+      inputText:"",
+      options:{
+        // first请求数据的地址
+        requestUrl: "/api/v1/wms/getIvboundMakeResultList?apiId=372",
+      },
+    }
+  },
+  methods:{
+     toInsert() {
+      this.$router.push("/bar1_addTransfer");
+    },
+    onclick(){
+      console.log("点击事件");
+    },
+    deleted(scope){   
+      console.log(scope.row)
+      this.$confirm("是否删除", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+      .then(() => {
+      this.axios
+            .post(
+              "/api/v1/wms/deleteIvboundMakeResult/" + scope.row.resultId
+            )
+            .then((res) => {
+              if(res.data.code == 200){   
+            this.$message({
+            type: "success",
+            message: "删除成功!",
+                          });
+          this.$router.go(0);
+            }else {
+									this.$message({
+										message: "删除失败",
+										type: "warning",
+									});
+								}
+              
+            })
+     })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消删除!",
+          });
+        });
+    }
+  }
+}
+</script>
+
+<style lang="scss" >
+.steel_inbound {
+  .sache {
+    padding: 40px;
+    .el-input {
+      width: 250px;
+      margin-right: 20px;
+    }
+  }
+}
+</style>

+ 9 - 8
src/views/WMS/components/steel/steel_inbound.vue

@@ -46,7 +46,7 @@ export default {
       endTime: null,
       options:{
         // first请求数据的地址
-        requestUrl: "/api/v1/wms/getWmsInboundResult?apiId=371",
+        requestUrl: "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+3,
         // selectionType: "select",
         // mapList: [],
       },
@@ -69,13 +69,14 @@ export default {
       }
       if (startTime && endTime) {
         if (startTime < endTime) {
-          if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
-          }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }else{
-          this.options.requestUrl = '/api/v1/wms/getWmsInboundResult?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&warehouseId="+3+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResult?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResult?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
         } else {
           this.startTime = null;
           this.endTime = null;

+ 20 - 17
src/views/WMS/components/steel/steel_inboundReal.vue

@@ -1,6 +1,6 @@
 //真实入库作业
 <template>
-  <div class="steel_inbound">
+  <div class="steel_inbound_real">
     <div class="sache">
       <span>入库时间:</span>
       <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
@@ -8,7 +8,7 @@
       <span>至</span>
       <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
       </el-date-picker>
-      <el-select v-model="region" placeholder="请选择班次">
+      <el-select v-model="region" placeholder="请选择班次" style="width: auto;">
         <el-option label="不选择班次" value="0"></el-option>
         <el-option label="早班" value="1"></el-option>
         <el-option label="中班" value="2"></el-option>
@@ -47,7 +47,7 @@ export default {
       region: "0",
       options:{
         // first请求数据的地址
-        requestUrl: "/api/v1/wms/getWmsInboundResults?apiId=371",
+        requestUrl: "/api/v1/wms/getWmsInboundResults?apiId=371&warehouseId="+3,
         // selectionType: "select",
         // mapList: [],
       },
@@ -141,13 +141,14 @@ export default {
       // console.log(endTime)
       if (startTime && endTime) {
         if (startTime < endTime) {
-          if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
-          }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }else{
-          this.options.requestUrl = '/api/v1/wms/getWmsInboundResults?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&warehouseId="+3+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
+
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResults?apiId=371&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResults?apiId=371&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
         } else {
           this.startTime = null;
           this.endTime = null;
@@ -218,12 +219,14 @@ export default {
 </script>
 
 <style lang="scss" scode>
-.steel_inbound{
-  .sache{
-    height: 5rem;
-    display: flex;
-    align-items: center;
-    padding-left: 1.875rem;
+  .steel_inbound_real{
+    .sache{
+      display: flex;
+      justify-content: start;
+      align-items: center;
+      line-height: 40px;
+      height: 40px;
+      padding-left: 1.875rem;
+    }
   }
-}
 </style>

+ 40 - 24
src/views/WMS/components/steel/steel_inboundStatistics.vue

@@ -1,20 +1,14 @@
 //入库统计
 <template>
-  <div class="steel_inbound">
+  <div class="steel_inboundStatistics">
     <div class="sache">
-      <!-- <el-input
-        placeholder="请输入内容"
-        v-model="inputText"
-        clearable>
-      </el-input>
-       -->
       <span>入库时间:</span>
       <el-date-picker v-model="startTime" type="datetime" placeholder="选择日期">
       </el-date-picker>
       <span>至</span>
       <el-date-picker v-model="endTime" type="datetime" placeholder="选择日期">
       </el-date-picker>
-      <el-select v-model="region" placeholder="请选择班次">
+      <el-select v-model="region" placeholder="请选择班次" style="width: auto;">
         <el-option label="不选择班次" value="0"></el-option>
         <el-option label="早班" value="1"></el-option>
         <el-option label="中班" value="2"></el-option>
@@ -25,14 +19,7 @@
       </el-button>
     </div>
     <div class="table">
-      <dilTable v-bind.sync="options" >
-        <!-- <el-table-column fixed="right" label="操作" width="150">
-								<template slot-scope="scope">
-									<el-button type="text" size="mini" @click="inboundDetails(scope)">
-										详情
-									</el-button>
-								</template>
-				</el-table-column> -->
+      <dilTable v-bind.sync="options" @func="func" highlightCurrentRow="true" :rowClassName="rowClassName">
       </dilTable>
     </div>
   </div>
@@ -44,6 +31,17 @@ import { getCookie } from '@/utils/util.js';
 export default {
   data(){
     return{
+      rowClassName({row, rowIndex}) {
+        if (rowIndex === 0) {
+          return 'success-row';
+        }
+        return '';
+      },
+      input1: '',
+      input2: '',
+      input3: '',
+      input4: '',
+      input5: '',
       inputText:"",
       startTime: null,
       endTime: null,
@@ -56,7 +54,18 @@ export default {
       },
     }
   },
+  created(){
+    console.log(this.options.data)
+  },
   methods:{
+    func(res){
+      console.log(res.list[0])
+      this.input1 = res.list[0].furnaceNumber1,
+      this.input2 = res.list[0].materialName,
+      this.input3 = res.list[0].count,
+      this.input4 = res.list[0].weight,
+      this.input5 = res.list[0].onetime
+    },
     // inboundDetails(scope){
     //   	this.$router.push("/inboundDetails/" + scope.row.inboundId)
     // },
@@ -141,13 +150,13 @@ export default {
       }
       if (startTime && endTime) {
         if (startTime < endTime) {
-          if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
+          // if(getCookie("orgCode") == "dagangadmin" || getCookie("orgCode") == "zidonghuabu"){
           this.options.requestUrl = "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date();
-          }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
-          this.options.requestUrl = "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }else{
-          this.options.requestUrl = '/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
-          }
+          // }else if(getCookie("orgCode") == "wuliuchuyunzhongxin"){
+          // this.options.requestUrl = "/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&orderType=13&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }else{
+          // this.options.requestUrl = '/api/v1/wms/getWmsInboundResultStatistics?apiId=445&warehouseId="+3+"&userId=' + getCookie("orgCode") +"&startTime=" + startTime + "&endTime=" + endTime + "&i=" +new Date(); 
+          // }
         } else {
           this.startTime = null;
           this.endTime = null;
@@ -164,13 +173,20 @@ export default {
 }
 </script>
 
-<style lang="scss" scode>
-.steel_inbound{
+<style lang="scss" scoped>
+.steel_inboundStatistics {
   .sache{
     height: 5rem;
     display: flex;
     align-items: center;
     padding-left: 1.875rem;
   }
+  .funcnum {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+
+  }
 }
+
 </style>

+ 2 - 2
src/views/WMS/components/steel/steel_outbound.vue

@@ -49,8 +49,8 @@ export default {
   methods:{
     onclick(){
        //改变查询条件
-      this.$refs.tab.setDataRequestQuery({"startTime":this.queryDate[0],
-                      "endTime": this.queryDate[1]
+      this.$refs.tab.setDataRequestQuery({"startTime":sjTime(this.queryDate[0]),
+                      "endTime":sjTime(this.queryDate[1]) 
                       });         
     },
     getToday() {

+ 19 - 1
src/views/WMS/components/steel/steel_outboundStatistics.vue

@@ -19,9 +19,13 @@
       <!-- <el-button type="primary" @click="refresh">
         <i class="el-icon-refresh"></i>刷新
       </el-button> -->
+      <span style="margin-left: 1rem;">总件数:</span>
+      <el-input v-model="totalNumber" :disabled="true" style="width: 150px;"></el-input>
+      <span style="margin-left: 1rem;">总重量:</span>
+      <el-input v-model="totalWeight" :disabled="true" style="width: 150px;"></el-input>
     </div>
     <div class="table">
-      <dilTable v-bind.sync="option" >
+      <dilTable v-bind.sync="option" @func="func">
       </dilTable>
     </div>
   </div>
@@ -35,6 +39,8 @@ export default {
       textInput:"",
       startTime: null,
       endTime: null,
+      totalNumber:0,
+      totalWeight:0,
       option:{
         // first请求数据的地址
         requestUrl: "/api/v1/wms/getWmsOutboundResultStatistics?apiId=446&warehouseId="+3+"&startTime=null&endTime=null&i=" +new Date(),
@@ -45,6 +51,18 @@ export default {
       refresh(){
       this.$router.go(0);
     },
+    func(res){
+      console.log(res)
+      var total1 = 0
+      var total2 = 0
+      res.list.forEach(e => {
+        total1 = total1+e.coun
+        total2 = total2+e.theoreticalWeight
+      });
+  
+      this.totalNumber = total1
+      this.totalWeight = total2
+    },
    onclick() {
      console.log("textInput",this.textInput);
       let startTime = null;

+ 6 - 5
src/views/WMS/components/steel/steel_restackAdd.vue

@@ -1,7 +1,7 @@
 // 新增倒垛作业
 <template>
     <div class="steel_restackAdd">
-        <PageTitle>返回</PageTitle>
+        <page-title>返回</page-title>
         <div class="search">
             <div class="warehouse">
                 <span>仓库名称:</span>
@@ -111,7 +111,7 @@
                 </dilTable>
             </div>
         </el-drawer> 
-        <div class="table" >
+        <!-- <div class="table" >
             <dilTable v-bind.sync="options11"  @selection-change="selectionChange"></diltable>
         </div>
             <div class="search">
@@ -140,16 +140,17 @@
                 </el-select>
             </div>
      
-        </div>
+        </div> -->
          <div class="table">
             <dilTable v-bind.sync="options" ></diltable>
-        </div>
+        </div> 
     </div>  
 </template>
 
 <script>
-// import PageTitle from "@/components/Page/Title";
+import PageTitle from "@/components/Page/Title";
 export default {
+  components: { PageTitle },
   data(){
     return{
       table:false,

+ 55 - 1
src/views/WMS/router/index.js

@@ -45,6 +45,33 @@ import steel_outboundStatistics from '../components/steel/steel_outboundStatisti
 import steel_inboundStatistics from '../components/steel/steel_inboundStatistics.vue'
 
 
+// 一帮库页面配置
+import bar1_addTransfer from '../components/steel/bar1_steel/bar1_addTransfer.vue'
+import bar1_billOfLading from '../components/steel/bar1_steel/bar1_billOfLading.vue'
+import bar1_billOfLadingAdd from '../components/steel/bar1_steel/bar1_billOfLadingAdd.vue'
+import bar1_editSteel_restack from '../components/steel/bar1_steel/bar1_editSteel_restack.vue'
+import bar1_inboundDetails from '../components/steel/bar1_steel/bar1_inboundDetails.vue'
+import bar1_insertCheckInventory from '../components/steel/bar1_steel/bar1_insertCheckInventory.vue'
+import bar1_insertTransfer from '../components/steel/bar1_steel/bar1_insertTransfer.vue'
+import bar1_steel_check from '../components/steel/bar1_steel/bar1_steel_check.vue'
+import bar1_steel_close from '../components/steel/bar1_steel/bar1_steel_close.vue'
+import bar1_steel_inbound from '../components/steel/bar1_steel/bar1_steel_inbound.vue'
+import bar1_steel_inboundReal from '../components/steel/bar1_steel/bar1_steel_inboundReal.vue'
+import bar1_steel_reserved from '../components/steel/bar1_steel/bar1_steel_reserved.vue'
+import bar1_steel_outbound from '../components/steel/bar1_steel/bar1_steel_outbound.vue'
+import bar1_steel_real from '../components/steel/bar1_steel/bar1_steel_real.vue'
+import bar1_steel_realDown from '../components/steel/bar1_steel/bar1_steel_realDown.vue'
+import bar1_steel_rebound from '../components/steel/bar1_steel/bar1_steel_rebound.vue'
+import bar1_steel_restack from '../components/steel/bar1_steel/bar1_steel_restack.vue'
+import bar1_steel_restackAdd from '../components/steel/bar1_steel/bar1_steel_restackAdd.vue'
+import bar1_steel_sendreceive from '../components/steel/bar1_steel/bar1_steel_sendreceive.vue'
+import bar1_steel_transfer from '../components/steel/bar1_steel/bar1_steel_transfer.vue'
+import bar1_steel_checkWarehouse from '../components/steel/bar1_steel/bar1_checkWarehouse.vue'
+import bar1_steel_addCheckWarehouse from '../components/steel/bar1_steel/bar1_addCheckWarehouse.vue'
+import bar1_addSteelInbound from '../components/steel/bar1_steel/bar1_addSteelInbound.vue'
+import bar1_addSteelReserved from '../components/steel/bar1_steel/bar1_addSteelReserved.vue'
+import bar1_steel_inboundStatistics from '../components/steel/bar1_steel/bar1_steel_inboundStatistics.vue'
+import bar1_steel_outboundStatistics from '../components/steel/bar1_steel/bar1_steel_outboundStatistics.vue'
 Vue.use(Router)
 const constantRouterMap = [
 	{
@@ -90,8 +117,35 @@ const constantRouterMap = [
 		{path: 'steel_addCheckWarehouse', name: 'steel_addCheckWarehouse', meta: {code: 'xtpzgl-yhgl'}, component: steel_addCheckWarehouse},
 		{path: 'addSteelInbound', name: 'addSteelInbound', meta: {code: 'xtpzgl-yhgl'}, component: addSteelInbound},
 		{path: 'addSteelReserved', name: 'addSteelReserved', meta: {code: 'xtpzgl-yhgl'}, component: addSteelReserved},
+		{path: 'steel_inboundStatistics', name: 'steel_inboundStatistics', meta: {code: 'xtpzgl-yhgl'}, component: steel_inboundStatistics},
 		{path: 'steel_outboundStatistics',name: 'steel_outboundStatistics',meta: {code: 'xtpzgl-yhgl'},component: steel_outboundStatistics},
-		{path: 'steel_inboundStatistics', name: 'steel_inboundStatistics', meta: {code: 'xtpzgl-yhgl'}, component: steel_inboundStatistics}
+		{path: 'bar1_addTransfer', name: 'bar1_addTransfer', meta: {code: 'xtpzgl-yhgl'}, component: bar1_addTransfer},
+		{path: 'bar1_billOfLading', name: 'bar1_billOfLading', meta: {code: 'xtpzgl-yhgl'}, component: bar1_billOfLading},
+		{path: 'bar1_billOfLadingAdd/:orderId', name: 'bar1_billOfLadingAdd', meta: {code: 'xtpzgl-yhgl'}, component: bar1_billOfLadingAdd},
+		{path: 'bar1_editSteel_restack/:resultId', name: 'bar1_editSteel_restack', meta: {code: 'xtpzgl-yhgl'}, component: bar1_editSteel_restack},
+		{path: 'bar1_inboundDetails/:inboundId', name: 'bar1_inboundDetails', meta: {code: 'xtpzgl-yhgl'}, component: bar1_inboundDetails},
+		{path: 'bar1_insertCheckInventory', name: 'bar1_insertCheckInventory', meta: {code: 'xtpzgl-yhgl'}, component: bar1_insertCheckInventory},
+		{path: 'bar1_insertTransfer', name: 'bar1_insertTransfer', meta: {code: 'xtpzgl-yhgl'}, component: bar1_insertTransfer},
+		{path: 'bar1_steel_check', name: 'bar1_steel_check', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_check},
+		{path: 'bar1_steel_close', name: 'bar1_steel_close', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_close},
+		{path: 'bar1_steel_inbound', name: 'bar1_steel_inbound', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_inbound},
+		{path: 'bar1_steel_inboundReal', name: 'bar1_steel_inboundReal', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_inboundReal},
+		{path: 'bar1_steel_reserved', name: 'bar1_steel_reserved', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_reserved},
+		{path: 'bar1_steel_outbound', name: 'bar1_steel_outbound', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_outbound},
+		{path: 'bar1_steel_real', name: 'bar1_steel_real', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_real},
+		{path: 'bar1_steel_realDown/gridId', name: 'bar1_steel_realDown', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_realDown},
+		{path: 'bar1_steel_rebound', name: 'bar1_steel_rebound', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_rebound},
+		{path: 'bar1_steel_restack', name: 'bar1_steel_restack', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_restack},
+		{path: 'bar1_steel_restackAdd', name: 'bar1_steel_restackAdd', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_restackAdd},
+		{path: 'bar1_steel_sendreceive', name: 'bar1_steel_sendreceive', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_sendreceive},
+		{path: 'bar1_steel_transfer', name: 'bar1_steel_transfer', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_transfer},
+		{path: 'bar1_steel_checkWarehouse', name: 'bar1_steel_checkWarehouse', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_checkWarehouse},
+		{path: 'bar1_steel_addCheckWarehouse', name: 'bar1_steel_addCheckWarehouse', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_addCheckWarehouse},
+		{path: 'bar1_addSteelInbound', name: 'bar1_addSteelInbound', meta: {code: 'xtpzgl-yhgl'}, component: bar1_addSteelInbound},
+		{path: 'bar1_addSteelReserved', name: 'bar1_addSteelReserved', meta: {code: 'xtpzgl-yhgl'}, component: bar1_addSteelReserved},
+		{path: 'bar1_steel_inboundStatistics', name: 'bar1_steel_inboundStatistics', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_inboundStatistics},
+		{path: 'bar1_steel_outboundStatistics', name: 'bar1_steel_outboundStatistics', meta: {code: 'xtpzgl-yhgl'}, component: bar1_steel_outboundStatistics},
+
 	  ]
 	}
   ];

+ 1 - 1
src/views/appoint/components/saleContract/addSaleCokeSend.vue

@@ -316,7 +316,7 @@ export default {
       addressDrawer:false,
       //线路的表格
       line: {
-        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3",
+        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con="+'销售',
         selectionType: "radio",
       },
       //车辆的表格

+ 222 - 65
src/views/appoint/components/saleContract/addSaleOrderArrange.vue

@@ -15,7 +15,7 @@
     <!-- 车序号表格 -->
     <div class="switch" v-if="selectionList.length > 0">
       <el-tooltip placement="top">
-        <div slot="content">下面表格已有数据不能进行更改!!!</div>
+        <div slot="content">下面表格已有数据,不能进行更改!!!</div>
         <el-switch
           v-model="value"
           active-text="件数"
@@ -27,7 +27,7 @@
     </div>
     <div class="switch" v-else>
       <el-tooltip placement="top">
-        <div slot="content">当下面表格有数据之后,将不能进行更改!!!</div>
+        <div slot="content">当下面表格有数据之后,将不能进行更改!!!</div>
         <el-switch v-model="value" active-text="件数" inactive-text="重量">
         </el-switch>
       </el-tooltip>
@@ -58,6 +58,9 @@
           <template slot="scope" v-if="item.label !== '车序号'">
             <span>{{ item.label }}</span>
           </template>
+          <template slot="scope" v-if="item.label !== '收货地址'">
+            <span>{{ item.label }}</span>
+          </template>
           <template slot="scope" v-if="item.label !== '运输单价'">
             <span>{{ item.label }}</span>
           </template>
@@ -90,6 +93,21 @@
                   @change="updateArragneCxh(scope.row.cxh)"
                 ></el-input>
               </template>
+              <!-- 收货地址 -->
+              <template v-if="item.prop == 'saleShipperAddressName'" >
+                <el-input
+                  style="width: 200px"
+                  v-model="scope.row.saleShipperAddressName"
+                  disabled
+                >
+                </el-input>
+                <el-button
+                  type="primary"
+                  placeholder="()"
+                  @click="select(scope.$index,1)"
+                  >浏览</el-button
+                >
+              </template>
               <!-- 运输单价id -->
               <template v-if="item.prop == 'priceValue'" >
                 <el-input
@@ -100,8 +118,8 @@
                 </el-input>
                 <el-button
                   type="primary"
-                  placeholder="(非必填)"
-                  @click="select(scope.$index,3)"
+                  placeholder="()"
+                  @click="select(scope.$index,2)"
                   >浏览</el-button
                 >
               </template>
@@ -170,44 +188,56 @@
         </el-table-column>
       </el-table>
     </div>
-    <!-- 运输单价的模态框 -->
+    <!-- 运输单价(地址对应)的模态框 -->
     <el-drawer 
       :visible.sync="addressDrawer" 
       :destroy-on-close="false"
       direction="rtl"
-      size="70%"
+      size="40%"
       :wrapperClosable="false"
       modal
       close-on-press-escape
     
     >
-      <el-input
-        placeholder="请输入内容"
-        v-model="addressText"
-        style="margin-top: 10px; margin-left: 20px; width: 250px"
-        clearable
-      >
+      <el-input placeholder="请输入内容" v-model="addressText" style="margin-top: 10px; margin-left: 20px; width: 250px" clearable>
       </el-input>
-      <el-button
-        type="primary"
-        class="btn"
-        @click="selectAddressClick"
-        style="margin-left: 5px"
-      >
-        <i class="el-icon-search"></i>查询
-      </el-button>
-      <el-button
-        type="primary"
-        class="btn"
-        @click="addAddressClick"
-        style="margin-left: 5px"
-      >
-        <i class="el-icon-check"></i>确定
+      <el-button type="primary" class="btn" @click="selectAddressClick" style="margin-left: 5px">
+         <i class="el-icon-search"></i>查询
       </el-button>
+
+      <!-- 已选中 省市(区)县 -->
+         <el-form :inline="true" style="margin-top: 0.5rem;">
+          <el-form-item>
+          <label class="el-form-item__label" style="width: auto;">已选中省市县(区):</label>
+          </el-form-item>
+          <el-form-item>
+              <el-input class="el-form-item__content" v-model="address" placeholder="请输入内容" :disabled="true"></el-input>
+          </el-form-item>
+         </el-form>
+         <!-- 具体收货地址 -->
+         <div v-if="address != null">
+          <el-form :inline="true" style="margin-top: 0.5rem;" >
+
+          <el-form-item label="具体收货地址:">
+            <el-autocomplete
+              class="inline-input"
+              v-model="place"
+              :fetch-suggestions="querySearch1"
+              placeholder="请输入具体收货地址"
+              :trigger-on-focus="false"
+              @select="handleSelect1"
+            >
+            </el-autocomplete>
+          </el-form-item> 
+
+          <el-button type="primary" @click="addAddressClick">确定</el-button>
+        </el-form>
+        </div>
+
       <div class="tablecls">
         <!-- 查询所有的运输单价 -->
         <dilTable
-          v-bind.sync="Price"
+          v-bind.sync="Address"
           @radio-change="currentRadioChange2"
         ></dilTable>
       </div>
@@ -226,12 +256,24 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      //已选中 省市县(区)
+      address:null,
+      //具体收货地址
+      place:null,
+      //收货地址id
+      addressId:null,
+      //当前是哪一个浏览按钮触发
+      browseButton:null,
       textInput: "",
       input: "",
       //排车数默认
       arragneCount: 1,
       //初始化车序号
       arragneCxh: 1,
+      //是否自提
+      saleOrderIsselfMention:'',
+      //单价已选数量
+      choosePriceCount: 0,
       option: {
         // 表格请求数据的地址
         requestUrl: "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId,
@@ -240,18 +282,18 @@ export default {
       },
       //是否打开收货地址的模态框
       addressDrawer:false,
-      //收货地址的表格
+      //地址的框计算输入的值
       addressText:null,
-      //线路表格的框计算输入的值
+      //收货地址的表格
       Address: {
         requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
         selectionType: "radio",
       },
-      //运输单价的表格
-      Price: {
-        requestUrl: "/api/v1/ams/getAmsContractTransportPrice1?apiId=109&deleted=0",
-        selectionType: "radio",
-      },
+      //运输单价的表格
+      // Price: {
+      //   requestUrl: "/api/v1/ams/getAmsContractTransportPrice1?apiId=109&deleted=0",
+      //   selectionType: "radio",
+      // },
       table: false,
       selectionList: [],
       selectionList1: [],
@@ -304,18 +346,18 @@ export default {
           width: "230",
           slot: true,
         },
+        {
+          prop: "saleShipperAddressName",
+          label: "收货地址",
+          width: "300",
+          slot: true,
+        },
         {
           prop: "priceValue",
           label: "运输单价",
           width: "300",
           slot: true,
         },
-        // {
-        //   prop: "saleShipperAddressName",
-        //   label: "收货地址",
-        //   width: "300",
-        //   slot: true,
-        // },
         {
           prop: "saleOrderConsignee",
           label: "收货客户",
@@ -367,6 +409,45 @@ export default {
       this.row.index = index;
       this.drawer = true;
     },
+    //收货地址弹出层
+    handleSelect1(item) {
+        console.log("获取所有下拉值!");
+    },
+    //收货地址模态窗口的框计算
+    selectAddressClick(){
+      if(this.addressText){
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con="+this.addressText;
+      }else{
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&i=" + new Date();
+      }
+    },
+    //以下是收货地址边输边查搜索
+    querySearch1(queryString, cb){
+      this.axios
+        .post("/api/v1/ams/getRealAddressByLike?addressId="+this.addressId + "&index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            // console.log(res.data.data);
+            var restaurants = res.data.data;
+            // console.log(restaurants, "restaurants");
+            var results = queryString
+              ? restaurants.filter(this.createFilter1(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter1(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是收货地址边输边查搜索
+
     //修改输入框中的车序号,自动获取车序号最大值
     updateArragneCxh(cxh){
       if(this.arragneCxh<cxh){
@@ -395,6 +476,7 @@ export default {
             priceValue:row.priceValue,
             priceId:row.priceId,
             saleShipperAddressId:row.saleShipperAddressId,
+            place:row.place,
             saleShipperAddressName:row.saleShipperAddressName,
           })
 
@@ -439,19 +521,51 @@ export default {
       this.selectionList[this.row.index].saleShipperAddressId = radioList.addressId;
       this.selectionList[this.row.index].saleShipperAddressName = radioList.address;
     },
-    //收货地址模态窗口的框计算
-    selectAddressClick(){
-      this.Address.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
-    },
-    //收货地址模态窗口的点击事件
+    //运输单价模态窗口的点击事件
     addAddressClick(){
       //priceMap
-      this.selectionList[this.addressIndex].priceValue = this.priceMap.priceValue
-      this.selectionList[this.addressIndex].priceId = this.priceMap.priceId
+      // this.selectionList[this.addressIndex].priceValue = this.priceMap.priceValue
+      // this.selectionList[this.addressIndex].priceId = this.priceMap.priceId
+      //获取运输单价和运输单价ID
+      let map = {
+        place: this.place,
+        addressId: this.addressId
+      }
+      this.axios.post('/api/v1/ams/getPriceMap',map)
+      .then((res)=>{
+          if(res.data.data.priceId==-1){
+            if(this.browseButton==1){
+              this.selectionList[this.addressIndex].saleShipperAddressName = this.address+this.place;
+              this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+              this.selectionList[this.addressIndex].place = this.place;
+            }
+            this.selectionList[this.addressIndex].priceValue = '该区域尚未录入任何单价!';
+            this.selectionList[this.addressIndex].priceId = 0;
+            this.addAddressClickNext();
+          }else{
+            //赋值运输单价和运输单价ID
+            if(this.browseButton==1){
+              this.selectionList[this.addressIndex].saleShipperAddressName = this.address+this.place;
+              this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+              this.selectionList[this.addressIndex].place = this.place;
+            }
+            this.selectionList[this.addressIndex].priceValue = res.data.data.priceValue;//this.priceMap.priceValue
+            this.selectionList[this.addressIndex].priceId = res.data.data.priceId;//this.priceMap.priceId
+            this.addAddressClickNext();
+          }
+      });
+    },
+    //运输单价模态窗口的点击事件接续执行方法
+    addAddressClickNext(){
       this.addressDrawer = false;
       let arr = this.selectionList;
       this.selectionList = [];
+      //统计被选中的运输单价数量
+      var count = 0;
       arr.forEach((e)=>{
+        if(e.priceValue){
+          count++;
+        }
         this.selectionList.push({
           //销售订单与物资表主键
             Specification:e.Specification,
@@ -466,19 +580,34 @@ export default {
             priceValue:e.priceValue,
             priceId:e.priceId,
             saleShipperAddressId:e.saleShipperAddressId,
+            place:e.place,
             saleShipperAddressName:e.saleShipperAddressName,
         })
       })
+      //赋值单价已选数量
+      this.choosePriceCount = count;
+      //缩小运价省市县的范围
+      if(this.browseButton==1){
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con="+this.address;
+      }
     },
-    //收货地址点击浏览的事件
-    select(index){
+
+    //收货地址点击浏览的事件---------------------修改点
+    select(index,type){
+      this.browseButton = type;
       this.addressDrawer = true;
-      this.addressIndex = index ;
+      this.addressIndex = index ; 
     },
-    //收货地址模态框单选选中的事件
+    //收货地址模态框单选选中的事件----------------------------修改点
     currentRadioChange2(val){
-      this.priceMap = {};
-      this.priceMap = val;
+      //若具体地址有值,清空值
+      if(this.place!=null){
+        this.place=null;
+      }
+      this.address = val.address;
+      this.addressId = val.addressId;
+      // this.priceMap = {};
+      // this.priceMap = val;
     },
     // 框计算
     onclick() {
@@ -524,6 +653,8 @@ export default {
         };
         this.selectionList.push(addmap);
       });
+      //获取是否自提判断
+      this.saleOrderIsselfMention = this.selectionList1[0].saleOrderIsselfMention;
       this.selectionList1 = [];
       this.table = false;
       //重置销售订单信息
@@ -538,15 +669,17 @@ export default {
     makeSure() {
         //初始化maplist
       var mapList = [];
-      this.selectionList.forEach((item,i) => {
+      this.selectionList.forEach((item) => {
         //初始化mapItem
         var mapItem={
                 //销售订单id
                 saleOrderId : 0,
                 //车序号    
                 truckNo : "",
-                //收货地址id
+                //省市县id
                 shippingAddressId : 0,
+                //具体地址
+                place :null,
                 //截止日期
                 dateOfReceipt :null,
                 //收货方姓名   
@@ -563,6 +696,7 @@ export default {
         mapItem.saleOrderId=this.$route.params.saleOrderId;
         mapItem.truckNo=item.cxh;
         mapItem.shippingAddressId=item.saleShipperAddressId;
+        mapItem.place=item.place;
         mapItem.dateOfReceipt=sjTime(item.saleDateOfReceipt);
         mapItem.orderConsignee=item.saleOrderConsignee;
         mapItem.orderConsigneeTel=item.saleOrderConsigneeTel;
@@ -571,16 +705,39 @@ export default {
         mapItem.priceId=item.priceId;
         mapList.push(mapItem);
       });
-      console.log("mapList",mapList)
+      //校验是否自提,是自提,则运输单价必选,非自提,运输单价为空
+      if(this.saleOrderIsselfMention=='是'){
+        mapList.forEach((e)=>{
+            e.priceId = null;
+        })
+        //发送请求
         this.axios.post("/api/v1/ams/addTruckNo", mapList).then((res) => {
-          if (res.data.code == "200") {
-            this.$router.go(-1);
+        if (res.data.code == "200") {
+          this.$router.go(-1);
+        }
+        this.$message({
+          type: "success",
+          message: "新增车序号成功!",
+        });
+        });  
+      }else{
+        //判断是否全部完成运输单价的选择
+          if(this.choosePriceCount==this.selectionList.length){
+            //发送请求
+            this.axios.post("/api/v1/ams/addTruckNo", mapList).then((res) => {
+            if (res.data.code == "200") {
+              this.$router.go(-1);
+            }
+            this.$message({
+              type: "success",
+              message: "新增车序号成功!",
+            });
+            });
+          }else{
+            this.$message.warning('还有运输单价未被选定!')
           }
-          this.$message({
-            type: "success",
-            message: "新增车序号成功!",
-          });
-        });    
+      }
+          
     },
     // 取消
     cancel() {
@@ -588,7 +745,7 @@ export default {
     },
     //关闭事件
     handleClose(done) {
-      this.$confirm("确认关闭")
+      this.$confirm("确认关闭?")
         .then((_) => {
           done();
         })

+ 1077 - 0
src/views/appoint/components/saleContract/addSaleOrderCoproductSend.vue

@@ -0,0 +1,1077 @@
+<template>
+  <div class="addSaleOrderSend">
+    <page-title>新增销售订单副产品派车</page-title>
+    <!-- 销售订单表的数据 -->
+    <div class="saleOrder">
+      <dilTable
+        v-bind.sync="option"
+        @radio-change="currentRadioChange"
+      ></dilTable>
+    </div>
+    <!-- 表单选择车辆和线路 -->
+    <div class="from">
+      <div class="line">
+        <span class="text">线路</span>
+        <el-input
+          v-model="lineName"
+          placeholder="请选择线路"
+          disabled
+        ></el-input>
+        <el-button type="primary" @click="onClick(1)">浏览</el-button>
+      </div>
+      <div class="sendCar">
+          <span class="text">派车数</span>
+          <el-input v-model="carNumber"></el-input>
+          <span class="text">每车重量</span>
+          <el-input v-model="uniteOrderPlanWeight"></el-input>
+          <span class="text">截止日期</span>
+          <el-date-picker type="date" v-model="uniteSaleDateOfReceipt" style="width:150px"></el-date-picker>
+          <el-button type="primary" @click="AddTruckClick" style="margin-top: 10px;">确定</el-button>
+      </div>
+      <!-- <div class="vehicle">
+        <span class="text">车辆</span>
+        <el-button type="primary" @click="onClick(2)">浏览</el-button>
+        <span class="span"></span>
+      </div> -->
+    </div>
+
+    <!-- 派车表格 -->
+    <div class="selectionTable from">
+      <el-table
+        :data="selectionList"
+        border
+        style="width: 100%"
+        highlight-current-row
+      >
+        <el-table-column type="index" label="序号" width="50">
+        </el-table-column>
+        <el-table-column
+          v-for="(item, i) in tableTop"
+          :key="i"
+          :prop="item.prop"
+          :label="item.label"
+          :width="item.width"
+          align="center"
+          show-overflow-tooltip
+        >
+          <template slot="scope" v-if="item.label !== '车牌号'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '承运商'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '重量'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '运输单价'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '截止日期'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货人'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货客户电话号码'">
+            <span>{{ item.label }}</span>
+          </template>
+          <!-- 插入输入框 -->
+          <template slot-scope="scope">
+            <template v-if="item.slot">
+              <!-- 车牌号 -->
+              <template v-if="item.prop == 'capacityNumber'">
+                <el-autocomplete
+                class="inline-input"
+                v-model="scope.row.capacityNumber"
+                :fetch-suggestions="querySearch"
+                placeholder="(必填)"
+                :trigger-on-focus="false"
+                @select="handleSelect"
+                @blur="checkRelationship(scope.$index)"
+                ></el-autocomplete>
+              </template>
+
+              <!-- 承运商 -->
+              <template v-if="item.prop == 'carrierName'">
+                 <el-select v-model="scope.row.carrierName" placeholder="请选择">
+                  <el-option
+                    v-for="item in carrierNameOptions[scope.$index]"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </template>
+
+              <!-- 物资重量 -->
+              <template v-if="item.prop == 'orderPlanWeight'">
+                <el-input
+                  class="textinput"
+                  @input="onInput"
+                  placeholder="(必填)"
+                  v-model.number="scope.row.orderPlanWeight"
+                ></el-input>
+              </template>
+
+              <!-- 运输单价id -->
+              <template v-if="item.prop == 'priceValue'" >
+                <el-input
+                  style="width: 200px"
+                  v-model="scope.row.priceValue"
+                  disabled
+                >
+                </el-input>
+                <el-button
+                  type="primary"
+                  placeholder="()"
+                  @click="select(scope.$index,3)"
+                  >浏览</el-button
+                >
+              </template>
+              <!-- 截止日期 -->
+              <template v-if="item.prop == 'saleDateOfReceipt'">
+                 <el-date-picker
+                  class="textinput3"
+                  type="date"
+                  v-model.number="scope.row.saleDateOfReceipt"
+                ></el-date-picker>
+              </template>
+              <!-- 收货客户 -->
+              <template v-if="item.prop == 'saleOrderConsignee'">
+                <el-input
+                  class="textinput4"
+                  placeholder="(非必填)"
+                  v-model.number="scope.row.saleOrderConsignee"
+                ></el-input>
+              </template>
+              <!-- 收货客户电话号码 -->
+              <template v-if="item.prop == 'saleOrderConsigneeTel'">
+                <el-input
+                  class="textinput5"
+                  placeholder="(非必填)"
+                  v-model.number="scope.row.saleOrderConsigneeTel"
+                  @input="onInput"
+                ></el-input>
+              </template>
+            </template>
+            <template v-else>
+              <span>{{ scope.row[item.prop] }}</span>
+            </template>
+          </template>
+        </el-table-column>
+        <!-- 操作列 -->
+        <el-table-column fixed="right" label="操作" width="100">
+          <template slot-scope="scope">
+            <el-button
+              @click="copyRow(scope.$index,scope.row)"
+              type="text"
+              size="big"
+            >
+              复制
+            </el-button>
+            <el-button
+              @click="deleteRow(scope.$index)"
+              type="text"
+              icon="el-icon-close"
+              size="big"
+            ></el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <!-- 线路模态框 -->
+    <el-drawer 
+      :visible.sync="drawer" 
+      :destroy-on-close="false"
+      direction="rtl"
+      size="40%"
+      :wrapperClosable="false"
+      @keyup.enter.native="AddClick"
+      modal
+      close-on-press-escape
+    
+    >
+      <el-input
+        placeholder="请输入内容"
+        v-model="lineText"
+        style="margin-top: 10px; margin-left: 20px; width: 250px"
+        @keyup.enter.native="selectClick"
+        clearable
+      >
+      </el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="selectClick"
+        style="margin-left: 5px"
+      >
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="AddClick"
+        style="margin-left: 5px"
+      >
+        <i class="el-icon-check"></i>确定
+      </el-button>
+      <div class="tablecls">
+        <!-- 查询所有的路线 -->
+        <dilTable
+          v-bind.sync="line"
+          @radio-change="currentRadioChange5"
+        ></dilTable>
+      </div>
+    </el-drawer>
+    <!-- 车辆模态框 -->
+    <el-drawer 
+      :visible.sync="truckDrawer" 
+      :destroy-on-close="false"
+      direction="rtl"
+      size="40%"
+      @keyup.enter.native="AddTruckClick"
+      :wrapperClosable="false"
+      modal
+      close-on-press-escape
+    
+    >
+      <el-input
+        placeholder="请输入内容"
+        v-model="truckText"
+        style="margin-top: 10px; margin-left: 20px; width: 250px"
+        @keyup.enter.native="selectTruckClick"
+        clearable
+      >
+      </el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="selectTruckClick"
+        style="margin-left: 5px"
+      >
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="AddTruckClick"
+        style="margin-left: 5px"
+      >
+        <i class="el-icon-check"></i>确定
+      </el-button>
+      <div class="tablecls">
+        <!-- 查询所有的车辆 -->
+        <dilTable
+          v-bind.sync="truck"
+          @selection-change="currentRadioChange1"
+        ></dilTable>
+      </div>
+    </el-drawer>
+    <!-- 运输单价(地址对应)的模态框 -->
+    <el-drawer 
+      :visible.sync="addressDrawer" 
+      :destroy-on-close="false"
+      direction="rtl"
+      size="40%"
+      :wrapperClosable="false"
+      modal
+      close-on-press-escape
+    
+    >
+    
+    <el-input v-model="addresText" placeholder="请输入内容" style="margin-top: 10px; margin-left: 20px; width: 250px"></el-input>
+        <el-button type="primary" @click="selectAddresClick" :loading="selectLineLoading"><i class="el-icon-search"></i>查询</el-button>
+         <!-- 已选中 省市(区)县 -->
+         <el-form :inline="true" style="margin-top: 0.5rem;">
+          <el-form-item>
+          <label class="el-form-item__label" style="width: auto;">已选中省市县(区):</label>
+          </el-form-item>
+          <el-form-item>
+              <el-input class="el-form-item__content" v-model="address" placeholder="请输入内容" :disabled="true"></el-input>
+          </el-form-item>
+         </el-form>
+         <!-- 具体收货地址 -->
+         <div v-if="address != null">
+           <el-form :inline="true" style="margin-top: 0.5rem;" >
+
+          <el-form-item label="具体收货地址:">
+            <el-autocomplete
+              class="inline-input"
+              v-model="place"
+              :fetch-suggestions="querySearch1"
+              placeholder="请输入具体收货地址"
+              :trigger-on-focus="false"
+              @select="handleSelect1"
+            >
+            </el-autocomplete>
+          </el-form-item> 
+
+          <el-button type="primary" @click="addAddressClick">确定</el-button>
+         </el-form>
+         </div>
+
+      <div class="tablecls">
+        <!-- 查询所有的运输单价 -->
+        <dilTable
+          v-bind.sync="Address"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>
+    </el-drawer>
+
+    <div class="button_box">
+      <el-button @click="cancel">取消</el-button>
+      <el-button type="primary" @click="makeSure">确定</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import PageTitle from "@/components/Page/Title";
+import { getCookie } from "@/utils/util.js";
+import { sjTime,isNumber,isIntegerNumber } from "@/utils/sharedJsFile";
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      //已选中 省市县(区)
+      address:null,
+      //具体收货地址
+      place:null,
+      //收货地址id
+      addressId:null,
+      //省市县(区)查询值
+      addresText:null,
+      //加载
+      selectLineLoading:false,
+      //承运商下拉框中的值
+      carrierNameOptions:[],
+      //收货客户注册承运商Id
+      receiveCarrierId:null,
+      //收货客户注册承运商名称
+      receiveCarrierName:null,
+      //统一截止日期
+      uniteSaleDateOfReceipt:null,
+      //统一每车重量
+      uniteOrderPlanWeight:null,
+      //线路名称
+      lineName:null,
+      lineId:null,
+      //派车数
+      carNumber:null,
+      //线路表格单选缓存数据的
+      cacheLine:{
+        ROW_ID : 0,
+        lineDesk : '',
+        lineId : 0,
+        lineName : '',
+        lineNo : '',
+        lineType : '',
+        spellNumber : 0,
+      },
+      //收货客户
+      consigneeCompanyName:'',
+      //是否自提
+      saleOrderIsselfMention:'',
+      //单价已选数量
+      choosePriceCount: 0,
+      //已经选择车辆物资信息
+      selectionList:[],
+      //销售订单物资信息
+      option: {
+        // 表格请求数据的地址
+        requestUrl:"",
+        // 控制显示当选列
+        selectionType: "radio",
+        isPagination: false,
+      },
+      //当前选中的物资id
+      materialId: null,
+      //当前选中的物资名称
+      materialName: null,
+      //选中的线路名称
+      lineName: null,
+      //选中的线路id
+      lineId: null,
+      //是否打开选择线路的模态框
+      drawer:false,
+      //是否打开选择车辆的模态框
+      truckDrawer:false,
+      //是否打开运输单价的模态框
+      addressDrawer:false,
+      //线路的表格
+      line: {
+        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3",
+        selectionType: "radio",
+      },
+      //车辆的表格
+      truck: {
+        requestUrl: "",
+        selectionType: "select",
+      },
+      //运输单价的表格
+      Address: {
+        requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
+        selectionType: "radio",
+      },
+      addressText:null,
+      //线路表格的框计算输入的值
+      lineText:null,
+      tableTop: [
+        {
+          prop: "capacityNumber",
+          label: "车牌号",
+          width: "130",
+          slot: true,
+        },
+        {
+          prop: "carrierName",
+          label: "承运商",
+          width: "240",
+          slot: true,
+        },
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: "140",
+        },
+        {
+          prop: "lineName",
+          label: "运输线路",
+          width: "220",
+        },
+        {
+          prop: "orderPlanWeight",
+          label: "重量",
+          width: "140",
+          slot: true,
+        },
+        {
+          prop: "saleDateOfReceipt",
+          label: "截止日期",
+          width: "230",
+          slot: true,
+        },
+        {
+          prop: "priceValue",
+          label: "运输单价",
+          width: "300",
+          slot: true,
+        },
+        // {
+        //   prop: "saleShipperAddressName",
+        //   label: "收货地址",
+        //   width: "300",
+        //   slot: true,
+        // },
+        {
+          prop: "saleOrderConsignee",
+          label: "收货人",
+          width: "150",
+          slot: true,
+        },
+        {
+          prop: "saleOrderConsigneeTel",
+          label: "收货客户电话号码",
+          slot: true,
+          width: "150",
+        },
+      ],
+      truckText:null,
+      //当前多选选中的车辆
+      selectTruck:[],
+      //销售订单与物资表主键
+      saleMaterialId:null,
+      //销售订单主键
+      saleOrderId:null,
+      //记录点击的是哪一个收货地址的浏览
+      addressIndex:null,
+      //缓存当前选中的运输单价
+      // priceMap:{},
+    };
+  },
+  created() {
+    if (getCookie("orgCode") == "chengyunshang") {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+        getCookie("userId");
+    } else {
+      this.truck.requestUrl =
+        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null;
+    }
+    this.option.requestUrl = "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId;
+  },
+  methods: {
+    onInput(val){
+      if(!isNumber(val)){
+        this.$message.warning('重量/电话号码请输入数字')
+      }
+    },
+    //校验是否为车牌
+    isVehicleNumber(vehicleNumber) {
+      var result = false;
+      if (vehicleNumber.length == 7) {
+        var express =
+          /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
+        result = express.test(vehicleNumber);
+      }
+      return result;
+    },
+    //填充承运商下拉框
+    fillCarrier(capacityId){
+      this.axios
+      .get("/api/v1/uc/getCarrierByCapacityId?capacityId=" + capacityId)
+      .then((res)=>{
+        var carrierNameList = [];
+        carrierNameList = res.data.data;
+        this.carrierNameOptions.push(carrierNameList);
+      });
+    },
+    //绑定车牌号和承运商的关系
+    bindRelationship(mapValue){
+      let RmsCapacity = {
+        capacityTypeId: 1,
+        capacityNumber: mapValue.capacityNumber,
+        capacityCorlor: "黄",
+        capacityOwneris: "否",
+        capacityVip: "否",
+        capacityBlacklist: "否",
+        remark: null,
+        carrierId: mapValue.carrierId,
+        state: mapValue.carrierName,
+      };
+      this.$confirm("该车牌号与承运商未有绑定关系, 是否立即绑定该车牌号和承运商?","提示",{
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+      })
+      .then(() => {
+          this.axios
+            .post("/api/v1/rms/insertCapacity", RmsCapacity)
+            .then((res) => {
+              if (res.data.data == 0) {
+                this.$message.success("该车牌号与承运商绑定关系成功!");
+              } 
+            });
+        })
+        .catch(() => {this.$message({ type: "info", message: "已取消删除",});});
+    },
+    //失焦事件后确定车牌号与承运商是否有绑定关系
+    checkRelationship(index){
+      if(this.selectionList[index].carrierId!=null){
+        //暂存车牌号
+      var capacityNumber1;
+      if(this.isVehicleNumber(this.selectionList[index].capacityNumber)){
+        let mapValue = {
+        capacityNumber:this.selectionList[index].capacityNumber,
+        carrierId:this.selectionList[index].carrierId,
+        carrierName:this.selectionList[index].carrierName
+      }
+      this.axios
+       .post("/api/v1/uc/isInCapacityCarrier", mapValue)
+       .then((res)=>{
+         if(res.data.code=="201"){
+           capacityNumber1 = res.data.data;
+           if(capacityNumber1==null){
+             this.selectionList[index].capacityNumber = null;
+             this.$message.error("该车牌号未注册,请先前往注册!");
+           }else{
+             this.bindRelationship(mapValue);
+           }
+         }
+       });
+      }
+      }
+    },
+    //收货地址弹出层
+    handleSelect1(item) {
+        console.log("获取所有下拉值!");
+    },
+    //车牌号弹出层
+    handleSelect(item) {
+      if(this.receiveCarrierId!=null){
+        let mapValue = {
+          capacityNumber:item.capacityNumber,
+          carrierId:this.receiveCarrierId,
+          carrierName:this.receiveCarrierName
+        }
+        this.axios
+        .post("/api/v1/uc/isInCapacityCarrier", mapValue)
+        .then((res)=>{
+          if(res.data.code=="201"){
+            this.bindRelationship(mapValue);
+          }else{
+            this.fillCarrier(item.capacityId);
+          }
+        });
+      }else{
+        this.fillCarrier(item.capacityId);
+      }
+    },
+    //查询全国省市县
+    selectAddresClick(){
+      if(this.addresText){
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con="+this.addresText;
+      }else{
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&i=" + new Date();
+      }
+    },
+
+    //以下是车牌号边输边查搜索
+    querySearch(queryString, cb){
+      this.axios
+        .post("/api/v1/uc/getCapacityByLike?index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            var restaurants = res.data.data;
+            var results = queryString
+              ? restaurants.filter(this.createFilter(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是车牌号边输边查搜索
+
+    //以下是收货地址边输边查搜索
+    querySearch1(queryString, cb){
+      this.axios
+        .post("/api/v1/ams/getRealAddressByLike?addressId="+this.addressId + "&index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            var restaurants = res.data.data;
+            var results = queryString
+              ? restaurants.filter(this.createFilter1(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter1(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是收货地址边输边查搜索
+
+    //点击确定按钮的事件
+    makeSure(){
+      let state = false;
+      this.selectionList.forEach((e)=>{
+        if(!isNumber(e.orderPlanWeight)){   //判定重量合法
+          this.$message.error('重量请输入数字')
+        }
+        else if(e.saleOrderConsigneeTel){  //判断电话号码合法
+          if(!isNumber(e.saleOrderConsigneeTel)){
+            this.$message.error('电话号码请输入数字')
+          }else{
+            e.saleOrderConsigneeTel = e.saleOrderConsigneeTel+"",
+            state = true
+          }
+        }
+        else {
+          e.saleOrderConsigneeTel = null,
+          state = true
+        }
+        //其他条件
+        if(e.saleDateOfReceipt){  //转化截止日期格式
+          e.saleDateOfReceipt = sjTime(e.saleDateOfReceipt)
+        }
+        if(isIntegerNumber(e.carrierName)){
+          e.carrierId = e.carrierName
+        }
+      })
+      if(state){
+        //校验是否自提,是自提,则运输单价必选,非自提,运输单价为空
+        if(this.saleOrderIsselfMention=='是'){
+          this.selectionList.forEach((e)=>{
+            e.priceValue = null;
+            e.priceId = null;
+          })
+          this.sendRequest();
+        }else{
+          //判断是否全部完成运输单价的选择
+          if(this.choosePriceCount==this.selectionList.length){
+            this.sendRequest();
+          }else{
+            this.$message.warning('还有运输单价未被选定!')
+          }
+        }
+      }else{
+        this.$message.warning('重量/电话号码请输入数字')
+      }
+    },
+    //发送请求
+    sendRequest(){
+      this.axios.post('/api/v1/ams/dispatchTruckOrderBySale',{
+          saleOrderId:this.$route.params.saleOrderId,
+          mapList:this.selectionList,
+        }).then((res)=>{
+          if(res.data.code == '200'){
+            this.$message.success('派车成功')
+            this.cancel();
+          }else{
+            //若该销售订单的净重已达到97%!
+            this.$confirm("该销售订单的净重已达到97%! 是否仍然派车", "提示", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+              center: true,
+            })
+            .then(() => {
+              this.axios.post('/api/v1/ams/dispatchTruckOrderBySale',{
+              saleOrderId:this.$route.params.saleOrderId,
+              sendAgain:1,
+              mapList:this.selectionList,
+              }).then((res)=>{
+                  if(res.data.code == '200'){
+                  this.$message.success('派车成功')
+                  this.cancel();
+                }
+              });
+            })
+            .catch(() => {
+              this.$message({
+                type: "info",
+                message: "取消派车!",
+              });
+            });
+
+          }
+        })
+    },
+    //点击取消按钮的事件
+    cancel(){
+      this.$router.push('/saleOrder')
+    },
+    //点击删除按钮删除当前点击的对象
+    deleteRow(index){
+      this.selectionList.splice(index,1)
+    },
+    //复制的方法
+    copyRow(index,row){
+      let arr = [];
+      let crr = [];
+      for(var i = 0 ;i<this.selectionList.length; i++){
+        if(i == index){
+          //表格数复制
+          arr.push(this.selectionList[i]);
+          arr.push({
+            capacityId:row.capacityId,
+            capacityNumber:row.capacityNumber,
+            carrierName:row.carrierName,
+            carrierId:row.carrierId,
+            lineId:row.lineId,
+            lineName:row.lineName,
+            materialId:row.materialId,
+            materialName:row.materialName,
+            orderPlanWeight:row.orderPlanWeight,
+            saleDateOfReceipt:row.saleDateOfReceipt,
+            saleMaterialId:row.saleMaterialId,
+            saleOrderConsignee:row.saleOrderConsignee,
+            saleOrderConsigneeTel:row.saleOrderConsigneeTel,
+            saleShipperAddressId:row.saleShipperAddressId,
+            place:row.place,
+            priceValue:row.priceValue,
+            priceId:row.priceId
+          });
+          //下拉框数据复制
+          crr.push(this.carrierNameOptions[i]);
+          crr.push(this.carrierNameOptions[i]);
+        }else{
+          arr.push(this.selectionList[i]);
+          crr.push(this.carrierNameOptions[i]);
+        }
+      }
+      this.selectionList = [];
+      this.selectionList = arr;
+      this.carrierNameOptions = [];
+      this.carrierNameOptions = crr;
+    },
+    //收货地址模态窗口的框计算
+    selectAddressClick(){
+      this.Address.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
+    },
+
+    //运输单价模态窗口的点击确定事件--------------
+    addAddressClick(){
+      //获取运输单价和运输单价ID
+      let map = {
+        place: this.place,
+        addressId: this.addressId
+      }
+      this.axios.post('/api/v1/ams/getPriceMap',map)
+      .then((res)=>{
+          if(res.data.data.priceId==-1){
+            this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+            this.selectionList[this.addressIndex].place = this.place;
+            this.selectionList[this.addressIndex].priceValue = '该区域尚未录入任何单价!';
+            this.selectionList[this.addressIndex].priceId = 0;
+            this.addAddressClickNext();
+          }else{
+            //赋值运输单价和运输单价ID
+            this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+            this.selectionList[this.addressIndex].place = this.place;
+            this.selectionList[this.addressIndex].priceValue = res.data.data.priceValue;//this.priceMap.priceValue
+            this.selectionList[this.addressIndex].priceId = res.data.data.priceId;//this.priceMap.priceId
+            this.addAddressClickNext();
+          }
+      });
+    },
+    //运输单价模态窗口的点击确定事件接续执行方法
+    addAddressClickNext(){
+      this.addressDrawer = false;
+      let arr = this.selectionList;
+      this.selectionList = [];
+      //统计被选中的运输单价数量
+      var count = 0;
+      arr.forEach((e)=>{
+        if(e.priceValue){
+          count++;
+        }
+        this.selectionList.push({
+          //销售订单与物资表主键
+          capacityId:e.capacityId,
+          capacityNumber:e.capacityNumber,
+          carrierName:e.carrierName,
+          carrierId:e.carrierId,
+          lineId:e.lineId,
+          lineName:e.lineName,
+          materialId:e.materialId,
+          materialName:e.materialName,
+          orderPlanWeight:e.orderPlanWeight,
+          saleDateOfReceipt:e.saleDateOfReceipt,
+          saleMaterialId:e.saleMaterialId,
+          saleOrderConsignee:e.saleOrderConsignee,
+          saleOrderConsigneeTel:e.saleOrderConsigneeTel,
+          saleShipperAddressId:e.saleShipperAddressId,
+          place:e.place,
+          priceValue:e.priceValue,
+          priceId:e.priceId,
+        })
+      })
+      console.log("this.selectionList222",this.selectionList)
+      //赋值单价已选数量
+      this.choosePriceCount = count;
+    },
+
+    //收货地址点击浏览的事件
+    select(index){
+      this.addressDrawer = true;
+      this.addressIndex = index ;
+    },
+    //收货地址模态框单选选中的事件
+    currentRadioChange2(val){
+      //若具体地址有值,清空值
+      if(this.place!=null){
+        this.place=null;
+      }
+      this.address = val.address,
+      this.addressId = val.addressId;
+      // this.priceMap = {};
+      // this.priceMap = val;
+    },
+    //派车数确定事件
+    AddTruckClick(){
+        if(!this.materialId){
+          this.$message.warning('请选择物资后,再点击!')
+        }else if(!this.lineId){
+          this.$message.warning('请选择线路后,再点击!')
+        }else if(!this.carNumber){
+          this.$message.warning('请先输入派车数!')
+        }else if(!this.uniteOrderPlanWeight){
+          this.$message.warning('请先输入每车数量!')
+        }else if(!this.uniteSaleDateOfReceipt){
+          this.$message.warning('请先输入截止日期!')
+        }else{
+          var i=0;
+          //给自提客户,即(承运商)赋值
+          let mapValue = {
+            isSelfMention : this.saleOrderIsselfMention,
+            consigneeName : this.consigneeCompanyName
+          }
+          this.axios.post('/api/v1/uc/getCarrierByConsignee',mapValue)
+          .then((res)=>{
+            if(res.data.data==null){
+              this.receiveCarrierId = null;
+              this.receiveCarrierName = null;
+              this.$message.warning('该收货单位尚未注册为承运商!')
+            }else{
+              this.receiveCarrierId = res.data.data.carrierId;
+              this.receiveCarrierName = res.data.data.carrierName;
+            }
+            //生成下方表单单元格
+            for(i=0;i<this.carNumber;i++){
+            this.selectionList.push({
+            //销售订单与物资表主键
+            saleMaterialId:this.saleMaterialId,
+            capacityId:null,
+            carrierId:this.receiveCarrierId,
+            capacityNumber:null,
+            carrierName:this.receiveCarrierName,
+            materialName:this.materialName,
+            materialId:this.materialId,
+            orderPlanWeight:this.uniteOrderPlanWeight,
+            saleDateOfReceipt:this.uniteSaleDateOfReceipt,
+            lineName:this.lineName,
+            lineId:this.lineId,
+            priceValue:null,
+            priceId:null,
+            saleOrderConsignee:null
+            })
+            }
+          });
+        }   
+    },
+    //车辆模态框框计算
+    selectTruckClick(){
+      if (getCookie("orgCode") == "chengyunshang") {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+          getCookie("userId") + "&index="+this.truckText;
+      } else {
+        this.truck.requestUrl =
+          "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index="+this.truckText;
+      }
+    },
+    //车辆表格
+    currentRadioChange1(select){
+      this.selectTruck = [];
+      this.selectTruck = select;
+    },
+    //主界面表格单选
+    currentRadioChange(row) {
+      this.consigneeCompanyName = row.consigneeCompanyName;
+      this.saleOrderIsselfMention = row.saleOrderIsselfMention;
+      this.materialId = row.materialId;
+      this.materialName = row.materialName;
+      this.saleMaterialId = row.saleMaterialId;
+      this.saleOrderId = row.saleOrderId;
+    },
+    //线路表格的单选事件
+    currentRadioChange5(row){
+      //存在lineName,赋值,否则初始化
+      if(row.lineName){
+        this.cacheLine = row;
+      }else{
+        this.cacheLine = {
+        ROW_ID : 0,
+        lineDesk : '',
+        lineId : 0,
+        lineName : '',
+        lineNo : '',
+        lineType : '',
+        spellNumber : 0,
+      }
+      } 
+    },
+    onClick(num) {
+      if (num == 1) {
+        this.drawer = true;
+        this.lineText = null;
+      }
+      // else if(num == 2){
+      //   //再度初始化选择车辆表头
+      //   if (getCookie("orgCode") == "chengyunshang") {
+      //     this.truck.requestUrl =
+      //       "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +
+      //       getCookie("userId") + "&i=" + new Date();
+      //   } else {
+      //     this.truck.requestUrl =
+      //       "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&i=" + new Date();
+      //   }
+      //   //后续操作
+      //   if(!this.materialId){
+      //     this.$message.warning('请选择物资后,再点击')
+      //   }else if(!this.lineId){
+      //     this.$message.warning('请选择线路后,再点击')
+      //   }else{
+      //     this.truckDrawer = true;
+      //     this.truckText = null;
+      //   }
+      // }
+    },
+    //线路表格的框计算
+    selectClick(){
+      this.line.requestUrl = '/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con='+this.lineText;
+    },
+    //线路表格的确定事件
+    AddClick(){
+        if(this.cacheLine.lineName!=''){
+          this.drawer = false;
+          this.lineName = this.cacheLine.lineName +"  "+ this.cacheLine.lineDesk;
+          this.lineId = this.cacheLine.lineId;
+        }
+
+    }
+  },
+};
+</script>
+
+<style lang='scss'>
+.addSaleOrderSend {
+  .from {
+    margin-top: 20px;
+    .line {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      .el-input {
+        width: 350px;
+        margin-left: 10px;
+        margin-right: 10px;
+      }
+    }
+    .sendCar {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      .el-input {
+        width: 70px;
+        margin-left: 10px;
+        margin-right: 10px;
+        margin-top: 10px;
+      }
+    }
+    .vehicle {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      margin-top: 20px;
+      .el-button {
+        width: 250px;
+        margin-left: 10px;
+        margin-right: 10px;
+      }
+      .span {
+        width: 70px;
+      }
+    }
+  }
+  .tablecls{
+    margin-top: 20px;
+  }
+  .button_box{
+    display: flex;
+    justify-content: center;
+    margin: 20px;
+    .el-button{
+      width: 100px;
+      margin-left: 20px;
+    }
+  }
+}
+</style>

+ 192 - 59
src/views/appoint/components/saleContract/addSaleOrderSend.vue

@@ -54,10 +54,10 @@
           <template slot="scope" v-if="item.label !== '截止日期'">
             <span>{{ item.label }}</span>
           </template>
-          <template slot="scope" v-if="item.label !== '收货姓名'">
+          <template slot="scope" v-if="item.label !== '收货'">
             <span>{{ item.label }}</span>
           </template>
-          <template slot="scope" v-if="item.label !== '收货方电话'">
+          <template slot="scope" v-if="item.label !== '收货客户电话号码'">
             <span>{{ item.label }}</span>
           </template>
           <!-- 插入输入框 -->
@@ -83,7 +83,7 @@
                 </el-input>
                 <el-button
                   type="primary"
-                  placeholder="(非必填)"
+                  placeholder="()"
                   @click="select(scope.$index,3)"
                   >浏览</el-button
                 >
@@ -227,44 +227,53 @@
         ></dilTable>
       </div>
     </el-drawer>
-    <!-- 运输单价的模态框 -->
+    <!-- 运输单价(地址对应)的模态框 -->
     <el-drawer 
       :visible.sync="addressDrawer" 
       :destroy-on-close="false"
       direction="rtl"
-      size="70%"
+      size="40%"
       :wrapperClosable="false"
       modal
       close-on-press-escape
     
     >
-      <el-input
-        placeholder="请输入内容"
-        v-model="addressText"
-        style="margin-top: 10px; margin-left: 20px; width: 250px"
-        clearable
-      >
-      </el-input>
-      <el-button
-        type="primary"
-        class="btn"
-        @click="selectAddressClick"
-        style="margin-left: 5px"
-      >
-        <i class="el-icon-search"></i>查询
-      </el-button>
-      <el-button
-        type="primary"
-        class="btn"
-        @click="addAddressClick"
-        style="margin-left: 5px"
-      >
-        <i class="el-icon-check"></i>确定
-      </el-button>
+    
+    <el-input v-model="addresText" placeholder="请输入内容" style="margin-top: 10px; margin-left: 20px; width: 250px"></el-input>
+        <el-button type="primary" @click="selectAddresClick" :loading="selectLineLoading"><i class="el-icon-search"></i>查询</el-button>
+         <!-- 已选中 省市(区)县 -->
+         <el-form :inline="true" style="margin-top: 0.5rem;">
+          <el-form-item>
+          <label class="el-form-item__label" style="width: auto;">已选中省市县(区):</label>
+          </el-form-item>
+          <el-form-item>
+              <el-input class="el-form-item__content" v-model="address" placeholder="请输入内容" :disabled="true"></el-input>
+          </el-form-item>
+         </el-form>
+         <!-- 具体收货地址 -->
+         <div v-if="address != null">
+           <el-form :inline="true" style="margin-top: 0.5rem;" >
+
+          <el-form-item label="具体收货地址:">
+            <el-autocomplete
+              class="inline-input"
+              v-model="place"
+              :fetch-suggestions="querySearch1"
+              placeholder="请输入具体收货地址"
+              :trigger-on-focus="false"
+              @select="handleSelect1"
+            >
+            </el-autocomplete>
+          </el-form-item> 
+
+          <el-button type="primary" @click="addAddressClick">确定</el-button>
+         </el-form>
+         </div>
+
       <div class="tablecls">
         <!-- 查询所有的运输单价 -->
         <dilTable
-          v-bind.sync="Price"
+          v-bind.sync="Address"
           @radio-change="currentRadioChange2"
         ></dilTable>
       </div>
@@ -285,6 +294,16 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      //已选中 省市县(区)
+      address:null,
+      //具体收货地址
+      place:null,
+      //收货地址id
+      addressId:null,
+      //省市县(区)查询值
+      addresText:null,
+      //加载
+      selectLineLoading:false,
       //线路名称
       lineName:null,
       lineId:null,
@@ -298,6 +317,10 @@ export default {
         lineType : '',
         spellNumber : 0,
       },
+      //是否自提
+      saleOrderIsselfMention:'',
+      //单价已选数量
+      choosePriceCount: 0,
       //已经选择车辆物资信息
       selectionList:[],
       //销售订单物资信息
@@ -324,7 +347,7 @@ export default {
       addressDrawer:false,
       //线路的表格
       line: {
-        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3",
+        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con="+'销售',
         selectionType: "radio",
       },
       //车辆的表格
@@ -333,8 +356,8 @@ export default {
         selectionType: "select",
       },
       //运输单价的表格
-      Price: {
-        requestUrl: "/api/v1/ams/getAmsContractTransportPrice1?apiId=109&deleted=0",
+      Address: {
+        requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
         selectionType: "radio",
       },
       addressText:null,
@@ -346,16 +369,16 @@ export default {
           label: "车牌号",
           width: "100",
         },
-        {
-          prop: "materialName",
-          label: "物资名称",
-          width: "140",
-        },
         {
           prop: "carrierName",
           label: "承运商",
           width: "220",
         },
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: "140",
+        },
         {
           prop: "lineName",
           label: "运输线路",
@@ -387,7 +410,7 @@ export default {
         // },
         {
           prop: "saleOrderConsignee",
-          label: "收货客户",
+          label: "收货",
           width: "150",
           slot: true,
         },
@@ -403,10 +426,12 @@ export default {
       selectTruck:[],
       //销售订单与物资表主键
       saleMaterialId:null,
-      //记录点击的市哪一个收货地址的浏览
+      //销售订单主键
+      saleOrderId:null,
+      //记录点击的是哪一个收货地址的浏览
       addressIndex:null,
       //缓存当前选中的运输单价
-      priceMap:{},
+      // priceMap:{},
     };
   },
   created() {
@@ -426,6 +451,44 @@ export default {
         this.$message.warning('重量/电话号码请输入数字')
       }
     },
+    //收货地址弹出层
+    handleSelect1(item) {
+        console.log("获取所有下拉值!");
+    },
+    //查询全国省市县
+    selectAddresClick(){
+      if(this.addresText){
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con="+this.addresText;
+      }else{
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&i=" + new Date();
+      }
+    },
+
+    //以下是收货地址边输边查搜索
+    querySearch1(queryString, cb){
+      this.axios
+        .post("/api/v1/ams/getRealAddressByLike?addressId="+this.addressId + "&index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            var restaurants = res.data.data;
+            var results = queryString
+              ? restaurants.filter(this.createFilter1(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter1(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是收货地址边输边查搜索
+
     //点击确定按钮的事件
     makeSure(){
       let state = false;
@@ -448,11 +511,31 @@ export default {
         }
       })
       if(state){
-        this.axios.post('/api/v1/ams/dispatchTruckOrderBySale',{
+        //校验是否自提,是自提,则运输单价必选,非自提,运输单价为空
+        if(this.saleOrderIsselfMention=='是'){
+          this.selectionList.forEach((e)=>{
+            e.priceValue = null;
+            e.priceId = null;
+          })
+          this.sendRequest();
+        }else{
+          //判断是否全部完成运输单价的选择
+          if(this.choosePriceCount==this.selectionList.length){
+            this.sendRequest();
+          }else{
+            this.$message.warning('还有运输单价未被选定!')
+          }
+        }
+      }else{
+        this.$message.warning('重量/电话号码请输入数字')
+      }
+    },
+    //发送请求
+    sendRequest(){
+      this.axios.post('/api/v1/ams/dispatchTruckOrderBySale',{
           saleOrderId:this.$route.params.saleOrderId,
           mapList:this.selectionList,
         }).then((res)=>{
-          console.log("res",res)
           if(res.data.code == '200'){
             this.$message.success('派车成功')
             this.cancel();
@@ -485,9 +568,6 @@ export default {
 
           }
         })
-      }else{
-        this.$message.warning('重量/电话号码请输入数字')
-      }
     },
     //点击取消按钮的事件
     cancel(){
@@ -507,6 +587,7 @@ export default {
             capacityId:row.capacityId,
             capacityNumber:row.capacityNumber,
             carrierName:row.carrierName,
+            carrierId:row.carrierId,
             lineId:row.lineId,
             lineName:row.lineName,
             materialId:row.materialId,
@@ -516,9 +597,10 @@ export default {
             saleMaterialId:row.saleMaterialId,
             saleOrderConsignee:row.saleOrderConsignee,
             saleOrderConsigneeTel:row.saleOrderConsigneeTel,
+            saleShipperAddressId:row.saleShipperAddressId,
+            place:row.place,
             priceValue:row.priceValue,
-            priceId:row.priceId,
-            saleShippingAddressId:row.saleShippingAddressId,
+            priceId:row.priceId
           }
           )
         }else{
@@ -530,17 +612,45 @@ export default {
     },
     //收货地址模态窗口的框计算
     selectAddressClick(){
-      this.Price.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
+      this.Address.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
     },
-    //运输单价模态窗口的点击事件
+
+    //运输单价模态窗口的点击确定事件--------------
     addAddressClick(){
-      //priceMap
-      this.selectionList[this.addressIndex].priceValue = this.priceMap.priceValue
-      this.selectionList[this.addressIndex].priceId = this.priceMap.priceId
+      //获取运输单价和运输单价ID
+      let map = {
+        place: this.place,
+        addressId: this.addressId
+      }
+      this.axios.post('/api/v1/ams/getPriceMap',map)
+      .then((res)=>{
+          if(res.data.data.priceId==-1){
+            this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+            this.selectionList[this.addressIndex].place = this.place;
+            this.selectionList[this.addressIndex].priceValue = '该区域尚未录入任何单价!';
+            this.selectionList[this.addressIndex].priceId = 0;
+            this.addAddressClickNext();
+          }else{
+            //赋值运输单价和运输单价ID
+            this.selectionList[this.addressIndex].saleShipperAddressId = this.addressId;
+            this.selectionList[this.addressIndex].place = this.place;
+            this.selectionList[this.addressIndex].priceValue = res.data.data.priceValue;//this.priceMap.priceValue
+            this.selectionList[this.addressIndex].priceId = res.data.data.priceId;//this.priceMap.priceId
+            this.addAddressClickNext();
+          }
+      });
+    },
+    //运输单价模态窗口的点击确定事件接续执行方法
+    addAddressClickNext(){
       this.addressDrawer = false;
       let arr = this.selectionList;
       this.selectionList = [];
+      //统计被选中的运输单价数量
+      var count = 0;
       arr.forEach((e)=>{
+        if(e.priceValue){
+          count++;
+        }
         this.selectionList.push({
           //销售订单与物资表主键
           capacityId:e.capacityId,
@@ -556,12 +666,16 @@ export default {
           saleMaterialId:e.saleMaterialId,
           saleOrderConsignee:e.saleOrderConsignee,
           saleOrderConsigneeTel:e.saleOrderConsigneeTel,
+          saleShipperAddressId:e.saleShipperAddressId,
+          place:e.place,
           priceValue:e.priceValue,
           priceId:e.priceId,
-          saleShippingAddressId:e.saleShippingAddressId,
         })
       })
+      //赋值单价已选数量
+      this.choosePriceCount = count;
     },
+
     //收货地址点击浏览的事件
     select(index){
       this.addressDrawer = true;
@@ -569,15 +683,28 @@ export default {
     },
     //收货地址模态框单选选中的事件
     currentRadioChange2(val){
-      this.priceMap = {};
-      this.priceMap = val;
+      //若具体地址有值,清空值
+      if(this.place!=null){
+        this.place=null;
+      }
+      this.address = val.address,
+      this.addressId = val.addressId;
+      // this.priceMap = {};
+      // this.priceMap = val;
     },
     //车辆模态框的确定事件
     AddTruckClick(){
-
       if(this.selectTruck.length>0){
       this.selectTruck.forEach(e => {
-        this.selectionList.push({
+        //通过承运商Id和销售订单Id获取运输单价和运输单价ID以提前赋值
+        let map = {
+          saleOrderId : this.saleOrderId,
+          carrierId: e.carrierId,
+        }
+        this.axios.post('/api/v1/ams/getBenPrice',map)
+        .then((res)=>{
+          //生成下方表单单元格
+          this.selectionList.push({
           //销售订单与物资表主键
           saleMaterialId:this.saleMaterialId,
           capacityId:e.capacityId,
@@ -588,7 +715,11 @@ export default {
           materialId:this.materialId,
           lineName:this.lineName,
           lineId:this.lineId,
-        })
+          priceValue:res.data.data.priceValue,
+          priceId:res.data.data.priceId,
+          saleOrderConsignee:null
+          })
+        });
       });
       this.truckDrawer = false;
       //置空当前多选选中的车辆数据
@@ -614,9 +745,11 @@ export default {
     },
     //主界面表格单选
     currentRadioChange(row) {
+      this.saleOrderIsselfMention = row.saleOrderIsselfMention;
       this.materialId = row.materialId;
       this.materialName = row.materialName;
       this.saleMaterialId = row.saleMaterialId;
+      this.saleOrderId = row.saleOrderId;
     },
     //线路表格的单选事件
     currentRadioChange5(row){
@@ -647,7 +780,7 @@ export default {
             getCookie("userId") + "&i=" + new Date();
         } else {
           this.truck.requestUrl =
-            "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&i=" + new Date();;
+            "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&i=" + new Date();
         }
         //后续操作
         if(!this.materialId){

+ 114 - 37
src/views/appoint/components/saleContract/addTransportPrice.vue

@@ -7,7 +7,7 @@
         <dil-form :formId="287" v-model="form1" ref="from1"></dil-form>
       </div> 
       <div class="liulan">
-          <el-button type="primary" class="btn" @click="lineClick">浏览</el-button>
+          <el-button type="primary" class="btn" @click="oilPriceFormulaClick">浏览</el-button>
           <el-button type="primary" class="btn1" @click="addressClick">浏览</el-button>
           <!-- <el-button type="primary" class="btn2">浏览</el-button> -->
       </div>
@@ -36,30 +36,31 @@
       <el-button @click="cancel">取消</el-button>
       <el-button type="primary" @click="makeSure">确定</el-button>
     </div>
-    <!-- 线路模态框 -->
+    <!-- 油价联动公式模态框 -->
     <el-drawer
-      title="请选择线路"
-      :visible.sync="LineDrawer"
+      title="请选择油价联动公式"
+      :visible.sync="oilPriceFormulaDrawer"
       :direction="direction"
       :before-close="handleClose"
       close-on-press-escape
       modal
       wrapperClosable
-      size="40%"
+      size="70%"
     >
       <div class="selectText">
         <!-- <span></span> -->
         <el-input v-model="LineText" placeholder="请输入内容"></el-input>
         <el-button type="primary" @click="selectLineClick" :loading="selectLineLoading"><i class="el-icon-search"></i>查询</el-button>
+        <el-button type="primary" @click="addoilPriceFormula">确定</el-button>
       </div>
       <div class="LineTable">
         <vue-scroll :ops="ops" style="width:100%;height:100%">
           <dilTable 
-            v-bind.sync="line"
+            v-bind.sync="oilPriceFormula"
             @radio-change="currentRadioChange"
             :isKuang="isKuang"
             :loading="tableLoading"
-            :drawer="LineDrawer"
+            :drawer="oilPriceFormulaDrawer"
             @func="func"
           ></dilTable>
         </vue-scroll>
@@ -80,6 +81,35 @@
         <!-- <span></span> -->
         <el-input v-model="addresText" placeholder="请输入内容"></el-input>
         <el-button type="primary" @click="selectAddresClick" :loading="selectLineLoading"><i class="el-icon-search"></i>查询</el-button>
+         <!-- 已选中 省市(区)县 -->
+         <el-form :inline="true" style="margin-top: 0.5rem;">
+          <el-form-item>
+          <label class="el-form-item__label" style="width: auto;">已选中省市县(区):</label>
+          </el-form-item>
+          <el-form-item>
+              <el-input class="el-form-item__content" v-model="address" placeholder="请输入内容" :disabled="true"></el-input>
+          </el-form-item>
+         </el-form>
+         <!-- 具体收货地址 -->
+         <div v-if="address != null">
+           <el-form :inline="true" style="margin-top: 0.5rem;" >
+
+          <el-form-item label="具体收货地址:">
+            <el-autocomplete
+              class="inline-input"
+              v-model="place"
+              :fetch-suggestions="querySearch1"
+              placeholder="请输入具体收货地址"
+              :trigger-on-focus="false"
+              @select="handleSelect1"
+            >
+            </el-autocomplete>
+          </el-form-item> 
+
+          <el-button type="primary" @click="specificAddress">确定</el-button>
+         </el-form>
+         </div>
+         
       </div>
       <div class="LineTable">
         <vue-scroll :ops="ops" style="width:100%;height:100%">
@@ -104,6 +134,10 @@ export default {
   components: { PageTitle },
   data() {
     return {
+      //已选中 省市县(区)
+      address:null,
+      //具体收货地址
+      place:null,
       //承运商名称
       state: null,
       //承运商id
@@ -125,16 +159,18 @@ export default {
       isKuang:false,
       //表格加载状态
       tableLoading:false,
-      //是否打开线路的模态窗口
-      LineDrawer:false,
-      //线路查询条件
+      //公式内容
+      formulaString:null,
+      //油价联动公式Id
+      oilPriceFormulaId:null,
+      //是否打开油价联动公式的模态窗口
+      oilPriceFormulaDrawer:false,
+      //油价联动公式查询条件
       LineText:null,
-      //线路Id
-      lineId:null,
-      //线路模态框查询按钮状态
+      //油价联动公式模态框查询按钮状态
       selectLineLoading:false,
-      //线路模态窗口的数据
-      line:{
+      //油价联动公式模态窗口的数据
+      oilPriceFormula:{
         requestUrl:"",
         selectionType: "radio",
       },
@@ -200,9 +236,9 @@ export default {
       this.selectLineLoading = true;
       this.isKuang = true;
       if(this.LineText){
-        this.line.requestUrl = "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con="+this.LineText;
+        this.oilPriceFormula.requestUrl = "api/v1/uc/getOilFormula?apiId=444&con="+this.LineText;
       }else{
-        this.line.requestUrl = "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&i=" + new Date();
+        this.oilPriceFormula.requestUrl = "api/v1/uc/getOilFormula?apiId=444&i=" + new Date();
       }
     },
     //承运商弹出层
@@ -210,13 +246,17 @@ export default {
       this.carrierIds = item.carrierId;
       item.carrierName = this.state;
     },
+    //收货地址弹出层
+    handleSelect1(item) {
+        console.log("获取所有下拉值!");
+    },
     //以下是承运商边输边查搜索
     querySearch(queryString, cb) {
       this.axios
         .post("/api/v1/uc/getCarrierMesByLike?index=" + queryString)
         .then((res) => {
           if (res.data.code == "200") {
-            console.log(res.data.data);
+            // console.log(res.data.data);
             var restaurants = res.data.data;
             // console.log(restaurants, "restaurants");
             var results = queryString
@@ -236,12 +276,41 @@ export default {
       };
     },
     //以上是承运商边输边查搜索
-    currentRadioChange(val){
+
+    //以下是收货地址边输边查搜索
+    querySearch1(queryString, cb){
+      this.axios
+        .post("/api/v1/ams/getRealAddressByLike?addressId="+this.addressId + "&index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            console.log(res.data.data);
+            var restaurants = res.data.data;
+            // console.log(restaurants, "restaurants");
+            var results = queryString
+              ? restaurants.filter(this.createFilter1(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter1(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是收货地址边输边查搜索
+    
+    //选定联动公式确定
+    addoilPriceFormula(){
       let mapvalue = {
         shipperId : this.form1.shipperId,
-        lineName:val.lineName,
+        oilPriceFormula:this.formulaString,
+        cargonameId : this.oilPriceFormulaId,
         capacityTypeId : this.form1.capacityTypeId,
-        cargonameId : this.form1.cargonameId,
         priceValue : this.form1.priceValue,
         priceDate : this.form1.priceDate,
         addressName:this.form1.addressName,
@@ -251,29 +320,38 @@ export default {
         oilpriceChangeThreshold : this.form1.oilpriceChangeThreshold
       }
       this.form1 = mapvalue;
-      this.lineId = val.lineId;
+      this.oilPriceFormulaDrawer = false;
+    },
+    currentRadioChange(val){
+      this.formulaString = val.formulaString;
+      this.oilPriceFormulaId = val.formulaId;
     },
     currentRadioChange1(val){
+      this.address = val.address,
+      this.addressId = val.addressId;
+    },
+    //具体地址确定
+    specificAddress(){
       let mapvalue = {
         shipperId : this.form1.shipperId,
-        lineName:this.form1.lineName,
+        oilPriceFormula:this.formulaString,
         capacityTypeId : this.form1.capacityTypeId,
-        cargonameId : this.form1.cargonameId,
+        cargonameId : this.oilPriceFormulaId,
         priceValue : this.form1.priceValue,
         priceDate : this.form1.priceDate,
-        addressName:val.address,
+        addressName:this.address +''+ this.place,
         type : this.form1.type,
         oilpriceBase : this.form1.oilpriceBase,
         oilTypeId : this.form1.oilTypeId,
         oilpriceChangeThreshold : this.form1.oilpriceChangeThreshold
       }
       this.form1 = mapvalue;
-      this.addressId = val.addressId;
+      this.addresDrawer = false;
     },
     //打开线路的模态窗口
-    lineClick(){
-      this.LineDrawer = true;
-      this.line.requestUrl = "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3"
+    oilPriceFormulaClick(){
+      this.oilPriceFormulaDrawer = true;
+      this.oilPriceFormula.requestUrl = "/api/v1/uc/getOilFormula?apiId=444"
     },
     addressClick(){
       this.addresDrawer = true;
@@ -281,8 +359,8 @@ export default {
     },
     //模态窗口关闭时调用
     handleClose(){
-      if(this.LineDrawer){
-        this.LineDrawer = false;
+      if(this.oilPriceFormulaDrawer){
+        this.oilPriceFormulaDrawer = false;
         this.LineText = null;
       }
       if(this.addresDrawer){
@@ -291,22 +369,21 @@ export default {
       }
     },
     makeSure() {
-      let amsContractTransportPrice={
+      let mapValue={
         shipperId : this.form1.shipperId,
         carrierId : this.carrierIds,
-        lineId : this.lineId,
+        cargonameId : this.oilPriceFormulaId,
         capacityTypeId : this.form1.capacityTypeId,
-        cargonameId : this.form1.cargonameId,
         priceValue : this.form1.priceValue,
         priceDate : sjTime(this.form1.priceDate),
         addressId : this.addressId,
         type : this.form1.type,
         oilpriceBase : this.form1.oilpriceBase,
         oilTypeId : this.form1.oilTypeId,
-        oilpriceChangeThreshold : this.form1.oilpriceChangeThreshold
+        oilpriceChangeThreshold : this.form1.oilpriceChangeThreshold,
+        place: this.place
       }
-      // console.log("amsContractTransportPrice",amsContractTransportPrice)
-      this.axios.post("/api/v1/ams/addAmsContractTransportPrice", amsContractTransportPrice).then((res) => {
+      this.axios.post("/api/v1/ams/addAmsContractTransportPrice", mapValue).then((res) => {
           if (res.data.code == "200") {
             this.$router.go(-1);
           }

+ 9 - 0
src/views/appoint/components/saleContract/saleOrder.vue

@@ -25,6 +25,12 @@
                 size="small"
                 >派车</el-button
               >
+              <!-- <el-button
+                @click="coproductSendClick(scope.row.saleOrderId)"
+                type="text"
+                size="small"
+                >副产品派车</el-button
+              > -->
               <el-button
                 @click="addClick(scope.row.saleOrderId)"
                 type="text"
@@ -260,6 +266,9 @@ export default {
     sendClick(saleOrderId){
       this.$router.push("/addSaleOrderSend/" + saleOrderId);
     },
+    // coproductSendClick(saleOrderId){
+    //   this.$router.push("/addSaleOrderCoproductSend/" + saleOrderId);
+    // },
     // -------查看物资详情 (已审批)
     detailclick(row) {
       // 记录重复点击次数

+ 1 - 1
src/views/appoint/components/saleContract/saleOrderArrange.vue

@@ -141,7 +141,7 @@ export default {
           .catch(() => {
             this.$message({
               type: "info",
-              message: "取消上传!",
+              message: "取消下发!",
             });
           });
       }

+ 447 - 0
src/views/appoint/components/saleContract/saleOrderCoproduct.vue

@@ -0,0 +1,447 @@
+<template>
+  <!-- 销售订单页面 -->
+  <div class="salePlan">
+    <div class="top">
+      <el-input placeholder="请输入内容" v-model="input" clearable> </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <el-button type="primary" @click="refresh">
+        <i class="el-icon-refresh"></i>刷新
+      </el-button>
+    </div>
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <!-- 已审批 -->
+       <el-tab-pane label="已审批" name="four">
+        <dilTable v-bind.sync="option4" ref="table">
+          <el-table-column fixed="right" label="操作" width="200">
+            <template slot-scope="scope">
+              <el-button
+                @click="coproductSendClick(scope.row.saleOrderId)"
+                type="text"
+                size="small"
+                >副产品派车</el-button
+              >
+              <el-button
+                @click="detailclick(scope.row)"
+                type="text"
+                size="small"
+                >物资详情</el-button
+              >
+            </template>
+          </el-table-column>
+          <!-- 物资详情抽屉 -->
+        <el-table-column type="expand" width="1">
+          <template slot-scope="props">
+            <el-form label-position="center" inline class="demo-table-expand">
+              <div v-if="false">{{ props }}</div>
+              <div>
+                <el-table :data="tableData" border >
+                  <el-table-column
+                    v-for="(item, i) in tableHead"
+                    :key="i"
+                    :prop="item.prop"
+                    :label="item.label"
+                    :width="item.width"
+                  ></el-table-column>
+                </el-table>
+              </div>
+            </el-form>
+          </template>
+        </el-table-column>
+
+        </dilTable>
+      </el-tab-pane>
+      <!-- 未上报 -->
+      <el-tab-pane label="未上报" name="first">
+        <dilTable v-bind.sync="option" ref="table3">
+          <el-table-column fixed="right" label="操作" align="center" width="200">
+            <template slot-scope="scope">
+              <el-button
+                @click="uploadclick(scope.row.saleOrderId)"
+                type="text"
+                size="small"
+                >上传</el-button
+              >
+              <el-button
+                @click="click(scope.row.saleOrderId)"
+                type="text"
+                size="small"
+                >修改</el-button
+              >
+              <el-button
+                type="text"
+                size="small"
+                @click="deleteclick(scope.row.saleOrderId)"
+                >删除</el-button
+              >
+              <el-button
+                @click="detailclick3(scope.row)"
+                type="text"
+                size="small"
+                >物资详情</el-button
+              >
+            </template>
+          </el-table-column>
+        <!-- 物资详情抽屉 -->
+        <el-table-column type="expand" width="1">
+          <template slot-scope="props">
+            <el-form label-position="center" inline class="demo-table-expand">
+              <div v-if="false">{{ props }}</div>
+              <div>
+                <el-table :data="tableData3" border >
+                  <el-table-column
+                    v-for="(item, i) in tableHead"
+                    :key="i"
+                    :prop="item.prop"
+                    :label="item.label"
+                    :width="item.width"
+                  ></el-table-column>
+                </el-table>
+              </div>
+            </el-form>
+          </template>
+        </el-table-column>
+
+        </dilTable>
+      </el-tab-pane>
+      <!-- 已下发 -->
+      <el-tab-pane label="已上报" name="second">
+        <dilTable v-bind.sync="option2" ref="table2">
+        <el-table-column fixed="right" label="操作" width="70">
+            <template slot-scope="scope">
+              <el-button
+                @click="detailclick2(scope.row)"
+                type="text"
+                size="small"
+                >物资详情</el-button
+              >
+            </template>
+          </el-table-column>
+        <!-- 物资详情抽屉 -->
+        <el-table-column type="expand" width="1">
+          <template slot-scope="props">
+            <el-form label-position="center" inline class="demo-table-expand">
+              <div v-if="false">{{ props }}</div>
+              <div>
+                <el-table :data="tableData2" border >
+                  <el-table-column
+                    v-for="(item, i) in tableHead"
+                    :key="i"
+                    :prop="item.prop"
+                    :label="item.label"
+                    :width="item.width"
+                  ></el-table-column>
+                </el-table>
+              </div>
+            </el-form>
+          </template>
+        </el-table-column>
+
+        </dilTable>
+      </el-tab-pane>
+      
+    </el-tabs>
+  </div>
+</template>
+<script>
+export default {
+  name: "saleOrder",
+  data() {
+    return {
+      activeName: "four",
+      input: "",
+      option: {
+        // 表格请求数据的地址
+        requestUrl:
+          "/api/v1/ams/getSaleOrderInfoes?apiId=408",
+      },
+      option2: {
+        // 表格请求数据的地址
+        requestUrl:
+          "/api/v1/ams/getSaleOrderReportedes?apiId=408",
+      },
+      option3: {
+        // 表格请求数据的地址
+        requestUrl:
+          "/api/v1/ams/getAmsSaleOrderApprovedes?apiId=409",
+      },
+      option4: {
+        // 表格请求数据的地址
+        requestUrl:
+          "/api/v1/ams/getSaleOrderListBySaleCompanyes?apiId=409",
+      },
+      
+      //记录旧的row对象 (销售公司已审批)
+      oldRow: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态 (销售公司已审批)
+      oldRowCount: 1,
+      //记录旧的row对象 (财务已审批)
+      oldRow1: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态 (财务已审批)
+      oldRowCount1: 1,
+      //记录旧的row对象 (已上报)
+      oldRow2: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态 (已上报)
+      oldRowCount2: 1,
+      //记录旧的row对象 (未上报)
+      oldRow3: "",
+      //记录上一个展开的点击次数,单数为展开状态,复数为闭合状态 (未上报)
+      oldRowCount3: 1,
+      tableHead: [
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: 150,
+        },
+        {
+          prop: "specificationModel",
+          label: "规格型号",
+          width: 150,
+        },
+        {
+          prop: "materialNumber",
+          label: "物资件数",
+          width: 100,
+        },
+        {
+          prop: "materialWeight",
+          label: "物资重量",
+          width: 100,
+        },
+      ],
+      //(销售公司已审批)
+      tableData: [],
+      //(财务已审批)
+      tableData1: [],
+      //(已上报)
+      tableData2: [],
+      //(未上报)
+      tableData3: [],
+    };
+  },
+  methods: {
+    refresh(){
+      this.$router.go(0);
+    },
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    onclick() {
+      if(this.activeName == "first"){
+        this.option.requestUrl = "/api/v1/ams/getSaleOrderInfoes?apiId=408&con="+this.input;
+      }else if(this.activeName == "second"){
+        this.option2.requestUrl = "/api/v1/ams/getSaleOrderReportedes?apiId=408&con="+this.input;      
+      }else if(this.activeName == "four"){
+        this.option4.requestUrl = "/api/v1/ams/getSaleOrderListBySaleCompanyes?apiId=409&con="+this.input;      
+      }
+    },
+    seeclick(saleOrderId) {
+      this.$router.push("/saleOrderDetail/" + saleOrderId);
+    },
+    btnclick() {
+      this.$router.push("/addSaleOrder");
+    },
+    click(saleOrderId) {
+      this.$router.push("/editSaleOrder/" + saleOrderId);
+    },
+    coproductSendClick(saleOrderId){
+      this.$router.push("/addSaleOrderCoproductSend/" + saleOrderId);
+    },
+    // -------查看物资详情 (已审批)
+    detailclick(row) {
+      // 记录重复点击次数
+      if (this.oldRow === row) {
+        this.oldRowCount += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow != "") {
+        if (this.oldRow != row) {
+          if (this.oldRowCount % 2 === 1) {
+            this.$refs.table.toggleRowExpansion(this.oldRow);
+          } else {
+            this.oldRowCount = 1;
+          }
+        } else {
+          this.oldRow = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow = row;
+      // 根据销售订单id查询物资信息
+      this.axios
+        .post("/api/v1/ams/getSaleMaterialList?saleOrderId=" +row.saleOrderId)
+        .then((res) => {
+          this.tableData = res.data.data;
+        });
+    },
+
+    // -------查看物资详情 (财务已审批)
+    detailclick1(row) {
+      // 记录重复点击次数
+      if (this.oldRow1 === row) {
+        this.oldRowCount1 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table1.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow1 != "") {
+        if (this.oldRow1 != row) {
+          if (this.oldRowCount1 % 2 === 1) {
+            this.$refs.table1.toggleRowExpansion(this.oldRow1);
+          } else {
+            this.oldRowCount1 = 1;
+          }
+        } else {
+          this.oldRow1 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow1 = row;
+      // 根据销售订单id查询物资信息
+      this.axios
+        .post("/api/v1/ams/getSaleMaterialList?saleOrderId=" +row.saleOrderId)
+        .then((res) => {
+          this.tableData1 = res.data.data;
+        });
+    },
+
+    // -------查看物资详情 (已上报)
+    detailclick2(row) {
+      // 记录重复点击次数
+      if (this.oldRow2 === row) {
+        this.oldRowCount2 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table2.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow2 != "") {
+        if (this.oldRow2 != row) {
+          if (this.oldRowCount2 % 2 === 1) {
+            this.$refs.table2.toggleRowExpansion(this.oldRow2);
+          } else {
+            this.oldRowCount2 = 1;
+          }
+        } else {
+          this.oldRow2 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow2 = row;
+      // 根据销售订单id查询物资信息
+      this.axios
+        .post("/api/v1/ams/getSaleMaterialList?saleOrderId=" +row.saleOrderId)
+        .then((res) => {
+          this.tableData2 = res.data.data;
+        });
+    },
+
+    // -------查看物资详情 (未上报)
+    detailclick3(row) {
+      // 记录重复点击次数
+      if (this.oldRow3 === row) {
+        this.oldRowCount3 += 1;
+      }
+      // 切换当前详情表
+      this.$refs.table3.toggleRowExpansion(row);
+      // 打开前关闭上一个详情表
+      if (this.oldRow3 != "") {
+        if (this.oldRow3 != row) {
+          if (this.oldRowCount3 % 2 === 1) {
+            this.$refs.table3.toggleRowExpansion(this.oldRow3);
+          } else {
+            this.oldRowCount3 = 1;
+          }
+        } else {
+          this.oldRow3 = null;
+          return;
+        }
+      }
+      // 重置上一个点击对象
+      this.oldRow3 = row;
+      // 根据销售订单id查询物资信息
+      this.axios
+        .post("/api/v1/ams/getSaleMaterialList?saleOrderId=" +row.saleOrderId)
+        .then((res) => {
+          this.tableData3 = res.data.data;
+        });
+    },
+
+    // 上传
+    uploadclick(saleOrderId) {
+      this.$confirm("是否上传", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "上传成功!",
+          });
+          this.axios
+            .post(
+              "/api/v1/ams/uploadSaleOrder?saleOrderId=" +
+                saleOrderId
+            )
+            .then(() => {
+              this.$router.go(0);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消上传!",
+          });
+        });
+    },
+    //删除
+    deleteclick(scope) {
+      let saleOrderId = scope;
+      this.$confirm("是否删除", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+        .then(() => {
+          this.$message({
+            type: "success",
+            message: "删除成功!",
+          });
+          this.axios
+            .post(
+              "/api/v1/ams/deleteAmsSaleOrderBySaleOrderId?saleOrderId=" +
+                saleOrderId
+            )
+            .then(() => {
+              this.$router.go(0);
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "取消删除!",
+          });
+        });
+    },
+  },
+};
+</script>
+<style lang='scss' scoped>
+.salePlan {
+  .top {
+    padding: 1.25rem 0.375rem;
+    .el-input {
+      width: 20%;
+      margin-right: 1.25rem;
+    }
+  }
+}
+</style>

+ 1 - 48
src/views/appoint/components/saleContract/transportPrice.vue

@@ -12,23 +12,10 @@
        <el-button type="primary" @click="exportData()"><i class="el-icon-download"></i>导出(Excel)</el-button>
     </div>
 
-<el-tabs v-model="activeName" @tab-click="handleClick">
+<el-tabs v-model="activeName">
       <!-- 正在启用 -->
        <el-tab-pane label="正在启用" name="first">
           <dilTable ref="excelDom" v-bind.sync="option" :loading="loading" :isKuang="isKuang" @func="func">
-      <!-- <el-table-column fixed="right" label="操作" width="200">
-        <template slot-scope="scope">
-          <el-button @click="click(scope.row.priceId)" type="text" size="small"
-            >修改</el-button
-          >
-          <el-button
-            type="text"
-            size="small"
-            @click="deleteclick(scope.row.priceId)"
-            >删除</el-button
-          >
-        </template>
-      </el-table-column> -->
         </dilTable>
       </el-tab-pane>
       <!-- 历史启用 -->
@@ -79,40 +66,6 @@ export default {
     btnclick() {
       this.$router.push("/addTransportPrice");
     },
-    // click(priceId) {
-    //   this.$router.push("/editTransportPrice/" + priceId);
-    // },
-    // deleteclick(scope) {
-    //   let priceId = scope;
-    //   this.$confirm("是否删除", "提示", {
-    //     confirmButtonText: "确定",
-    //     cancelButtonText: "取消",
-    //     type: "warning",
-    //     center: true,
-    //   })
-    //     .then(() => {
-    //       this.$message({
-    //         type: "success",
-    //         message: "删除成功!",
-    //       });
-    //       this.axios
-    //         .post(
-    //           "/api/v1/ams/deleteAmsContractTransportPrice1?priceId=" +
-    //             priceId
-    //         )
-    //         .then((res) => {
-    //           if (res.data.code == "200") {
-    //             this.$router.go(0);
-    //           }
-    //         });
-    //     })
-    //     .catch(() => {
-    //       this.$message({
-    //         type: "info",
-    //         message: "取消删除!",
-    //       });
-    //     });
-    // },
   },
   
 };

+ 4 - 0
src/views/appoint/router/index.js

@@ -35,6 +35,7 @@ import addSaleCokeSend from '../components/saleContract/addSaleCokeSend.vue'
 import addSaleOrder from '../components/saleContract/addSaleOrder.vue'
 import addSaleOrderArrange from '../components/saleContract/addSaleOrderArrange.vue'
 import addSaleOrderSend from '../components/saleContract/addSaleOrderSend.vue'
+import addSaleOrderCoproductSend from '../components/saleContract/addSaleOrderCoproductSend.vue'
 import addSalePlan from '../components/saleContract/addSalePlan.vue'
 import addSalePlanDetail from '../components/saleContract/addSalePlanDetail.vue'
 import addTransportPrice from '../components/saleContract/addTransportPrice.vue'
@@ -49,6 +50,7 @@ import editTruckNoDetail from '../components/saleContract/editTruckNoDetail.vue'
 import saleCokeInward from '../components/saleContract/saleCokeInward.vue'
 import saleOrder from '../components/saleContract/saleOrder.vue'
 import saleOrderArrange from '../components/saleContract/saleOrderArrange.vue'
+import saleOrderCoproduct from '../components/saleContract/saleOrderCoproduct.vue'
 import saleOrderDetail from '../components/saleContract/saleOrderDetail.vue'
 import saleOrderDetailApproved from '../components/saleContract/saleOrderDetailApproved.vue'
 import saleOrderMaterial from '../components/saleContract/saleOrderMaterial.vue'
@@ -93,6 +95,7 @@ const constantRouterMap = [
       {path: 'addSaleCokeSend/:saleOrderId', name: 'addSaleCokeSend', meta: {code: 'xtpzgl-jggl'}, component: addSaleCokeSend},
       {path: 'addSaleOrder', name: 'addSaleOrder', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrder},
       {path: 'addSaleOrderArrange/:saleOrderId', name: 'addSaleOrderArrange', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderArrange},
+      {path: 'addSaleOrderCoproductSend/:saleOrderId', name: 'addSaleOrderCoproductSend', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderCoproductSend},
       {path: 'addSaleOrderSend/:saleOrderId', name: 'addSaleOrderSend', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderSend},
       {path: 'addSalePlan', name: 'addSalePlan', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlan},
       {path: 'addSalePlanDetail/:planId', name: 'addSalePlanDetail', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlanDetail},
@@ -109,6 +112,7 @@ const constantRouterMap = [
       {path: 'saleCokeInward', name: 'saleCokeInward', meta: {code: 'xtpzgl-yhgl'}, component: saleCokeInward},
       {path: 'saleOrder', name: 'saleOrder', meta: {code: 'xtpzgl-yhgl'}, component: saleOrder},
       {path: 'saleOrderArrange', name: 'saleOrderArrange', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderArrange},
+      {path: 'saleOrderCoproduct', name: 'saleOrderCoproduct', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderCoproduct},
       {path: 'saleOrderDetail/:saleOrderId', name: 'saleOrderDetail', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderDetail},
       {path: 'saleOrderDetailApproved/:saleOrderId', name: 'saleOrderDetailApproved', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderDetailApproved},
       {path: 'saleOrderUpdateLog/:saleOrderId', name: 'saleOrderUpdateLog', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderUpdateLog},

+ 2 - 0
src/views/inward/components/truckAppoint/addRequirement2.vue

@@ -505,9 +505,11 @@ export default {
         requirementWorkEnvironment: this.form.requirementWorkEnvironment,
         requirementWorkType: this.form.requirementWorkType,
         requirementShipperId: this.shipperId,
+        DueTime:sjTime(this.form.DueTime),
         mapList:this.tableData,
         orgCode:getCookie("orgCode")
       };
+      console.log("requirement",requiremnet);
       this.axios
         .post("/api/v1/ams/addTruckRequirement", requiremnet)
         .then(res => {

+ 6 - 6
src/views/sale/components/transportFreight/saleTruckSettlement/addBmsTruckStatement.vue

@@ -42,10 +42,10 @@ export default {
       this.mapList=selection
     },
     onclick() {
-      console.log(1);
+      console.log("查询待定值");
     },
     btnclick() {
-      this.$confirm("是否下发", "提示", {
+      this.$confirm("是否生成账单", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
@@ -56,15 +56,15 @@ export default {
             .post("/api/v1/bms/addTruckStatement",this.mapList
 			)
             .then((res) => {
-              if (res.data.code == 200) {
+              if (res.data.code == 0) {
                 this.$message({
                   type: "success",
-                  message: "下发成功!",
+                  message: "生成账单成功!",
                 });     
                 this.$router.go(-1);
               } else {
                 this.$message({
-                  message: "下发失败",
+                  message: "生成账单失败",
                   type: "warning",
                 });
               }
@@ -73,7 +73,7 @@ export default {
         .catch(() => {
           this.$message({
             type: "info",
-            message: "取消下发!",
+            message: "取消生成账单!",
           });
         });
       // this.$router.push("/path/addHomeworkPath/");

+ 6 - 6
src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckAudit.vue

@@ -47,15 +47,15 @@ export default {
 		      .post("/api/v1/bms/updateBmstruckCheck?statementId="+this.$route.params.statementId+"&status="+"1"+"&person="+"2"
 					)
 		      .then((res) => {
-		        if (res.data.code == 200) {
+		        if (res.data.code == 0) {
 		          this.$message({
 		            type: "success",
-		            message: "稽核成功!",
+		            message: "通过成功!",
 		          });     
 		          this.$router.go(-1);
 		        } else {
 		          this.$message({
-		            message: "稽核失败",
+		            message: "通过失败",
 		            type: "warning",
 		          });
 		        }
@@ -80,15 +80,15 @@ export default {
 		      .post("/api/v1/bms/updateBmstruckCheck?statementId="+this.$route.params.statementId+"&status="+"0"+"&person="+"2"
 					)
 		      .then((res) => {
-		        if (res.data.code == 200) {
+		        if (res.data.code == 0) {
 		          this.$message({
 		            type: "success",
-		            message: "稽核成功!",
+		            message: "不通过成功!",
 		          });     
 		          this.$router.go(-1);
 		        } else {
 		          this.$message({
-		            message: "稽核失败",
+		            message: "不通过失败",
 		            type: "warning",
 		          });
 		        }

+ 372 - 6
src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckDetailOrder.vue

@@ -8,30 +8,396 @@
       </el-button>
     </div>
     <div class="table">
-      <dilTable v-bind.sync="options">
-      </dilTable>
+      <el-tabs v-model="activeName">
+        <!-- 未结算 -->
+        <el-tab-pane label="未结算" name="first">
+        <dilTable v-bind.sync="options1">
+            <el-table-column fixed="right" label="操作" width="145">
+                <template slot-scope="scope">
+                  <el-button v-if="ssoId==null" type="text" size="small" @click="priceValueUpdate(scope.row)">修改详单地址</el-button>
+                  <!-- <el-button type="text" size="mini" @click="getclick(scope)">查看</el-button> -->
+                  <el-button type="text" size="mini" @click="addDamage(scope.row)">增加途损</el-button>
+                </template>
+            </el-table-column>
+        </dilTable>
+        </el-tab-pane>
+        <!-- 已结算 -->
+        <el-tab-pane label="已结算" name="second">
+        <dilTable v-bind.sync="options2">
+            <!-- <el-table-column fixed="right" label="操作" width="40">
+                <template slot-scope="scope">
+                  <el-button type="text" size="mini" @click="getclick(scope)">查看</el-button>
+                </template>
+            </el-table-column> -->
+        </dilTable>
+        </el-tab-pane>
+      </el-tabs>
     </div>
+    <!-- 修改详单单价弹出框 -->
+    <el-dialog title="修改详单地址" :visible.sync="dialogFormVisible" append-to-body>
+      <!-- 内层单价选择弹出框 -->
+      <el-dialog
+      width="40%"
+      title="地址筛选"
+      :visible.sync="addressDrawer"
+      append-to-body>
+
+      <el-input v-model="addresText" placeholder="请输入内容" style="margin-top: 10px; margin-left: 20px; width: 250px"></el-input>
+        <el-button type="primary" @click="selectAddresClick" :loading="selectLineLoading"><i class="el-icon-search"></i>查询</el-button>
+         <!-- 已选中 省市(区)县 -->
+         <el-form :inline="true" style="margin-top: 0.5rem;">
+          <el-form-item>
+          <label class="el-form-item__label" style="width: auto;">已选中省市县(区):</label>
+          </el-form-item>
+          <el-form-item>
+              <el-input class="el-form-item__content" v-model="address" placeholder="请输入内容" :disabled="true"></el-input>
+          </el-form-item>
+         </el-form>
+         <!-- 具体收货地址 -->
+         <div v-if="address != null">
+           <el-form :inline="true" style="margin-top: 0.5rem;" >
+
+          <el-form-item label="具体收货地址:">
+            <el-autocomplete
+              class="inline-input"
+              v-model="place"
+              :fetch-suggestions="querySearch1"
+              placeholder="请输入具体收货地址"
+              :trigger-on-focus="false"
+              @select="handleSelect1"
+            >
+            </el-autocomplete>
+          </el-form-item> 
+
+          <el-button type="primary" @click="addAddressClick">确定</el-button>
+         </el-form>
+         </div>
+
+      <div class="tablecls">
+        <!-- 查询所有的运输单价 -->
+        <dilTable
+          v-bind.sync="Address"
+          @radio-change="currentRadioChange2"
+        ></dilTable>
+      </div>
+      </el-dialog>
+      <!-- 内层单价选择弹出框 -->
+
+      <el-form>
+        <el-form-item label="原详单地址" :label-width="formLabelWidth">
+          <el-input style="width:250px" v-model="originalAddress" disabled></el-input>
+          <label>原单价</label>
+          <el-input style="width:100px" v-model="originalPriceValue" disabled></el-input>
+          
+        </el-form-item>
+        <el-form-item label="新详单地址" :label-width="formLabelWidth">
+          <el-input style="width:250px" v-model="newAddress" disabled></el-input>
+          <label>现单价</label>
+          <el-input style="width:100px" v-model="newPriceValue" disabled></el-input>
+          <el-button type="primary" placeholder="()" @click="select">浏览</el-button>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">取 消</el-button>
+        <el-button type="primary" @click="makeSure">确 定</el-button>
+      </div>
+    </el-dialog>
+    <!-- 增加途损 -->
+      <el-dialog title="增加途损" width="30%" :visible.sync="dialogDamage">
+    <el-form>
+      <el-form-item label="达钢的干基" :label-width="formLabelWidth">
+        <el-input v-model="DaDryBasis"></el-input>
+      </el-form-item>
+      <el-form-item label="九江收货的干基" :label-width="formLabelWidth">
+        <el-input v-model="JiuDryBasis"></el-input>
+      </el-form-item>
+      <el-form-item label="单价" :label-width="formLabelWidth">
+        <el-input v-model="Fee"></el-input>
+      </el-form-item>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="dialogDamage = false">取 消</el-button>
+      <el-button type="primary" @click="makeSureAdd">确 定</el-button>
+    </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
+import { getCookie } from "@/utils/util.js";
 export default {
   data(){
     return{
+      //已选中 省市县(区)
+      address:null,
+      //具体收货地址
+      place:null,
+      //收货地址id
+      addressId:null,
+      //省市县(区)查询值
+      addresText:null,
+      //达钢的干基
+      DaDryBasis:null,
+      //九江收货的干基
+      JiuDryBasis:null,
+      //单价
+      Fee:null,
+      //途损费
+      damageFee:null,
+      //加载
+      selectLineLoading:false,
       input:"",
-      options:{
+      activeName:"first",
+      ssoId:null,
+      //详单Id
+      detailsId:null,
+      options1:{
         // first请求数据的地址
-        requestUrl: "/api/v1/bms/getTruckDetailsOrderList?apiId=176&orderType=1",
+        requestUrl: "",
       },
+      options2:{
+        // second请求数据的地址
+        requestUrl: "",
+      },
+      //是否打开修改详单地址弹出框
+      dialogFormVisible:false,
+      //是否打开增加途损弹出框
+      dialogDamage:false,
+      //原详单单价
+      originalPriceValue:null,
+      //新详单单价
+      newPriceValue:null,
+      //原详单地址
+      originalAddress:null,
+      //新详单地址
+      newAddress:null,
+      //新单价Id
+      priceId:null,
+      //是否打开运输单价的模态框
+      addressDrawer:false,
+      //运输单价的表格
+      Address: {
+        requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
+        selectionType: "radio",
+      },
+      // addressText:null,
+      //缓存当前选中的运输单价
+      priceMap:{},
+      formLabelWidth: '125px'
     }
   },
+  created(){
+     this.options1GetRequestUrl();
+     this.options2GetRequestUrl();
+  },
   methods:{
+    //已结算数据
+    options1GetRequestUrl(){
+    if(getCookie("orgCode") == "chengyunshang"){
+      this.ssoId=getCookie('userId');
+      this.options1.requestUrl = "/api/v1/bms/getUnFinishedTruckDetailsOrderList?apiId=176&orderType=1&carrierSsoId="+ getCookie('userId');
+    }else{
+      this.options1.requestUrl = "/api/v1/bms/getUnFinishedTruckDetailsOrderList?apiId=176&orderType=1&carrierSsoId=" + this.ssoId;
+    }
+    },
+    //未结算数据
+    options2GetRequestUrl(){
+    if(getCookie("orgCode") == "chengyunshang"){
+      this.options2.requestUrl = "/api/v1/bms/getTruckDetailsOrderList?apiId=176&orderType=2&carrierSsoId="+ getCookie('userId');
+    }else{
+      this.options2.requestUrl = "/api/v1/bms/getTruckDetailsOrderList?apiId=176&orderType=2&carrierSsoId=" + this.ssoId;
+    }
+    },
+    //收货地址弹出层
+    handleSelect1(item) {
+        console.log("获取所有下拉值!");
+    },
+    //查询全国省市县
+    selectAddresClick(){
+      if(this.addresText){
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con="+this.addresText;
+      }else{
+        this.Address.requestUrl = "/api/v1/ams/getAddressDeliveryAddress?apiId=255&i=" + new Date();
+      }
+    },
+    //以下是收货地址边输边查搜索
+    querySearch1(queryString, cb){
+      this.axios
+        .post("/api/v1/ams/getRealAddressByLike?addressId="+this.addressId + "&index=" + queryString)
+        .then((res) => {
+          if (res.data.code == "200") {
+            var restaurants = res.data.data;
+            var results = queryString
+              ? restaurants.filter(this.createFilter1(queryString))
+              : restaurants;
+            // 调用 callback 返回建议列表的数据
+            cb(results);
+          }
+        });
+    },
+    createFilter1(queryString) {
+      return (restaurants) => {
+        return (
+          restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
+          -1
+        );
+      };
+    },
+    //以上是收货地址边输边查搜索
+
      toInsert() {
       this.$router.push("/insertCheckInventory");
-
+    },
+    // getclick(scope){
+		//   this.$router.push("/getTransportResult/"+scope.row.orderId)
+	  // },
+    //增加途损
+    addDamage(row){
+      this.detailsId = row.detailsId;
+      this.dialogDamage = true;
+    },
+    makeSureAdd(){
+      if(!this.DaDryBasis){
+        this.$message.error('达钢的干基还未填!')
+      }else if(!this.JiuDryBasis){
+        this.$message.error('九江收货的干基还未填!')
+      }else if(!this.Fee){
+        this.$message.error('单价还未填!')
+      }else{
+        this.dialogDamage = false;
+        //计算途损 [(达钢的干基-九江收货的干基)/达钢的干基 - 0.03] * 单价 > 0, 扣除途损
+        this.damageFee = ((this.DaDryBasis - this.JiuDryBasis) / this.DaDryBasis - 0.03) * this.Fee;
+        if(this.damageFee>0){
+          let map = {
+        detailsId: this.detailsId,
+        lossFees: this.damageFee.toFixed(2)
+        }
+        //是否确定增加途损费!
+          this.$confirm("是否确定增加途损费", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+            center: true,
+          })
+          .then(() => {
+            //初始化增加途损费对话框中的信息
+            this.damageFee=null,
+            this.axios.post('/api/v1/bms/addLossFeeOfCoke',map).then((res)=>{
+                if(res.data.code == '0'){
+                this.$message.success('增加途损费成功!')
+                //重置未结算详单表单信息
+                this.options1.requestUrl = "/api/v1/bms/getUnFinishedTruckDetailsOrderList?apiId=176&orderType=1&i=" + new Date();
+              }else{
+                this.$message.error('增加途损费失败,请联系管理员!')
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消修改详单单价!",
+            });
+          });
+        }
+      }
+      
     },
     onclick(){
-      this.options.requestUrl = "/api/v1/bms/getTruckDetailsOrderList?apiId=176&orderType=1&con="+this.input;
+      console.log("查询待定值")
+      // this.options.requestUrl = "/api/v1/bms/getTruckDetailsOrderList?apiId=176&orderType=1&con="+this.input;
+    },
+    //修改详单单价
+    priceValueUpdate(row){
+      this.originalAddress = row.realAddress;
+      this.originalPriceValue = row.priceValue;
+      this.detailsId = row.detailsId;
+      this.dialogFormVisible = true
+    },
+    //运输订单点击浏览的事件
+    select(){
+      this.addressDrawer = true;
+    },
+    //运输单价模态窗口的框计算
+    selectAddressClick(){
+      this.Price.requestUrl = '/api/v1/ams/getAddressDeliveryAddress?apiId=255&con='+this.addressText;
+    },
+    //运输单价模态窗口的点击事件
+    addAddressClick(){
+      //获取运输单价和运输单价ID
+      let map = {
+        place: this.place,
+        addressId: this.addressId
+      }
+      this.axios.post('/api/v1/ams/getPriceMap',map)
+      .then((res)=>{
+          if(res.data.data.priceId==-1){
+            this.newPriceValue = '未录单价!';
+            this.priceId = null;
+          }else{
+            //赋值运输单价和运输单价ID
+            this.newPriceValue = res.data.data.priceValue;//this.priceMap.priceValue
+            this.priceId = res.data.data.priceId;//this.priceMap.priceId
+          }
+      });
+      //priceMap
+      this.newAddress = this.address+this.place;
+      this.addressDrawer = false;
+    },
+    //运输单价模态框单选选中的事件
+    currentRadioChange2(val){
+      //若具体地址有值,清空值
+      if(this.place!=null){
+        this.place=null;
+      }
+      this.address = val.address,
+      this.addressId = val.addressId;
+      // this.priceMap = {};
+      // this.priceMap = val;
+    },
+    //确认修改详单单价
+    makeSure(){
+      //若没有单价Id
+      if(this.priceId==null){
+        this.$message.error('该区域没有录入单价,不可修改!')
+      }else{
+      this.dialogFormVisible = false;
+      let mapValue = {
+        detailsId: this.detailsId,
+        priceId: this.priceId
+      }
+      //是否确定修改详单地址!
+      this.$confirm("是否确定修改详单地址", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+        center: true,
+      })
+      .then(() => {
+        //初始化修改详单地址对话框的信息
+        this.newPriceValue=null,
+        this.newAddress=null,
+        this.address=null,
+        this.addresText=null,
+        this.addressId=null,
+        this.priceId=null,
+        this.axios.post('/api/v1/bms/updateDetailsOrder',mapValue).then((res)=>{
+            if(res.data.code == '0'){
+            this.$message.success('修改详单单价成功!')
+            //重置未结算详单表单信息
+            this.options1.requestUrl = "/api/v1/bms/getUnFinishedTruckDetailsOrderList?apiId=176&orderType=1&i=" + new Date();
+          }else{
+            this.$message.error('修改详单单价失败,请联系管理员!')
+          }
+        });
+      })
+      .catch(() => {
+        this.$message({
+          type: "info",
+          message: "取消修改详单单价!",
+        });
+      });
+      }
     }
   }
 }

+ 2 - 1
src/views/sale/components/transportFreight/saleTruckSettlement/bmsTruckStatement.vue

@@ -57,7 +57,8 @@ export default {
       this.$router.push("/bmsTruckAudit/"+scope.row.statementId)
     },
     onclick(){
-      this.options.requestUrl = "/api/v1/bms/getTruckStatementList?apiId=179&con="+this.input;
+      console.log("查询待定值")
+      // this.options.requestUrl = "/api/v1/bms/getTruckStatementList?apiId=179&con="+this.input;
     }
   }
 }

+ 2 - 1
src/views/sale/components/transport_appointment/directionalDispatch.vue

@@ -257,11 +257,12 @@ export default {
       }
       this.axios.post("/api/v1/ams/addDispatchSaleOrder", map).then((res) => {
           if (res.data.code == "200") {
-            this.$router.go(0);
             this.$message({
             type: "success",
             message: "下发成功!",
           });
+          this.first.requestUrl = "/api/v1/ams/getTruckNoList?apiId=411&issueStatus=1&i=" + new Date();
+          this.table = false;
           }
         });
       }

+ 4 - 5
src/views/sale/components/transport_appointment/openDistribution.vue

@@ -10,11 +10,14 @@
       <el-button type="primary" class="btn" @click="onclick1">
         <i class="el-icon-search"></i>查询
       </el-button>
+      <el-button v-if="activeName=='first'" type="primary" @click="receive">
+        <i></i>批量接收订单
+      </el-button>
     </div>
     <div class="table">
       <el-tabs v-model="activeName" @tab-click="handleClick">
       <!-- 未抢单 -->
-      	<el-tab-pane label="未接收" name="first" >
+      	<el-tab-pane label="未接收" name="first">
 						  <dilTable v-bind.sync="first" ref="table" @selection-change="currentSelectChange">
              <el-table-column fixed="right" label="操作" width="120">
         <template slot-scope="scope">
@@ -82,10 +85,6 @@
     </el-tabs>
     
     </div>
-
-    <div class="button-box" v-if="activeName=='first'">
-      <el-button type="primary" @click="receive">接收订单</el-button>
-    </div>
   </div>
 </template>
 

+ 52 - 1
src/views/sale/components/transport_order/receiveOrder.vue

@@ -7,6 +7,9 @@
       <el-button type="primary" class="btn" @click="onClick">
         <i class="el-icon-search"></i>查询
       </el-button>
+      <el-button type="primary" class="btn" @click="batchCloseOrder">
+        <i></i>批量关闭订单
+      </el-button>
       <el-button type="primary" @click="refresh">
         <i class="el-icon-refresh"></i>刷新
       </el-button>
@@ -30,7 +33,7 @@
         <el-tabs v-model="activeName">
           <!-- 未接收 -->
           <el-tab-pane label="未接收" name="third">
-            <dilTable v-bind.sync="option3" ref="table2">
+            <dilTable v-bind.sync="option3" @selection-change="selectionChange" ref="table2">
               <el-table-column fixed="right" label="操作" width="180">
                 <template slot-scope="scope">
                   <el-button
@@ -174,6 +177,8 @@ export default {
         requestUrl:
           "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&carrierSsoId=" +
           getCookie("userId"),
+        selectionType: "select",
+        mapList: [],
       },
       truck: {
         requestUrl:
@@ -242,6 +247,52 @@ export default {
         this.option3.requestUrl = "/api/v1/oms/getDriverInfoForSale?apiId=226&orderType=2&orderStatus=4&carrierSsoId=" +
           getCookie("userId") + "&t=" + new Date()
     },
+    selectionChange(selection) {
+      this.option3.mapList = selection;
+    },
+    batchCloseOrder(){
+      if (this.option3.mapList.length == 0) {
+        this.$message({
+          type: "warning",
+          message: "请先选择要关闭的订单!",
+        });
+      } else {
+        this.$confirm("是否关闭这些订单", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+          center: true,
+        })
+          .then(() => {
+            //初始化maplist
+            var mapList = [];
+            this.option3.mapList.forEach((item) => {
+              //初始化mapItem
+              var mapItem = {
+                //销售订单物资中间表id
+                orderId: 0,
+              };
+              mapItem.orderId = item.orderId;
+              mapList.push(mapItem);
+            });
+            this.$message({
+              type: "success",
+              message: "关闭成功!",
+            });
+            this.axios.post("/api/v1/oms/batchCloseOrder", mapList).then((res) => {
+              if (res.data.code == "200") {
+                this.$router.go(0);
+              }
+            });
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "取消关闭!",
+            });
+          });
+      }
+    },
     refresh(){
       this.$router.go(0);
     },