279 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			279 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						|
  <new-bg>
 | 
						|
    <flex-col>
 | 
						|
      <system-title show-back/>
 | 
						|
      <Map></Map>
 | 
						|
      <ModuleContent padding="0px 50px 20px" class="event-none" none-event>
 | 
						|
        <web2-title>洗车机管理</web2-title>
 | 
						|
        <Split height="16"></Split>
 | 
						|
        <a-row :gutter="16" style="height: calc(100% - 62px);">
 | 
						|
          <a-col :span="5" style="height: 100%;">
 | 
						|
            <FlexCol>
 | 
						|
              <ModuleContent2 bg height="490">
 | 
						|
                <FlexCol>
 | 
						|
                  <web3-title>洗车机列表</web3-title>
 | 
						|
                  <Split height="10"></Split>
 | 
						|
                  <ModuleContent2 :border="false" padding="0">
 | 
						|
                    <div :class="['car-washing-machine-tabs',activeCarTabs ==1?'active-car-washing-machine-tabs':'']"
 | 
						|
                         @click="carChange(1)">
 | 
						|
                      <div class="rank-num">1</div>
 | 
						|
                      <div class="car-washing-machine-name">西门洗车</div>
 | 
						|
                      <div class="state-icon">
 | 
						|
                        正常
 | 
						|
 | 
						|
                      </div>
 | 
						|
                    </div>
 | 
						|
                  </ModuleContent2>
 | 
						|
                </FlexCol>
 | 
						|
 | 
						|
              </ModuleContent2>
 | 
						|
              <ModuleContent2 bg>
 | 
						|
                <FlexCol>
 | 
						|
                  <web3-title>历史记录</web3-title>
 | 
						|
                  <Split height="10"></Split>
 | 
						|
                  <ModuleContent2 :border="false" padding="0">
 | 
						|
                    <CustomTable
 | 
						|
                      hide-action
 | 
						|
                      hide-search
 | 
						|
                      hide-button
 | 
						|
                      :columns="columns"
 | 
						|
                      :api-conf="apiConf"
 | 
						|
                      :form-items="formItems"
 | 
						|
                      @edit="editHandler"
 | 
						|
                    >
 | 
						|
                      <template slot="search-button" slot-scope="{ search }">
 | 
						|
                        <a-button type="primary" @click="exportList(search)">导出历史数据</a-button>
 | 
						|
                        <Split height="10"></Split>
 | 
						|
                      </template>
 | 
						|
                    </CustomTable>
 | 
						|
                  </ModuleContent2>
 | 
						|
                </FlexCol>
 | 
						|
              </ModuleContent2>
 | 
						|
            </FlexCol>
 | 
						|
 | 
						|
          </a-col>
 | 
						|
          <a-col :span="5" :offset="14" style="height: 100%;">
 | 
						|
            <FlexCol>
 | 
						|
              <ModuleContent2 bg>
 | 
						|
                <FlexCol>
 | 
						|
                  <web3-title>洗车机视频</web3-title>
 | 
						|
                  <Split height="10"></Split>
 | 
						|
                  <ModuleContent2 padding="0" :border="false" height="300px" >
 | 
						|
 | 
						|
                  </ModuleContent2>
 | 
						|
                  <web3-title>洗车机运行信息</web3-title>
 | 
						|
                  <Split height="10"></Split>
 | 
						|
                  <ModuleContent2 padding="0" :border="false">
 | 
						|
 | 
						|
                  </ModuleContent2>
 | 
						|
                </FlexCol>
 | 
						|
 | 
						|
 | 
						|
              </ModuleContent2>
 | 
						|
            </FlexCol>
 | 
						|
          </a-col>
 | 
						|
        </a-row>
 | 
						|
      </ModuleContent>
 | 
						|
    </flex-col>
 | 
						|
  </new-bg>
 | 
						|
</template>
 | 
						|
<script>
 | 
						|
import Map from "../../components/Map.vue";
 | 
						|
import Curd from "../../components/smallCommon/Curd.vue";
 | 
						|
import moment from "moment/moment";
 | 
						|
import SystemTitle from "../../components/smallCommon/SystemTitle.vue";
 | 
						|
import NewBg from "../../components/NewBg.vue";
 | 
						|
import FlexCol from "../../components/FlexCol.vue";
 | 
						|
import ModuleContent from "../../components/ModuleContent.vue";
 | 
						|
import Web3Title from "../../components/smallCommon/Web3Title.vue";
 | 
						|
import Split from "../../components/smallCommon/Split.vue";
 | 
						|
import ModuleContent2 from "../../components/smallCommon/ModuleContent2.vue";
 | 
						|
import CustomTable from "../../components/smallCommon/CustomTable.vue";
 | 
						|
import Web2Title from "../../components/smallCommon/Web2Title.vue";
 | 
						|
 | 
						|
export default {
 | 
						|
  name: "xichejiguanli",
 | 
						|
  components: {
 | 
						|
    Web2Title,
 | 
						|
    CustomTable,
 | 
						|
    ModuleContent2,
 | 
						|
    Split,
 | 
						|
    Web3Title,
 | 
						|
    ModuleContent,
 | 
						|
    FlexCol, NewBg, SystemTitle,
 | 
						|
    Map,
 | 
						|
    Curd
 | 
						|
  },
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      activeCarTabs: 1,
 | 
						|
      columns: [
 | 
						|
        {
 | 
						|
          dataIndex: 'outTime',
 | 
						|
          key: 'outTime',
 | 
						|
          title: '进场日期'
 | 
						|
        },
 | 
						|
        {
 | 
						|
          dataIndex: 'carNum',
 | 
						|
          key: 'carNum',
 | 
						|
          title: '车牌号'
 | 
						|
        },
 | 
						|
        {
 | 
						|
          dataIndex: 'carModel',
 | 
						|
          key: 'carModel',
 | 
						|
          title: '车型'
 | 
						|
        },
 | 
						|
        {
 | 
						|
          dataIndex: 'createDateTime',
 | 
						|
          key: 'createDateTime',
 | 
						|
          title: '清洗时间'
 | 
						|
        }
 | 
						|
      ],
 | 
						|
      apiConf: {
 | 
						|
        listApi: {api: '/api/Ledger/list', method: 'get'},
 | 
						|
      },
 | 
						|
    }
 | 
						|
  },
 | 
						|
  computed: {
 | 
						|
    formItems() {
 | 
						|
      return [
 | 
						|
        {
 | 
						|
          type: 'dateRange',
 | 
						|
          key: 'time',
 | 
						|
          label: '日期',
 | 
						|
          isSearch: true,
 | 
						|
          placeholder: ['请选择开始日期', '请选择结束日期'],
 | 
						|
          rules: [
 | 
						|
            {required: true, message: '请选择时间范围'}
 | 
						|
          ],
 | 
						|
          fields: ['startTime', 'endTime']
 | 
						|
        }
 | 
						|
      ]
 | 
						|
    }
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    carChange(value) {
 | 
						|
      this.activeCarTabs = value
 | 
						|
    },
 | 
						|
    editHandler(isEdit) {
 | 
						|
      this.isEdit = isEdit
 | 
						|
    },
 | 
						|
    exportList({time}) {
 | 
						|
      const [start, end] = time
 | 
						|
      const fmt = 'YYYY-MM-DD'
 | 
						|
      window.open(`http://101.43.201.20:5000/api/Ledger/export?start=${moment(start).format(fmt)}&end=${moment(end).format(fmt)}`, '_blank')
 | 
						|
    },
 | 
						|
  }
 | 
						|
}
 | 
						|
</script>
 | 
						|
<style scoped lang="less">
 | 
						|
.map-content {
 | 
						|
  height: 400px;
 | 
						|
  width: 100%;
 | 
						|
  position: relative;
 | 
						|
}
 | 
						|
 | 
						|
.table-content {
 | 
						|
  flex: 1;
 | 
						|
  padding-top: 10px;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
.xichejiguanli {
 | 
						|
  height: 100vh;
 | 
						|
  display: flex;
 | 
						|
  flex-flow: column;
 | 
						|
 | 
						|
  ._body {
 | 
						|
    flex: 1;
 | 
						|
    display: flex;
 | 
						|
    flex-flow: row;
 | 
						|
    padding: 20px;
 | 
						|
 | 
						|
    .left-list {
 | 
						|
      width: 240px;
 | 
						|
      height: 100%;
 | 
						|
      border: 1px solid #e8e8e8;
 | 
						|
      border-radius: 10px;
 | 
						|
 | 
						|
      .car-washing-machine-tabs {
 | 
						|
        height: 40px;
 | 
						|
        display: flex;
 | 
						|
        flex-flow: row;
 | 
						|
        align-items: center;
 | 
						|
        padding: 10px;
 | 
						|
        cursor: pointer;
 | 
						|
        border: 1px solid #e8e8e8;
 | 
						|
        margin-top: 10px;
 | 
						|
 | 
						|
        &:first-child {
 | 
						|
          margin-top: 0;
 | 
						|
        }
 | 
						|
 | 
						|
        border-radius: 10px;
 | 
						|
 | 
						|
        .rank-num {
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
        .car-washing-machine-name {
 | 
						|
          padding-left: 10px;
 | 
						|
          flex: 1;
 | 
						|
        }
 | 
						|
      }
 | 
						|
 | 
						|
      .active-car-washing-machine-tabs {
 | 
						|
        background: #0088ff;
 | 
						|
        color: #FFFFFF;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    .right-content {
 | 
						|
      width: 300px;
 | 
						|
      border: 1px solid #e8e8e8;
 | 
						|
      border-radius: 10px;
 | 
						|
      padding: 10px;
 | 
						|
 | 
						|
      ._title {
 | 
						|
        height: 30px;
 | 
						|
        line-height: 30px;
 | 
						|
        font-size: 16px;
 | 
						|
        font-weight: 700;
 | 
						|
      }
 | 
						|
 | 
						|
      .car-wash-video {
 | 
						|
        margin: 20px 0;
 | 
						|
        height: 400px;
 | 
						|
        border: 1px solid #e8e8e8;
 | 
						|
      }
 | 
						|
 | 
						|
      .car-run-info {
 | 
						|
        margin-top: 20px;
 | 
						|
        border: 1px solid #e8e8e8;
 | 
						|
        height: 260px;
 | 
						|
        padding: 10px;
 | 
						|
        display: flex;
 | 
						|
        flex-flow: column;
 | 
						|
 | 
						|
        .details-info {
 | 
						|
          width: 100%;
 | 
						|
          flex: 1;
 | 
						|
          display: flex;
 | 
						|
          flex-flow: column;
 | 
						|
          justify-content: space-around;
 | 
						|
          align-items: flex-start;
 | 
						|
 | 
						|
          .details-info-item {
 | 
						|
            display: flex;
 | 
						|
            flex-flow: row;
 | 
						|
          }
 | 
						|
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |