MrShi
2 天以前 e6124a14187aeb41f62ee9415a203f3c39e589be
修改bug
已添加2个文件
已修改15个文件
322 ■■■■ 文件已修改
admin/src/api/business/jkCustomer.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/jkInterfacelog.js 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/BorrowingAndReturningRecords.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaInternalCompanyWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaJkCabinetWindow.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaJkCustomerImportWindow.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaJkKeysWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/cabinetDetails.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/categoryJkBanner.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/internalMember.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkCabinet.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkCabinetLog.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkIccard.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkInterfaceLog.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkKeys.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/jkVersion.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/jkCustomer.js
@@ -29,7 +29,7 @@
// åˆ é™¤
export function deleteById (id) {
  return request.get(`/business/jkCustomer/delete/${id}`)
  return request.get(`/visitsAdmin/cloudService/business/jkCustomer/delete/${id}`)
}
// æ‰¹é‡åˆ é™¤
admin/src/api/business/jkInterfacelog.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
import request from '../../utils/request'
// æŸ¥è¯¢
export function fetchList (data) {
  return request.post('/visitsAdmin/cloudService/business/jkInterfaceLog/page', data, {
    trim: true
  })
}
export function importExcel (data) {
  return request.post('/visitsAdmin/cloudService/business/jkInterfaceLog/importExcel', data)
}
// åˆ é™¤
export function deleteById (id) {
  return request.get(`/visitsAdmin/cloudService/business/jkInterfaceLog/delete/${id}`)
}
// æ‰¹é‡åˆ é™¤
export function deleteByIdInBatch (ids) {
  return request.get('/visitsAdmin/cloudService/business/jkInterfaceLog/delete/batch', {
    params: {
      ids
    }
  })
}
admin/src/components/business/BorrowingAndReturningRecords.vue
@@ -43,19 +43,25 @@
            :data="list"
            stripe
        >
            <el-table-column prop="code" label="钥匙编号" min-width="100px"></el-table-column>
            <el-table-column prop="cabinetName" label="存放位置" min-width="100px"></el-table-column>
            <el-table-column prop="gridName" label="所属钥匙柜" min-width="100px"></el-table-column>
            <el-table-column prop="keyInfo" label="钥匙编号" min-width="100px"></el-table-column>
            <el-table-column prop="gridCode" label="存放位置" min-width="100px"></el-table-column>
            <el-table-column prop="cabinetName" label="所属钥匙柜" min-width="100px"></el-table-column>
            <el-table-column prop="memberName" label="操作人" min-width="100px"></el-table-column>
            <el-table-column label="类型" min-width="100px">
                <template slot-scope="{row}">
                    <span v-if="row.keyStatus === 1">已归还</span>
                    <span v-if="row.keyStatus === 2">已借出</span>
                </template>
            </el-table-column>
            <el-table-column label="时间" min-width="100px">
                <template slot-scope="{row}">
                    {{row.startDate}}~{{row.endDate}}
                    {{row.createDate}}
                </template>
            </el-table-column>
            <el-table-column label="状态" min-width="100px">
                <template slot-scope="{row}">
                    <el-link v-if="row.status === 0">成功</el-link>
                    <el-link type="danger" v-if="row.status === 1">失败</el-link>
                    <span v-if="row.status === 0">成功</span>
                    <span v-if="row.status === 1">失败</span>
                </template>
            </el-table-column>
        </el-table>
@@ -101,6 +107,14 @@
      open (title, id) {
        this.title = title
        this.id = id
        this.searchForm = {
          memberName: '',
          status: '',
          roleType: '',
          startDate: '',
          editDate: ''
        }
        this.date = []
        this.getList()
        this.visible = true
      },
@@ -133,11 +147,13 @@
          capacity: 10,
          page: this.page,
          model: {
            keyId: this.id.id,
            memberName: this.searchForm.memberName,
            status: this.searchForm.status,
            roleType: this.searchForm.roleType,
            startDate: this.searchForm.startDate,
            editDate: this.searchForm.editDate,
            type: 1
          }
        }).then(res => {
          this.list = res.records
admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -21,7 +21,7 @@
          <el-form-item label="组织类型" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')" >
            <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))">
              <el-radio :label="0">相关方组织</el-radio>
<!--              <el-radio :label="1">内部组织</el-radio>-->
              <el-radio :label="1">内部组织</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-form>
admin/src/components/business/OperaJkCabinetWindow.vue
@@ -64,8 +64,8 @@
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在位置" prop="lacation">
        <el-input v-model="form.lacation" placeholder="请输入所在位置" v-trim/>
      <el-form-item label="所在位置" prop="location">
        <el-input v-model="form.location" placeholder="请输入所在位置" v-trim/>
      </el-form-item>
      <el-form-item label="经纬度" prop="jwd">
        <div style="width: 100%; display: flex; align-items: center;">
@@ -95,7 +95,7 @@
        </div>
      </el-form-item>
      <el-form-item label="编码" prop="noType">
        <el-radio-group v-model="form.noType" @change="changeNoType">
        <el-radio-group v-model="form.noType" :disabled="form.id ? true : false" @change="changeNoType">
          <el-radio :label="0">自动编码</el-radio>
          <el-radio :label="1">手动编码</el-radio>
        </el-radio-group>
@@ -129,6 +129,13 @@
  extends: BaseOpera,
  components: { GlobalWindow },
  data () {
    var validate = (rule, value, callback) => {
      if (this.form.noType === 1 && this.form.noLength === '' || this.form.noIndex === '') {
        callback(new Error('位数和起始编号不能为空!'));
      } else {
        callback();
      }
    };
    return {
      // è¡¨å•数据
      form: {
@@ -141,6 +148,7 @@
        status: 0,
        port: '',
        managerIdList: '',
        location: '',
        useTime: '',
        doubleAuth: 0,
        authMemberIdList: '',
@@ -184,7 +192,7 @@
          { required: true, message: '请选择编码', trigger: 'blur' }
        ],
        noPrefix: [
          { required: true, message: '请输入前缀', trigger: 'blur' }
          { required: true, validator: validate, trigger: 'blur' }
        ],
        sortType: [
          { required: true, message: '请输入排列顺序', trigger: 'blur' }
@@ -217,6 +225,29 @@
          })
      } else {
        this.$nextTick(() => {
          this.form = {
            id: null,
            code: '',
            name: '',
            devId: '',
            serialNo: '',
            linkAddr: '',
            status: 0,
            port: '',
            managerIdList: '',
            useTime: '',
            doubleAuth: 0,
            authMemberIdList: '',
            rowNum: '',
            columnNum: '',
            jwd: '',
            latitude: '',
            noType: 0,
            noPrefix: '',
            noLength: '',
            noIndex: '',
            sortType: 0
          }
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
        })
admin/src/components/business/OperaJkCustomerImportWindow.vue
@@ -12,7 +12,7 @@
      1.请先下载文件模板,并按照模板要去填写表格内容;<br>
      2.建议每次导入数据量不大于3000,可采取分批导入;<br>
    </p>
    <el-form class="demo-form-inline" >
    <el-form class="demo-form-inline" v-loading="loading">
      <el-form-item label="客户信息" required>
        <div style="width: 100%;display: flex;align-items: center;">
          <el-button type="primary"   @click="clickRef">点击上传</el-button>
@@ -39,7 +39,8 @@
  data () {
    return {
      importing:false,
      fileName: ''
      fileName: '',
      loading: false
    }
  },
  methods: {
@@ -57,6 +58,7 @@
      this.$refs.fileExcel.click()
    },
    result (e) {
      this.loading = true
      const data = new FormData()
      data.append('file', e.target.files[0])
      importExcel(data)
@@ -70,6 +72,7 @@
          this.fileName = ''
        })
        .finally(() => {
          this.loading = false
          this.$refs.fileExcel.value = null
        })
    }
admin/src/components/business/OperaJkKeysWindow.vue
@@ -11,7 +11,7 @@
        <el-input v-model="form.code" placeholder="请输入钥匙编号" v-trim/>
      </el-form-item>
      <el-form-item label="所属车辆" prop="carId">
        <el-select v-model="form.carId" placeholder="请选择">
        <el-select v-model="form.carId" filterable placeholder="请选择">
          <el-option
            v-for="item in carAll"
            :key="item.id"
@@ -78,7 +78,7 @@
  },
  methods: {
    getCars() {
      allList({ type: 0 })
      allList({  })
        .then(res => {
          this.carAll = res
        })
admin/src/components/business/cabinetDetails.vue
@@ -6,8 +6,8 @@
        :withFooter="false"
    >
        <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
            <el-form-item label="钥匙" prop="keyCode">
                <el-input v-model="searchForm.keyCode" placeholder="请输入钥匙编码或名称" @keypress.enter.native="getList"></el-input>
            <el-form-item label="钥匙编码" prop="keyCode">
                <el-input v-model="searchForm.keyCode" placeholder="请输入钥匙编码" @keypress.enter.native="getList"></el-input>
            </el-form-item>
            <el-form-item label="状态" prop="status">
                <el-select v-model="searchForm.status" placeholder="请选择" @change="getList">
@@ -37,7 +37,9 @@
            v-loading="loading"
            :data="list"
            stripe
            @selection-change="handleSelectionChange"
        >
            <el-table-column type="selection" width="55"></el-table-column>
            <el-table-column prop="code" label="柜格编码" min-width="100px"></el-table-column>
            <el-table-column prop="cabinetName" label="所属钥匙柜" min-width="100px"></el-table-column>
            <el-table-column prop="keyId" label="绑定钥匙" min-width="100px">
@@ -104,6 +106,7 @@
      return {
        id: null,
        info: null,
        ids: [],
        searchForm: {
          keyCode: '',
          status: '',
@@ -118,9 +121,17 @@
      open (title, id) {
        this.title = title
        this.id = id
        this.searchForm = {
          keyCode: '',
          status: '',
          bindStatus: ''
        }
        this.getList()
        this.getKeysAll()
        this.visible = true
      },
      handleSelectionChange(e) {
        this.ids = e.map(item => item.id)
      },
      getKeysAll() {
        list({  })
@@ -135,8 +146,20 @@
        if (type === 1) {
          obj.keyId = row.keyId
        } else if (type === 2) {
          if (!row.boardCode) return
          if (!/^[1-9]\d*$/.test(row.boardCode)) {
            this.$message.warning('只能输入正整数')
            row.boardCode = ''
            return
          }
          obj.boardCode = row.boardCode
        } else if (type === 3) {
          if (!row.channelCode) return
          if (!/^[1-9]\d*$/.test(row.channelCode)) {
            this.$message.warning('只能输入正整数')
            row.channelCode = ''
            return
          }
          obj.channelCode = row.channelCode
        }
        updateById(obj)
@@ -153,7 +176,7 @@
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          unBindKeys(this.list.map(item => item.id))
          unBindKeys(this.ids)
            .then(res => {
              this.getList()
            })
@@ -172,9 +195,9 @@
        this.getList()
      },
      reset() {
        this.searchForm.keyId = ''
        this.searchForm.keyCode = ''
        this.searchForm.status = ''
        this.searchForm.workingStatus = ''
        this.searchForm.bindStatus = ''
        this.getList()
      },
      getList() {
@@ -186,6 +209,7 @@
            cabinetId: this.id,
            keyId: this.searchForm.keyId,
            status: this.searchForm.status,
            bindStatus: this.searchForm.bindStatus,
            workingStatus: this.searchForm.workingStatus
          }
        }).then(res => {
admin/src/views/business/categoryJkBanner.vue
@@ -24,8 +24,8 @@
          @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="name" show-overflow-tooltip label="广告" min-width="120px"></el-table-column>
        <el-table-column prop="imgurl" show-overflow-tooltip label="" min-width="120px">
        <el-table-column prop="name" show-overflow-tooltip label="广告名称" min-width="120px"></el-table-column>
        <el-table-column prop="imgurl" show-overflow-tooltip label="广告图" min-width="120px">
          <template slot-scope="{row}">
            <el-image v-if="row.imgurlFull" style="width: 60px; height: 60px" :src="row.imgurlFull"
                      :preview-src-list="[row.imgurlFull]">
admin/src/views/business/internalMember.vue
@@ -71,10 +71,10 @@
        <li><el-button type="primary"
            @click="add" icon="el-icon-plus"
            v-permissions="['business:member:create']">新建员工</el-button></li>
<!--        <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入', searchForm.companyType)"-->
<!--            icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li>-->
<!--        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete"-->
<!--            v-permissions="['business:member:delete']">批量删除</el-button></li>-->
        <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入', searchForm.companyType)"
            icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li>
        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete"
            v-permissions="['business:member:delete']">批量删除</el-button></li>
        <li><el-button type="primary" v-permissions="['business:empower:create']"
            @click="startEmpowerBatch()">下发授权</el-button></li>
        <li style="float: right">
@@ -193,8 +193,8 @@
              v-permissions="['business:member:head']">取消主管</el-button>
            <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row, 1)"
              v-if="row.headStatus == 0" v-permissions="['business:member:head']">设为主管</el-button>
<!--            <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red"
              v-permissions="['business:member:delete']">删除</el-button>-->
            <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red"
              v-permissions="['business:member:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
admin/src/views/business/jkCabinet.vue
@@ -44,7 +44,7 @@
        <el-table-column prop="devId" label="设备ID" min-width="100px"></el-table-column>
        <el-table-column prop="linkAddr" label="通讯地址" min-width="100px"></el-table-column>
        <el-table-column prop="port" label="端口号" min-width="100px"></el-table-column>
        <el-table-column prop="lacation" label="所在位置" min-width="100px"></el-table-column>
        <el-table-column prop="location" label="所在位置" min-width="100px"></el-table-column>
        <el-table-column label="柜格数量" min-width="100px">
          <template slot-scope="{row}">
            <el-button @click="$refs.cabinetDetails.open(row.name + '-柜格信息', row.id)">{{row.gridNum}}</el-button>
admin/src/views/business/jkCabinetLog.vue
@@ -32,6 +32,7 @@
          <el-option label="全部" value=""></el-option>
          <el-option label="刷脸" :value="0"></el-option>
          <el-option label="刷卡" :value="1"></el-option>
          <el-option label="管理员" :value="2"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="状态" prop="status">
@@ -61,11 +62,12 @@
          <template slot-scope="{row}">
            <el-link :underline="false" v-if="row.authType === 0">刷脸</el-link>
            <el-link :underline="false" v-if="row.authType === 1">刷卡</el-link>
            <el-link :underline="false" v-if="row.authType === 2">管理员</el-link>
          </template>
        </el-table-column>
        <el-table-column prop="cabinetName" label="所属钥匙柜" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="柜格编号" min-width="100px"></el-table-column>
        <el-table-column prop="isdeleted" label="钥匙" min-width="100px"></el-table-column>
        <el-table-column prop="gridCode" label="柜格编号" min-width="100px"></el-table-column>
        <el-table-column prop="keyInfo" label="钥匙" min-width="100px"></el-table-column>
        <el-table-column label="状态" min-width="100px">
          <template slot-scope="{row}">
            <el-link :underline="false" v-if="row.status === 0">成功</el-link>
admin/src/views/business/jkIccard.vue
@@ -2,8 +2,8 @@
  <TableLayout :permissions="['business:jkiccard:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="卡号" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入卡号" @keypress.enter.native="search"></el-input>
      <el-form-item label="卡号" prop="code">
        <el-input v-model="searchForm.code" placeholder="请输入卡号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="姓名" prop="memberName">
        <el-input v-model="searchForm.memberName" placeholder="请输入" @keypress.enter.native="search"></el-input>
@@ -97,7 +97,7 @@
    return {
      // æœç´¢
      searchForm: {
        name: '',
        code: '',
        memberName: '',
        userType: '',
        status: ''
admin/src/views/business/jkInterfaceLog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
<template>
  <TableLayout :permissions="['business:jkinterfacelog:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="接口名称" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入接口名称" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="类型" prop="type">
        <el-select v-model="searchForm.type" @change="search" placeholder="请选择">
          <el-option label="调用" value="0"></el-option>
          <el-option label="推送接受" value="1"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="起止时间" prop="startDate">
        <el-date-picker type="datetime" v-model="searchForm.startDate" value-format="yyyy-MM-dd HH:mm:ss"
          placeholder="请选择开始时间" @change="changeRadio" />
        <el-date-picker type="datetime" v-model="searchForm.endDate" value-format="yyyy-MM-dd HH:mm:ss"
          placeholder="请选择结束时间" @change="changeRadio" />
      </el-form-item>
      <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
        <el-radio-button label="0">当天</el-radio-button>
        <el-radio-button label="1">近7天</el-radio-button>
        <el-radio-button label="2">近30天</el-radio-button>
      </el-radio-group>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe>
        <el-table-column prop="name" label="接口名称" min-width="180px"></el-table-column>
        <el-table-column prop="url" label="地址信息" min-width="180px"></el-table-column>
        <el-table-column label="类型" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.type == 0">调用</span>
            <span v-if="row.type == 1">推送接收</span>
          </template>
        </el-table-column>
        <el-table-column label="平台" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.plat == 0">海康安防平台</span>
            <span v-if="row.plat == 1">ERP系统</span>
          </template>
        </el-table-column>
        <el-table-column prop="request" label="请求参数" min-width="100px">
          <template slot-scope="{row}">
            <el-button type="text"
              @click="$refs.operaInterfaceLogWindow.open('请求参数', { content: row.request })">查看</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="repose" label="响应参数" min-width="100px">
          <template slot-scope="{row}">
            <el-button type="text"
              @click="$refs.operaInterfaceLogWindow.open('响应参数', { content: row.repose })">查看</el-button>
          </template>
        </el-table-column>
        <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column>
      </el-table>
      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaInterfaceLogWindow ref="operaInterfaceLogWindow" @success="handlePageChange" />
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaInterfaceLogWindow from '@/components/business/OperaInterfaceLogWindow'
import { timeForMat } from '@/utils/util'
export default {
  name: 'InterfaceLog',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaInterfaceLogWindow },
  data() {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        type: '',
        endDate: '',
        startDate: '',
        radio: '0'
      },
      time: []
    }
  },
  created() {
    this.config({
      module: '三方平台接口交互记录',
      api: '/business/jkInterfacelog',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.changeRadio('0')
  },
  methods: {
    changeRadio(e) {
      if (e === '0') {
        this.searchForm.startDate = timeForMat(0)[0]
        this.searchForm.endDate = timeForMat(0)[1]
      } else if (e === '1') {
        this.searchForm.startDate = timeForMat(6)[0]
        this.searchForm.endDate = timeForMat(6)[1]
      } else if (e === '2') {
        this.searchForm.startDate = timeForMat(29)[0]
        this.searchForm.endDate = timeForMat(29)[1]
      } else {
        this.searchForm.radio = ''
      }
      if (this.searchForm.startDate && this.searchForm.endDate && new Date(this.searchForm.startDate).getTime() > new Date(this.searchForm.endDate).getTime()) {
        this.$message.error('开始时间不能大于结束时间')
        this.searchForm.startDate = ''
        return
      }
      this.search()
    },
    seleTime(e) {
      this.searchForm.startDate = e[0]
      this.searchForm.endDate = e[1]
      this.searchForm.radio = null
      this.search()
    },
    reset() {
      this.$refs.searchForm.resetFields()
      this.searchForm.startDate = ''
      this.searchForm.endDate = ''
      this.searchForm.radio = ''
      this.time = []
      this.search()
    }
  }
}
</script>
admin/src/views/business/jkKeys.vue
@@ -6,7 +6,7 @@
        <el-input v-model="searchForm.code" placeholder="请输入钥匙编号" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="所属车辆" prop="carId">
        <el-select v-model="searchForm.carId" placeholder="请选择" @change="search">
        <el-select v-model="searchForm.carId" filterable placeholder="请选择" @change="search">
          <el-option
            v-for="item in carAll"
            :key="item.id"
@@ -123,7 +123,7 @@
  },
  methods: {
    getCars() {
      allList({ type: 0 })
      allList({  })
        .then(res => {
          this.carAll = res
        })
admin/src/views/business/jkVersion.vue
@@ -37,7 +37,11 @@
        </el-table-column>
        <el-table-column prop="content" label="更新描述" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="安装包" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="文件大小" min-width="100px"></el-table-column>
        <el-table-column label="文件大小" min-width="100px">
          <template slot-scope="{row}">
            {{row.fileSizeMb}}mb
          </template>
        </el-table-column>
        <el-table-column label="是否强制更新" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.isForce === 0">否</span>
admin/vue.config.js
@@ -7,7 +7,7 @@
}
module.exports = {
  publicPath: process.env.VUE_APP_CONTEXT_PATH,
  outputDir: 'admin',
  outputDir: 'whyc_admin',
  assetsDir: 'static',
  lintOnSave: false,
  devServer: {