瀏覽代碼

2024年4月29日17:30:16

纪新园 1 年之前
父節點
當前提交
6b6bebb049
共有 3 個文件被更改,包括 1181 次插入1014 次删除
  1. 5 1
      public/index.html
  2. 4 0
      src/main.js
  3. 1172 1013
      src/views/wel/home/landTransportation/components/sales-trend.vue

+ 5 - 1
public/index.html

@@ -22,7 +22,11 @@
 <!--    导入拖拽-->
   <script src="https://cdn.staticfile.org/Sortable/1.10.0-rc2/Sortable.min.js"></script>
 <!--    导入高德地图-->
-  <script src="https://webapi.amap.com/maps?v=1.4.15&key=9fe905e45ed0e2cfbf69479b4cd83edf"></script>
+<!--  <script src="https://webapi.amap.com/maps?v=1.4.15&key=9fe905e45ed0e2cfbf69479b4cd83edf"></script>-->
+<!--    导入腾旭地图-->
+    <script src="https://map.qq.com/api/gljs?v=1.exp&key=CB2BZ-T3IWN-UPWFO-SR2Y6-4YBXQ-SGBKT"></script>
+    <script src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
+    <script charset="utf-8" src="https://map.qq.com/api/gljs?libraries=tools&v=1.exp&key=CB2BZ-T3IWN-UPWFO-SR2Y6-4YBXQ-SGBKT"></script>
     <!--  <link rel="icon" href="<%= BASE_URL %>favicon.png">-->
   <link rel="icon" href="<%= BASE_URL %>tubaoFavicon.ico">
   <!-- stimulsoft -->

+ 4 - 0
src/main.js

@@ -355,3 +355,7 @@ Fingerprint2.get(function (components) {
     localStorage.setItem('browserID', murmur)
   }
 })
+
+Vue.prototype.$Map = window.TMap
+Vue.prototype.$Location = new window.TMap.Geolocation('CB2BZ-T3IWN-UPWFO-SR2Y6-4YBXQ-SGBKT', '腾讯地图模板')
+

+ 1172 - 1013
src/views/wel/home/landTransportation/components/sales-trend.vue

@@ -1,1081 +1,1240 @@
 <template>
-  <div class="home-container">
-    <el-card class="home-container__card">
-      <div>
-        <div class="content" v-loading="loading" v-if="!(roleName.indexOf('司机') !== -1)">
-          <!--散货-->
-          <avue-crud
-              v-if="mold == 2"
-              :data="tableData"
-              :key="key"
-              :option="optionTwo"
-              ref="crud"
-              @refresh-change="refresh"
-              @resetColumn="resetColumnTwo('crud','optionTwo','bulkCargoList',140.1)"
-              @saveColumn="saveColumnTwo('crud','optionTwo','bulkCargoList',140.1)">
-            <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="unloadingPlace" slot-scope="{ row,index}">
-              <el-tooltip class="item" effect="dark" placement="top">
-                <div v-html="ToBreak(row.unloadingPlace)" slot="content"></div>
-                <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{ row.unloadingPlace }}</div>
-              </el-tooltip>
-            </template>
-            <template slot="plateNo" slot-scope="{row}">
+    <div class="home-container">
+        <el-card class="home-container__card">
+            <div>
+                <div class="content" v-loading="loading" v-if="!(roleName.indexOf('司机') !== -1)">
+                    <!--散货-->
+                    <avue-crud
+                        v-if="mold == 2"
+                        :data="tableData"
+                        :key="key"
+                        :option="optionTwo"
+                        ref="crud"
+                        @refresh-change="refresh"
+                        @resetColumn="resetColumnTwo('crud','optionTwo','bulkCargoList',140.1)"
+                        @saveColumn="saveColumnTwo('crud','optionTwo','bulkCargoList',140.1)">
+                        <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="unloadingPlace" slot-scope="{ row,index}">
+                            <el-tooltip class="item" effect="dark" placement="top">
+                                <div v-html="ToBreak(row.unloadingPlace)" slot="content"></div>
+                                <div style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
+                                    {{ row.unloadingPlace }}
+                                </div>
+                            </el-tooltip>
+                        </template>
+                        <template slot="plateNo" slot-scope="{row}">
                 <span class="el-button--text" style="cursor: pointer"
                       @click="openTrack(row,1)">{{ row.plateNo }}</span>
-            </template>
-            <template slot="dispatchNumber" slot-scope="{row}">
+                        </template>
+                        <template slot="dispatchNumber" slot-scope="{row}">
                 <span class="el-button--text" style="cursor: pointer"
                       @click="openTrackTwo(row,0)">{{ row.dispatchNumber }}</span>
-            </template>
-            <template slot="menuLeft">
-              <span @click="getsalesTrend({status: 0, mold:mold})">今日业务详情{{ mold == 1 ? '(集装箱)' : mold == 2 ? '(散货)' : mold == 3 ? '(特种)' : '' }}</span>
-            </template>
-            <template slot="status" slot-scope="{row}">
-              <span v-if="row.status == 0" style="color: #3C9CFF;">未提交</span>
-              <span v-if="row.status == 1" style="color: #ffa21e;">未调度</span>
-              <span v-if="row.status == 2" style="color: #fb5b60;">未派车</span>
-              <span v-if="row.status == 3" style="color: #42bc6f;">未受理</span>
-              <span v-if="row.status == 4" style="color: #14cde1;">未完工</span>
-              <span v-if="row.status == 5" style="color: #04421fa1;">工单关闭</span>
-              <span v-if="row.status == 6" style="color: #F56C6C;">未到厂</span>
-            </template>
-          </avue-crud>
-          <!--集装箱-->
-          <avue-crud v-else :data="tableData" :option="option" :key="key" ref="crud" @refresh-change="refresh"
-                     @resetColumn="resetColumn"
-                     @saveColumn="saveColumn">
-            <template slot="menuLeft">
-              <span @click="getsalesTrend({status: 0, mold: mold})">今日业务详情{{ mold == 1 ? '(集装箱)' : mold == 2 ? '(散货)' : mold == 3 ? '(特种)' : '' }}</span>
-            </template>
-            <template slot="billNo" slot-scope="{row}">
+                        </template>
+                        <template slot="menuLeft">
+                            <span @click="getsalesTrend({status: 0, mold:mold})">今日业务详情{{
+                                    mold == 1 ? '(集装箱)' : mold == 2 ? '(散货)' : mold == 3 ? '(特种)' : ''
+                                }}</span>
+                        </template>
+                        <template slot="status" slot-scope="{row}">
+                            <span v-if="row.status == 0" style="color: #3C9CFF;">未提交</span>
+                            <span v-if="row.status == 1" style="color: #ffa21e;">未调度</span>
+                            <span v-if="row.status == 2" style="color: #fb5b60;">未派车</span>
+                            <span v-if="row.status == 3" style="color: #42bc6f;">未受理</span>
+                            <span v-if="row.status == 4" style="color: #14cde1;">未完工</span>
+                            <span v-if="row.status == 5" style="color: #04421fa1;">工单关闭</span>
+                            <span v-if="row.status == 6" style="color: #F56C6C;">未到厂</span>
+                        </template>
+                    </avue-crud>
+                    <!--集装箱-->
+                    <avue-crud v-else :data="tableData" :option="option" :key="key" ref="crud" @refresh-change="refresh"
+                               @resetColumn="resetColumn"
+                               @saveColumn="saveColumn">
+                        <template slot="menuLeft">
+                            <span @click="getsalesTrend({status: 0, mold: mold})">今日业务详情{{
+                                    mold == 1 ? '(集装箱)' : mold == 2 ? '(散货)' : mold == 3 ? '(特种)' : ''
+                                }}</span>
+                        </template>
+                        <template slot="billNo" slot-scope="{row}">
                 <span class="el-button--text" style="cursor: pointer"
                       @click="openTrack(row,0)">{{ row.billNo }}</span>
-            </template>
-            <template slot="plateNo" slot-scope="{row}">
+                        </template>
+                        <template slot="plateNo" slot-scope="{row}">
                 <span class="el-button--text" style="cursor: pointer"
                       @click="openTrack(row,1)">{{ row.plateNo }}</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="status" slot-scope="{row}">
-              <span v-if="row.status == 0" style="color: #ffa21e;">未调度</span>
-              <span v-if="row.status == 1" style="color: #fb5b60;">未派车</span>
-              <span v-if="row.status == 2" style="color: #42bc6f;">未受理</span>
-              <span v-if="row.status == 3" style="color: #14cde1;">未完工</span>
-              <span v-if="row.status == 5" style="color: #F56C6C;">未到厂</span>
-              <span v-if="row.status == 4" style="color: #04421fa1;">工单关闭</span>
-              <span v-if="row.status == 6" style="color: #3C9CFF;">未提箱</span>
-            </template>
-          </avue-crud>
-        </div>
-      </div>
-    </el-card>
-    <el-dialog
-        title="实时位置"
-        append-to-body
-        custom-class="dialog_two"
-        :visible.sync="dialogVisible"
-        lock-scroll
-        width="80%">
-      <div id="container"></div>
-    </el-dialog>
-  </div>
+                        </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="status" slot-scope="{row}">
+                            <span v-if="row.status == 0" style="color: #ffa21e;">未调度</span>
+                            <span v-if="row.status == 1" style="color: #fb5b60;">未派车</span>
+                            <span v-if="row.status == 2" style="color: #42bc6f;">未受理</span>
+                            <span v-if="row.status == 3" style="color: #14cde1;">未完工</span>
+                            <span v-if="row.status == 5" style="color: #F56C6C;">未到厂</span>
+                            <span v-if="row.status == 4" style="color: #04421fa1;">工单关闭</span>
+                            <span v-if="row.status == 6" style="color: #3C9CFF;">未提箱</span>
+                        </template>
+                    </avue-crud>
+                </div>
+            </div>
+        </el-card>
+        <el-dialog
+            title="实时位置"
+            append-to-body
+            custom-class="dialog_two"
+            :visible.sync="dialogVisible"
+            lock-scroll
+            width="80%">
+            <div id="container"></div>
+        </el-dialog>
+    </div>
 </template>
 
 <script>
 import {active, frequency} from "@/api/wel";
-import {gaude, location} from "@/api/gaude";
-import data from "@/views/util/data";
+import {location} from "@/api/gaude";
 
 export default {
-  name: "basicContainer",
-  props: {
-    sysType: Number
-  },
-  watch:{
-    mold:{
-      handler(newValue, oldValue){
-        this.reset()
-      }
-    }
-  },
-  data() {
-    return {
-      entrustTimer: null,
-      roleName: localStorage.getItem("roleName").split(','),
-      dialogVisible: false,
-      loading: false,
-      mold: 0,
-      status: 1,
-      tableData: [],
-      map: null,
-      infoWindow: null,
-      marker: null,
-      lineArr: [],
-      key: 0,
-      option: {},
-      optionList: {
-        stripe: true,
-        index: true,
-        menu: false,
-        refreshBtn: true,
-        addBtn: false,
-        height: 390,
-        align: 'center',
-        column: [
-          {
-            label: '货运日期',
-            prop: 'arrivalTime',
-            type: "date",
-            format: "yyyy-MM-dd HH:mm",
-            index: 1,
-            width: 150,
-            overHidden: true,
-          },
-          {
-            label: '货运地点',
-            prop: 'addressDetail',
-            index: 3,
-            width: 100
-          },
-          {
-            label: '票据号',
-            prop: 'receiptNo',
-            index: 4,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '提单号',
-            prop: 'billNo',
-            index: 5,
-            width: 140,
-            overHidden: true,
-          },
-          {
-            label: '场站',
-            prop: 'station',
-            index: 6,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '箱型箱量',
-            prop: 'ctnDetail',
-            index: 7,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '车队',
-            prop: 'fleetShortName',
-            index: 11,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '车号',
-            prop: 'plateNo',
-            index: 12,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '状态',
-            prop: 'status',
-            type: 'select',
-            dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status",
-            props: {
-              label: "dictValue",
-              value: "dictKey"
+    name: "basicContainer",
+    props: {
+        sysType: Number
+    },
+    watch: {
+        mold: {
+            handler(newValue, oldValue) {
+                this.reset()
+            }
+        }
+    },
+    data() {
+        return {
+            entrustTimer: null,
+            roleName: localStorage.getItem("roleName").split(','),
+            dialogVisible: false,
+            loading: false,
+            mold: 0,
+            status: 1,
+            tableData: [],
+            map: null,
+            infoWindow: null,
+            marker: null,
+            lineArr: [],
+            key: 0,
+            option: {},
+            optionList: {
+                stripe: true,
+                index: true,
+                menu: false,
+                refreshBtn: true,
+                addBtn: false,
+                height: 390,
+                align: 'center',
+                column: [
+                    {
+                        label: '货运日期',
+                        prop: 'arrivalTime',
+                        type: "date",
+                        format: "yyyy-MM-dd HH:mm",
+                        index: 1,
+                        width: 150,
+                        overHidden: true,
+                    },
+                    {
+                        label: '货运地点',
+                        prop: 'addressDetail',
+                        index: 3,
+                        width: 100
+                    },
+                    {
+                        label: '票据号',
+                        prop: 'receiptNo',
+                        index: 4,
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: '提单号',
+                        prop: 'billNo',
+                        index: 5,
+                        width: 140,
+                        overHidden: true,
+                    },
+                    {
+                        label: '场站',
+                        prop: 'station',
+                        index: 6,
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: '箱型箱量',
+                        prop: 'ctnDetail',
+                        index: 7,
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: '车队',
+                        prop: 'fleetShortName',
+                        index: 11,
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: '车号',
+                        prop: 'plateNo',
+                        index: 12,
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: '状态',
+                        prop: 'status',
+                        type: 'select',
+                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status",
+                        props: {
+                            label: "dictValue",
+                            value: "dictKey"
+                        },
+                        dataType: "string",
+                        index: 13,
+                        width: 100,
+                        overHidden: true,
+                    }, {
+                        label: '备注',
+                        prop: 'remarks',
+                        index: 17,
+                        width: 100,
+                        overHidden: true,
+                    },
+                ]
             },
-            dataType: "string",
-            index: 13,
-            width: 100,
-            overHidden: true,
-          }, {
-            label: '备注',
-            prop: 'remarks',
-            index: 17,
-            width: 100,
-            overHidden: true,
-          },
-        ]
-      },
-      optionTwo: {},
-      bulkCargoList: {},
-      // 客户
-      bulkCargoListOne: {
-        stripe: true,
-        index: true,
-        menu: false,
-        refreshBtn: true,
-        addBtn: false,
-        height: 390,
-        align: 'center',
-        column: [{
-          label: '货运日期',
-          prop: 'arrivalTime',
-          type: "date",
-          format: "yyyy-MM-dd HH:mm",
-          index: 1,
-          width: 150,
-          overHidden: true,
-        },{
-          label: '客户名称',
-          prop: 'corpShortName',
-          index: 2,
-          width: 100,
-          overHidden: true,
-        },{
-          label: '业务员',
-          prop: 'salesmanName',
-          index: 2,
-          width: 70,
-          overHidden: true,
-        }, {
-          label: '物流运输',
-          prop: 'dispatchDeptName',
-          overHidden: true,
-          index: 3,
-          width: 80
-        }, {
-          label: '派车单号',
-          width: 90,
-          index: 4,
-          overHidden: true,
-          prop: 'dispatchNumber'
-        }, {
-          label: '合同号',
-          width: 90,
-          index: 5,
-          overHidden: true,
-          prop: 'contractNo'
-        }, {
-          label: '装货地点',
-          prop: 'addressDetail',
-          index: 6,
-          width: 130,
-        }, {
-          label: '卸货地点',
-          prop: 'unloadingPlace',
-          index: 7,
-          width: 130,
-        }, {
-          label: '车型',
-          width: 80,
-          index: 8,
-          prop: 'fleetVolum'
-        }, {
-          label: '车队',
-          prop: 'fleetShortName',
-          index: 9,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '车号',
-          prop: 'plateNo',
-          index: 10,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '状态',
-          prop: 'status',
-          index: 11,
-          dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
-          props: {
-            label: "dictValue",
-            value: "dictKey"
-          },
-          dataType: "string",
-          type: 'select',
-          overHidden: true,
-          width: 90
-        }, {
-          label: '应收运费',
-          prop: 'freightCollect',
-          index: 12,
-          width: 100,
-          overHidden: true,
-        }, {
-          label: '应收杂费',
-          prop: 'extraAmountD',
-          index: 13,
-          width: 100,
-          overHidden: true,
-        }, {
-          label: '备注',
-          prop: 'remarks',
-          index: 14,
-          width: 130,
-          overHidden: true,
-        }]
-      },
-      // 平台
-      bulkCargoListTwo: {
-        stripe: true,
-        index: true,
-        menu: false,
-        refreshBtn: true,
-        addBtn: false,
-        height: 390,
-        align: 'center',
-        column: [{
-          label: '货运日期',
-          prop: 'arrivalTime',
-          type: "date",
-          format: "yyyy-MM-dd HH:mm",
-          index: 1,
-          width: 150,
-          overHidden: true,
-        },{
-          label: '客户名称',
-          prop: 'corpShortName',
-          index: 2,
-          width: 100,
-          overHidden: true,
-        }, {
-          label: '业务员',
-          prop: 'salesmanName',
-          index: 3,
-          width: 70,
-          overHidden: true,
-        },{
-          label: '运输调度',
-          prop: 'dispatcherName',
-          overHidden: true,
-          index: 4,
-          width: 80,
-        }, {
-          label: '派车单号',
-          width: 90,
-          index: 5,
-          overHidden: true,
-          prop: 'dispatchNumber'
-        }, {
-          label: '合同号',
-          width: 90,
-          index: 6,
-          overHidden: true,
-          prop: 'contractNo'
-        }, {
-          label: '装货地点',
-          prop: 'addressDetail',
-          index: 7,
-          width: 130,
-        }, {
-          label: '卸货地点',
-          prop: 'unloadingPlace',
-          index: 8,
-          width: 130,
-        }, {
-          label: '车型',
-          width: 80,
-          index: 9,
-          prop: 'fleetVolum'
-        }, {
-          label: '车队',
-          prop: 'fleetShortName',
-          index: 10,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '车号',
-          prop: 'plateNo',
-          index: 11,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '状态',
-          prop: 'status',
-          index: 12,
-          dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
-          props: {
-            label: "dictValue",
-            value: "dictKey"
-          },
-          dataType: "string",
-          type: 'select',
-          overHidden: true,
-          width: 90
-        }, {
-          label: '应收运费',
-          prop: 'freightCollect',
-          index: 13,
-          width: 100,
-          overHidden: true,
-        }, {
-          label: '应付运费',
-          prop: 'landAmountC',
-          index: 14,
-          width: 100,
-          overHidden: true,
-        }, {
-          label: '应收杂费',
-          prop: 'extraAmountD',
-          index: 15,
-          width: 100,
-          overHidden: true,
-        },{
-          label: '应付杂费',
-          prop: 'extraAmountC',
-          index: 16,
-          width: 100,
-          overHidden: true
-        }, {
-          label: '备注',
-          prop: 'remarks',
-          index: 17,
-          width: 130,
-          overHidden: true,
-        }]
-      },
-      // 车队
-      bulkCargoListThree: {
-        stripe: true,
-        index: true,
-        menu: false,
-        refreshBtn: true,
-        addBtn: false,
-        height: 390,
-        align: 'center',
-        column: [{
-          label: '货运日期',
-          prop: 'arrivalTime',
-          type: "date",
-          format: "yyyy-MM-dd HH:mm",
-          index: 1,
-          width: 150,
-          overHidden: true,
-        }, {
-          label: '物流运输',
-          prop: 'dispatchDeptName',
-          overHidden: true,
-          index: 2,
-          width: 80
-        },{
-          label: '运输调度',
-          prop: 'dispatcherName',
-          overHidden: true,
-          index: 3,
-          width: 70,
-        }, {
-          label: '派车单号',
-          width: 90,
-          index: 4,
-          overHidden: true,
-          prop: 'dispatchNumber'
-        }, {
-          label: '合同号',
-          width: 90,
-          index: 5,
-          overHidden: true,
-          prop: 'contractNo'
-        }, {
-          label: '装货地点',
-          prop: 'addressDetail',
-          index: 6,
-          width: 130,
-        }, {
-          label: '卸货地点',
-          prop: 'unloadingPlace',
-          index: 7,
-          width: 130,
-        }, {
-          label: '车型',
-          width: 80,
-          index: 8,
-          prop: 'fleetVolum'
-        }, {
-          label: '车队',
-          prop: 'fleetShortName',
-          index: 9,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '车号',
-          prop: 'plateNo',
-          index: 10,
-          width: 90,
-          overHidden: true,
-        }, {
-          label: '状态',
-          prop: 'status',
-          index: 11,
-          dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
-          props: {
-            label: "dictValue",
-            value: "dictKey"
-          },
-          dataType: "string",
-          type: 'select',
-          overHidden: true,
-          width: 90
-        }, {
-          label: '应付运费',
-          prop: 'freightPay',
-          index: 12,
-          width: 100,
-          overHidden: true,
-        },{
-          label: '应付杂费',
-          prop: 'extraAmountC',
-          index: 13,
-          width: 100,
-          overHidden: true
-        }, {
-          label: '备注',
-          prop: 'remarks',
-          index: 14,
-          width: 130,
-          overHidden: true,
-        }]
-      },
-    };
-  },
-  async mounted() {
-    this.option = await this.getColumnData(this.getColumnName(140), this.optionList);
-    if (this.roleName.indexOf('客户') !== -1) {
-      this.bulkCargoList = this.bulkCargoListOne
-    } else if (this.roleName.indexOf('平台') !== -1||this.roleName.indexOf('admin') !== -1) {
-      this.bulkCargoList = this.bulkCargoListTwo
-    } else if (this.roleName.indexOf('车队') !== -1) {
-      this.bulkCargoList = this.bulkCargoListThree
-    } else {
-      this.bulkCargoList = this.bulkCargoListOne
-    }
-    this.optionTwo = await this.getColumnData(this.getColumnName(140.1), this.bulkCargoList);
-    this.key++
+            optionTwo: {},
+            bulkCargoList: {},
+            // 客户
+            bulkCargoListOne: {
+                stripe: true,
+                index: true,
+                menu: false,
+                refreshBtn: true,
+                addBtn: false,
+                height: 390,
+                align: 'center',
+                column: [{
+                    label: '货运日期',
+                    prop: 'arrivalTime',
+                    type: "date",
+                    format: "yyyy-MM-dd HH:mm",
+                    index: 1,
+                    width: 150,
+                    overHidden: true,
+                }, {
+                    label: '客户名称',
+                    prop: 'corpShortName',
+                    index: 2,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '业务员',
+                    prop: 'salesmanName',
+                    index: 2,
+                    width: 70,
+                    overHidden: true,
+                }, {
+                    label: '物流运输',
+                    prop: 'dispatchDeptName',
+                    overHidden: true,
+                    index: 3,
+                    width: 80
+                }, {
+                    label: '派车单号',
+                    width: 90,
+                    index: 4,
+                    overHidden: true,
+                    prop: 'dispatchNumber'
+                }, {
+                    label: '合同号',
+                    width: 90,
+                    index: 5,
+                    overHidden: true,
+                    prop: 'contractNo'
+                }, {
+                    label: '装货地点',
+                    prop: 'addressDetail',
+                    index: 6,
+                    width: 130,
+                }, {
+                    label: '卸货地点',
+                    prop: 'unloadingPlace',
+                    index: 7,
+                    width: 130,
+                }, {
+                    label: '车型',
+                    width: 80,
+                    index: 8,
+                    prop: 'fleetVolum'
+                }, {
+                    label: '车队',
+                    prop: 'fleetShortName',
+                    index: 9,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '车号',
+                    prop: 'plateNo',
+                    index: 10,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '状态',
+                    prop: 'status',
+                    index: 11,
+                    dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
+                    props: {
+                        label: "dictValue",
+                        value: "dictKey"
+                    },
+                    dataType: "string",
+                    type: 'select',
+                    overHidden: true,
+                    width: 90
+                }, {
+                    label: '应收运费',
+                    prop: 'freightCollect',
+                    index: 12,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应收杂费',
+                    prop: 'extraAmountD',
+                    index: 13,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '备注',
+                    prop: 'remarks',
+                    index: 14,
+                    width: 130,
+                    overHidden: true,
+                }]
+            },
+            // 平台
+            bulkCargoListTwo: {
+                stripe: true,
+                index: true,
+                menu: false,
+                refreshBtn: true,
+                addBtn: false,
+                height: 390,
+                align: 'center',
+                column: [{
+                    label: '货运日期',
+                    prop: 'arrivalTime',
+                    type: "date",
+                    format: "yyyy-MM-dd HH:mm",
+                    index: 1,
+                    width: 150,
+                    overHidden: true,
+                }, {
+                    label: '客户名称',
+                    prop: 'corpShortName',
+                    index: 2,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '业务员',
+                    prop: 'salesmanName',
+                    index: 3,
+                    width: 70,
+                    overHidden: true,
+                }, {
+                    label: '运输调度',
+                    prop: 'dispatcherName',
+                    overHidden: true,
+                    index: 4,
+                    width: 80,
+                }, {
+                    label: '派车单号',
+                    width: 90,
+                    index: 5,
+                    overHidden: true,
+                    prop: 'dispatchNumber'
+                }, {
+                    label: '合同号',
+                    width: 90,
+                    index: 6,
+                    overHidden: true,
+                    prop: 'contractNo'
+                }, {
+                    label: '装货地点',
+                    prop: 'addressDetail',
+                    index: 7,
+                    width: 130,
+                }, {
+                    label: '卸货地点',
+                    prop: 'unloadingPlace',
+                    index: 8,
+                    width: 130,
+                }, {
+                    label: '车型',
+                    width: 80,
+                    index: 9,
+                    prop: 'fleetVolum'
+                }, {
+                    label: '车队',
+                    prop: 'fleetShortName',
+                    index: 10,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '车号',
+                    prop: 'plateNo',
+                    index: 11,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '状态',
+                    prop: 'status',
+                    index: 12,
+                    dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
+                    props: {
+                        label: "dictValue",
+                        value: "dictKey"
+                    },
+                    dataType: "string",
+                    type: 'select',
+                    overHidden: true,
+                    width: 90
+                }, {
+                    label: '应收运费',
+                    prop: 'freightCollect',
+                    index: 13,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应付运费',
+                    prop: 'landAmountC',
+                    index: 14,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应收杂费',
+                    prop: 'extraAmountD',
+                    index: 15,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应付杂费',
+                    prop: 'extraAmountC',
+                    index: 16,
+                    width: 100,
+                    overHidden: true
+                }, {
+                    label: '备注',
+                    prop: 'remarks',
+                    index: 17,
+                    width: 130,
+                    overHidden: true,
+                }]
+            },
+            // 车队
+            bulkCargoListThree: {
+                stripe: true,
+                index: true,
+                menu: false,
+                refreshBtn: true,
+                addBtn: false,
+                height: 390,
+                align: 'center',
+                column: [{
+                    label: '货运日期',
+                    prop: 'arrivalTime',
+                    type: "date",
+                    format: "yyyy-MM-dd HH:mm",
+                    index: 1,
+                    width: 150,
+                    overHidden: true,
+                }, {
+                    label: '物流运输',
+                    prop: 'dispatchDeptName',
+                    overHidden: true,
+                    index: 2,
+                    width: 80
+                }, {
+                    label: '运输调度',
+                    prop: 'dispatcherName',
+                    overHidden: true,
+                    index: 3,
+                    width: 70,
+                }, {
+                    label: '派车单号',
+                    width: 90,
+                    index: 4,
+                    overHidden: true,
+                    prop: 'dispatchNumber'
+                }, {
+                    label: '合同号',
+                    width: 90,
+                    index: 5,
+                    overHidden: true,
+                    prop: 'contractNo'
+                }, {
+                    label: '装货地点',
+                    prop: 'addressDetail',
+                    index: 6,
+                    width: 130,
+                }, {
+                    label: '卸货地点',
+                    prop: 'unloadingPlace',
+                    index: 7,
+                    width: 130,
+                }, {
+                    label: '车型',
+                    width: 80,
+                    index: 8,
+                    prop: 'fleetVolum'
+                }, {
+                    label: '车队',
+                    prop: 'fleetShortName',
+                    index: 9,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '车号',
+                    prop: 'plateNo',
+                    index: 10,
+                    width: 90,
+                    overHidden: true,
+                }, {
+                    label: '状态',
+                    prop: 'status',
+                    index: 11,
+                    dicUrl: "/api/blade-system/dict-biz/dictionary?code=land_order_status_two",
+                    props: {
+                        label: "dictValue",
+                        value: "dictKey"
+                    },
+                    dataType: "string",
+                    type: 'select',
+                    overHidden: true,
+                    width: 90
+                }, {
+                    label: '应付运费',
+                    prop: 'freightPay',
+                    index: 12,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应付杂费',
+                    prop: 'extraAmountC',
+                    index: 13,
+                    width: 100,
+                    overHidden: true
+                }, {
+                    label: '备注',
+                    prop: 'remarks',
+                    index: 14,
+                    width: 130,
+                    overHidden: true,
+                }]
+            },
+        };
+    },
+    async mounted() {
+        this.option = await this.getColumnData(this.getColumnName(140), this.optionList);
+        if (this.roleName.indexOf('客户') !== -1) {
+            this.bulkCargoList = this.bulkCargoListOne
+        } else if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('admin') !== -1) {
+            this.bulkCargoList = this.bulkCargoListTwo
+        } else if (this.roleName.indexOf('车队') !== -1) {
+            this.bulkCargoList = this.bulkCargoListThree
+        } else {
+            this.bulkCargoList = this.bulkCargoListOne
+        }
+        this.optionTwo = await this.getColumnData(this.getColumnName(140.1), this.bulkCargoList);
+        this.key++
 
 
-      let menuobj = {status:0, mold:1,}
-      //从缓存中获取所有路由信息 判断菜单权限
-      let menu = JSON.parse(localStorage.getItem("saber-menuAll")).content
-      for (let item of menu){
-          if (item.id == '1499196328461225986') {
-              menuobj.mold = 1
-              break;
-          }else {
-              if (item.id == '1673857442015977474') {
-                  menuobj.mold = 3
-                  break;
-              }
-          }
-      }
-    await this.getsalesTrend(menuobj)
+        let menuobj = {status: 0, mold: 1,}
+        //从缓存中获取所有路由信息 判断菜单权限
+        let menu = JSON.parse(localStorage.getItem("saber-menuAll")).content
+        for (let item of menu) {
+            if (item.id == '1499196328461225986') {
+                menuobj.mold = 1
+                break;
+            } else {
+                if (item.id == '1673857442015977474') {
+                    menuobj.mold = 3
+                    break;
+                }
+            }
+        }
+        await this.getsalesTrend(menuobj)
 
 
-    this.init()
+        this.init()
 
-    if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('admin') !== -1) {
-      for (let item of this.option.column) {
-        if (item.prop === 'extraAmountC') return this.reset()
-      }
-      this.option.column.push({
-            label: '客户名称',
-            prop: 'corpShortName',
-            index: 2,
-            width: 100,
-            overHidden: true,
-          },{
-            label: '业务员',
-            prop: 'salesmanName',
-            index: 2,
-            width: 60,
-            overHidden: true,
-          }, {
-          label: '揽货员',
-          prop: 'pickUpGoodsUserName',
-          index: 2,
-          width: 60,
-          overHidden: true,
-          }, {
-            label: '运输调度',
-            prop: 'dispatcherName',
-            overHidden: true,
-            index: 2,
-            width: 100,
-          },
-          {
-            label: '应付杂费',
-            prop: 'extraAmountC',
-            index: 14,
-            width: 100,
-            overHidden: true
-          },
-          {
-            label: '应收运费',
-            prop: 'landAmountD',
-            index: 13,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '应收杂费',
-            prop: 'extraAmountD',
-            index: 13,
-            width: 100,
-            overHidden: true,
-          })
-      this.reset()
-    }
-    if (this.roleName.indexOf('车队') !== -1) {
-      for (let item of this.option.column) {
-        if (item.prop === 'extraAmountC') return
-      }
-      this.option.column.push(
-          {
-            label: '物流运输',
-            prop: 'dispatchDeptName',
-            overHidden: true,
-            index: 1,
-            width: 100
-          }, {
-            label: '运输调度',
-            prop: 'dispatcherName',
-            overHidden: true,
-            index: 1,
-            width: 100,
-          }, {
-            label: '应付运费',
-            prop: 'landAmountC',
-            index: 13,
-            width: 100,
-            overHidden: true,
-          }, {
-            label: '应付杂费',
-            prop: 'extraAmountC',
-            index: 13,
-            width: 100,
-            overHidden: true
-          }
-      )
-    }
-    if (this.roleName.indexOf('客户') !== -1) {
-      for (let item of this.option.column) {
-        if (item.prop === 'salesmanName') return
-      }
-      this.option.column.push(
-          {
-            label: '客户名称',
-            prop: 'corpShortName',
-            index: 2,
-            width: 100,
-            overHidden: true,
-          },{
-            label: '业务员',
-            prop: 'salesmanName',
-            index: 2,
-            width: 60,
-            overHidden: true,
-          }, {
-            label: '物流运输',
-            prop: 'dispatchDeptName',
-            overHidden: true,
-            index: 2,
-            width: 100
-          },
-          {
-            label: '应收运费',
-            prop: 'landAmountD',
-            index: 14,
-            width: 100,
-            overHidden: true,
-          },
-          {
-            label: '应收杂费',
-            prop: 'extraAmountD',
-            index: 15,
-            width: 100,
-            overHidden: true,
-          }
-      )
-    }
-  },
-  beforeDestroy() {
-    this.map && this.map.destroy();
-    clearInterval(this.entrustTimer); //关闭
-  },
-  methods: {
-    reset(){
-      if (this.roleName.indexOf('调度中心业务员') !== -1 || this.roleName.indexOf('调度中心经理') !== -1){
-        if (this.findObject(this.option.column, "landAmountD")){
-          this.findObject(this.option.column, "landAmountD").hide = true
-          this.findObject(this.option.column, "landAmountD").showColumn = false
-        }
-        if (this.findObject(this.option.column, "extraAmountD")){
-          this.findObject(this.option.column, "extraAmountD").hide = true
-          this.findObject(this.option.column, "extraAmountD").showColumn = false
-        }
-        if(this.findObject(this.optionTwo.column, "freightCollect")) {
-          this.findObject(this.optionTwo.column, "freightCollect").hide = true
-          this.findObject(this.optionTwo.column, "freightCollect").showColumn = false
-        }
-        if (this.findObject(this.optionTwo.column, "extraAmountD")){
-          this.findObject(this.optionTwo.column, "extraAmountD").hide = true
-          this.findObject(this.optionTwo.column, "extraAmountD").showColumn = false
-        }
-      }
-      this.key++
-    },
-    //自定义列保存
-    async saveColumn() {
-      /**
-       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
-       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
-       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
-       */
-      const inSave = await this.saveColumnData(this.getColumnName(140), this.option);
-      if (inSave) {
-        this.$message.success("保存成功");
-        //关闭窗口
-        this.$refs.crud.$refs.dialogColumn.columnBox = false;
-      }
-    },
-    //自定义列重置
-    async resetColumn() {
-      this.option = this.optionList;
-      const inSave = await this.delColumnData(this.getColumnName(140), this.optionList);
-      if (inSave) {
-        this.$message.success("重置成功");
-        //关闭窗口
-        this.$refs.crud.$refs.dialogColumn.columnBox = false;
-        this.key++
-        if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('大件调度') !== -1) {
-          for (let item of this.option.column) {
-            if (item.prop === 'extraAmountC') return this.reset()
-          }
-          this.option.column.push(
-              {
-                label: '客户名称',
-                prop: 'corpShortName',
-                index: 2,
-                width: 100,
-                overHidden: true,
-              },{
-                label: '业务员',
-                prop: 'salesmanName',
-                index: 2,
-                width: 60,
-                overHidden: true,
-              }, {
-                label: '运输调度',
-                prop: 'dispatcherName',
-                overHidden: true,
-                index: 2,
-                width: 100,
-              },
-               {
-                label: '应付杂费',
-                prop: 'extraAmountC',
-                index: 14,
-                width: 100,
-                overHidden: true
-              },
-              {
-                label: '应收运费',
-                prop: 'landAmountD',
-                index: 13,
-                width: 100,
-                overHidden: true,
-              },
-              {
-                label: '应收杂费',
-                prop: 'extraAmountD',
-                index: 13,
-                width: 100,
-                overHidden: true,
-              }
-          )
-          this.reset()
+        if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('admin') !== -1) {
+            for (let item of this.option.column) {
+                if (item.prop === 'extraAmountC') return this.reset()
+            }
+            this.option.column.push({
+                    label: '客户名称',
+                    prop: 'corpShortName',
+                    index: 2,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '业务员',
+                    prop: 'salesmanName',
+                    index: 2,
+                    width: 60,
+                    overHidden: true,
+                }, {
+                    label: '揽货员',
+                    prop: 'pickUpGoodsUserName',
+                    index: 2,
+                    width: 60,
+                    overHidden: true,
+                }, {
+                    label: '运输调度',
+                    prop: 'dispatcherName',
+                    overHidden: true,
+                    index: 2,
+                    width: 100,
+                },
+                {
+                    label: '应付杂费',
+                    prop: 'extraAmountC',
+                    index: 14,
+                    width: 100,
+                    overHidden: true
+                },
+                {
+                    label: '应收运费',
+                    prop: 'landAmountD',
+                    index: 13,
+                    width: 100,
+                    overHidden: true,
+                },
+                {
+                    label: '应收杂费',
+                    prop: 'extraAmountD',
+                    index: 13,
+                    width: 100,
+                    overHidden: true,
+                })
+            this.reset()
         }
         if (this.roleName.indexOf('车队') !== -1) {
-          for (let item of this.option.column) {
-            if (item.prop === 'extraAmountC') return
-          }
-          this.option.column.push(
-              {
-                label: '物流运输',
-                prop: 'dispatchDeptName',
-                overHidden: true,
-                index: 1,
-                width: 100
-              }, {
-                label: '运输调度',
-                prop: 'dispatcherName',
-                overHidden: true,
-                index: 1,
-                width: 100,
-              }, {
-                label: '应付运费',
-                prop: 'landAmountC',
-                index: 13,
-                width: 100,
-                overHidden: true,
-              }, {
-                label: '应付杂费',
-                prop: 'extraAmountC',
-                index: 13,
-                width: 100,
-                overHidden: true
-              }
-          )
+            for (let item of this.option.column) {
+                if (item.prop === 'extraAmountC') return
+            }
+            this.option.column.push(
+                {
+                    label: '物流运输',
+                    prop: 'dispatchDeptName',
+                    overHidden: true,
+                    index: 1,
+                    width: 100
+                }, {
+                    label: '运输调度',
+                    prop: 'dispatcherName',
+                    overHidden: true,
+                    index: 1,
+                    width: 100,
+                }, {
+                    label: '应付运费',
+                    prop: 'landAmountC',
+                    index: 13,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '应付杂费',
+                    prop: 'extraAmountC',
+                    index: 13,
+                    width: 100,
+                    overHidden: true
+                }
+            )
         }
         if (this.roleName.indexOf('客户') !== -1) {
-          for (let item of this.option.column) {
-            if (item.prop === 'salesmanName') return
-          }
-          this.option.column.push(
-              {
-                label: '客户名称',
-                prop: 'corpShortName',
-                index: 2,
-                width: 100,
-                overHidden: true,
-              },{
-                label: '业务员',
-                prop: 'salesmanName',
-                index: 2,
-                width: 60,
-                overHidden: true,
-              }, {
-                label: '物流运输',
-                prop: 'dispatchDeptName',
-                overHidden: true,
-                index: 2,
-                width: 100
-              },
-
-              {
-                label: '应收运费',
-                prop: 'landAmountD',
-                index: 14,
-                width: 100,
-                overHidden: true,
-              },
-              {
-                label: '应收杂费',
-                prop: 'extraAmountD',
-                index: 15,
-                width: 100,
-                overHidden: true,
-              }
-          )
+            for (let item of this.option.column) {
+                if (item.prop === 'salesmanName') return
+            }
+            this.option.column.push(
+                {
+                    label: '客户名称',
+                    prop: 'corpShortName',
+                    index: 2,
+                    width: 100,
+                    overHidden: true,
+                }, {
+                    label: '业务员',
+                    prop: 'salesmanName',
+                    index: 2,
+                    width: 60,
+                    overHidden: true,
+                }, {
+                    label: '物流运输',
+                    prop: 'dispatchDeptName',
+                    overHidden: true,
+                    index: 2,
+                    width: 100
+                },
+                {
+                    label: '应收运费',
+                    prop: 'landAmountD',
+                    index: 14,
+                    width: 100,
+                    overHidden: true,
+                },
+                {
+                    label: '应收杂费',
+                    prop: 'extraAmountD',
+                    index: 15,
+                    width: 100,
+                    overHidden: true,
+                }
+            )
         }
-
-          if (this.mold == 3) {
-              this.findObject(this.option.column, "billNo").label = "业务号"
-              this.findObject(this.option.column, "ctnDetail").label = "车型车数"
-          }
-      }
-    },
-    //自定义列保存
-    async saveColumnTwo(ref, option, optionBack, code) {
-      /**
-       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
-       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
-       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
-       */
-      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
-      if (inSave) {
-        this.$message.success("保存成功");
-        //关闭窗口
-        this.$refs[ref].$refs.dialogColumn.columnBox = false;
-      }
-    },
-    //自定义列重置
-    async resetColumnTwo(ref, option, optionBack, code) {
-      this[option] = this[optionBack];
-      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
-      if (inSave) {
-        this.$message.success("重置成功");
-        this.$refs[ref].$refs.dialogColumn.columnBox = false;
-        this.reset()
-      }
-    },
-    openTrackTwo(row, index){
-      if (index == 0){
-        this.$router.push({
-          path: '/landTransportation/bulkCargo/index',
-          query: {id: row.orderId},
-        });
-      }
     },
-    openTrack(row, index) {
-      if (index == 0) {
-        this.$router.push({
-          path: '/landTransportation/placeAnOrder/index',
-          query: {id: row.orderId},
-        });
-      } else {
-        // gaude({itemId: row.itemId, plateNo: row.plateNo, tenantId: '234557',color:'2'}).then(res => {
-        //   this.lineArr = res.data.data
-        //   this.dialogVisible = true
-        //   let this_ = this
-        //   setTimeout(function () {
-        //     this_.initMap();
-        //   }, 100)
-        // })
-        location({itemId: row.itemId, plateNo: row.plateNo, tenantId: '234557', color: '2'}).then(res => {
-          this.dialogVisible = true
-          let this_ = this
-          setTimeout(function () {
-            this_.initMap(res.data.data, row.plateNo);
-          }, 1000)
-        })
-      }
+    beforeDestroy() {
+        this.map && this.map.destroy();
+        clearInterval(this.entrustTimer); //关闭
     },
-    markerClick(e) {
-      this.infoWindow.setContent(e.target.content);
-      this.infoWindow.open(this.map, e.target.getPosition());
-    },
-    initMap(data, plateNo) {
-      this.map = new AMap.Map("container", {resizeEnable: true});
-      this.infoWindow = new AMap.InfoWindow({
-        ffset: new AMap.Pixel(0, -30),
-        offset: new AMap.Pixel(0, -30)
-      });
-      let icon = new AMap.Icon({
-        size: new AMap.Size(52, 26), // 图标尺寸
-        image: 'https://trade.tubaosoft.com/file/bladex/000000/1123598821738675201/che.png',
-        imageSize: new AMap.Size(52, 26), // 根据所设置的大小拉伸或压缩图片
-      });
-      this.marker = new AMap.Marker({
-        position: data.location,
-        map: this.map,
-        icon: icon,
-        markerMeta: new AMap.Size(28, 28),
-        offset: new AMap.Pixel(-26, -15),
-        autoRotation: true,
-        angle: -15
-      });
-      this.marker.content = '<div style="width: 300px;">'
-          + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #fff;">' + plateNo + '</p>'
-          + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
-          + '<div style="width: 150px;float: left;">'
-          + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
-          + '</div>'
-          + '<div style="width: 150px;float: right;">'
-          + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
-          + '</div>'
-          + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
-          + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
-          + '</div>'
-      this.infoWindow.open(this.map, this.map.getCenter());
-      this.marker.on('click', this.markerClick);
-      this.marker.emit('click', {target: this.marker});
-      this.map.setFitView();
-    },
-    init() {
-      frequency().then(res => {
-        let this_ = this
-        this_.entrustTimer = setInterval(function () {
-          if (JSON.parse(localStorage.getItem("saber-token")).content) {
-            this_.getsalesTrend({
-              status:this_.status,
-              mold:this_.mold
+    methods: {
+        reset() {
+            if (this.roleName.indexOf('调度中心业务员') !== -1 || this.roleName.indexOf('调度中心经理') !== -1) {
+                if (this.findObject(this.option.column, "landAmountD")) {
+                    this.findObject(this.option.column, "landAmountD").hide = true
+                    this.findObject(this.option.column, "landAmountD").showColumn = false
+                }
+                if (this.findObject(this.option.column, "extraAmountD")) {
+                    this.findObject(this.option.column, "extraAmountD").hide = true
+                    this.findObject(this.option.column, "extraAmountD").showColumn = false
+                }
+                if (this.findObject(this.optionTwo.column, "freightCollect")) {
+                    this.findObject(this.optionTwo.column, "freightCollect").hide = true
+                    this.findObject(this.optionTwo.column, "freightCollect").showColumn = false
+                }
+                if (this.findObject(this.optionTwo.column, "extraAmountD")) {
+                    this.findObject(this.optionTwo.column, "extraAmountD").hide = true
+                    this.findObject(this.optionTwo.column, "extraAmountD").showColumn = false
+                }
+            }
+            this.key++
+        },
+        //自定义列保存
+        async saveColumn() {
+            /**
+             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+             */
+            const inSave = await this.saveColumnData(this.getColumnName(140), this.option);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs.crud.$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumn() {
+            this.option = this.optionList;
+            const inSave = await this.delColumnData(this.getColumnName(140), this.optionList);
+            if (inSave) {
+                this.$message.success("重置成功");
+                //关闭窗口
+                this.$refs.crud.$refs.dialogColumn.columnBox = false;
+                this.key++
+                if (this.roleName.indexOf('平台') !== -1 || this.roleName.indexOf('总调度') !== -1 || this.roleName.indexOf('分管调度') !== -1 || this.roleName.indexOf('大件调度') !== -1) {
+                    for (let item of this.option.column) {
+                        if (item.prop === 'extraAmountC') return this.reset()
+                    }
+                    this.option.column.push(
+                        {
+                            label: '客户名称',
+                            prop: 'corpShortName',
+                            index: 2,
+                            width: 100,
+                            overHidden: true,
+                        }, {
+                            label: '业务员',
+                            prop: 'salesmanName',
+                            index: 2,
+                            width: 60,
+                            overHidden: true,
+                        }, {
+                            label: '运输调度',
+                            prop: 'dispatcherName',
+                            overHidden: true,
+                            index: 2,
+                            width: 100,
+                        },
+                        {
+                            label: '应付杂费',
+                            prop: 'extraAmountC',
+                            index: 14,
+                            width: 100,
+                            overHidden: true
+                        },
+                        {
+                            label: '应收运费',
+                            prop: 'landAmountD',
+                            index: 13,
+                            width: 100,
+                            overHidden: true,
+                        },
+                        {
+                            label: '应收杂费',
+                            prop: 'extraAmountD',
+                            index: 13,
+                            width: 100,
+                            overHidden: true,
+                        }
+                    )
+                    this.reset()
+                }
+                if (this.roleName.indexOf('车队') !== -1) {
+                    for (let item of this.option.column) {
+                        if (item.prop === 'extraAmountC') return
+                    }
+                    this.option.column.push(
+                        {
+                            label: '物流运输',
+                            prop: 'dispatchDeptName',
+                            overHidden: true,
+                            index: 1,
+                            width: 100
+                        }, {
+                            label: '运输调度',
+                            prop: 'dispatcherName',
+                            overHidden: true,
+                            index: 1,
+                            width: 100,
+                        }, {
+                            label: '应付运费',
+                            prop: 'landAmountC',
+                            index: 13,
+                            width: 100,
+                            overHidden: true,
+                        }, {
+                            label: '应付杂费',
+                            prop: 'extraAmountC',
+                            index: 13,
+                            width: 100,
+                            overHidden: true
+                        }
+                    )
+                }
+                if (this.roleName.indexOf('客户') !== -1) {
+                    for (let item of this.option.column) {
+                        if (item.prop === 'salesmanName') return
+                    }
+                    this.option.column.push(
+                        {
+                            label: '客户名称',
+                            prop: 'corpShortName',
+                            index: 2,
+                            width: 100,
+                            overHidden: true,
+                        }, {
+                            label: '业务员',
+                            prop: 'salesmanName',
+                            index: 2,
+                            width: 60,
+                            overHidden: true,
+                        }, {
+                            label: '物流运输',
+                            prop: 'dispatchDeptName',
+                            overHidden: true,
+                            index: 2,
+                            width: 100
+                        },
+
+                        {
+                            label: '应收运费',
+                            prop: 'landAmountD',
+                            index: 14,
+                            width: 100,
+                            overHidden: true,
+                        },
+                        {
+                            label: '应收杂费',
+                            prop: 'extraAmountD',
+                            index: 15,
+                            width: 100,
+                            overHidden: true,
+                        }
+                    )
+                }
+
+                if (this.mold == 3) {
+                    this.findObject(this.option.column, "billNo").label = "业务号"
+                    this.findObject(this.option.column, "ctnDetail").label = "车型车数"
+                }
+            }
+        },
+        //自定义列保存
+        async saveColumnTwo(ref, option, optionBack, code) {
+            /**
+             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+             */
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumnTwo(ref, option, optionBack, code) {
+            this[option] = this[optionBack];
+            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+            if (inSave) {
+                this.$message.success("重置成功");
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+                this.reset()
+            }
+        },
+        openTrackTwo(row, index) {
+            if (index == 0) {
+                this.$router.push({
+                    path: '/landTransportation/bulkCargo/index',
+                    query: {id: row.orderId},
+                });
+            }
+        },
+        openTrack(row, index) {
+            console.log(index, "915")
+            if (index == 0) {
+                this.$router.push({
+                    path: '/landTransportation/placeAnOrder/index',
+                    query: {id: row.orderId},
+                });
+            } else {
+                // gaude({itemId: row.itemId, plateNo: row.plateNo, tenantId: '234557',color:'2'}).then(res => {
+                //   this.lineArr = res.data.data
+                //   this.dialogVisible = true
+                //   let this_ = this
+                //   setTimeout(function () {
+                //     this_.initMap();
+                //   }, 100)
+                // })
+                location({itemId: row.itemId, plateNo: row.plateNo, tenantId: '234557', color: '2'}).then(res => {
+                    this.dialogVisible = true
+                    let this_ = this
+                    setTimeout(function () {
+                        this_.initMap(res.data.data, row.plateNo);
+                    }, 1000)
+                })
+            }
+        },
+        markerClick(e) {
+            this.infoWindow.setContent(e.target.content);
+            this.infoWindow.open(this.map, e.target.getPosition());
+        },
+        closeInfoWindow() {
+            this.infoWindow.close();
+        },
+        openInfoWindow() {
+            this.infoWindow.open();
+        },
+        initMap(data, plateNo) {
+            /*this.map = new AMap.Map("container", {resizeEnable: true});
+            this.infoWindow = new AMap.InfoWindow({
+                ffset: new AMap.Pixel(0, -30),
+                offset: new AMap.Pixel(0, -30)
             });
-          }
-        }, Number(res.data.data[0].dictKey) * 1000)
-      })
-    },
-    query(data) {
-      this.getsalesTrend(data)
-    },
-      // 获取列表数据
-    getsalesTrend(data = {status: 0, mold: 1}) {
-        if (data.mold == 3) {
-            this.findObject(this.option.column, "billNo").label = "业务号"
-            this.findObject(this.option.column, "ctnDetail").label = "车型车数"
+            let icon = new AMap.Icon({
+                size: new AMap.Size(52, 26), // 图标尺寸
+                image: 'https://trade.tubaosoft.com/file/bladex/000000/1123598821738675201/che.png',
+                imageSize: new AMap.Size(52, 26), // 根据所设置的大小拉伸或压缩图片
+            });
+            this.marker = new AMap.Marker({
+                position: data.location,
+                map: this.map,
+                icon: icon,
+                markerMeta: new AMap.Size(28, 28),
+                offset: new AMap.Pixel(-26, -15),
+                autoRotation: true,
+                angle: -15
+            });
+            this.marker.content = '<div style="width: 300px;">'
+                + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #fff;">' + plateNo + '</p>'
+                + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
+                + '<div style="width: 150px;float: left;">'
+                + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
+                + '</div>'
+                + '<div style="width: 150px;float: right;">'
+                + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
+                + '</div>'
+                + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
+                + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
+                + '</div>'
+            this.infoWindow.open(this.map, this.map.getCenter());
+            this.marker.on('click', this.markerClick);
+            this.marker.emit('click', {target: this.marker});
+            this.map.setFitView();*/
+            /*var center = new TMap.LatLng(39.984104, 116.307503);//设置中心点坐标
+            //初始化地图
+            var map = new TMap.Map("container", {
+                center: center
+            });
+            //初始marker
+            var marker = new TMap.MultiMarker({
+                id: 'marker-layer',
+                map: map,
+                styles: {
+                    "marker": new TMap.MarkerStyle({
+                        "width": 24,
+                        "height": 35,
+                        "anchor": { x: 12, y: 35 },
+                        "src": 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/markerDefault.png'
+                    })
+                },
+                geometries: [{
+                    "id": 'demo1',
+                    "styleId": 'marker',
+                    "position": new TMap.LatLng(39.984104, 116.307503),
+                    "properties": {
+                        "title": "marker"
+                    }
+                }, {
+                    "id": 'demo2',
+                    "styleId": 'marker',
+                    "position": new TMap.LatLng(39.974104, 116.347503),
+                    "properties": {
+                        "title": "marker"
+                    },
+
+                }]
+            });
+            //初始化infoWindow
+            var infoWindow = new TMap.InfoWindow({
+                map: map,
+                position: new TMap.LatLng(39.984104, 116.307503),
+                offset: { x: 0, y: -32 } //设置信息窗相对position偏移像素
+            });
+            infoWindow.close();//初始关闭信息窗关闭
+            //监听标注点击事件
+            marker.on("click", function (evt) {
+                //设置infoWindow
+                infoWindow.open(); //打开信息窗
+                infoWindow.setPosition(evt.geometry.position);//设置信息窗位置
+                infoWindow.setContent(evt.geometry.position.toString());//设置信息窗内容
+            })*/
+            var rightClicked = false;
+            if (data.location == null) {
+                data.location = [40.040422,116.273521]
+            }
+            var lon = data.location[0]
+            var lat = data.location[1]
+            console.log(lon,"1048")
+            console.log(lat,"1049")
+            this.map = new TMap.Map('container', {
+                zoom: 16,
+                pitch: 30,
+                rotation: 10,
+                center: new TMap.LatLng(lon, lat),
+            });
+
+            this.marker = new TMap.MultiMarker({
+                id: 'marker-layer', // 图层id
+                map: this.map,
+                styles: {
+                    // 点标注的相关样式
+                    marker: new TMap.MarkerStyle({
+                        width: 25,
+                        height: 35,
+                        anchor: {x: 16, y: 32},
+                        src:
+                            'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/markerDefault.png',
+                    }),
+                },
+                geometries: [
+                    {
+                        // 点标注数据数组
+                        id: 'demo',
+                        styleId: 'marker',
+                        position: new TMap.LatLng(lon, lat),
+                    },
+                ],
+            });
+            this.marker.on('click', this.openInfoWindow);
+            this.infoWindow = new TMap.InfoWindow({
+                map: this.map,
+                enableCustom: true,
+                position: new TMap.LatLng(lon, lat),
+                offset: {y: -70, x: -5},
+                content:
+                    '<div style="width: 300px;background-color: #fff">'
+                    + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #000000;">' + plateNo + '</p>'
+                    + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
+                    + '<div style="width: 150px;float: left;">'
+                    + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
+                    + '</div>'
+                    + '<div style="width: 150px;float: right;">'
+                    + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
+                    + '</div>'
+                    + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
+                    + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
+                    + '</div>'
+            });
+            this.map.on('rightclick', function () {
+                // infoWindow的内容可以动态更新
+                rightClicked = !rightClicked;
+                if (rightClicked) {
+                    this.infoWindow.setContent(
+                        '<div style="width: 300px;background-color: #fff">'
+                        + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #000000;">' + plateNo + '</p>'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
+                        + '<div style="width: 150px;float: left;">'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
+                        + '</div>'
+                        + '<div style="width: 150px;float: right;">'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
+                        + '</div>'
+                        + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
+                        + '</div>');
+                } else {
+                    this.infoWindow.setContent(
+                        '<div style="width: 300px;background-color: #fff">'
+                        + '<p style="font-size: 22px;font-weight: bold;background-color: #2d8cf0;color: #000000;">' + plateNo + '</p>'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">最后上报时间:</span>' + new Date(Number(data.time) + 8 * 60 * 60 * 1000).toJSON().split('T').join(' ').substr(0, 19) + '</p>'
+                        + '<div style="width: 150px;float: left;">'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">车辆状态:</span>' + (data.speed > 0 ? '行驶中' : '停车') + '</p>'
+                        + '</div>'
+                        + '<div style="width: 150px;float: right;">'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">速度:</span>' + data.speed + 'km/h</p>'
+                        + '</div>'
+                        + '<p><span style="color: #a0a0a0">当前位置:</span>' + data.address + '</p>'
+                        + '<p style="padding: 5px 0"><span style="color: #a0a0a0">经纬度:</span>' + data.location.join(',') + '</p>'
+                        + '</div>');
+                }
+            });
+            /*var map = new TMap.Map(document.getElementById("container"), {
+                center: new TMap.LatLng(39.916527, 116.397128), // 设定地图中心点
+                zoom: 13 // 设定地图缩放级别
+            });*/
+        },
+        init() {
+            frequency().then(res => {
+                let this_ = this
+                this_.entrustTimer = setInterval(function () {
+                    if (JSON.parse(localStorage.getItem("saber-token")).content) {
+                        this_.getsalesTrend({
+                            status: this_.status,
+                            mold: this_.mold
+                        });
+                    }
+                }, Number(res.data.data[0].dictKey) * 1000)
+            })
+        },
+        query(data) {
+            this.getsalesTrend(data)
+        },
+        // 获取列表数据
+        getsalesTrend(data = {status: 0, mold: 1}) {
+            if (data.mold == 3) {
+                this.findObject(this.option.column, "billNo").label = "业务号"
+                this.findObject(this.option.column, "ctnDetail").label = "车型车数"
+            }
+            this.mold = data.mold
+            this.status = data.status
+            this.loading = true;
+            active(data).then(res => {
+                this.tableData = res.data.data
+                this.loading = false;
+            })
+        },
+        ToBreak(val) {
+            if (val) return val.replace(/\n/g, '<br/>')
+        },
+        refresh() {
+            this.getsalesTrend({
+                status: this.status,
+                mold: this.mold
+            })
         }
-      this.mold = data.mold
-      this.status = data.status
-      this.loading = true;
-      active(data).then(res => {
-        this.tableData = res.data.data
-        this.loading = false;
-      })
-    },
-    ToBreak(val) {
-      if (val) return val.replace(/\n/g, '<br/>')
-    },
-    refresh() {
-      this.getsalesTrend({
-        status:this.status,
-        mold:this.mold
-      })
     }
-  }
 };
 </script>
 
 <style scoped src="../../../../../styles/demo-center.css"></style>
 <style scoped>
 #container {
-  height: 80vh;
-  width: 100%;
+    height: 80vh;
+    width: 100%;
 }
 
 .input-card .btn {
-  margin-right: 1.2rem;
-  width: 9rem;
+    margin-right: 1.2rem;
+    width: 9rem;
 }
 
 .input-card .btn:last-child {
-  margin-right: 0;
+    margin-right: 0;
 }
 </style>
 
 <style lang="scss" scoped>
 .home-container {
-  padding: 0px 5px 5px 0px;
-  box-sizing: border-box;
-  height: 100%;
+    padding: 0px 5px 5px 0px;
+    box-sizing: border-box;
+    height: 100%;
 
-  ::v-deep .el-card__body {
-    padding: 10px 15px;
-    font-size: 14px;
-  }
+    ::v-deep .el-card__body {
+        padding: 10px 15px;
+        font-size: 14px;
+    }
 
-  &__card {
-    width: 100%;
-    height: 100%;
-  }
+    &__card {
+        width: 100%;
+        height: 100%;
+    }
 
-  .title {
-    display: flex;
-    justify-content: space-between;
-  }
+    .title {
+        display: flex;
+        justify-content: space-between;
+    }
 }
 
 .content {
 }
 
 ::v-deep .el-dialog {
-  margin-top: 5vh !important;
-  margin-bottom: 0 !important;
+    margin-top: 5vh !important;
+    margin-bottom: 0 !important;
 }
 
 ::v-deep .el-dialog__body {
-  padding: 0 20px 10px 20px !important;
+    padding: 0 20px 10px 20px !important;
 }
 
 ::v-deep .amap-info-close {
-  right: 10px !important;
-  top: 12px !important;
+    right: 10px !important;
+    top: 12px !important;
 }
 
 ::v-deep .amap-info-content {
-  padding: 5px 5px 5px 5px !important;
+    padding: 5px 5px 5px 5px !important;
 }
 </style>
+