| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 | // 计费详单<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-button type="primary" class="btn" @click="onclick">        <i class="el-icon-search"></i>查询      </el-button>      <el-button type="primary" @click="exportAllExcel()"        ><i class="el-icon-download"></i>导出(Excel)</el-button      >      <span style="margin-left: 1rem;">合计时间:</span>      <el-input        v-model="totalTime"        :disabled="true"        style="width: 140px;"      ></el-input>      <span style="margin-left: 1rem;">合计金额:</span>      <el-input        v-model="totalMoney"        :disabled="true"        style="width: 100px;"      ></el-input>    </div>    <div class="table">      <el-tabs v-model="activeName">        <!-- 未结算 -->        <el-tab-pane label="未结算" name="first">          <dilTable v-bind.sync="options1" ref="excelDom" @func="func">          </dilTable>        </el-tab-pane>        <!-- 已结算 -->        <el-tab-pane label="已结算" name="second">          <dilTable v-bind.sync="options2"> </dilTable>        </el-tab-pane>      </el-tabs>    </div>  </div></template><script>import { sjTime } from "@/utils/sharedJsFile";import { getCookie } from "@/utils/util.js";export default {  data() {    return {      startTime: null,      endTime: null,      totalMoney: null,      totalTime: null,      //单价      Fee: null,      //加载      selectLineLoading: false,      input: "",      activeName: "first",      ssoId: null,      //详单Id      detailsId: null,      options1: {        // first请求数据的地址        requestUrl: ""      },      options2: {        // second请求数据的地址        requestUrl: ""      },      //是否打开修改详单地址弹出框      dialogFormVisible: 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",      tableTitle: "内转计时计费详单"    };  },  created() {    this.options1GetRequestUrl();    this.options2GetRequestUrl();  },  methods: {    exportAllExcel() {      let startTime = null      let endTime = null      let orgCode = null      let carrierSsoId = null      if (this.startTime && this.endTime) {        startTime = sjTime(this.startTime)        endTime = sjTime(this.endTime)      }      if (getCookie('orgCode') == 'chengyunshang') {        carrierSsoId = getCookie('userId')      }      if (        getCookie('orgCode') == 'dagangadmin' ||        getCookie('orgCode') == 'zidonghuabu' ||        getCookie('orgCode') == 'wuliuchuyunzhongxin'      ) {        orgCode = null      } else {        orgCode = getCookie('orgCode')      }      if (this.activeName == 'first') {        this.tableTitle = '未结算计费详单'        this.axios          .post(            "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0" +            "&startTime=" +            startTime +            "&endTime=" +            endTime +            "&i" +            new Date()          )          .then(res => {            console.log(res.data.data)            console.log(res.data.data)            this.exportAllList = res.data.data.list            this.noSettleDetailsColumn=res.data.data.columnData            this.exportAllReportToExcel(              this.tableTitle,              this.exportAllList,              this.noSettleDetailsColumn            )          })      } else if (this.activeName == 'second') {        this.tableTitle = '已结算计费详单'        this.axios          .post(            "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0" +            "&startTime=" +            startTime +            "&endTime=" +            endTime +            "&i" +            new Date()          )          .then(res => {            console.log(res.data.data)            this.exportAllList = res.data.data.list            this.noSettleDetailsColumn=res.data.data.columnData            this.exportAllReportToExcel(              this.tableTitle,              this.exportAllList,              this.settleDetailsColumn            )          })      }    },    //导出excel    exportAllReportToExcel(tableTitle, dataArr, columnData) {      var title = tableTitle      let tHeader = []      let filterVal = []      columnData.forEach(e1 => {        if (tHeader.indexOf(e1.label) === -1) {          tHeader.push(e1.label)        }        if (filterVal.indexOf(e1.prop) === -1) {          filterVal.push(e1.prop)        }      })      //导出为excel      this.downloadLoading = true      require.ensure([], () => {        const {          export_json_to_excel        } = require('@/assets/excel/Export2Excel.js') //这里必须使用绝对路径,使用@/+存放export2Excel的路径        // let list = this.$refs.excelDom.dataTabel;        let data = dataArr.map(v => filterVal.map(j => v[j])) //3.formatJson格式转换        export_json_to_excel(tHeader, data, title) // (title)导出的表格名称      })    },    //未结算数据    options1GetRequestUrl() {      if (getCookie("orgCode") == "chengyunshang") {        this.ssoId = getCookie("userId");        this.options1.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0&carrierSsoId=" +          getCookie("userId");      } else if (        getCookie("orgCode") == "dagangadmin" ||        getCookie("orgCode") == "zidonghuabu" ||        getCookie("orgCode") == "wuliuchuyunzhongxin"      ) {        this.options1.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0";      } else {        this.options1.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0&userId=" +          getCookie("orgCode");      }    },    //已结算数据    options2GetRequestUrl() {      if (getCookie("orgCode") == "chengyunshang") {        this.ssoId = getCookie("userId");        this.options2.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1&carrierSsoId=" +          getCookie("userId");      } else if (        getCookie("orgCode") == "dagangadmin" ||        getCookie("orgCode") == "zidonghuabu" ||        getCookie("orgCode") == "wuliuchuyunzhongxin"      ) {        this.options2.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1";      } else {        this.options2.requestUrl =          "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1&userId=" +          getCookie("orgCode");      }    },    toInsert() {      this.$router.push("/insertCheckInventory");    },    func(res) {      console.log(res);      var totalAllTime = 0;      var totalAllMoney = 0;      res.list.forEach(e => {        totalAllTime = totalAllTime + e.resultTime;        totalAllMoney = totalAllMoney + e.detailsAmount;      });      this.totalMoney = totalAllMoney;      this.totalTime = totalAllTime;    },    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" ||            getCookie("orgCode") == "wuliuchuyunzhongxin"          ) {            this.options1.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0" +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();            this.options2.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1" +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();          } else if (getCookie("orgCode") == "chengyunshang") {            this.options1.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0&carrierSsoId=" +              getCookie("userId") +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();            this.options2.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1&carrierSsoId=" +              getCookie("userId") +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();          } else {            this.options1.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=0&userId=" +              getCookie("orgCode") +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();            this.options2.requestUrl =              "/api/v1/bms/getInwardWeightDetailsOrder?apiId=465&orderType=21&detailStatus=1&userId=" +              getCookie("orgCode") +              "&startTime=" +              startTime +              "&endTime=" +              endTime +              "&i" +              new Date();          }        } else {          this.startTime = null;          this.endTime = null;          this.$message.warning("开始时间要比结束时间早");        }      } else {      }    },    //运输订单点击浏览的事件    select() {      this.addressDrawer = true;    },    //运输单价模态窗口的框计算    selectAddressClick() {      this.Price.requestUrl =        "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con=" +        this.addressText;    }  }};</script><style lang="scss" scode>.steel_inbound {  .sache {    margin-left: 20px;    margin-top: 20px;    .el-input {      width: 20%;      margin-right: 1.25rem;    }  }  .table {    margin-left: 20px;    margin-top: 20px;  }}</style>
 |