This commit is contained in:
		
							parent
							
								
									ccd5595032
								
							
						
					
					
						commit
						fc51e54c32
					
				| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
 | 
			
		||||
<template>
 | 
			
		||||
  <div style="text-align: left">
 | 
			
		||||
    <div class="table-search">
 | 
			
		||||
    <div class="table-search" v-if="searchItems.length > 0">
 | 
			
		||||
      <a-form class="ant-advanced-search-form" :form="form" @submit="handleSearch" layout="inline" @change="handleSearchFormChange">
 | 
			
		||||
        <a-form-item v-for="menuItem in searchItems" :key="menuItem.key" :label="menuItem.label">
 | 
			
		||||
          <a-input
 | 
			
		||||
| 
						 | 
				
			
			@ -21,18 +21,19 @@
 | 
			
		|||
            :placeholder="menuItem.placeholder || ''"  v-decorator="[menuItem.key]" v-else-if="menuItem.type === 'dateRange'" format="YYYY-MM-DD" />
 | 
			
		||||
        </a-form-item>
 | 
			
		||||
       <a-form-item>
 | 
			
		||||
         <a-button type="primary" html-type="submit">查询</a-button>
 | 
			
		||||
         <a-button :style="{ marginLeft: '8px' }" @click="reset">重置</a-button>
 | 
			
		||||
         <a-button type="primary" html-type="submit" v-if="!hideSearch">查询</a-button>
 | 
			
		||||
         <a-button :style="{ marginLeft: '8px' }" @click="reset" v-if="!hideSearch">重置</a-button>
 | 
			
		||||
         <slot name="search-button" v-bind:search="form.getFieldsValue()"></slot>
 | 
			
		||||
       </a-form-item>
 | 
			
		||||
      </a-form>
 | 
			
		||||
    </div>
 | 
			
		||||
    <a-divider />
 | 
			
		||||
    <div class="table-operations">
 | 
			
		||||
    <a-divider v-if="!hideButton && searchItems.length > 0" />
 | 
			
		||||
    <div class="table-operations" v-if="!hideButton">
 | 
			
		||||
      <a-button @click="addRow" type="primary">
 | 
			
		||||
        添加
 | 
			
		||||
      </a-button>
 | 
			
		||||
    </div>
 | 
			
		||||
    <a-table :row-key="primaryKey" :columns="realColumns" :data-source="tableDataSource" @change="handleChange" >
 | 
			
		||||
    <a-table v-bind="tableProps" :pagination="page" :row-key="primaryKey" :columns="realColumns" :data-source="tableDataSource" @change="handleChange" >
 | 
			
		||||
      <span slot="action" slot-scope="text, record">
 | 
			
		||||
        <a-button type="danger" size="small" @click="deleteRow(record)">删除</a-button>
 | 
			
		||||
        <a-divider type="vertical" />
 | 
			
		||||
| 
						 | 
				
			
			@ -99,12 +100,29 @@ export default {
 | 
			
		|||
      selectRow: null,
 | 
			
		||||
      page: {
 | 
			
		||||
        pageSize: 10,
 | 
			
		||||
        pageNo: 1
 | 
			
		||||
        current: 1,
 | 
			
		||||
        total: 0
 | 
			
		||||
      },
 | 
			
		||||
      searchFormModel: {}
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    tableProps: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    },
 | 
			
		||||
    hideSearch: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
    },
 | 
			
		||||
    hideAction: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
    },
 | 
			
		||||
    hideButton: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
    },
 | 
			
		||||
    // 表单内容配置
 | 
			
		||||
    formItems: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
| 
						 | 
				
			
			@ -130,6 +148,7 @@ export default {
 | 
			
		|||
      return this.formItems.filter(item => !!item.isSearch)
 | 
			
		||||
    },
 | 
			
		||||
    realColumns () {
 | 
			
		||||
      if (this.hideAction) return [ ...this.columns ]
 | 
			
		||||
      return [
 | 
			
		||||
        ...this.columns,
 | 
			
		||||
        {
 | 
			
		||||
| 
						 | 
				
			
			@ -188,12 +207,14 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    deleteRow(row) {
 | 
			
		||||
      const self = this
 | 
			
		||||
      if (!self.apiConf.deleteApi) return
 | 
			
		||||
      this.$confirm({
 | 
			
		||||
        title: '确认要删除么?',
 | 
			
		||||
        okText: '确认',
 | 
			
		||||
        okType: 'danger',
 | 
			
		||||
        cancelText: '再想想',
 | 
			
		||||
        onOk() {
 | 
			
		||||
 | 
			
		||||
          const { api,deleteKey, paramsType, method  } = self.apiConf.deleteApi
 | 
			
		||||
          let params = {}
 | 
			
		||||
          if (paramsType === 'Array') {
 | 
			
		||||
| 
						 | 
				
			
			@ -210,9 +231,9 @@ export default {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
    },
 | 
			
		||||
    handleChange ({ pageSize, pageNo }) {
 | 
			
		||||
    handleChange ({ pageSize, current }) {
 | 
			
		||||
      this.page.pageSize = pageSize
 | 
			
		||||
      this.page.pageNo = pageNo
 | 
			
		||||
      this.page.current = current
 | 
			
		||||
      this.handleSearch()
 | 
			
		||||
    },
 | 
			
		||||
    reset() {
 | 
			
		||||
| 
						 | 
				
			
			@ -225,11 +246,13 @@ export default {
 | 
			
		|||
      const { data } = await this[`$${method}`](api, {
 | 
			
		||||
        ...values,
 | 
			
		||||
        pageSize: this.page.pageSize,
 | 
			
		||||
        current: this.page.pageNo,
 | 
			
		||||
        current: this.page.current,
 | 
			
		||||
      })
 | 
			
		||||
      if (noPage) {
 | 
			
		||||
        this.page = false
 | 
			
		||||
        this.tableDataSource = data
 | 
			
		||||
      } else {
 | 
			
		||||
        this.page.total = data.total || 0
 | 
			
		||||
        this.tableDataSource = data.items
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="custom-table">
 | 
			
		||||
    <Curd v-bind="$attrs" v-on="$listeners"></Curd>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import Curd from "./Curd.vue";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "CustomTable",
 | 
			
		||||
  components: {Curd}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped lang="less">
 | 
			
		||||
  .custom-table {
 | 
			
		||||
    /deep/ .ant-table-thead > tr > th {
 | 
			
		||||
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);
 | 
			
		||||
      color: rgba(255, 255, 255, 1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /deep/ .ant-table {
 | 
			
		||||
      background: rgba(255, 255, 255, 0.01);
 | 
			
		||||
      color: #FFFFFF;
 | 
			
		||||
    }
 | 
			
		||||
    /deep/ .ant-table-tbody > tr > td {
 | 
			
		||||
      background-color: transparent;
 | 
			
		||||
      border-bottom: 1px solid rgba(16, 40, 73, 0.3);
 | 
			
		||||
      border-top: 1px solid rgba(16, 40, 73, 0.3);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /deep/ .ant-table-thead > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
 | 
			
		||||
    /deep/ .ant-table-tbody > tr.ant-table-row-hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
 | 
			
		||||
    /deep/ .ant-table-thead > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td,
 | 
			
		||||
    /deep/ .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td {
 | 
			
		||||
      background: rgba(255, 255, 255, 0.01);
 | 
			
		||||
      color: #FFFFFF;
 | 
			
		||||
    }
 | 
			
		||||
    /deep/ .selected {
 | 
			
		||||
      background: linear-gradient(90deg, rgba(16, 40, 73, 0) 0%, rgba(16, 40, 73, 1) 51.3%, rgba(16, 40, 73, 0) 100%);
 | 
			
		||||
      border-bottom: 1px solid rgba(18, 45, 79, 0.8);
 | 
			
		||||
      border-top: 1px solid rgba(18, 45, 79, 0.8);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,62 +1,68 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <a-layout id="components-layout-demo-fixed-sider">
 | 
			
		||||
    <a-layout-sider :trigger="null" v-model="collapsed" collapsible>
 | 
			
		||||
      <div class="logo">
 | 
			
		||||
        欢迎
 | 
			
		||||
      </div>
 | 
			
		||||
      <a-menu theme="dark" mode="inline" v-model="selectedKeys">
 | 
			
		||||
        <a-menu-item key="1" v-for="item in menus" :key="item.key">
 | 
			
		||||
          <a-icon :type="item.icon"/>
 | 
			
		||||
          <span class="nav-text">{{ item.title }}</span>
 | 
			
		||||
        </a-menu-item>
 | 
			
		||||
      </a-menu>
 | 
			
		||||
    </a-layout-sider>
 | 
			
		||||
    <a-layout>
 | 
			
		||||
      <a-layout-header
 | 
			
		||||
        style="background: #fff; padding: 0"
 | 
			
		||||
        ref="header"
 | 
			
		||||
        :title="pageTitle"
 | 
			
		||||
        :breadcrumb="{ props: { routes } }"
 | 
			
		||||
      >
 | 
			
		||||
        <div class="header-con">
 | 
			
		||||
  <a-locale-provider :locale="zh_CN">
 | 
			
		||||
    <a-layout id="components-layout-demo-fixed-sider">
 | 
			
		||||
      <a-layout-sider :trigger="null" v-model="collapsed" collapsible>
 | 
			
		||||
        <div class="logo">
 | 
			
		||||
          欢迎
 | 
			
		||||
        </div>
 | 
			
		||||
        <a-menu theme="dark" mode="inline" v-model="selectedKeys">
 | 
			
		||||
          <a-menu-item key="1" v-for="item in menus" :key="item.key">
 | 
			
		||||
            <a-icon :type="item.icon"/>
 | 
			
		||||
            <span class="nav-text">{{ item.title }}</span>
 | 
			
		||||
          </a-menu-item>
 | 
			
		||||
        </a-menu>
 | 
			
		||||
      </a-layout-sider>
 | 
			
		||||
      <a-layout>
 | 
			
		||||
        <a-layout-header
 | 
			
		||||
          style="background: #fff; padding: 0"
 | 
			
		||||
          ref="header"
 | 
			
		||||
          :title="pageTitle"
 | 
			
		||||
          :breadcrumb="{ props: { routes } }"
 | 
			
		||||
        >
 | 
			
		||||
          <div class="header-con">
 | 
			
		||||
 | 
			
		||||
          <a-icon
 | 
			
		||||
            class="trigger"
 | 
			
		||||
            :type="collapsed ? 'menu-unfold' : 'menu-fold'"
 | 
			
		||||
            @click="() => (collapsed = !collapsed)"
 | 
			
		||||
          />
 | 
			
		||||
          <a-menu class="cus-menu">
 | 
			
		||||
            <a-sub-menu>
 | 
			
		||||
            <a-icon
 | 
			
		||||
              class="trigger"
 | 
			
		||||
              :type="collapsed ? 'menu-unfold' : 'menu-fold'"
 | 
			
		||||
              @click="() => (collapsed = !collapsed)"
 | 
			
		||||
            />
 | 
			
		||||
            <a-menu class="cus-menu">
 | 
			
		||||
              <a-sub-menu>
 | 
			
		||||
              <span slot="title" class="submenu-title-wrapper">
 | 
			
		||||
                <a-icon type="setting"/>
 | 
			
		||||
                操作
 | 
			
		||||
              </span>
 | 
			
		||||
              <a-menu-item key="setting:2">修改密码</a-menu-item>
 | 
			
		||||
              <a-menu-item key="setting:1">退出</a-menu-item>
 | 
			
		||||
            </a-sub-menu>
 | 
			
		||||
          </a-menu>
 | 
			
		||||
                <a-menu-item key="setting:2">修改密码</a-menu-item>
 | 
			
		||||
                <a-menu-item key="setting:1">退出</a-menu-item>
 | 
			
		||||
              </a-sub-menu>
 | 
			
		||||
            </a-menu>
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      </a-layout-header>
 | 
			
		||||
      <a-layout-content :style="contentStyle">
 | 
			
		||||
        <div :style="containerStyle">
 | 
			
		||||
          <nuxt/>
 | 
			
		||||
        </div>
 | 
			
		||||
      </a-layout-content>
 | 
			
		||||
      <!--      <a-layout-footer :style="{ textAlign: 'center' }" ref="footer">
 | 
			
		||||
              Ant Design ©2018 Created by Ant UED
 | 
			
		||||
            </a-layout-footer>-->
 | 
			
		||||
        </a-layout-header>
 | 
			
		||||
        <a-layout-content :style="contentStyle">
 | 
			
		||||
          <div :style="containerStyle">
 | 
			
		||||
            <nuxt/>
 | 
			
		||||
          </div>
 | 
			
		||||
        </a-layout-content>
 | 
			
		||||
        <!--      <a-layout-footer :style="{ textAlign: 'center' }" ref="footer">
 | 
			
		||||
                Ant Design ©2018 Created by Ant UED
 | 
			
		||||
              </a-layout-footer>-->
 | 
			
		||||
      </a-layout>
 | 
			
		||||
    </a-layout>
 | 
			
		||||
  </a-layout>
 | 
			
		||||
  </a-locale-provider>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import zh_CN from 'ant-design-vue/lib/locale-provider/zh_CN';
 | 
			
		||||
import 'moment/locale/zh-cn';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "manager",
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      zh_CN,
 | 
			
		||||
      collapsed: false,
 | 
			
		||||
      headerHeight: 0,
 | 
			
		||||
      footerHeight: 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -85,6 +91,12 @@ export default {
 | 
			
		|||
          title: '菜单管理',
 | 
			
		||||
          icon: 'link',
 | 
			
		||||
          key: 'manager-menu'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          link: '/manager/device',
 | 
			
		||||
          title: '设备管理',
 | 
			
		||||
          icon: 'video-camera',
 | 
			
		||||
          key: 'manager-device'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      selectedKeys: []
 | 
			
		||||
| 
						 | 
				
			
			@ -93,12 +105,12 @@ export default {
 | 
			
		|||
  watch: {
 | 
			
		||||
    '$route': {
 | 
			
		||||
      immediate: true,
 | 
			
		||||
      handler (to) {
 | 
			
		||||
      handler(to) {
 | 
			
		||||
        this.selectedKeys = [to.name]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    selectedKeys ([key]) {
 | 
			
		||||
      this.$router.push({ name: key })
 | 
			
		||||
    selectedKeys([key]) {
 | 
			
		||||
      this.$router.push({name: key})
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
| 
						 | 
				
			
			@ -136,6 +148,7 @@ export default {
 | 
			
		|||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#components-layout-demo-fixed-sider {
 | 
			
		||||
  .header-con {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <a-card :bordered="false" :bodyStyle="{ padding: '0px 16px' }">
 | 
			
		||||
    <nuxt />
 | 
			
		||||
  </a-card>
 | 
			
		||||
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: "user"
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped lang="less">
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,438 @@
 | 
			
		|||
<!--峰煤监控系统-->
 | 
			
		||||
<template>
 | 
			
		||||
  <new-bg>
 | 
			
		||||
    <flex-col>
 | 
			
		||||
      <system-title/>
 | 
			
		||||
      <ModuleContent padding="20px">
 | 
			
		||||
        <flex-col>
 | 
			
		||||
          <web2-title>清洁运输</web2-title>
 | 
			
		||||
          <ModuleContent padding="0 20px 20px">
 | 
			
		||||
            <BFC>
 | 
			
		||||
              <div class="sou-suo-kuang" slot="right">
 | 
			
		||||
                <ModuleContent2 bg padding="20px">
 | 
			
		||||
                  <flex-col>
 | 
			
		||||
                    <div class="search">
 | 
			
		||||
                      <BFC>
 | 
			
		||||
                        <span slot="left"> 车牌号:</span>
 | 
			
		||||
                        <div slot="center" class="input">
 | 
			
		||||
                          <a-input v-model="searchCarNum" placeholder="请输入"/>
 | 
			
		||||
                        </div>
 | 
			
		||||
                      </BFC>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <ModuleContent padding="0">
 | 
			
		||||
                      <flex-col>
 | 
			
		||||
                        <web3-title>门禁详情</web3-title>
 | 
			
		||||
                        <ModuleContent padding="0">
 | 
			
		||||
                          <flex-col>
 | 
			
		||||
                            <img :src="selectedRecord.imgUrl" alt="" class="car-preview">
 | 
			
		||||
                            <butgroup2>
 | 
			
		||||
                              <cus-button2 flex>进出场抓拍图</cus-button2>
 | 
			
		||||
                              <cus-button2>行驶证-正面</cus-button2>
 | 
			
		||||
                              <cus-button2>行驶证-反面</cus-button2>
 | 
			
		||||
                              <cus-button2>环保清单</cus-button2>
 | 
			
		||||
                            </butgroup2>
 | 
			
		||||
                            <ModuleContent padding="20px 27px" class="desc">
 | 
			
		||||
                              <cus-desc :data="selectedRecord" :columns="descColumns"></cus-desc>
 | 
			
		||||
                            </ModuleContent>
 | 
			
		||||
                          </flex-col>
 | 
			
		||||
 | 
			
		||||
                        </ModuleContent>
 | 
			
		||||
                      </flex-col>
 | 
			
		||||
 | 
			
		||||
                    </ModuleContent>
 | 
			
		||||
                  </flex-col>
 | 
			
		||||
                </ModuleContent2>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div class="liebiao" slot="center">
 | 
			
		||||
                <flex-col>
 | 
			
		||||
                  <div style="height: 144px;width: 100%;">
 | 
			
		||||
                    <ModuleContent2 bg bg-str :border="false">
 | 
			
		||||
                      <butgroup2 style="height: 100%;">
 | 
			
		||||
                        <ModuleContent2 bg bg-color border>
 | 
			
		||||
                          <miaoshu title="进场车辆" :value="count.comeCount" color="rgba(42, 207, 255, 1)"></miaoshu>
 | 
			
		||||
                        </ModuleContent2>
 | 
			
		||||
 | 
			
		||||
                        <ModuleContent2 bg bg-color border style="margin-left: 16px;">
 | 
			
		||||
                          <miaoshu title="出场车辆" :value="count.outCount" color="rgba(255, 171, 87, 1)"></miaoshu>
 | 
			
		||||
                        </ModuleContent2>
 | 
			
		||||
 | 
			
		||||
                        <ModuleContent2 bg bg-color border style="margin-left: 16px;">
 | 
			
		||||
                          <miaoshu title="在场车辆" :value="count.inCount" color="rgba(122, 175, 255, 1)"></miaoshu>
 | 
			
		||||
                        </ModuleContent2>
 | 
			
		||||
 | 
			
		||||
                        <ModuleContent2 bg bg-color border style="margin-left: 16px;">
 | 
			
		||||
                          <miaoshu title="新增车辆" :value="count.addCount" color="rgba(76, 243, 129, 1)"></miaoshu>
 | 
			
		||||
                        </ModuleContent2>
 | 
			
		||||
                      </butgroup2>
 | 
			
		||||
                    </ModuleContent2>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <web3-title>门禁监控</web3-title>
 | 
			
		||||
                  <ModuleContent padding="20px 0" ref="module">
 | 
			
		||||
                    <div class="table-content">
 | 
			
		||||
                      <PeakCustomTable
 | 
			
		||||
                        hide-action
 | 
			
		||||
                        hide-search
 | 
			
		||||
                        hide-button
 | 
			
		||||
                        :columns="columns"
 | 
			
		||||
                        :api-conf="apiConf"
 | 
			
		||||
                        :tableProps="tableProps"
 | 
			
		||||
                      />
 | 
			
		||||
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </ModuleContent>
 | 
			
		||||
                </flex-col>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
              </div>
 | 
			
		||||
            </BFC>
 | 
			
		||||
          </ModuleContent>
 | 
			
		||||
          <butgroup>
 | 
			
		||||
            <cus-button>厂区车辆台账</cus-button>
 | 
			
		||||
            <cus-button>清洁运输趋势</cus-button>
 | 
			
		||||
            <cus-button>磅秤台账</cus-button>
 | 
			
		||||
            <cus-button>门禁监控</cus-button>
 | 
			
		||||
          </butgroup>
 | 
			
		||||
        </flex-col>
 | 
			
		||||
      </ModuleContent>
 | 
			
		||||
    </flex-col>
 | 
			
		||||
  </new-bg>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import {mapActions, mapState} from "vuex";
 | 
			
		||||
import SystemTitle from "../../components/smallCommon/SystemTitle.vue";
 | 
			
		||||
import FlexCol from "../../components/FlexCol.vue";
 | 
			
		||||
import ModuleContent from "../../components/ModuleContent.vue";
 | 
			
		||||
import Web2Title from "../../components/smallCommon/Web2Title.vue";
 | 
			
		||||
import NewBg from "../../components/NewBg.vue";
 | 
			
		||||
import BFC from "../../components/BFC.vue";
 | 
			
		||||
import Butgroup from "../../components/smallCommon/butgroup.vue";
 | 
			
		||||
import CusButton from "../../components/smallCommon/CusButton.vue";
 | 
			
		||||
import Web3Title from "../../components/smallCommon/Web3Title.vue";
 | 
			
		||||
import CusButton2 from "../../components/smallCommon/CusButton2.vue";
 | 
			
		||||
import Butgroup2 from "../../components/smallCommon/butgroup2.vue";
 | 
			
		||||
import CusDesc from "../../components/smallCommon/CusDesc.vue";
 | 
			
		||||
import ModuleContent2 from "../../components/smallCommon/ModuleContent2.vue";
 | 
			
		||||
import Miaoshu from "../../components/smallCommon/miaoshu.vue";
 | 
			
		||||
import bgStr from '../../assets/images/new/矩形 17.png'
 | 
			
		||||
import PeakCustomTable from "@/components/smallCommon/CustomTable";
 | 
			
		||||
import Curd from "../../components/smallCommon/Curd.vue";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: "PeakCoalMonitoring",
 | 
			
		||||
  components: {
 | 
			
		||||
    Curd,
 | 
			
		||||
    Miaoshu,
 | 
			
		||||
    ModuleContent2,
 | 
			
		||||
    CusDesc,
 | 
			
		||||
    Butgroup2,
 | 
			
		||||
    CusButton2,
 | 
			
		||||
    Web3Title,
 | 
			
		||||
    CusButton,
 | 
			
		||||
    Butgroup,
 | 
			
		||||
    BFC,
 | 
			
		||||
    Web2Title,
 | 
			
		||||
    NewBg,
 | 
			
		||||
    ModuleContent,
 | 
			
		||||
    FlexCol,
 | 
			
		||||
    SystemTitle,
 | 
			
		||||
    PeakCustomTable
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    const self = this
 | 
			
		||||
    return {
 | 
			
		||||
      tableProps: {
 | 
			
		||||
        customRow (record) {
 | 
			
		||||
          return {
 | 
			
		||||
            on: {
 | 
			
		||||
              click: (event) => {
 | 
			
		||||
                self.selectedRecord = record
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        rowClassName (record, index) {
 | 
			
		||||
          if (record.id === self.selectedRecord.id) return 'selected'
 | 
			
		||||
          return ''
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      apiConf: {
 | 
			
		||||
        listApi: { api: '/api/Transport/list', method: 'get' },
 | 
			
		||||
      },
 | 
			
		||||
      selectedRecord: {},
 | 
			
		||||
      bgStr,
 | 
			
		||||
      searchCarNum: '',
 | 
			
		||||
      tableH: 513,
 | 
			
		||||
      count: {
 | 
			
		||||
        addCount: 0,
 | 
			
		||||
        comeCount: 1,
 | 
			
		||||
        inCount: 1,
 | 
			
		||||
        outCount: 0,
 | 
			
		||||
      },
 | 
			
		||||
      dataSource: [],
 | 
			
		||||
      descColumns: [
 | 
			
		||||
        {
 | 
			
		||||
          title: '设备掉线',
 | 
			
		||||
          dataIndex: 'deviceName',
 | 
			
		||||
          width: '33.333%'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          title: '故障异常',
 | 
			
		||||
          dataIndex: 'errorName',
 | 
			
		||||
          width: '33.333%'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          title: '异常报警',
 | 
			
		||||
          dataIndex: 'errorImg',
 | 
			
		||||
          width: '33.333%'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      columns: [
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'carNumber',
 | 
			
		||||
          key: 'carNumber',
 | 
			
		||||
          title: '车牌号'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'transportType',
 | 
			
		||||
          key: 'transportType',
 | 
			
		||||
          title: '类型',
 | 
			
		||||
          customRender(transportType) {
 | 
			
		||||
            if (transportType === 1) return '进厂'
 | 
			
		||||
            return '出厂'
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'address',
 | 
			
		||||
          key: 'address',
 | 
			
		||||
          title: '进出厂位置'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'registered',
 | 
			
		||||
          key: 'registered',
 | 
			
		||||
          title: '出/入厂位置'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'goods',
 | 
			
		||||
          key: 'goods',
 | 
			
		||||
          title: '物料类型'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'effluent',
 | 
			
		||||
          key: 'effluent',
 | 
			
		||||
          title: '排放标准'
 | 
			
		||||
        },
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    ...mapState({
 | 
			
		||||
      title: state => state.system.title,
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    this.getCount()
 | 
			
		||||
    this.getDataSource()
 | 
			
		||||
    this.$nextTick(() => {
 | 
			
		||||
      const win = window.top
 | 
			
		||||
      this.$http.get('http://101.43.201.20:5000/api/Home/view').then(({data}) => {
 | 
			
		||||
        win.document.title = data.home.title
 | 
			
		||||
        this.setTitle(data.home.title)
 | 
			
		||||
        this.setInfo(data)
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      if (this.$refs.module) {
 | 
			
		||||
        const offsetHeight = this.$refs.module.$el.offsetHeight - 40
 | 
			
		||||
        this.tableH = offsetHeight
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    ...mapActions('system', ['setTitle', 'setInfo']),
 | 
			
		||||
    getCount() {
 | 
			
		||||
      this.$get('/api/Transport/count').then(({data}) => {
 | 
			
		||||
        this.count = data
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    getDataSource () {
 | 
			
		||||
      this.$get('/api/Transport/list').then(({data}) => {
 | 
			
		||||
        this.dataSource = data
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 图层构造器
 | 
			
		||||
     * @param { object } props
 | 
			
		||||
     * @param { 'cems' | 'sdjcy' | 'zkz' | 'gbz' | 'ssc' | 'shisc' | 'wz' | 'jkd' } props.layerType 图层类型 jkd(监控点) wz(微站) sdjcy(深度检测仪)  zkz(质控站) gbz(国标站) ssc(洒水车) shisc(湿扫车) cems(CEMS)
 | 
			
		||||
     * @param { object } props.data 图层类型
 | 
			
		||||
     */
 | 
			
		||||
    pointClick({layerType, data}) {
 | 
			
		||||
      // todo
 | 
			
		||||
      if (layerType == 'wz') {
 | 
			
		||||
        this.$open(WZDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'middle',
 | 
			
		||||
          title: '微站',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      } else if (layerType === 'sdjcy') {
 | 
			
		||||
        this.$open(SDJCYDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'custommiddle',
 | 
			
		||||
          title: '深度检测仪',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      } else if (layerType === 'zkz') {
 | 
			
		||||
        this.$open(ZKZDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'custommiddle',
 | 
			
		||||
          title: '质控站',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      } else if (layerType === 'gbz') {
 | 
			
		||||
        this.$open(GBZDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'custommiddle',
 | 
			
		||||
          title: '国标站',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      } else if (layerType === 'cems') {
 | 
			
		||||
        this.$open(CEMSDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'custommiddle',
 | 
			
		||||
          title: 'CEMS',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      } else if (layerType === 'jkd') {
 | 
			
		||||
        this.$open(pointDialog, {
 | 
			
		||||
          type: 'middle'
 | 
			
		||||
        }, {
 | 
			
		||||
          screenType: 'custommiddle',
 | 
			
		||||
          title: '监控点',
 | 
			
		||||
          width: 1100,
 | 
			
		||||
          onClose() {
 | 
			
		||||
            console.log(1);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
body, html, #__nuxt, #__layout {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  background: #09151F;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.list-enter-active, .list-leave-active {
 | 
			
		||||
  transition: all 0.5s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.list-enter, .list-leave-to
 | 
			
		||||
  /* .list-leave-active for below version 2.1.8 */
 | 
			
		||||
{
 | 
			
		||||
  opacity: 0;
 | 
			
		||||
  transform: translateY(30px);
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less">
 | 
			
		||||
@import "../../assets/styles/mixin";
 | 
			
		||||
 | 
			
		||||
.sou-suo-kuang {
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  width: 580px;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  padding-left: 20px;
 | 
			
		||||
  pointer-events: auto;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  .search {
 | 
			
		||||
    /deep/ .ant-input {
 | 
			
		||||
      color: #fff;
 | 
			
		||||
      background: rgba(5, 38, 93, 1);
 | 
			
		||||
      border: 1.28px solid rgba(35, 209, 232, 1);
 | 
			
		||||
 | 
			
		||||
      &:hover {
 | 
			
		||||
        color: #fff;
 | 
			
		||||
        background: rgba(5, 38, 93, 1);
 | 
			
		||||
        border: 1.28px solid rgba(35, 209, 232, 1);
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 90px;
 | 
			
		||||
    box-sizing: border-box;
 | 
			
		||||
    padding: 28px 16px;
 | 
			
		||||
 | 
			
		||||
    background: rgba(24, 131, 201, 0.2);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /** 文本1 */
 | 
			
		||||
    font-size: 16px;
 | 
			
		||||
    font-weight: 400;
 | 
			
		||||
    letter-spacing: 0px;
 | 
			
		||||
    line-height: 23.17px;
 | 
			
		||||
    color: rgba(255, 255, 255, 1);
 | 
			
		||||
    text-align: left;
 | 
			
		||||
    vertical-align: top;
 | 
			
		||||
    line-height: 32px;
 | 
			
		||||
 | 
			
		||||
    .input {
 | 
			
		||||
      margin-left: 10px;
 | 
			
		||||
      pointer-events: auto;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.liebiao {
 | 
			
		||||
  height: 100%;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.car-preview {
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 260px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.desc {
 | 
			
		||||
  background: rgba(24, 131, 201, 0.2);
 | 
			
		||||
  border: 1px solid rgba(15, 81, 122, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.table-content {
 | 
			
		||||
  padding-top: 20px;
 | 
			
		||||
  flex: 1;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,140 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <a-page-header
 | 
			
		||||
      :ghost="false"
 | 
			
		||||
      style="border-bottom: 1px solid rgb(235, 237, 240)"
 | 
			
		||||
      title="厂区车辆台账"
 | 
			
		||||
      @back="() => $router.go(-1)"
 | 
			
		||||
    />
 | 
			
		||||
    <a-row :gutter="16">
 | 
			
		||||
      <a-col :span="6">
 | 
			
		||||
        <a-card title="运输车辆" size="small">
 | 
			
		||||
          <p>card content</p>
 | 
			
		||||
        </a-card>
 | 
			
		||||
      </a-col>
 | 
			
		||||
      <a-col :span="6">
 | 
			
		||||
        <a-card title="国Ⅵ输车辆" size="small">
 | 
			
		||||
          <p>card content</p>
 | 
			
		||||
        </a-card>
 | 
			
		||||
      </a-col>
 | 
			
		||||
      <a-col :span="6">
 | 
			
		||||
        <a-card title="非道路工程机械" size="small">
 | 
			
		||||
          <p>card content</p>
 | 
			
		||||
        </a-card>
 | 
			
		||||
      </a-col>
 | 
			
		||||
      <a-col :span="6">
 | 
			
		||||
        <a-card title="燃油运输车辆"  size="small">
 | 
			
		||||
          <p>card content</p>
 | 
			
		||||
        </a-card>
 | 
			
		||||
      </a-col>
 | 
			
		||||
    </a-row>
 | 
			
		||||
 | 
			
		||||
    <a-divider />
 | 
			
		||||
    <Curd
 | 
			
		||||
      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>
 | 
			
		||||
      </template>
 | 
			
		||||
    </Curd>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import Curd from "../../components/smallCommon/Curd.vue";
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
export default {
 | 
			
		||||
  name: "user",
 | 
			
		||||
  layout: "user",
 | 
			
		||||
  components: {
 | 
			
		||||
    Curd
 | 
			
		||||
  },
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
      isEdit: false,
 | 
			
		||||
      roles: [],
 | 
			
		||||
      columns: [
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'outTime',
 | 
			
		||||
          key: 'outTime',
 | 
			
		||||
          title: '日期'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'carNum',
 | 
			
		||||
          key: 'carNum',
 | 
			
		||||
          title: '车牌号'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'carModel',
 | 
			
		||||
          key: 'carModel',
 | 
			
		||||
          title: '车型'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'newCar',
 | 
			
		||||
          key: 'newCar',
 | 
			
		||||
          title: '新能源',
 | 
			
		||||
          customRender (text) {
 | 
			
		||||
            if (text) return '是'
 | 
			
		||||
            return '否'
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'emissions',
 | 
			
		||||
          key: 'emissions',
 | 
			
		||||
          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']
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  methods: {
 | 
			
		||||
    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">
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,126 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <a-page-header
 | 
			
		||||
      :ghost="false"
 | 
			
		||||
      title="清洁运输+趋势"
 | 
			
		||||
      @back="() => $router.go(-1)"
 | 
			
		||||
    />
 | 
			
		||||
    <a-divider style="margin-top: 0;" />
 | 
			
		||||
    <a-row :gutter="16">
 | 
			
		||||
      <a-col :span="12">
 | 
			
		||||
        <a-card>
 | 
			
		||||
          <div slot="title">
 | 
			
		||||
            运输总量: {{ yunshuzongliang }}
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <Curd
 | 
			
		||||
            hide-action
 | 
			
		||||
            hide-search
 | 
			
		||||
            hide-button
 | 
			
		||||
            :columns="columns"
 | 
			
		||||
            :api-conf="apiConf"
 | 
			
		||||
            :form-items="formItems"
 | 
			
		||||
          >
 | 
			
		||||
          </Curd>
 | 
			
		||||
        </a-card>
 | 
			
		||||
 | 
			
		||||
      </a-col>
 | 
			
		||||
      <a-col :span="12">
 | 
			
		||||
        <a-card title="国Ⅵ输车辆" size="small">
 | 
			
		||||
          <p>card content</p>
 | 
			
		||||
        </a-card>
 | 
			
		||||
      </a-col>
 | 
			
		||||
    </a-row>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import Curd from "../../components/smallCommon/Curd.vue";
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
export default {
 | 
			
		||||
  name: "user",
 | 
			
		||||
  layout: "user",
 | 
			
		||||
  components: {
 | 
			
		||||
    Curd
 | 
			
		||||
  },
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
      yunshuzongliang: 0,
 | 
			
		||||
      isEdit: false,
 | 
			
		||||
      roles: [],
 | 
			
		||||
      columns: [
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'outTime',
 | 
			
		||||
          key: 'outTime',
 | 
			
		||||
          title: '日期'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'carNum',
 | 
			
		||||
          key: 'carNum',
 | 
			
		||||
          title: '车牌号'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'carModel',
 | 
			
		||||
          key: 'carModel',
 | 
			
		||||
          title: '车型'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'newCar',
 | 
			
		||||
          key: 'newCar',
 | 
			
		||||
          title: '新能源',
 | 
			
		||||
          customRender (text) {
 | 
			
		||||
            if (text) return '是'
 | 
			
		||||
            return '否'
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'emissions',
 | 
			
		||||
          key: 'emissions',
 | 
			
		||||
          title: '燃油车'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          dataIndex: 'createDateTime',
 | 
			
		||||
          key: 'createDateTime',
 | 
			
		||||
          title: '出厂日期'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      apiConf: {
 | 
			
		||||
        listApi: { api: '/api/Transport/list', method: 'get' },
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  computed: {
 | 
			
		||||
    formItems () {
 | 
			
		||||
      return [
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getyunshuzongliang()
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  methods: {
 | 
			
		||||
    getyunshuzongliang () {
 | 
			
		||||
      /*this.$get('/api/Transport/count').then(({ data }) => {
 | 
			
		||||
        this.yunshuzongliang = data
 | 
			
		||||
      })*/
 | 
			
		||||
    },
 | 
			
		||||
    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">
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ export default {
 | 
			
		|||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          key: 'deviceMN',
 | 
			
		||||
          label: '编码',
 | 
			
		||||
          label: 'MN编码',
 | 
			
		||||
          isSearch: true,
 | 
			
		||||
          placeholder: '请输入编码',
 | 
			
		||||
          rules: [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ export default {
 | 
			
		|||
    Curd
 | 
			
		||||
  },
 | 
			
		||||
  data () {
 | 
			
		||||
    const self = this
 | 
			
		||||
    return {
 | 
			
		||||
      isEdit: false,
 | 
			
		||||
      roles: [],
 | 
			
		||||
| 
						 | 
				
			
			@ -43,7 +44,11 @@ export default {
 | 
			
		|||
        {
 | 
			
		||||
          dataIndex: 'roleId',
 | 
			
		||||
          key: 'roleId',
 | 
			
		||||
          title: '角色'
 | 
			
		||||
          title: '角色',
 | 
			
		||||
          customRender (text) {
 | 
			
		||||
            const item = (self.roles || []).find(item => item.value === text)
 | 
			
		||||
            return item && item.label || ''
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      apiConf: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,10 @@ module.exports = {
 | 
			
		|||
      scale: 0.5,
 | 
			
		||||
      ignore: [
 | 
			
		||||
        'manager',
 | 
			
		||||
        'video',
 | 
			
		||||
        'youzuzhi',
 | 
			
		||||
        'wuzuzhi',
 | 
			
		||||
        'cleanTravel',
 | 
			
		||||
        'node_modules',
 | 
			
		||||
        'peak-coal-monitoring',
 | 
			
		||||
        'web',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue