| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742 | <template>  <!-- 新增运输作业页面 -->  <div id="contractDetails">    <page-title>运输预约</page-title>    <div class="orderType from">      <span class="text">订单类别:</span>      <el-select        class="select"        v-model="orderType"        placeholder="请选择"      >        <el-option          v-for="item in orderTypeList"          :key="item.value"          :label="item.label"          :value="item.value"        >        </el-option>      </el-select>      <span class="span"></span>    </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="forwardingUnit from">      <span class="text">发货单位:</span>      <el-input class="input" v-model="supplierName" disabled> </el-input>      <el-button type="primary" @click="ondrawer(2)">浏览</el-button>    </div>    <div class="remark from">      <span class="text">船名:</span>      <el-input class="input" v-model="remark" @blur="onBlur"> </el-input>      <span class="span"></span>    </div>    <div class="forwardingUnit from">      <span class="text">卸货点:</span>      <el-input class="input" v-model="unloadPointName" disabled> </el-input>      <el-button type="primary" @click="ondrawer(4)">浏览</el-button>    </div>    <div class="lineId from">      <span class="text">选择路线:</span>      <el-input class="input" v-model="lineName" disabled> </el-input>      <el-button type="primary" @click="ondrawer(5)">浏览</el-button>    </div>    <div class="lineId from">      <span class="text">采购订单号:</span>      <el-input class="input" v-model="purchaseOrderNo" disabled> </el-input>      <el-button type="primary" @click="ondrawer(6)">浏览</el-button>    </div>    <div class="contractTitle from">      <dil-form :formId="219" v-model="form1"></dil-form>    </div>    <div class="truckList1">      <div class="truckList from">        <span class="text">选择车辆:</span>        <el-button type="primary" @click="ondrawer(3)" class="truckBtn"          >浏览</el-button        >      </div>    </div>    <div class="lineId from">      <span class="text">该批车辆是否一车多趟:</span>      <el-switch        v-model="isMoreTrips"        active-text="是"        inactive-text="否">      </el-switch>    </div>    <div class="truckListTable">      <el-table        :data="selectionList"        border        style="width: 100%"        highlight-current-row      >        <el-table-column type="index" width="50" label="序号" align="center">        </el-table-column>        <el-table-column          v-for="(item, i) in tableTop"          :key="i"          :prop="item.prop"          :label="item.label"          align="center"          show-overflow-tooltip        >          <template slot="scope" v-if="item.th_name !== '重量'">            <span>{{ item.label }}</span>          </template>          <!-- 插入输入框 -->          <template slot-scope="scope">            <template v-if="item.slot">              <template v-if="item.prop == 'orderMaterialWeight'">                <el-input                  style="width: 250px"                  v-model.number="scope.row.orderMaterialWeight"                ></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 type="text" size="small" @click="onClick(scope.$index)"              >删除</el-button            >          </template>        </el-table-column>      </el-table>    </div>    <!-- 模态窗口 -->    <el-drawer :visible.sync="drawer" :direction="direction" size="40%">      <div class="drawer_top">        <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">          <i class="el-icon-search"></i>查询        </el-button>      </div>      <div class="drawer_table1" v-show="onDrawerNumber == 1">        <dilTable          v-bind.sync="frist"          @radio-change="currentRadioChange1"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth"          :shiyHeigth="shiyHeigth"          :drawer="drawer"        ></dilTable>      </div>      <div v-show="onDrawerNumber == 2">        <dilTable          v-bind.sync="secend"          @radio-change="currentRadioChange2"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth1"          :shiyHeigth="shiyHeigth1"          :drawer="drawer"        ></dilTable>      </div>      <div v-show="onDrawerNumber == 3">        <dilTable          v-bind.sync="third"          @selection-change="currentRadioChange3"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth2"          :shiyHeigth="shiyHeigth2"          :drawer="drawer"        ></dilTable>      </div>      <div v-show="onDrawerNumber == 4">        <dilTable          v-bind.sync="unloadPoint"          @radio-change="currentRadioChange4"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth3"          :shiyHeigth="shiyHeigth3"          :drawer="drawer"        ></dilTable>      </div>      <div v-show="onDrawerNumber == 5">        <dilTable          v-bind.sync="line"          @radio-change="currentRadioChange5"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth4"          :shiyHeigth="shiyHeigth4"          :drawer="drawer"        ></dilTable>      </div>      <div v-show="onDrawerNumber == 6">        <dilTable          v-bind.sync="purchaseOrder"          @radio-change="currentRadioChange6"          :isKuang="isKuang"          @func="func"          :isHeigth="isHeigth5"          :shiyHeigth="shiyHeigth5"          :drawer="drawer"        ></dilTable>      </div>    </el-drawer>    <div class="button_box">      <el-button @click="onClickCancel">返回</el-button>      <el-button type="primary" @click="onClickConfirm">确认</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 {       //限定first      isHeigth:true,      shiyHeigth:140,      //限定second      isHeigth1:true,      shiyHeigth1:140,      //限定third      isHeigth2:true,      shiyHeigth2:140,      //限定unloadPoint      isHeigth3:true,      shiyHeigth3:140,      //限定line      isHeigth4:true,      shiyHeigth4:140,      //限定purchaseOrder      isHeigth5:true,      shiyHeigth5:140,      isKuang: false,      isKuang:false,      //采购订单号      purchaseOrderNo:'',      isMoreTrips:false,      //订单类别      orderTypeList: [        {          value: 17,          label: "老厂区",        },        {          value: 18,          label: "新厂区",        },      ],      // 线路名称      lineName: "",      //线路id      lineId: null,      // 件数与重量的开关      value: false,      //船名      remark: null,      // 车辆表格表头      tableTop: [        {          prop: "capacityNumber",          label: "车牌号",          width: "140",        },        {          prop: "carrierName",          label: "承运商",          width: "140",        },        {          prop: "orderMaterialWeight",          label: "重量",          slot: true,        },      ],      //车辆表格数据      selectionList: [],      // 表单      form1: {},      //采购订单id      purchaseOrderId: "",      //物资名称      materialName: "",      //发货单位名称      supplierName: "",      //发货单位id      supplierId: null,      //物资id      materialId: null,      //是否需要打开模态窗口      drawer: false,      //卸货点id      unloadPointId: "",      //卸货点名称      unloadPointName: "",      //订单类别      orderType: null,      onDrawerNumber: 1,      direction: "rtl",      input: "",      frist: {        requestUrl: "",        selectionType: "radio",        mapList1: [],      },      secend: {        requestUrl:"",        selectionType: "radio",        mapList2: [],      },      third: {        requestUrl: "",        selectionType: "select",        mapList3: [],      },      unloadPoint: {        requestUrl: "",        selectionType: "radio",      },      line: {        requestUrl: "",        selectionType: "radio",      },      purchaseOrder:{        requestUrl: "",        selectionType: "radio",      }    };  },  watch: {    drawer(val) {      if (val) {        this.input = null;      }    },  },  created() {    if (getCookie("orgCode") == "chengyunshang") {      this.third.requestUrl =        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" +        getCookie("userId");    } else {      this.third.requestUrl =        "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null;    }  },  methods: {    onClick(index) {      this.selectionList.splice(index, 1);    },    onBlur() {      this.getPurchaseOrderNo();    },    getPurchaseOrderNo() {      let map = {        materialId: this.materialId,        supplierId: this.supplierId,      };      if (this.remark) {        map.remark = this.remark;      }      console.log(this.map);      if (this.materialId && this.supplierId) {        this.axios.post("/api/v1/oms/selectNewOrderId", map).then((res) => {          console.log(res);          if (res.data.code == "200") {            if (res.data.data == null) {              this.$message({                message: "没有匹配的采购订单号!",                type: "warning",              });              this.form1 = [];            } else {              console.log();              this.remark = res.data.data.remark;              this.purchaseOrderId = res.data.data.purchaseOrderId;              this.purchaseOrderNo=res.data.data.purchaseOrderNo;              // if (res.data.data.receiveUnitId == 1) {              //   this.orderType = 17;              // } else {              //   this.orderType = 18;              // }            }          } else {            this.$message.error("请求失败");          }        });      }    },    onclick() {      if(this.input){        this.isKuang = true;        if (this.onDrawerNumber == 1) {          this.frist.requestUrl = "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" + this.input;        } else if (this.onDrawerNumber == 2) {          this.secend.requestUrl = "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" + this.materialId + "&index=" + this.input;        } else if (this.onDrawerNumber == 3) {          //判断是否是承运商查询车辆          if (getCookie("orgCode") == "chengyunshang") {            this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + getCookie("userId") + "&index=" + this.input;          } else {            this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null + "&index=" + this.input;          }        } else if (this.onDrawerNumber == 4) {          this.unloadPoint.requestUrl = "/api/v1/uc/getUnloadingMesByLike?apiId=374&index=" + this.input;        } else if (this.onDrawerNumber == 5) {          this.line.requestUrl = "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&con=" + this.input;        }else if (this.onDrawerNumber == 6) {          this.purchaseOrder.requestUrl = "/api/v1/ams/getPurchaseOrderList?apiId=81&sendCompId="+this.supplierId+"&con=" + this.input+"&i="+new Date();        }      }else{        if (this.onDrawerNumber == 1) {          this.frist.requestUrl = "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&i="+new Date();        } else if (this.onDrawerNumber == 2) {          this.secend.requestUrl = "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" + this.materialId+"&i="+new Date();        } else if (this.onDrawerNumber == 3) {          //判断是否是承运商查询车辆          if (getCookie("orgCode") == "chengyunshang") {            this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + getCookie("userId")+"&i="+new Date();          } else {            this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null+"&i="+new Date();          }        } else if (this.onDrawerNumber == 4) {          this.unloadPoint.requestUrl = "/api/v1/uc/getUnloadingMesByLike?apiId=374&i="+new Date();        } else if (this.onDrawerNumber == 5) {          this.line.requestUrl = "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&i="+new Date();        }else if (this.onDrawerNumber == 6) {          this.purchaseOrder.requestUrl = "/api/v1/ams/getPurchaseOrderList?apiId=81&sendCompId="+this.supplierId+"&i="+new Date();        }      }    },    ondrawer(num) {      this.drawer = true;      this.onDrawerNumber = num;      if(num == 1){        this.frist.requestUrl = "/api/v1/uc/queryAPOMaterialByLike?apiId=244&startNum=050&index=" + this.input;      }else if (num == 2) {        this.secend.requestUrl = "/api/v1/uc/getSupplierMesByMaterialId?apiId=247&materialId=" + this.materialId;      } else if (num == 3) {        //判断是否是承运商查询车辆        if (getCookie("orgCode") == "chengyunshang") {          this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + getCookie("userId") + "&i=" + new Date();        } else {          this.third.requestUrl = "/api/v1/uc/getAllCapacityByCarrierLike?apiId=248&carrierSsoId=" + null  + "&i=" + new Date();        }      } else if (num == 4) {        this.unloadPoint.requestUrl = "/api/v1/uc/getUnloadingMesByLike?apiId=374&i=" + new Date();      } else if (num == 5) {        this.line.requestUrl ="/api/v1/rms/getAllLineDesk?apiId=249&lineType=3&i=" + new Date() + "&con=化工材料";      }else if (num == 6) {        this.purchaseOrder.requestUrl = "/api/v1/ams/getPurchaseOrderList?apiId=81&i=" + new Date();      }          },    // 返回    onClickCancel() {      this.$router.push("/transportationReservation");    },    currentRadioChange1(selection) {      this.materialName = selection.materialName;      this.materialId = selection.materialId;      this.getPurchaseOrderNo();    },    currentRadioChange2(selection) {      this.supplierName = selection.supplierName;      this.supplierId = selection.supplierId;      this.getPurchaseOrderNo();    },    currentRadioChange4(selection) {      this.unloadPointId = selection.warehouseId;      this.unloadPointName = selection.warehouseName;    },    currentRadioChange5(selection) {      this.lineName = selection.lineName;      this.lineId = selection.lineId;    },    currentRadioChange6(selection) {      console.log(selection)      if (selection.shipperId == 1) {        this.orderType = 17;      } else {        this.orderType = 18;      }      this.materialName = selection.materialName;      this.materialId = selection.materialId;      this.supplierId = selection.supplierId;      this.supplierName = selection.supplierName;      this.purchaseOrderNo = selection.purchaseOrderNo;      this.purchaseOrderId = selection.purchaseOrderId;    },    currentRadioChange3(selection) {      this.selectionList = [];      this.selectionList = selection;    },    func(res){      console.log(res)      this.isKuang = false;    },    // 确认    onClickConfirm() {      var state = 0;      if (        this.materialId &&        this.supplierId &&        this.form1.purchaseOrderId &&        this.unloadPointId &&        sjTime(this.form1.orderEntryTime) &&        this.lineId      ) {        state = 1;      } else {        if (!this.materialId) {          this.$message({            message: "请选择物资!",            type: "warning",          });          return;        } else if (!this.orderType) {          this.$message({            message: "请选择订单类别!",            type: "warning",          });          return;        } else if (!this.supplierId) {          this.$message({            message: "请选择发货单位!",            type: "warning",          });          return;        } else if (!this.purchaseOrderId) {          this.$message({            message: "没有匹配的采购订单号!",            type: "warning",          });          return;        } else if (!this.unloadPointId) {          this.$message({            message: "请选择卸货地点!",            type: "warning",          });          return;        } else if (!this.lineId) {          this.$message({            message: "请选择运输路线!",            type: "warning",          });          return;        } else if (!sjTime(this.form1.orderEntryTime)) {          this.$message({            message: "请选择预估进厂时间!",            type: "warning",          });          return;        }      }      //开始选车      if (this.selectionList.length == 0) {        this.$message({          message: "请选择车辆!",          type: "warning",        });        return;      } else {        this.selectionList.forEach((e) => {          if (e.orderMaterialWeight) {            if (isNumber(e.orderMaterialWeight)) {              if (isIntegerNumber(e.orderMaterialWeight)) {                state = 1;              } else {                this.$message({                  message: "重量只能是整数!",                  type: "warning",                });                return;              }            } else {              this.$message({                message: "重量只能是数字!",                type: "warning",              });              return;            }          }         });      }      //发送请求        let map = {          materialId: this.materialId,          supplierId: this.supplierId,          purchaseOrderId: this.purchaseOrderId,          unloadPointId: this.unloadPointId,          orderEntryTime: sjTime(this.form1.orderEntryTime),          driverCapacityIdList: this.selectionList,          orderType: this.orderType,          lineId: this.lineId,          isMoreTrips:this.isMoreTrips,        };        console.log("map",map);        this.axios.post("/api/v1/oms/addPurOrder", map).then((res) => {          if (res.data.code == "200") {            this.$message({              message: "添加成功!",              type: "success",            });            this.$router.push("/transportationReservation");          }        });    },  },};</script><style lang="scss">.contractDetails {  width: 100%;}.el-drawer__container ::-webkit-scrollbar {  display: none;}.from {  display: flex;  align-items: center;  justify-content: center;  margin-top: 5px;  margin-bottom: 20px;}.remark {  display: flex;  justify-content: center;  .text {    display: inline-block;    width: 100px;    text-align: right;  }  .input {    width: 250px;    margin-right: 20px;  }}.lineId {  display: flex;  justify-content: center;  .text {    display: inline-block;    width: 170px;    text-align: right;  }  .input {    width: 250px;    margin-right: 20px;  }  .span{    display: inline-block;    width: 70px;    height: 1px;  }}.material {  display: flex;  justify-content: center;  margin-top: 20px;  .text {    display: inline-block;    width: 170px;    text-align: right;  }  .input {    width: 250px;    margin-right: 20px;  }}.orderType {  display: flex;  justify-content: center;  .text {    display: inline-block;    width: 110px;    text-align: right;  }  .select {    width: 250px;  }  .span {    display: inline-block;    width: 30px;    height: 10px;  }}.contractTitle {  display: flex;  justify-content: center;  .el-form-item {    display: flex;    justify-content: center;    .el-form-item__label {      display: flex;      align-items: center;    }    .el-input {      width: 250px;    }  }}.forwardingUnit {  display: flex;  justify-content: center;  .text {    display: inline-block;    width: 170px;    text-align: right;  }  .input {    width: 250px;    margin-right: 20px;  }}.truckList1 {  width: 100%;  .truckList {    width: 96%;    .text {      display: inline-block;      width: 120px;      text-align: right;    }    .truckBtn {      width: 250px;    }  }}.drawer_top{  margin-top: -50px;  width: 100%;height: 60px;  display: flex;  align-items: center;}.drawer_table1{  width: 100%;height: 500px;}.button_box {  display: flex;  justify-content: center;  align-items: center;  width: 100%;  height: 100px;}</style>
 |