|  | @@ -0,0 +1,1418 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div>
 | 
	
		
			
				|  |  | +    <basic-container v-if="key>0">
 | 
	
		
			
				|  |  | +      <avue-crud
 | 
	
		
			
				|  |  | +          :data="goodsList"
 | 
	
		
			
				|  |  | +          :option="goodsOptionCrud"
 | 
	
		
			
				|  |  | +          :table-loading="loading"
 | 
	
		
			
				|  |  | +          :page.sync="page"
 | 
	
		
			
				|  |  | +          ref="crud"
 | 
	
		
			
				|  |  | +          @on-load="onLoad"
 | 
	
		
			
				|  |  | +          @resetColumn="resetColumn"
 | 
	
		
			
				|  |  | +          @saveColumn="saveColumn"
 | 
	
		
			
				|  |  | +          @search-change="searchChange"
 | 
	
		
			
				|  |  | +          @search-reset="query = {}"
 | 
	
		
			
				|  |  | +          :search.sync="query"
 | 
	
		
			
				|  |  | +          @search-criteria-switch="searchCriteriaSwitch"
 | 
	
		
			
				|  |  | +          @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
 | 
	
		
			
				|  |  | +          @row-update="rowSave">
 | 
	
		
			
				|  |  | +        <template slot="plateNo" slot-scope="{row}">
 | 
	
		
			
				|  |  | +                <span class="el-button--text" style="cursor: pointer"
 | 
	
		
			
				|  |  | +                      @click="openTrack(row)">{{ row.plateNo }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="menuLeft">
 | 
	
		
			
				|  |  | +          <el-button type="info" size="small" @click="outExport" icon="el-icon-download">导出</el-button>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot-scope="{row}" slot="fleetId">
 | 
	
		
			
				|  |  | +          <span>{{ row.fleetName }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="billNo" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <span v-if="roleName.indexOf('车队') !== -1" style="cursor: pointer">{{ row.billNo }}</span>
 | 
	
		
			
				|  |  | +          <span class="el-button--text" v-else style="cursor: pointer" @click.stop="celJump(row,index)">{{
 | 
	
		
			
				|  |  | +              row.billNo
 | 
	
		
			
				|  |  | +            }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="corpName" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <span class="el-button--text" style="cursor: pointer"
 | 
	
		
			
				|  |  | +                @click.stop="celJump(row,index)">{{ row.corpName }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="orderNo" slot-scope="{row,index}">
 | 
	
		
			
				|  |  | +          <span class="el-button--text" style="cursor: pointer"
 | 
	
		
			
				|  |  | +                @click.stop="celJump(row,index)">{{ row.orderNo }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot-scope="{row}" slot="fleetIdSearch">
 | 
	
		
			
				|  |  | +          <crop-select
 | 
	
		
			
				|  |  | +              v-model="row.fleetId"
 | 
	
		
			
				|  |  | +              corpType="CD"
 | 
	
		
			
				|  |  | +          ></crop-select>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot-scope="{row,index}" slot="menu">
 | 
	
		
			
				|  |  | +          <span v-if="row.extraAmountD>0">
 | 
	
		
			
				|  |  | +            <el-button
 | 
	
		
			
				|  |  | +                size="small"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +            >{{ row.confirmStatus !== 0 ? '已确认' : '' }}
 | 
	
		
			
				|  |  | +            </el-button>
 | 
	
		
			
				|  |  | +            <el-button
 | 
	
		
			
				|  |  | +                size="small"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +                @click="incidentalConfirm(row)"
 | 
	
		
			
				|  |  | +            >{{ row.confirmStatus == 0 ? '杂费确认' : '杂费取消' }}
 | 
	
		
			
				|  |  | +            </el-button>
 | 
	
		
			
				|  |  | +          </span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="addressDetail" slot-scope="{ row,index}">
 | 
	
		
			
				|  |  | +          <el-tooltip class="item" effect="dark" placement="top">
 | 
	
		
			
				|  |  | +            <div v-html="ToBreak(row.addressDetail)" slot="content"></div>
 | 
	
		
			
				|  |  | +            <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{ row.addressDetail }}</div>
 | 
	
		
			
				|  |  | +          </el-tooltip>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="extraAmountItemC" slot-scope="{ row,index}">
 | 
	
		
			
				|  |  | +          <el-tooltip class="item" effect="dark" placement="top">
 | 
	
		
			
				|  |  | +            <div v-html="ToBreak(row.extraAmountItemC)" slot="content"></div>
 | 
	
		
			
				|  |  | +            <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{ row.extraAmountItemC }}</div>
 | 
	
		
			
				|  |  | +          </el-tooltip>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +        <template slot="extraAmountItemD" slot-scope="{ row,index}">
 | 
	
		
			
				|  |  | +          <el-tooltip class="item" effect="dark" placement="top">
 | 
	
		
			
				|  |  | +            <div v-html="ToBreak(row.extraAmountItemD)" slot="content"></div>
 | 
	
		
			
				|  |  | +            <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{ row.extraAmountItemD }}</div>
 | 
	
		
			
				|  |  | +          </el-tooltip>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </avue-crud>
 | 
	
		
			
				|  |  | +      <el-dialog
 | 
	
		
			
				|  |  | +          title="杂费明细"
 | 
	
		
			
				|  |  | +          :visible.sync="incidentalType"
 | 
	
		
			
				|  |  | +          append-to-body
 | 
	
		
			
				|  |  | +          width="50%">
 | 
	
		
			
				|  |  | +        <avue-crud
 | 
	
		
			
				|  |  | +            :data="collectionList"
 | 
	
		
			
				|  |  | +            :option="collectionOption"
 | 
	
		
			
				|  |  | +            ref="collection"
 | 
	
		
			
				|  |  | +            @resetColumn="resetColumnCollection"
 | 
	
		
			
				|  |  | +            @saveColumn="saveColumnCollection"
 | 
	
		
			
				|  |  | +            @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
 | 
	
		
			
				|  |  | +            @row-update="rowSave">
 | 
	
		
			
				|  |  | +          <template slot-scope="{row,index}" slot="menu">
 | 
	
		
			
				|  |  | +            <!--          <el-button-->
 | 
	
		
			
				|  |  | +            <!--              type="text"-->
 | 
	
		
			
				|  |  | +            <!--              size="small"-->
 | 
	
		
			
				|  |  | +            <!--              :disabled="goodsForm.status === 1"-->
 | 
	
		
			
				|  |  | +            <!--              :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"-->
 | 
	
		
			
				|  |  | +            <!--              @click="rowCell(row,index)"-->
 | 
	
		
			
				|  |  | +            <!--          >{{ row.$cellEdit ? '保存' : '编辑' }}-->
 | 
	
		
			
				|  |  | +            <!--          </el-button>-->
 | 
	
		
			
				|  |  | +            <!--          <el-button type="text"-->
 | 
	
		
			
				|  |  | +            <!--                     icon="el-icon-delete"-->
 | 
	
		
			
				|  |  | +            <!--                     size="small"-->
 | 
	
		
			
				|  |  | +            <!--                     :disabled="goodsForm.status === 1"-->
 | 
	
		
			
				|  |  | +            <!--                     @click="$refs.collection.rowDel(row,index)"-->
 | 
	
		
			
				|  |  | +            <!--          >删除-->
 | 
	
		
			
				|  |  | +            <!--          </el-button>-->
 | 
	
		
			
				|  |  | +            <el-button
 | 
	
		
			
				|  |  | +                size="small"
 | 
	
		
			
				|  |  | +                type="text"
 | 
	
		
			
				|  |  | +                icon="el-icon-s-order"
 | 
	
		
			
				|  |  | +                @click="annexOpen(row, index)"
 | 
	
		
			
				|  |  | +            >附 件
 | 
	
		
			
				|  |  | +            </el-button>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +          <template slot="menuLeft">
 | 
	
		
			
				|  |  | +            <!--          <el-button-->
 | 
	
		
			
				|  |  | +            <!--              type="primary"-->
 | 
	
		
			
				|  |  | +            <!--              icon="el-icon-plus"-->
 | 
	
		
			
				|  |  | +            <!--              :disabled="goodsForm.status !== 0"-->
 | 
	
		
			
				|  |  | +            <!--              @click="addRowCollection"-->
 | 
	
		
			
				|  |  | +            <!--              size="small">录入明细</el-button>-->
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </avue-crud>
 | 
	
		
			
				|  |  | +        <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +          <el-button @click="incidentalType = false" size="small">取 消</el-button>
 | 
	
		
			
				|  |  | +          <el-button type="primary" size="small" v-if="collectionList.length>0"
 | 
	
		
			
				|  |  | +                     @click="incidentalClick">{{ confirmStatus == 0 ? '杂费确认' : '杂费取消' }}</el-button>
 | 
	
		
			
				|  |  | +        </span>
 | 
	
		
			
				|  |  | +      </el-dialog>
 | 
	
		
			
				|  |  | +      <el-dialog
 | 
	
		
			
				|  |  | +          title="附件"
 | 
	
		
			
				|  |  | +          :visible.sync="enclosure"
 | 
	
		
			
				|  |  | +          append-to-body
 | 
	
		
			
				|  |  | +          width="70%">
 | 
	
		
			
				|  |  | +        <c-upload
 | 
	
		
			
				|  |  | +            typeUpload="GZ"
 | 
	
		
			
				|  |  | +            :basic="true"
 | 
	
		
			
				|  |  | +            disabled
 | 
	
		
			
				|  |  | +            deleteUrl="/api/blade-client/common-file/remove"
 | 
	
		
			
				|  |  | +            :data="orderList"
 | 
	
		
			
				|  |  | +            :enumerationValue="76"
 | 
	
		
			
				|  |  | +        ></c-upload>
 | 
	
		
			
				|  |  | +        <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +          <el-button @click="enclosure = false" size="small">取 消</el-button>
 | 
	
		
			
				|  |  | +        </span>
 | 
	
		
			
				|  |  | +      </el-dialog>
 | 
	
		
			
				|  |  | +      <track-playback :dialogVisible="dialogVisibleTwo" v-loading="loadingDialog" :parkingPoint="parkingPoint" :lineArr="lineArr"
 | 
	
		
			
				|  |  | +                      ref="playback"></track-playback>
 | 
	
		
			
				|  |  | +    </basic-container>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  acceptanceCollection,
 | 
	
		
			
				|  |  | +  acceptanceDispatchCollection,
 | 
	
		
			
				|  |  | +  confirmCompletion,
 | 
	
		
			
				|  |  | +  fleetList,
 | 
	
		
			
				|  |  | +  motorcadeDriver,
 | 
	
		
			
				|  |  | +  fleetDriverSave,
 | 
	
		
			
				|  |  | +  getAttachment,
 | 
	
		
			
				|  |  | +  saveAttached,
 | 
	
		
			
				|  |  | +  incidental,
 | 
	
		
			
				|  |  | +  getFee,
 | 
	
		
			
				|  |  | +  incidentalConfirm,
 | 
	
		
			
				|  |  | +  cancelConfirm, standingBookCollection
 | 
	
		
			
				|  |  | +} from "@/api/landTransportation";
 | 
	
		
			
				|  |  | +import {getToken} from "@/util/auth";
 | 
	
		
			
				|  |  | +import {gaude} from "@/api/gaude";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "index",
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      key: 0,
 | 
	
		
			
				|  |  | +      form: {},
 | 
	
		
			
				|  |  | +      enclosure: false,
 | 
	
		
			
				|  |  | +      dialogVisibleTwo: false,
 | 
	
		
			
				|  |  | +      loadingDialog: false,
 | 
	
		
			
				|  |  | +      lineArr: [],
 | 
	
		
			
				|  |  | +      parkingPoint: [],
 | 
	
		
			
				|  |  | +      orderList: [],
 | 
	
		
			
				|  |  | +      collectionOptionBackup: {
 | 
	
		
			
				|  |  | +        align: 'center',
 | 
	
		
			
				|  |  | +        menuAlign: 'center',
 | 
	
		
			
				|  |  | +        refreshBtn: false,
 | 
	
		
			
				|  |  | +        index: true,
 | 
	
		
			
				|  |  | +        // menu:false,
 | 
	
		
			
				|  |  | +        cancelBtn: false,
 | 
	
		
			
				|  |  | +        editBtn: false,
 | 
	
		
			
				|  |  | +        delBtn: false,
 | 
	
		
			
				|  |  | +        cellBtn: false,
 | 
	
		
			
				|  |  | +        addBtn: false,
 | 
	
		
			
				|  |  | +        addRowBtn: false,
 | 
	
		
			
				|  |  | +        showSummary: true,
 | 
	
		
			
				|  |  | +        addBtnText: '录入明细',
 | 
	
		
			
				|  |  | +        summaryText: "合计",
 | 
	
		
			
				|  |  | +        sumColumnList: [{
 | 
	
		
			
				|  |  | +          name: 'price',
 | 
	
		
			
				|  |  | +          type: 'sum',
 | 
	
		
			
				|  |  | +          decimals: 2
 | 
	
		
			
				|  |  | +        }, {
 | 
	
		
			
				|  |  | +          name: 'amount',
 | 
	
		
			
				|  |  | +          type: 'sum',
 | 
	
		
			
				|  |  | +          decimals: 2
 | 
	
		
			
				|  |  | +        }, {
 | 
	
		
			
				|  |  | +          name: 'quantity',
 | 
	
		
			
				|  |  | +          type: 'sum',
 | 
	
		
			
				|  |  | +          decimals: 0
 | 
	
		
			
				|  |  | +        }],
 | 
	
		
			
				|  |  | +        column: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '费用名称',
 | 
	
		
			
				|  |  | +            slot: true,
 | 
	
		
			
				|  |  | +            width: 160,
 | 
	
		
			
				|  |  | +            prop: 'feeName'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '金额',
 | 
	
		
			
				|  |  | +            cell: true,
 | 
	
		
			
				|  |  | +            prop: 'amount'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '车号',
 | 
	
		
			
				|  |  | +            prop: 'plateNo'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '备注',
 | 
	
		
			
				|  |  | +            prop: 'remarks'
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      collectionOption: {},
 | 
	
		
			
				|  |  | +      collectionList: [],
 | 
	
		
			
				|  |  | +      dialogVisible: false,
 | 
	
		
			
				|  |  | +      loading: false,
 | 
	
		
			
				|  |  | +      incidentalType: false,
 | 
	
		
			
				|  |  | +      confirmStatus: 0,
 | 
	
		
			
				|  |  | +      activeName: '',
 | 
	
		
			
				|  |  | +      query: {},
 | 
	
		
			
				|  |  | +      page: {
 | 
	
		
			
				|  |  | +        pageSize: 10,
 | 
	
		
			
				|  |  | +        currentPage: 1,
 | 
	
		
			
				|  |  | +        total: 0,
 | 
	
		
			
				|  |  | +        pageSizes: [10, 50, 100, 200, 300]
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      roleName: localStorage.getItem("roleName").split(','),
 | 
	
		
			
				|  |  | +      goodsList: [],
 | 
	
		
			
				|  |  | +      goodsOptionCrud: {},
 | 
	
		
			
				|  |  | +      optionList: {
 | 
	
		
			
				|  |  | +        stripe: true,
 | 
	
		
			
				|  |  | +        index: true,
 | 
	
		
			
				|  |  | +        addBtn: false,
 | 
	
		
			
				|  |  | +        delBtn: false,
 | 
	
		
			
				|  |  | +        cellBtn: false,
 | 
	
		
			
				|  |  | +        cancelBtn: false,
 | 
	
		
			
				|  |  | +        editBtn: false,
 | 
	
		
			
				|  |  | +        addRowBtn: false,
 | 
	
		
			
				|  |  | +        refreshBtn: false,
 | 
	
		
			
				|  |  | +        searchIcon: true,
 | 
	
		
			
				|  |  | +        searchIndex: 2,
 | 
	
		
			
				|  |  | +        searchSpan: 8,
 | 
	
		
			
				|  |  | +        menuWidth:140,
 | 
	
		
			
				|  |  | +        menu: true,
 | 
	
		
			
				|  |  | +        searchMenuPosition: "right",
 | 
	
		
			
				|  |  | +        searchMenuSpan: 6,
 | 
	
		
			
				|  |  | +        align: 'center',
 | 
	
		
			
				|  |  | +        height: "auto",
 | 
	
		
			
				|  |  | +        showSummary: true,
 | 
	
		
			
				|  |  | +        summaryText: "合计",
 | 
	
		
			
				|  |  | +        sumColumnList: [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            name: 'landWeight',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'landAmountC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'ctnQuantity',
 | 
	
		
			
				|  |  | +            type: 'count'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'oneFeeC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'twoFeeC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'threeFeeC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'fourFeeC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'fiveFeeC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'oneFeeD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'twoFeeD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'threeFeeD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'fourFeeD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'fiveFeeD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'profit',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'extraAmountC',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'landAmountD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            name: 'extraAmountD',
 | 
	
		
			
				|  |  | +            type: 'sum',
 | 
	
		
			
				|  |  | +            decimals: 2
 | 
	
		
			
				|  |  | +          }],
 | 
	
		
			
				|  |  | +        column: [{
 | 
	
		
			
				|  |  | +          label: '货运日期',
 | 
	
		
			
				|  |  | +          prop: 'arrivalTime',
 | 
	
		
			
				|  |  | +          overHidden: true,
 | 
	
		
			
				|  |  | +          type: "date",
 | 
	
		
			
				|  |  | +          searchRange: true,
 | 
	
		
			
				|  |  | +          defaultTime: ['00:00:00', '23:59:59'],
 | 
	
		
			
				|  |  | +          format: "yyyy-MM-dd HH:mm",
 | 
	
		
			
				|  |  | +          valueFormat: "yyyy-MM-dd HH:mm:ss",
 | 
	
		
			
				|  |  | +          index: 2,
 | 
	
		
			
				|  |  | +          width: 150,
 | 
	
		
			
				|  |  | +          search: true,
 | 
	
		
			
				|  |  | +        }, {
 | 
	
		
			
				|  |  | +          label: '货运地点',
 | 
	
		
			
				|  |  | +          index: 4,
 | 
	
		
			
				|  |  | +          width: 160,
 | 
	
		
			
				|  |  | +          search: true,
 | 
	
		
			
				|  |  | +          prop: 'addressDetail'
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +          // ,{
 | 
	
		
			
				|  |  | +          //   label: '订单号',
 | 
	
		
			
				|  |  | +          //   prop: 'orderNo',
 | 
	
		
			
				|  |  | +          //   overHidden: true,
 | 
	
		
			
				|  |  | +          //   index: 1,
 | 
	
		
			
				|  |  | +          //   width: 140,
 | 
	
		
			
				|  |  | +          //   search: true,
 | 
	
		
			
				|  |  | +          // }
 | 
	
		
			
				|  |  | +          , {
 | 
	
		
			
				|  |  | +            label: '票据号',
 | 
	
		
			
				|  |  | +            prop: 'receiptNo',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 5,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '提单号',
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            index: 6,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            prop: 'billNo'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '场站',
 | 
	
		
			
				|  |  | +            prop: 'station',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 7,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '箱型箱量',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            index: 8,
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            prop: 'ctnDetail'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '车号',
 | 
	
		
			
				|  |  | +            width: 150,
 | 
	
		
			
				|  |  | +            prop: 'plateNo',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 10,
 | 
	
		
			
				|  |  | +            search: true
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '备注',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 13,
 | 
	
		
			
				|  |  | +            prop: 'remarks'
 | 
	
		
			
				|  |  | +          }]
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      totalData: {},
 | 
	
		
			
				|  |  | +      //客户
 | 
	
		
			
				|  |  | +      optionListOne:{},
 | 
	
		
			
				|  |  | +      //平台
 | 
	
		
			
				|  |  | +      optionListTwo:{},
 | 
	
		
			
				|  |  | +      //车队
 | 
	
		
			
				|  |  | +      optionListThree:{}
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  async created() {
 | 
	
		
			
				|  |  | +    this.goodsOptionCrud = await this.getColumnData(this.getColumnName(88.1), this.optionList);
 | 
	
		
			
				|  |  | +    this.collectionOption = await this.getColumnData(this.getColumnName(88.2), this.collectionOptionBackup);
 | 
	
		
			
				|  |  | +    this.key++
 | 
	
		
			
				|  |  | +    if (this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('车队') !== -1) {
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.menu = false;
 | 
	
		
			
				|  |  | +      // this.goodsOptionCrud.column.forEach((item,index)=>{
 | 
	
		
			
				|  |  | +      //   if (item.prop === 'corpShortName'){
 | 
	
		
			
				|  |  | +      //     this.goodsOptionCrud.column.splice(index, 1)
 | 
	
		
			
				|  |  | +      //   }
 | 
	
		
			
				|  |  | +      // })
 | 
	
		
			
				|  |  | +      if (this.roleName.indexOf('车队') !== -1) {
 | 
	
		
			
				|  |  | +        for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +          if (item.prop === 'dispatchDeptName') return false
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              label: '物流运输',
 | 
	
		
			
				|  |  | +              prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +              type: "select",
 | 
	
		
			
				|  |  | +              props: {
 | 
	
		
			
				|  |  | +                label: "deptName",
 | 
	
		
			
				|  |  | +                value: "id"
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '运输调度',
 | 
	
		
			
				|  |  | +              prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '车队',
 | 
	
		
			
				|  |  | +              width: 200,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 9,
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 14,
 | 
	
		
			
				|  |  | +              prop: 'landAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 15,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 18,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        return this.calculateHu()
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +          if (item.prop === 'dispatcherName') return false
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              label: '客户名称',
 | 
	
		
			
				|  |  | +              prop: 'corpShortName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 1,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '运输调度',
 | 
	
		
			
				|  |  | +              prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '业务员',
 | 
	
		
			
				|  |  | +              prop: 'salesmanName',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 2,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 11,
 | 
	
		
			
				|  |  | +              prop: 'landAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 12,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 17,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '车队',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 9,
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 14,
 | 
	
		
			
				|  |  | +              prop: 'landAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 15,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '利润',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              precision: 2,
 | 
	
		
			
				|  |  | +              index: 16,
 | 
	
		
			
				|  |  | +              type: 'number',
 | 
	
		
			
				|  |  | +              prop: 'profit'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 18,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        return this.calculateHu()
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    if (this.roleName.indexOf('客户') !== -1) {
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.menu = true
 | 
	
		
			
				|  |  | +      for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +        if (item.prop === 'landAmountD') return
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '客户名称',
 | 
	
		
			
				|  |  | +            prop: 'corpShortName',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 1,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '杂费确认',
 | 
	
		
			
				|  |  | +            prop: 'confirmStatus',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 1,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            type: "select",
 | 
	
		
			
				|  |  | +            hide: true,
 | 
	
		
			
				|  |  | +            dicData: [{
 | 
	
		
			
				|  |  | +              label: '未确认',
 | 
	
		
			
				|  |  | +              value: 0
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '已确认',
 | 
	
		
			
				|  |  | +              value: 1
 | 
	
		
			
				|  |  | +            }],
 | 
	
		
			
				|  |  | +            props: {
 | 
	
		
			
				|  |  | +              label: "label",
 | 
	
		
			
				|  |  | +              value: "value"
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '物流运输',
 | 
	
		
			
				|  |  | +            prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +            type: "select",
 | 
	
		
			
				|  |  | +            props: {
 | 
	
		
			
				|  |  | +              label: "deptName",
 | 
	
		
			
				|  |  | +              value: "id"
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 3,
 | 
	
		
			
				|  |  | +            width: 140
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收运费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 11,
 | 
	
		
			
				|  |  | +            prop: 'landAmountD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '业务员',
 | 
	
		
			
				|  |  | +            prop: 'salesmanName',
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            index: 2,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收杂费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 12,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收杂费明细',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            index: 17,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '车队',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            index: 9,
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +      return this.calculateHu()
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('admin') !== -1 || this.roleName.indexOf('管理员') !== -1) {
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.menu = false
 | 
	
		
			
				|  |  | +      for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +        if (item.prop === 'landAmountC') return
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            label: '客户名称',
 | 
	
		
			
				|  |  | +            prop: 'corpShortName',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 1,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '运输调度',
 | 
	
		
			
				|  |  | +            prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 3,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应付运费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 14,
 | 
	
		
			
				|  |  | +            prop: 'landAmountC'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '物流运输',
 | 
	
		
			
				|  |  | +            prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +            type: "select",
 | 
	
		
			
				|  |  | +            props: {
 | 
	
		
			
				|  |  | +              label: "deptName",
 | 
	
		
			
				|  |  | +              value: "id"
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 3,
 | 
	
		
			
				|  |  | +            width: 140
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '业务员',
 | 
	
		
			
				|  |  | +            prop: 'salesmanName',
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            index: 2,
 | 
	
		
			
				|  |  | +            width: 140,
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应付杂费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 15,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '利润',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            precision: 2,
 | 
	
		
			
				|  |  | +            index: 16,
 | 
	
		
			
				|  |  | +            type: 'number',
 | 
	
		
			
				|  |  | +            prop: 'profit'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应付杂费明细',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            index: 18,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收运费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 11,
 | 
	
		
			
				|  |  | +            prop: 'landAmountD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收杂费',
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            index: 12,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '应收杂费明细',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            index: 17,
 | 
	
		
			
				|  |  | +            prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +          }, {
 | 
	
		
			
				|  |  | +            label: '车队',
 | 
	
		
			
				|  |  | +            width: 100,
 | 
	
		
			
				|  |  | +            search: true,
 | 
	
		
			
				|  |  | +            index: 9,
 | 
	
		
			
				|  |  | +            overHidden: true,
 | 
	
		
			
				|  |  | +            prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +      return this.calculateHu()
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    calculateHu() {
 | 
	
		
			
				|  |  | +      let i = 0;
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud.column.forEach(item => {
 | 
	
		
			
				|  |  | +        if (item.search === true) i++
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      if (i % 3 !== 0) {
 | 
	
		
			
				|  |  | +        const num = 3 - Number(i % 3)
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.searchMenuSpan = num * 8;
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.searchMenuPosition = "right";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    openTrack(row) {
 | 
	
		
			
				|  |  | +      gaude({itemId: row.id, plateNo: row.plateNo, tenantId: '234557', color: '2'}).then(res => {
 | 
	
		
			
				|  |  | +        this.lineArr = res.data.data.trackArray
 | 
	
		
			
				|  |  | +        this.parkingPoint = res.data.data.parkArray
 | 
	
		
			
				|  |  | +        this.dialogVisibleTwo = true
 | 
	
		
			
				|  |  | +        this.loadingDialog = true
 | 
	
		
			
				|  |  | +        let this_ = this
 | 
	
		
			
				|  |  | +        setTimeout(function () {
 | 
	
		
			
				|  |  | +          this_.$refs.playback.initMap();
 | 
	
		
			
				|  |  | +          this_.loadingDialog = false
 | 
	
		
			
				|  |  | +        }, 1500)
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //导出
 | 
	
		
			
				|  |  | +    outExport() {
 | 
	
		
			
				|  |  | +      this.$confirm('是否导出数据明细?', '提示', {
 | 
	
		
			
				|  |  | +        confirmButtonText: '确定',
 | 
	
		
			
				|  |  | +        cancelButtonText: '取消',
 | 
	
		
			
				|  |  | +        type: 'warning'
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        let queryParams = this.query
 | 
	
		
			
				|  |  | +        if (queryParams.arrivalTime) {
 | 
	
		
			
				|  |  | +          queryParams.beginArrivalTime = queryParams.arrivalTime[0]
 | 
	
		
			
				|  |  | +          queryParams.endArrivalTime = queryParams.arrivalTime[1]
 | 
	
		
			
				|  |  | +          delete queryParams.arrivalTime
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        const routeData = this.$router.resolve({
 | 
	
		
			
				|  |  | +          path: '/api/blade-land/order/acct-export',      //跳转目标窗口的地址
 | 
	
		
			
				|  |  | +          query: {
 | 
	
		
			
				|  |  | +            ...queryParams    //括号内是要传递给新窗口的参数
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        window.open(routeData.href.slice(1,routeData.href.length)+'&'+`${this.website.tokenHeader}=${getToken()}`);
 | 
	
		
			
				|  |  | +      }).catch(() => {
 | 
	
		
			
				|  |  | +        this.$message({
 | 
	
		
			
				|  |  | +          type: 'info',
 | 
	
		
			
				|  |  | +          message: '已取消' //
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //自定义列保存
 | 
	
		
			
				|  |  | +    async saveColumnCollection() {
 | 
	
		
			
				|  |  | +      /**
 | 
	
		
			
				|  |  | +       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
 | 
	
		
			
				|  |  | +       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
 | 
	
		
			
				|  |  | +       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
 | 
	
		
			
				|  |  | +       */
 | 
	
		
			
				|  |  | +      const inSave = await this.saveColumnData(this.getColumnName(88.2), this.collectionOption);
 | 
	
		
			
				|  |  | +      if (inSave) {
 | 
	
		
			
				|  |  | +        this.$message.success("保存成功");
 | 
	
		
			
				|  |  | +        //关闭窗口
 | 
	
		
			
				|  |  | +        this.$refs.collection.$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //自定义列重置
 | 
	
		
			
				|  |  | +    async resetColumnCollection() {
 | 
	
		
			
				|  |  | +      this.collectionOption = this.collectionOptionBackup;
 | 
	
		
			
				|  |  | +      const inSave = await this.delColumnData(this.getColumnName(88.2), this.collectionOptionBackup);
 | 
	
		
			
				|  |  | +      if (inSave) {
 | 
	
		
			
				|  |  | +        this.$message.success("重置成功");
 | 
	
		
			
				|  |  | +        this.$refs.collection.$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //自定义列保存
 | 
	
		
			
				|  |  | +    async saveColumn() {
 | 
	
		
			
				|  |  | +      /**
 | 
	
		
			
				|  |  | +       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
 | 
	
		
			
				|  |  | +       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
 | 
	
		
			
				|  |  | +       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
 | 
	
		
			
				|  |  | +       */
 | 
	
		
			
				|  |  | +      const inSave = await this.saveColumnData(this.getColumnName(88.1), this.goodsOptionCrud);
 | 
	
		
			
				|  |  | +      if (inSave) {
 | 
	
		
			
				|  |  | +        this.$message.success("保存成功");
 | 
	
		
			
				|  |  | +        //关闭窗口
 | 
	
		
			
				|  |  | +        this.$refs.crud.$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //自定义列重置
 | 
	
		
			
				|  |  | +    async resetColumn() {
 | 
	
		
			
				|  |  | +      this.goodsOptionCrud = this.optionList;
 | 
	
		
			
				|  |  | +      const inSave = await this.delColumnData(this.getColumnName(88.1), this.optionList);
 | 
	
		
			
				|  |  | +      if (inSave) {
 | 
	
		
			
				|  |  | +        this.$message.success("重置成功");
 | 
	
		
			
				|  |  | +        this.$refs.crud.$refs.dialogColumn.columnBox = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('车队') !== -1) {
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.menu = false;
 | 
	
		
			
				|  |  | +        // this.goodsOptionCrud.column.forEach((item,index)=>{
 | 
	
		
			
				|  |  | +        //   if (item.prop === 'corpShortName'){
 | 
	
		
			
				|  |  | +        //     this.goodsOptionCrud.column.splice(index, 1)
 | 
	
		
			
				|  |  | +        //   }
 | 
	
		
			
				|  |  | +        // })
 | 
	
		
			
				|  |  | +        if (this.roleName.indexOf('车队') !== -1) {
 | 
	
		
			
				|  |  | +          for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +            if (item.prop === 'dispatchDeptName') return false
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                label: '物流运输',
 | 
	
		
			
				|  |  | +                prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +                search: true,
 | 
	
		
			
				|  |  | +                dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +                type: "select",
 | 
	
		
			
				|  |  | +                props: {
 | 
	
		
			
				|  |  | +                  label: "deptName",
 | 
	
		
			
				|  |  | +                  value: "id"
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 3,
 | 
	
		
			
				|  |  | +                width: 140
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '运输调度',
 | 
	
		
			
				|  |  | +                prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 3,
 | 
	
		
			
				|  |  | +                width: 140,
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '车队',
 | 
	
		
			
				|  |  | +                width: 200,
 | 
	
		
			
				|  |  | +                search: true,
 | 
	
		
			
				|  |  | +                index: 9,
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付运费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 14,
 | 
	
		
			
				|  |  | +                prop: 'landAmountC'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付杂费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 15,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付杂费明细',
 | 
	
		
			
				|  |  | +                width: 100,
 | 
	
		
			
				|  |  | +                index: 18,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  | +          return this.calculateHu()
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +            if (item.prop === 'dispatcherName') return false
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +              {
 | 
	
		
			
				|  |  | +                label: '客户名称',
 | 
	
		
			
				|  |  | +                prop: 'corpShortName',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 1,
 | 
	
		
			
				|  |  | +                width: 140,
 | 
	
		
			
				|  |  | +                search: true,
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '运输调度',
 | 
	
		
			
				|  |  | +                prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 3,
 | 
	
		
			
				|  |  | +                width: 140,
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '业务员',
 | 
	
		
			
				|  |  | +                prop: 'salesmanName',
 | 
	
		
			
				|  |  | +                search: true,
 | 
	
		
			
				|  |  | +                index: 2,
 | 
	
		
			
				|  |  | +                width: 140,
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应收运费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 11,
 | 
	
		
			
				|  |  | +                prop: 'landAmountD'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应收杂费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 12,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应收杂费明细',
 | 
	
		
			
				|  |  | +                width: 100,
 | 
	
		
			
				|  |  | +                index: 17,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '车队',
 | 
	
		
			
				|  |  | +                width: 100,
 | 
	
		
			
				|  |  | +                search: true,
 | 
	
		
			
				|  |  | +                index: 9,
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付运费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 14,
 | 
	
		
			
				|  |  | +                prop: 'landAmountC'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付杂费',
 | 
	
		
			
				|  |  | +                overHidden: true,
 | 
	
		
			
				|  |  | +                index: 15,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '利润',
 | 
	
		
			
				|  |  | +                width: 100,
 | 
	
		
			
				|  |  | +                precision: 2,
 | 
	
		
			
				|  |  | +                index: 16,
 | 
	
		
			
				|  |  | +                type: 'number',
 | 
	
		
			
				|  |  | +                prop: 'profit'
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '应付杂费明细',
 | 
	
		
			
				|  |  | +                width: 100,
 | 
	
		
			
				|  |  | +                index: 18,
 | 
	
		
			
				|  |  | +                prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +              })
 | 
	
		
			
				|  |  | +          return this.calculateHu()
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (this.roleName.indexOf('客户') !== -1) {
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.menu = true
 | 
	
		
			
				|  |  | +        for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +          if (item.prop === 'landAmountD') return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              label: '客户名称',
 | 
	
		
			
				|  |  | +              prop: 'corpShortName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 1,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '杂费确认',
 | 
	
		
			
				|  |  | +              prop: 'confirmStatus',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 1,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +              type: "select",
 | 
	
		
			
				|  |  | +              hide: true,
 | 
	
		
			
				|  |  | +              dicData: [{
 | 
	
		
			
				|  |  | +                label: '未确认',
 | 
	
		
			
				|  |  | +                value: 0
 | 
	
		
			
				|  |  | +              }, {
 | 
	
		
			
				|  |  | +                label: '已确认',
 | 
	
		
			
				|  |  | +                value: 1
 | 
	
		
			
				|  |  | +              }],
 | 
	
		
			
				|  |  | +              props: {
 | 
	
		
			
				|  |  | +                label: "label",
 | 
	
		
			
				|  |  | +                value: "value"
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '物流运输',
 | 
	
		
			
				|  |  | +              prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +              type: "select",
 | 
	
		
			
				|  |  | +              props: {
 | 
	
		
			
				|  |  | +                label: "deptName",
 | 
	
		
			
				|  |  | +                value: "id"
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 11,
 | 
	
		
			
				|  |  | +              prop: 'landAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '业务员',
 | 
	
		
			
				|  |  | +              prop: 'salesmanName',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 2,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 12,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 17,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '车队',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 9,
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        return this.calculateHu()
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('admin') !== -1 || this.roleName.indexOf('管理员') !== -1) {
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.menu = false
 | 
	
		
			
				|  |  | +        for (let item of this.goodsOptionCrud.column) {
 | 
	
		
			
				|  |  | +          if (item.prop === 'landAmountC') return
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.column.push(
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              label: '客户名称',
 | 
	
		
			
				|  |  | +              prop: 'corpShortName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 1,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '运输调度',
 | 
	
		
			
				|  |  | +              prop: 'dispatcherName',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 14,
 | 
	
		
			
				|  |  | +              prop: 'landAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '物流运输',
 | 
	
		
			
				|  |  | +              prop: 'dispatchDept',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              dicUrl: "/api/blade-system/dept/top-list?deptCategory=1",
 | 
	
		
			
				|  |  | +              type: "select",
 | 
	
		
			
				|  |  | +              props: {
 | 
	
		
			
				|  |  | +                label: "deptName",
 | 
	
		
			
				|  |  | +                value: "id"
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 3,
 | 
	
		
			
				|  |  | +              width: 140
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '业务员',
 | 
	
		
			
				|  |  | +              prop: 'salesmanName',
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 2,
 | 
	
		
			
				|  |  | +              width: 140,
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 15,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '利润',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              precision: 2,
 | 
	
		
			
				|  |  | +              index: 16,
 | 
	
		
			
				|  |  | +              type: 'number',
 | 
	
		
			
				|  |  | +              prop: 'profit'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应付杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 18,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemC'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收运费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 11,
 | 
	
		
			
				|  |  | +              prop: 'landAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费',
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              index: 12,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '应收杂费明细',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              index: 17,
 | 
	
		
			
				|  |  | +              prop: 'extraAmountItemD'
 | 
	
		
			
				|  |  | +            }, {
 | 
	
		
			
				|  |  | +              label: '车队',
 | 
	
		
			
				|  |  | +              width: 100,
 | 
	
		
			
				|  |  | +              search: true,
 | 
	
		
			
				|  |  | +              index: 9,
 | 
	
		
			
				|  |  | +              overHidden: true,
 | 
	
		
			
				|  |  | +              prop: 'fleetShortName'
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        return this.calculateHu()
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //行跳转
 | 
	
		
			
				|  |  | +    celJump(row, index) {
 | 
	
		
			
				|  |  | +      if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('admin') !== -1) {
 | 
	
		
			
				|  |  | +        this.$router.push({
 | 
	
		
			
				|  |  | +          path: '/landTransportation/dispatchingCars/index',
 | 
	
		
			
				|  |  | +          query: {orderId: row.orderId},
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.$router.push({
 | 
	
		
			
				|  |  | +          path: '/landTransportation/placeAnOrder/index',
 | 
	
		
			
				|  |  | +          query: {id: '台账' + row.orderId},
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 获得高度
 | 
	
		
			
				|  |  | +    searchCriteriaSwitch(type) {
 | 
	
		
			
				|  |  | +      if (type) {
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.height = this.goodsOptionCrud.height - 90
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.height = this.goodsOptionCrud.height + 90
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.$refs.crud.getTableHeight()
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //箱信息保存
 | 
	
		
			
				|  |  | +    rowSave(row, index, done, loading) {
 | 
	
		
			
				|  |  | +      done()
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //箱信息选择车队
 | 
	
		
			
				|  |  | +    getfleetIdT(data, row) {
 | 
	
		
			
				|  |  | +      this.$set(row, 'fleetName', data.cname)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //搜索
 | 
	
		
			
				|  |  | +    searchChange(params, done) {
 | 
	
		
			
				|  |  | +      this.query = params;
 | 
	
		
			
				|  |  | +      this.onLoad(this.page, params)
 | 
	
		
			
				|  |  | +      done();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //切换订单状态
 | 
	
		
			
				|  |  | +    handleClick(tab) {
 | 
	
		
			
				|  |  | +      this.activeName = tab
 | 
	
		
			
				|  |  | +      this.onLoad(this.page)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //查询
 | 
	
		
			
				|  |  | +    onLoad(page, params) {
 | 
	
		
			
				|  |  | +      motorcadeDriver(4).then(res => {
 | 
	
		
			
				|  |  | +        this.totalData = res.data.data
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      let queryParams = {
 | 
	
		
			
				|  |  | +        size: page.pageSize,
 | 
	
		
			
				|  |  | +        current: page.currentPage,
 | 
	
		
			
				|  |  | +        tag: '0',
 | 
	
		
			
				|  |  | +        ...params ? params : this.query
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (queryParams.arrivalTime) {
 | 
	
		
			
				|  |  | +        queryParams.beginArrivalTime = queryParams.arrivalTime[0]
 | 
	
		
			
				|  |  | +        queryParams.endArrivalTime = queryParams.arrivalTime[1]
 | 
	
		
			
				|  |  | +        delete queryParams.arrivalTime
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.loading = true;
 | 
	
		
			
				|  |  | +      if (this.loading) this.dialogVisibleTwo = false
 | 
	
		
			
				|  |  | +      standingBookCollection(queryParams).then(res => {
 | 
	
		
			
				|  |  | +        this.goodsList = res.data.data.records
 | 
	
		
			
				|  |  | +        this.page.total = res.data.data.total
 | 
	
		
			
				|  |  | +        this.goodsOptionCrud.height = window.innerHeight - 245;
 | 
	
		
			
				|  |  | +      }).finally(() => {
 | 
	
		
			
				|  |  | +        this.loading = false;
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //箱信息保存
 | 
	
		
			
				|  |  | +    rowSaveT(row, index, done, loading) {
 | 
	
		
			
				|  |  | +      if (row.$cellEdit) {
 | 
	
		
			
				|  |  | +        fleetDriverSave(row).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success("保存成功");
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.$refs.crud.rowCell(row, index)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //箱信息派车
 | 
	
		
			
				|  |  | +    designate(row) {
 | 
	
		
			
				|  |  | +      this.$confirm('是否确定受理', '提示', {
 | 
	
		
			
				|  |  | +        confirmButtonText: '确定',
 | 
	
		
			
				|  |  | +        cancelButtonText: '取消',
 | 
	
		
			
				|  |  | +        type: 'warning'
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        acceptanceCollection(row).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success('操作成功');
 | 
	
		
			
				|  |  | +          this.onLoad(this.page)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }).catch(() => {
 | 
	
		
			
				|  |  | +        this.$message({
 | 
	
		
			
				|  |  | +          type: 'info',
 | 
	
		
			
				|  |  | +          message: '已取消'
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //取消派车
 | 
	
		
			
				|  |  | +    cancelDesignate(row) {
 | 
	
		
			
				|  |  | +      this.$confirm('是否确定取消受理', '提示', {
 | 
	
		
			
				|  |  | +        confirmButtonText: '确定',
 | 
	
		
			
				|  |  | +        cancelButtonText: '取消',
 | 
	
		
			
				|  |  | +        type: 'warning'
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        acceptanceDispatchCollection({id: row.id}).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success('操作成功');
 | 
	
		
			
				|  |  | +          this.onLoad(this.page)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }).catch(() => {
 | 
	
		
			
				|  |  | +        this.$message({
 | 
	
		
			
				|  |  | +          type: 'info',
 | 
	
		
			
				|  |  | +          message: '已取消'
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    confirmCompletion(row) {
 | 
	
		
			
				|  |  | +      this.$confirm('是否确定完工', '提示', {
 | 
	
		
			
				|  |  | +        confirmButtonText: '确定',
 | 
	
		
			
				|  |  | +        cancelButtonText: '取消',
 | 
	
		
			
				|  |  | +        type: 'warning'
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        confirmCompletion({id: row.id}).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success('操作成功');
 | 
	
		
			
				|  |  | +          this.onLoad(this.page)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }).catch(() => {
 | 
	
		
			
				|  |  | +        this.$message({
 | 
	
		
			
				|  |  | +          type: 'info',
 | 
	
		
			
				|  |  | +          message: '已取消'
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //打开附件
 | 
	
		
			
				|  |  | +    annexOpen(row, index) {
 | 
	
		
			
				|  |  | +      this.enclosure = true
 | 
	
		
			
				|  |  | +      this.formAnnex = row
 | 
	
		
			
				|  |  | +      getFee({id: row.id}).then(res => {
 | 
	
		
			
				|  |  | +        this.orderList = res.data.data
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //保存
 | 
	
		
			
				|  |  | +    saveAnnex() {
 | 
	
		
			
				|  |  | +      saveAttached({
 | 
	
		
			
				|  |  | +        id: this.form.id,
 | 
	
		
			
				|  |  | +        fileList: this.orderList
 | 
	
		
			
				|  |  | +      }).then(res => {
 | 
	
		
			
				|  |  | +        this.annexOpen(this.form)
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    ToBreak(val) {
 | 
	
		
			
				|  |  | +      if (val) return val.replace(/\n/g, '<br/>')
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    incidentalConfirm(row) {
 | 
	
		
			
				|  |  | +      incidental({
 | 
	
		
			
				|  |  | +        itemId: row.itemId,
 | 
	
		
			
				|  |  | +        plateNo: row.plateNo,
 | 
	
		
			
				|  |  | +        type: '1'
 | 
	
		
			
				|  |  | +      }).then(res => {
 | 
	
		
			
				|  |  | +        this.collectionList = res.data.data
 | 
	
		
			
				|  |  | +        this.incidentalType = true
 | 
	
		
			
				|  |  | +        this.confirmStatus = row.confirmStatus
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    incidentalClick() {
 | 
	
		
			
				|  |  | +      if (this.confirmStatus == 0) {
 | 
	
		
			
				|  |  | +        incidentalConfirm({itemId: this.collectionList[0].itemId}).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success("确认成功");
 | 
	
		
			
				|  |  | +          this.onLoad(this.page)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        cancelConfirm({itemId: this.collectionList[0].itemId}).then(res => {
 | 
	
		
			
				|  |  | +          this.$message.success("取消成功");
 | 
	
		
			
				|  |  | +          this.onLoad(this.page)
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      this.incidentalType = false
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style lang="scss" scoped>
 | 
	
		
			
				|  |  | +.home-container {
 | 
	
		
			
				|  |  | +  padding: 0px 5px 5px 5px;
 | 
	
		
			
				|  |  | +  box-sizing: border-box;
 | 
	
		
			
				|  |  | +  height: 100%;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  ::v-deep .el-card__body {
 | 
	
		
			
				|  |  | +    padding: 10px 15px;
 | 
	
		
			
				|  |  | +    font-size: 14px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  &__card {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    height: 100%;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .title {
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    justify-content: space-between;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .right {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &_but {
 | 
	
		
			
				|  |  | +        margin-right: 10px;
 | 
	
		
			
				|  |  | +        border: 1px solid #409eff;
 | 
	
		
			
				|  |  | +        width: 80px;
 | 
	
		
			
				|  |  | +        border-radius: 3px;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        &_left {
 | 
	
		
			
				|  |  | +          width: 40px;
 | 
	
		
			
				|  |  | +          text-align: center;
 | 
	
		
			
				|  |  | +          color: #409eff;
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        &_right {
 | 
	
		
			
				|  |  | +          width: 40px;
 | 
	
		
			
				|  |  | +          text-align: center;
 | 
	
		
			
				|  |  | +          color: #409eff;
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        &_active {
 | 
	
		
			
				|  |  | +          color: #fff;
 | 
	
		
			
				|  |  | +          background-color: #409eff;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.content {
 | 
	
		
			
				|  |  | +  display: flex;
 | 
	
		
			
				|  |  | +  justify-content: center;
 | 
	
		
			
				|  |  | +  align-items: center;
 | 
	
		
			
				|  |  | +  height: 6vh;
 | 
	
		
			
				|  |  | +  width: 80vw;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .divider {
 | 
	
		
			
				|  |  | +    display: block;
 | 
	
		
			
				|  |  | +    height: 0px;
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    border-top: 1px dashed #dcdfe6;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  &-item {
 | 
	
		
			
				|  |  | +    margin-left: 1vw;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .card {
 | 
	
		
			
				|  |  | +      width: 130px;
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title {
 | 
	
		
			
				|  |  | +        width: 40px;
 | 
	
		
			
				|  |  | +        height: 40px;
 | 
	
		
			
				|  |  | +        text-align: center;
 | 
	
		
			
				|  |  | +        border-radius: 50%;
 | 
	
		
			
				|  |  | +        font-size: 20px;
 | 
	
		
			
				|  |  | +        font-weight: 600;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        justify-content: center;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        span {
 | 
	
		
			
				|  |  | +          line-height: 20px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title1 {
 | 
	
		
			
				|  |  | +        color: #037fe1;
 | 
	
		
			
				|  |  | +        background-color: rgba(3, 127, 225, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title2 {
 | 
	
		
			
				|  |  | +        color: #ffa21e;
 | 
	
		
			
				|  |  | +        background-color: rgba(255, 162, 30, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title3 {
 | 
	
		
			
				|  |  | +        color: #fb5b60;
 | 
	
		
			
				|  |  | +        background-color: rgba(251, 91, 96, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title4 {
 | 
	
		
			
				|  |  | +        color: #42bc6f;
 | 
	
		
			
				|  |  | +        background-color: rgba(66, 188, 111, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title5 {
 | 
	
		
			
				|  |  | +        color: #14cde1;
 | 
	
		
			
				|  |  | +        background-color: rgba(52, 149, 161, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-title6 {
 | 
	
		
			
				|  |  | +        color: rgba(4, 66, 31, 0.63);
 | 
	
		
			
				|  |  | +        background-color: rgba(66, 188, 111, 0.15);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-content {
 | 
	
		
			
				|  |  | +        padding-left: 1vw;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        flex-direction: column;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        &-num {
 | 
	
		
			
				|  |  | +          font-size: 20px;
 | 
	
		
			
				|  |  | +          font-weight: 600;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        &-text {
 | 
	
		
			
				|  |  | +          color: #909399;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |