Merge remote-tracking branch 'origin/master'
已添加10个文件
已删除2个文件
已修改36个文件
| | |
| | | NODE_ENV = 'development' |
| | | |
| | | VUE_APP_API_URL = 'http://localhost:10010' |
| | | # VUE_APP_API_URL = 'http://192.168.0.101:10010' |
| | | # VUE_APP_API_URL = 'http://192.168.0.103:10010' |
| | | VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' |
| | | |
| | |
| | | # ç产ç¯å¢é
ç½® |
| | | NODE_ENV = 'production' |
| | | |
| | | VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' |
| | | # VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' |
| | |
| | | # æµè¯ç¯å¢é
ç½® |
| | | NODE_ENV = 'production' |
| | | |
| | | VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface' |
| | | # VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface' |
| | |
| | | trim: true |
| | | }) |
| | | } |
| | | // ä¸çº§åç±»æ¥è¯¢ |
| | | export function fetchCateList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/category/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/category/create', data) |
| | | } |
| | | |
| | | // 详æ
|
| | | export function getInfoById (id) { |
| | | return request.get('/visitsAdmin/cloudService/business/category/' + id) |
| | | } |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/category/updateById', data) |
| | |
| | | export function companySync (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/company/syncAll', data) |
| | | } |
| | | // å页æ¥è¯¢ |
| | | export function companyGetList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/company/page', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformEvent/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // 导åºExcel |
| | | export function exportExcel (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformEvent/exportExcel', data, { |
| | | trim: true, |
| | | download: true |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | export function platformJobPage(data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformJob/page', data) |
| | | } |
| | | // ç»è®¡æå°ä½ä¸ä»»å¡ å页å表 |
| | | export function platformLogPage(data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platformLog/page', data) |
| | | } |
| | | // æå°ä½ä¸ç»è®¡ å页å表 |
| | | export function platformWorkReportPage(data) { |
| | | return request.post('/visitsAdmin/cloudService/business/platform/platformWorkReportPage', data) |
| | |
| | | .df{ |
| | | display: flex; |
| | | } |
| | | .df_center{ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .df_ac{ |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="500px" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="车çå·" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请è¾å
¥è½¦çå·" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="车è¾ç±»å" prop="type"> |
| | | <el-radio-group v-model="form.type" > |
| | | <el-radio :label="0" >宿³°å
¬å¡è½¦</el-radio> |
| | | <el-radio :label="1" >宿³°ç©æµè½¦</el-radio> |
| | | <el-radio :label="2" >å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©è½¦ä¸»ï¼" prop="memberId"> |
| | | <el-select v-model="form.memberId" clearable filterable placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | <GlobalWindow :title="title" width="500px" @close="close" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="车çå·" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请è¾å
¥è½¦çå·" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="车è¾ç±»å" prop="type"> |
| | | <el-radio-group v-model="form.type"> |
| | | <el-radio :label="0">宿³°å
¬å¡è½¦</el-radio> |
| | | <el-radio :label="1">宿³°ç©æµè½¦</el-radio> |
| | | <el-radio :label="2">å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©åç±»ï¼" prop="type"> |
| | | <el-cascader v-model="form.cateId" @change="changeSel" :options="cateList" :props="{ |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'childCategoryList', |
| | | }"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©ç»ç»ï¼" prop="groupId"> |
| | | <el-select v-model="form.groupId" @change="changeSel" clearable filterable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©è½¦ä¸»ï¼" prop="memberId"> |
| | | <el-select v-model="form.memberId" clearable filterable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { allList } from '@/api/business/member' |
| | | import { fetchList } from '@/api/business/category.js' |
| | | import { create, updateById } from '@/api/business/cars' |
| | | import { companyGetList } from '@/api/business/company' |
| | | import { Message } from 'element-ui' |
| | | export default { |
| | | name: 'OperaInternalCompanyWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | data() { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | memberList: [], |
| | |
| | | id: null, |
| | | code: null, |
| | | memberId: null, |
| | | type: 0 |
| | | type: 0, |
| | | groupId: null, |
| | | cateId: [], |
| | | }, |
| | | cateList: [], |
| | | companyList: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | code: [ |
| | | { required: true, message: '请è¾å
¥è½¦çå·' } |
| | | ], |
| | | code: [{ required: true, message: '请è¾å
¥è½¦çå·' }], |
| | | groupId: [{ required: true, message: 'è¯·éæ©ç»ç»' }], |
| | | type: [ |
| | | { required: true, message: 'è¯·éæ©è½¦è¾ç±»å' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | api: '/business/cars', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | open(title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.loadMember() |
| | | this.getCate() |
| | | this.getCompany() |
| | | // æ°å»ºç»ç» |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.type=0 |
| | | this.form.type = 0 |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | // this.$nextTick(() => { |
| | | // for (const key in this.form) { |
| | | // this.form[key] = target[key] |
| | | // } |
| | | // }) |
| | | }, |
| | | changeSel() { |
| | | const { form } = this |
| | | if (form.groupId) { |
| | | this.loadMember() |
| | | } |
| | | }, |
| | | confirm() { |
| | | console.log('form', this.form.cateId) |
| | | const { form } = this |
| | | if(form.cateId && form.cateId.length == 2){ |
| | | |
| | | }else{ |
| | | return Message.error('è¯·éæ©äºçº§åç±»') |
| | | } |
| | | this.$refs['form'].validate((valid) => { |
| | | if (valid) { |
| | | let fn = form.id ? updateById : create |
| | | fn({ |
| | | ...form, |
| | | cateId: form.cateId[1] |
| | | }).then(res => { |
| | | Message.success('ä¿åæå') |
| | | this.visible = false |
| | | this.$emit('success') |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | }, |
| | | loadMember () { |
| | | close() { |
| | | this.visible = false |
| | | this.$emit('close') |
| | | }, |
| | | handleChange(val) { |
| | | |
| | | }, |
| | | getCate() { |
| | | fetchList({ |
| | | model: {}, |
| | | capacity: 1000, |
| | | page: 1, |
| | | }).then(res => { |
| | | this.cateList = res.records || [] |
| | | |
| | | }) |
| | | }, |
| | | getCompany() { |
| | | companyGetList({ |
| | | model: {}, |
| | | capacity: 1000, |
| | | page: 1, |
| | | }).then(res => { |
| | | this.companyList = res.records || [] |
| | | |
| | | }) |
| | | }, |
| | | loadMember() { |
| | | const { form } = this |
| | | allList({ |
| | | type: 2 |
| | | type: 2, |
| | | companyId: form.groupId, |
| | | |
| | | }) |
| | | .then(res => { |
| | | this.memberList = res |
| | |
| | | 1.请å
ä¸è½½æä»¶æ¨¡æ¿ï¼å¹¶æç
§æ¨¡æ¿è¦å»å¡«åè¡¨æ ¼å
容;<br> |
| | | </p> |
| | | <el-form class="demo-form-inline" > |
| | | <el-form-item label="人åå¹è®æåå" required> |
| | | <el-form-item label="人ååå" required> |
| | | <div style="width: 100%;display: flex;align-items: center;"> |
| | | <el-button type="primary" :loading="importing" @click="clickRef">ç¹å»ä¸ä¼ </el-button> |
| | | <el-button type="text" @click="exportTemplate">ç¹å»ä¸è½½æ¨¡ç.EXCEL</el-button> |
| | |
| | | <GlobalWindow |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | width="582px" |
| | | width="620px" |
| | | title="é
ç½®ç¨æ·è§è²" |
| | | @confirm="confirm" |
| | | > |
| | | <p class="tip" v-if="user != null">ä¸ºç¨æ· <em>{{user.realname}}</em> é
ç½®è§è²</p> |
| | | <p class="tip-warn"><i class="el-icon-warning"></i>æéï¼è§è²é
ç½®åééæ°ç»å½åçæ</p> |
| | | <el-transfer |
| | | <div class="df_center"> |
| | | <el-transfer |
| | | v-model="selectedIds" |
| | | :titles="['æªææè§è²', 'å·²ææè§è²']" |
| | | :props="{ |
| | |
| | | }" |
| | | :data="roles"> |
| | | </el-transfer> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:interfacelog:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="platformName"> |
| | | <el-input v-model="searchForm.platformName" placeholder="请è¾å
¥æå°åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="channelName"> |
| | | <el-input v-model="searchForm.channelName" placeholder="请è¾å
¥çæ§ç¹åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="plateNo"> |
| | | <el-input v-model="searchForm.plateNo" placeholder="请è¾å
¥è½¦çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="eventType"> |
| | | <el-select v-model="searchForm.motionStatus" placeholder="è¯·éæ©è¿åºç±»å"> |
| | | <el-option label="离å¼" value="leave"></el-option> |
| | | <el-option label="è¿å
¥" value="enter"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èµ·æ¢æ¶é´" prop="startDate"> |
| | | <el-date-picker |
| | | @change="seleTime" |
| | | v-model="time" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="è³" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´"> |
| | | </el-date-picker> |
| | | </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 |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | > |
| | | <el-table-column prop="platformName" label="æå°åç§°" min-width="180px"></el-table-column> |
| | | <el-table-column prop="channelName" label="çæ§ç¹åç§°" min-width="180px"></el-table-column> |
| | | <el-table-column prop="plateNo" label="车çå·" min-width="180px"></el-table-column> |
| | | <el-table-column label="车è¾è¿åºç±»å" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.motionStatus == 'enter'">è¿å
¥span> |
| | | <span v-if="row.motionStatus == 'leave'">离å¼</span> |
| | | <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ååæ è¯" min-width="180px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.stockStatus == 'rear'">车尾</span> |
| | | <span v-if="row.stockStatus == 'front'">车头</span> |
| | | <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="stockStatus" label="车é¨ç¶æ" min-width="180px"></el-table-column> |
| | | <el-table-column label="车é¨ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.vehicleDoorStatus == 'open'">å¼é¨</span> |
| | | <span v-if="row.vehicleDoorStatus == 'close'">å
³é¨</span> |
| | | <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="deviceId" label="设å¤ç¼ç " min-width="150px"></el-table-column> |
| | | <el-table-column prop="ipAddress" label="IPå°å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="portNo" label="端å£" min-width="100px"></el-table-column> |
| | | <el-table-column fixed="right" label="ææå¾" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown" |
| | | :preview-src-list="[row.backgroundImageDown]"> |
| | | </el-image> |
| | | </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> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import { timeForMat } from '@/utils/util' |
| | | export default { |
| | | name: 'platformEvent', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | plateNo: '', |
| | | motionStatus: '', |
| | | channelName: '', |
| | | platformName: '', |
| | | endDate: '', |
| | | startDate: '', |
| | | radio: '0' |
| | | }, |
| | | time: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æå°è½¦è¾ç¶æäºä»¶äº¤äºè®°å½', |
| | | api: '/business/platformEvent', |
| | | '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] |
| | | this.time = timeForMat(0) |
| | | } else if (e === '1') { |
| | | this.searchForm.startDate = timeForMat(6)[0] |
| | | this.searchForm.endDate = timeForMat(6)[1] |
| | | this.time = timeForMat(6) |
| | | } else if (e === '2') { |
| | | this.searchForm.startDate = timeForMat(29)[0] |
| | | this.searchForm.endDate = timeForMat(29)[1] |
| | | this.time = timeForMat(29) |
| | | } |
| | | 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.time = [] |
| | | this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <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="primary" |
| | | @click="$refs.OperaTrainTimeImportWindow.open('å¹è®æå¯¼å
¥', department, searchForm.companyType)" |
| | | @click="$refs.OperaTrainTimeImportWindow.open('å¹è®æææå¯¼å
¥', department, searchForm.companyType)" |
| | | icon="el-icon-plus" v-permissions="['business:traintime:create']">å¹è®æå¯¼å
¥</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" |
| | | v-permissions="['business:member:delete']">æ¹éå é¤</el-button></li> |
| | |
| | | <el-form-item label="ææºå·" prop="phone"> |
| | | <el-input v-model="searchForm.phone" placeholder="请è¾å
¥ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»åç§°" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="å
¬å¸åç§°" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥å
¬å¸åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="身份è¯å·" prop="idcardNo"> |
| | | <el-input v-model="searchForm.idcardNo" placeholder="请è¾å
¥èº«ä»½è¯å·" @keypress.enter.native="search"></el-input> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" width="150px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="å
¬å¸" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitTimes" label="æè®¿æ¬¡æ°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="lastVisitDate" label="æåæè®¿æ¶é´" min-width="100px"></el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column prop="remark" label="夿³¨" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column label="æä½" align="center" fixed="right" min-width="100" show-overflow-tooltip> |
| | | <template v-slot="scope"> |
| | | <el-button type="text" v-permissions="['business:platformbooks:detail']" |
| | | <el-button v-if="scope.row.status == 6" type="text" v-permissions="['business:platformbooks:detail']" |
| | | @click="handleAuth(scope.row)">ç¦»åææ</el-button> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | this.$prompt('夿³¨', 'ç¦»åææ', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | }).then(({ remark }) => { |
| | | platformPowerLevel({ jobId: row.id, remark }).then(res => { |
| | | }).then(({ value }) => { |
| | | platformPowerLevel({ jobId: row.id, remark: value }).then(res => { |
| | | Message.success('ç¦»åæææå') |
| | | this.getList() |
| | | }) |
| | |
| | | this.$nextTick(() => { |
| | | this.$refs.PlatformQueuingRef.isShowModal = true |
| | | this.$refs.PlatformQueuingRef.callType = callType |
| | | this.$refs.PlatformQueuingRef.carCodeFront = '' |
| | | this.$refs.PlatformQueuingRef.pagination = { |
| | | total: 0, |
| | | pageSize: 10, |
| | | page: 1 |
| | | } |
| | | this.$refs.PlatformQueuingRef.activePlat = { ...item } |
| | | this.$refs.PlatformQueuingRef.getList() |
| | | this.$refs.PlatformQueuingRef.title = item.name |
| | |
| | | <span></span> |
| | | </div> |
| | | </div> |
| | | <el-table class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> |
| | | <el-table v-if="activeGroup.type == 2" class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> |
| | | <el-table-column type="index" label="åºå·" width="80" /> |
| | | <el-table-column label="车çå·" width="130"> |
| | | <template slot-scope="{ row }"> |
| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-if="activeGroup.type == 2" prop="contractNum" label="åååå·" min-width="120" /> |
| | | <template v-else> |
| | | <el-table-column prop="carrierName" label="è¿è¾å
¬å¸" min-width="120" /> |
| | | <el-table-column prop="billCode" label="è¿åå·" min-width="120" /> |
| | | </template> |
| | | <el-table-column prop="contractNum" label="åååå·" min-width="120" /> |
| | | <el-table-column prop="totalNum" label="æ»è¿è¾é(䏿¯)" min-width="110" /> |
| | | <el-table-column prop="driverName" label="驾驶å" min-width="130"> |
| | | <el-table-column label="驾驶å" min-width="130"> |
| | | <template slot-scope="{ row }"> |
| | | <span class="mr10">{{ row.driverName }}</span> |
| | | <span>{{ row.drivierPhone }}</span> |
| | |
| | | <el-table-column prop="signDate" label="ç¾å°æ¶é´" min-width="150" /> |
| | | <el-table-column label="æä½" align="center" width="100" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button v-if="activeGroup.type != 2" type="text" @click="handleDetail(row)" |
| | | v-permissions="['business:company:update']">è¿å详æ
</el-button> |
| | | <el-button v-if="activeGroup.type == 2" type="text" @click="subDetail(row)">é¢çº¦è¯¦æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-table v-else class="mb20" v-loading="loading" :data="dataList" stripe row-key="id" default-expand-all> |
| | | <el-table-column type="index" label="åºå·" width="80" /> |
| | | <el-table-column label="车çå·" width="130"> |
| | | <template slot-scope="{ row }"> |
| | | <div class="plate_id"> |
| | | <span>{{ row.carCodeFront.slice(0, 1) }}</span> |
| | | <span>{{ row.carCodeFront.slice(1, 2) }}</span> |
| | | <span>·</span> |
| | | <span>{{ row.carCodeFront.slice(2) }}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="carrierName" label="è¿è¾å
¬å¸" min-width="120" /> |
| | | <el-table-column prop="totalNum" label="æ»è¿è¾é(䏿¯)" min-width="110" /> |
| | | <el-table-column label="驾驶å" min-width="130"> |
| | | <template slot-scope="{ row }"> |
| | | <span class="mr10">{{ row.driverName }}</span> |
| | | <span>{{ row.drivierPhone }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="signDate" label="ç¾å°æ¶é´" min-width="150" /> |
| | | <el-table-column label="æä½" align="center" width="100" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" @click="handleDetail(row)" |
| | | v-permissions="['business:company:update']">è¿å详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination" /> |
| | | |
| | | <!-- --> |
| | |
| | | <el-table-column prop="platformGroupName" label="æå°ç»" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeFront" label="车åçç
§å·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeBack" label="车åçç
§å·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="startDate" label="ä½ä¸å¼å§" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="doneDate" label="ä½ä¸ç»æ" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="workTime" label="ä½ä¸æ¶é¿" min-width="100" show-overflow-tooltip /><el-table-column prop="name" |
| | | <el-table-column prop="param1" label="ä½ä¸å¼å§" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="param2" label="ä½ä¸ç»æ" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="workTime" label="ä½ä¸æ¶é¿" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="name" |
| | | label="è¿è¾åå·/ååå·" min-width="100" show-overflow-tooltip> |
| | | <template v-slot="scope"> |
| | | <span>{{ scope.row.billCode || scope.row.contractNum }}</span> |
| | |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | dayjs.extend(duration); |
| | | import { platformJobPage, getPlatformGroupList } from '@/api' |
| | | dayjs.extend(duration) |
| | | import { platformLogPage, getPlatformGroupList } from '@/api' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | |
| | | }) |
| | | }, |
| | | getGroupList() { |
| | | getPlatformGroupList({queryData: 0,queryType: 0}).then(res => { |
| | | getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => { |
| | | this.queryFormConfig.formItems[1].options = res.map(i => { |
| | | return { |
| | | value: i.id, |
| | |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | platformJobPage({ |
| | | platformLogPage({ |
| | | model: { |
| | | ...filters, |
| | | queryStatus: '5,6,9,10', |
| | | queryStatus: '6,7,8', |
| | | beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null, |
| | | beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null, |
| | | }, |
| | | sorts: [{ direction: 'DESC', property: 'param1' }], |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page, |
| | | }).then(res => { |
| | |
| | | this.list.forEach(item => { |
| | | item.inTypeTemp = item.inType == 0 ? 'æ´æç' : 'ä»¶ç' |
| | | item.taskOrigin = 'WMSè·å' |
| | | item.workTime = dayjs.duration(item.workTime, 'seconds').format('Hæ¶måsç§'); |
| | | item.workTime = dayjs.duration(item.param3, 'seconds').format('Hæ¶måsç§') |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="code" title="车çå·"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="车çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="memberName" title="车主å§å/ææºå·"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="companyName" title="车主é¨é¨åç§°"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主é¨é¨åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus" title="æ¯å¦ææ"> |
| | | <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="æ¯å¦ææ"> |
| | | <el-option label="å·²ææ" value="1"></el-option> |
| | | <el-option label="æªææ" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="type" title="车è¾ç±»å"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable placeholder="车è¾ç±»å"> |
| | | <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> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:cars:create', 'business:parkBook:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaCarsWindow.open('æ°å»ºè½¦è¾')" icon="el-icon-plus" v-permissions="['business:cars:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" v-permissions="['business:parkbook:create']">ä¸åææ</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.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 label="车è¾ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type == 0" >宿³°å
¬å¡è½¦</span> |
| | | <span v-if="row.type == 1">宿³°èªæç©æµè½¦</span> |
| | | <span v-if="row.type == 2" >å
¶ä»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="车主å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="è½¦ä¸»ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="车主ç»ç»" min-width="200px"></el-table-column> |
| | | <el-table-column label="æ¯å¦ææ" align="center" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.authStatus == 1" style="color: green">æ¯</span> |
| | | <span v-else style="color: red">å¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="parksName" align="center" label="å·²ææå车åº" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.parkBookList && row.parkBookList.length" > |
| | | <span v-for="item in row.parkBookList" :key="item.id" style="display: block"> |
| | | <span :style="(item.hkStatus== 0?'color:#2080f7':(item.hkStatus== 1?'color:green':(item.hkStatus== 2?'color:red':'')))">ã{{item.hkStatus== 0?'çå¾
ä¸å':(item.hkStatus== 1?'ä¸åæå':(item.hkStatus== 2?'ä¸å失败':''))}}ã </span>{{item.parksName}} |
| | | </span> |
| | | </div> |
| | | <span v-if="row.parkBookList ==null ||row.parkBookList.length ==0">-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸åæææ" align="center" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.authStatus !=null && row.authStatus == 1 && row.parkBookList!=null && row.parkBookList.length>0"> |
| | | <div v-if="!row.startTime || !row.endTime">é¿æææ</div> |
| | | <div v-else> |
| | | <span style="color: green">èµ·ï¼{{row.startTime}}</span><br/> |
| | | <span style="color: red">æ¢ï¼{{row.endTime}}</span> |
| | | </div> |
| | | </div> |
| | | <div v-else >-</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete','business:empower:create'])" |
| | | label="æä½" |
| | | min-width="200" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarsWindow.open('ç¼è¾è½¦è¾ä¿¡æ¯',row)" v-permissions="['business:cars:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.operaCarAuthWindow.open('ä¸åææ',[row.id],[row.code])" v-permissions="['business:parkbook:create']">ä¸åææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange"/> |
| | | <OperaCarsWindow ref="operaCarsWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="" prop="code" title="车çå·"> |
| | | <el-input v-model="searchForm.code" clearable placeholder="车çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="memberName" title="车主信æ¯"> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="车主信æ¯" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="" prop="cateName" title="车è¾åç±»åç§°"> |
| | | <el-input v-model="searchForm.cateName" clearable placeholder="车è¾åç±»åç§°" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="" prop="companyName" title="车主ç»ç»åç§°"> |
| | | <el-input v-model="searchForm.companyName" clearable placeholder="车主ç»ç»åç§°" |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus" title="æ¯å¦ææ"> |
| | | <el-select v-model="searchForm.authStatus" @change="search" clearable placeholder="æ¯å¦ææ"> |
| | | <el-option label="å·²ææ" value="1"></el-option> |
| | | <el-option label="æªææ" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="type" title="车è¾ç±»å"> |
| | | <el-select v-model="searchForm.type" @change="search" clearable placeholder="车è¾ç±»å"> |
| | | <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> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:cars:create', 'business:parkBook:create']"> |
| | | <li><el-button type="primary" @click="handleEdit" icon="el-icon-plus" |
| | | v-permissions="['business:cars:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="startEmpowerBatch" icon="el-icon-plus" |
| | | v-permissions="['business:parkbook:create']">ä¸åææ</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.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 label="车è¾ç±»å" min-width="120px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.type == 0">宿³°å
¬å¡è½¦</span> |
| | | <span v-if="row.type == 1">宿³°èªæç©æµè½¦</span> |
| | | <span v-if="row.type == 2">å
¶ä»</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberName" label="车主å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="è½¦ä¸»ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="cateName" label="车è¾åç±»" min-width="160px"></el-table-column> |
| | | <el-table-column prop="companyName" label="车主ç»ç»" min-width="200px"></el-table-column> |
| | | <el-table-column label="æ¯å¦ææ" align="center" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.authStatus == 1" style="color: green">æ¯</span> |
| | | <span v-else style="color: red">å¦</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="parksName" align="center" label="å·²ææå车åº" min-width="200px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.parkBookList && row.parkBookList.length"> |
| | | <span v-for="item in row.parkBookList" :key="item.id" style="display: block"> |
| | | <span |
| | | :style="(item.hkStatus == 0 ? 'color:#2080f7' : (item.hkStatus == 1 ? 'color:green' : (item.hkStatus == 2 ? 'color:red' : '')))">ã{{ item.hkStatus == |
| | | 0 ? 'çå¾
ä¸å' : (item.hkStatus == 1 ? 'ä¸åæå' : (item.hkStatus == 2?'ä¸å失败':''))}}ã </span>{{ item.parksName }} |
| | | </span> |
| | | </div> |
| | | <span v-if="row.parkBookList == null || row.parkBookList.length == 0">-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ä¸åæææ" align="center" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div |
| | | v-if="row.authStatus != null && row.authStatus == 1 && row.parkBookList != null && row.parkBookList.length > 0"> |
| | | <div v-if="!row.startTime || !row.endTime">é¿æææ</div> |
| | | <div v-else> |
| | | <span style="color: green">èµ·ï¼{{ row.startTime }}</span><br /> |
| | | <span style="color: red">æ¢ï¼{{ row.endTime }}</span> |
| | | </div> |
| | | </div> |
| | | <div v-else>-</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="140px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="æä½" min-width="200" align="center" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)" |
| | | v-permissions="['business:cars:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.operaCarAuthWindow.open('ä¸åææ', [row.id], [row.code])" |
| | | v-permissions="['business:parkbook:create']">ä¸åææ</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:empower:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCarAuthWindow ref="operaCarAuthWindow" @success="handlePageChange" /> |
| | | <OperaCarsWindow v-if="isShowEdit" ref="operaCarsWindow" @close="isShowEdit = false" @success="handlePageChange" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | export default { |
| | | name: 'Cars', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCarsWindow,OperaCarAuthWindow }, |
| | | data () { |
| | | components: { TableLayout, Pagination, OperaCarsWindow, OperaCarAuthWindow }, |
| | | data() { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | code: '', |
| | | memberName: '', |
| | | companyName: '', |
| | | type:null, |
| | | authStatus:null |
| | | } |
| | | type: null, |
| | | authStatus: null |
| | | }, |
| | | isShowEdit: false |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.config({ |
| | | module: '车è¾ä¿¡æ¯è¡¨', |
| | | api: '/business/cars', |
| | |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | handleEdit(row) { |
| | | this.isShowEdit = true |
| | | let str = row && row.id ? 'ç¼è¾è½¦è¾' : 'æ°å»ºè½¦è¾' |
| | | this.$nextTick(() => { |
| | | this.$refs.operaCarsWindow.open(str, row) |
| | | if (row && row.id) { |
| | | let form = { ...row, cateId: []} |
| | | if(row.catePId){ form.cateId.push(row.catePId) } |
| | | if(row.cateId){ form.cateId.push(row.cateId) } |
| | | this.$refs.operaCarsWindow.form = form |
| | | this.$refs.operaCarsWindow.loadMember() |
| | | } |
| | | }) |
| | | }, |
| | | // åæ¥ä¿¡æ¯ |
| | | startEmpowerBatch () { |
| | | startEmpowerBatch() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <!-- æç´¢è¡¨å --> |
| | | <!-- <el-form ref="searchForm" slot="search-form" label-width="100px" inline> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="filters.status" placeholder="è¯·éæ©"> |
| | | <el-option label="å¯ç¨" value="0"></el-option> |
| | | <el-option label="ç¦ç¨" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> --> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']"> |
| | | <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" |
| | | v-permissions="['business:category:create']">æ°å»º</el-button></li> |
| | | </ul> |
| | | <el-table row-key="id" :tree-props="{children: 'childCategoryList'}" v-loading="isWorking.search" :data="dataList" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column prop="name" label="åç±»åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <!-- <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status === 0">å¯ç¨</span> |
| | | <span v-if="row.status === 1">ç¦ç¨</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column v-if="containPermissions(['business:category:update', 'business:category:delete'])" |
| | | label="æä½" min-width="120" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="handleEdit(row)" icon="el-icon-edit" |
| | | v-permissions="['business:category:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" |
| | | v-permissions="['business:category:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaCategoryWindow v-if="isShowEdit" @close="isShowEdit = false" ref="operaCategoryWindow" @success="getList" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaCategoryWindow from './components/OperaCategoryWindow' |
| | | import { fetchList, deleteById } from '@/api/business/category.js' |
| | | export default { |
| | | name: 'Category', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaCategoryWindow }, |
| | | data() { |
| | | return { |
| | | // æç´¢ |
| | | filters: { |
| | | parentId: '' |
| | | }, |
| | | isShowEdit: false, |
| | | loading: false, |
| | | pagination: { |
| | | pageSize: 10, |
| | | page: 1, |
| | | total: 0, |
| | | }, |
| | | dataList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | handleEdit(row) { |
| | | this.isShowEdit = true |
| | | let str = row && row.id ? 'ç¼è¾è½¦è¾åç±»' : 'æ°å»ºè½¦è¾åç±»' |
| | | this.$nextTick(() => { |
| | | this.$refs.operaCategoryWindow.open(str) |
| | | this.$refs.operaCategoryWindow.getList() |
| | | if(row && row.id){ |
| | | this.$refs.operaCategoryWindow.getDetail(row.id) |
| | | } |
| | | }) |
| | | }, |
| | | deleteById(row) { |
| | | this.$confirm(`æ¨ç¡®è®¤è¦å é¤è¯¥åç±»å`, '温馨æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteById(row.id).then(res => { |
| | | this.getList() |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | getList() { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | fetchList({ |
| | | model: { ...filters }, |
| | | capacity: pagination.pageSize, |
| | | page: pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.dataList = res.records || [] |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm"> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="ä¸çº§åç±»" prop="parentId"> |
| | | <el-select v-model="form.parentId" placeholder="ä¸å¡«ä¸ºåä¸çº§åç±»"> |
| | | <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="äºçº§åç±»" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥äºçº§åç±»" v-trim /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="form.status" 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="remark"> |
| | | <el-input type="textarea" v-model="form.remark" placeholder="请è¾å
¥å¤æ³¨" v-trim /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { create, fetchCateList, getInfoById } from '@/api/business/category.js' |
| | | export default { |
| | | name: 'OperaCategoryWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | parentId: null, |
| | | name: '', |
| | | remark: '', |
| | | status: '', |
| | | type: 1 |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥äºçº§åç±»åç§°', trigger: 'blur' } |
| | | ], |
| | | status: [ |
| | | { required: true, message: 'è¯·éæ©æ¯å¦å¯ç¨', trigger: 'change' } |
| | | ] |
| | | }, |
| | | dataList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | api: '/business/category', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | getList() { |
| | | fetchCateList({}).then(res => { |
| | | this.dataList = res || [] |
| | | |
| | | }) |
| | | }, |
| | | close() { |
| | | this.visible = false |
| | | this.$emit('close') |
| | | }, |
| | | getDetail(id) { |
| | | getInfoById(id).then(res => { |
| | | this.form = res |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-form-item title="车çå·" prop="carCode"> |
| | | <el-input v-model="searchForm.carCode" placeholder="车çå·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item title="车主å§å/ææºå·" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="åå·¥å§å/ææºå·" @keypress.enter.native="search"></el-input> |
| | | <el-form-item title="车主信æ¯" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="车主信æ¯" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item title="车主ç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="车主ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | |
| | | { |
| | | "navigationBarTitleText" : "å
¥åé¡»ç¥" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/waybill/waybillDetail", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "è¿åæ¥è¯¢" |
| | | } |
| | | }
|
| | | ],
|
| | | "subPackages": [
|
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <image src="@/static/driver/wuliuche_bg@2x.png" class="main_bg"></image>
|
| | | <view class="form_wrap">
|
| | | <view class="item">
|
| | | <view class="label">ååç¼å·</view>
|
| | | <view class="line">
|
| | | <view class="input_wrap"><input v-model="param.aa" placeholder="请è¾å
¥ååç¼å·" placeholder-class="place" type="text" /></view>
|
| | | </view>
|
| | | </view> |
| | | <view class="item"> |
| | | <view class="label">éæ¹ç¼å·</view> |
| | | <view class="line"> |
| | | <view class="input_wrap"><input v-model="param.aa" placeholder="请è¾å
¥ååä¸éæ¹ç¼å·" placeholder-class="place" type="text" /></view> |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="label">éªè¯ç </view> |
| | | <view class="line"> |
| | | <view class="input_wrap"><input v-model="param.aa" placeholder="请è¾å
¥éªè¯ç " placeholder-class="place" type="text" /></view> |
| | | <image src="" class="auth_code" mode=""></image> |
| | | </view> |
| | | </view> |
| | | <view class="query">æ¥è¯¢</view>
|
| | | </view>
|
| | | <view class="title">æ¥è¯¢ç»æ</view> |
| | | <view class="drive_info"> |
| | | <view class="title">ååç¼å·</view> |
| | | <view class="line"> |
| | | <view class="label">è¿è¾è½¦è¾</view> |
| | | <view class="val">11</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">叿ºä¿¡æ¯</view> |
| | | <view class="val">11</view> |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">车è¾ä½ç½®</view> |
| | | <view class="val">11</view> |
| | | </view> |
| | | </view> |
| | | <view class="drive_info"> |
| | | <view class="title">ç©æµä¿¡æ¯</view> |
| | | <view class="item"> |
| | | <view class="h2"> |
| | | <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view> |
| | | <view class="text">å°è¾¾å¸è´§å°</view> |
| | | </view> |
| | | <view class="time">202422222222</view> |
| | | <view class="separate"></view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="h2 h1"> |
| | | <view class="icon_wrap"><image src="@/static/driver/ic_dangqian.png" class="icon"></image></view> |
| | | <view class="text">å°è¾¾å¸è´§å°</view> |
| | | </view> |
| | | <view class="time">202422222222</view> |
| | | <view class="separate separate_ac"></view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="h2"> |
| | | <view class="icon_wrap"><image src="@/static/driver/ic_mostarted.png" class="icon"></image></view> |
| | | <view class="text">å°è¾¾å¸è´§å°</view> |
| | | </view> |
| | | <view class="time">202422222222</view> |
| | | <view class="separate"></view> |
| | | </view> |
| | | </view> |
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | param: {}
|
| | | };
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style lang="scss" scoped>
|
| | | .form_wrap { |
| | | width: 690rpx; |
| | | height: 646rpx; |
| | | background: #FFFFFF; |
| | | box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(39,155,170,0.16); |
| | | border-radius: 16rpx; |
| | | padding: 10rpx 30rpx; |
| | | margin-bottom: 40rpx; |
| | | .item{ |
| | | height: 154rpx; |
| | | padding: 30rpx 0 8rpx; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | .label{} |
| | | .line{ |
| | | display: flex; |
| | | .input_wrap{ |
| | | padding: 18rpx 0; |
| | | flex: 1; |
| | | .place{ |
| | | color: #999999; |
| | | font-size: 28rpx; |
| | | } |
| | | } |
| | | .auth_code{ |
| | | width: 160rpx; |
| | | height: 64rpx; |
| | | border: 2px solid; |
| | | } |
| | | } |
| | | } |
| | | .query{ |
| | | width: 630rpx; |
| | | height: 88rpx; |
| | | background: $uni-color-primary; |
| | | border-radius: 44rpx; |
| | | margin-top: 40rpx; |
| | | color: #fff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | } |
| | | }
|
| | | .main_app{ |
| | | padding-top: 218rpx; |
| | | .title{ |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | margin-bottom: 30rpx; |
| | | } |
| | | .drive_info{ |
| | | background: #F7F7F7; |
| | | border-radius: 16rpx; |
| | | padding: 30rpx; |
| | | margin-bottom: 20rpx; |
| | | .line{ |
| | | display: flex; |
| | | margin-bottom: 24rpx; |
| | | .label{ |
| | | color: #666666; |
| | | margin-right: 40rpx; |
| | | } |
| | | .val{ |
| | | |
| | | } |
| | | } |
| | | .item{ |
| | | position: relative; |
| | | color: #999999; |
| | | margin-bottom: 30rpx; |
| | | .h2{ |
| | | display: flex; |
| | | align-items: center; |
| | | height: 48rpx; |
| | | .icon_wrap{ |
| | | width: 48rpx; |
| | | margin-right: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | .icon{ |
| | | width: 24rpx; |
| | | height: 24rpx; |
| | | position: relative; |
| | | z-index: 2; |
| | | } |
| | | } |
| | | } |
| | | .h1{ |
| | | .icon_wrap{ |
| | | .icon{ |
| | | width: 48rpx; |
| | | height: 48rpx; |
| | | } |
| | | } |
| | | } |
| | | .time{ |
| | | padding-left: 78rpx; |
| | | font-size: 24rpx; |
| | | margin-top: 6rpx; |
| | | } |
| | | .separate{ |
| | | height: calc( 100% ); |
| | | width: 2rpx; |
| | | border: 2rpx dashed red; |
| | | position: absolute; |
| | | left: 22rpx; |
| | | top: 24rpx; |
| | | z-index: 1; |
| | | } |
| | | .separate_ac{ |
| | | top: 48rpx; |
| | | } |
| | | } |
| | | } |
| | | }
|
| | | .main_bg { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0;
|
| | | width: 100%; |
| | | z-index: -1; |
| | | color: #222222;
|
| | | }
|
| | | </style> |
| | |
| | | <view class="item"> |
| | | <view class="title">æ¥å£å°å</view> |
| | | <view class="line"> |
| | | <input type="text" placeholder="http://10.50.250.178:8088/gateway_interface/" v-model="param.baseUrl" /> |
| | | <input type="text" v-model="param.baseUrl" /> |
| | | <image src="../../static/icon/right.svg" class="icon"></image> |
| | | </view> |
| | | </view> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | param: {} |
| | | param: { |
| | | baseUrl: 'http://192.168.5.13/gateway_interface/' |
| | | } |
| | | }; |
| | | }, |
| | | onLoad(){ |
| | | const param = uni.getStorageSync('param') || {} |
| | | const param = uni.getStorageSync('param') || { |
| | | baseUrl: 'http://192.168.5.13/gateway_interface/' |
| | | } |
| | | this.param = { ...param } |
| | | }, |
| | | methods: { |
| | |
| | | <view class="date">{{date}}</view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="home_status"> |
| | | <text v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0">空é²ä¸</text> |
| | | <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4">å³å°å¼å§</text> |
| | | <text class="orange" v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2">ä¼è®®ä¸</text> |
| | | <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1">æªå¼å§</text> |
| | | <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 3">å·²ç»æ</text> |
| | | <text v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">å·²æ¤é</text> |
| | | <view class="home_status">
|
| | | <text v-if="!info.meetingListResponseList || info.meetingListResponseList.length == 0">空é²ä¸</text>
|
| | | <text
|
| | | v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 4">å³å°å¼å§</text>
|
| | | <text class="orange"
|
| | | v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 2">ä¼è®®ä¸</text>
|
| | | <text
|
| | | v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 1">æªå¼å§</text>
|
| | | <text
|
| | | v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 3">å·²ç»æ</text>
|
| | | <text
|
| | | v-if="info.meetingListResponseList && info.meetingListResponseList.length > 0 && info.meetingListResponseList[0].meetingStatus == 5">å·²æ¤é</text>
|
| | | </view>
|
| | | <view v-if="meetingInfo.meetingName" class="meeting_name">{{meetingInfo.meetingName}}</view>
|
| | | <view v-if="meetingInfo.meetingTime && meetingInfo.bookingUser" class="meeting_con">
|
| | |
| | | <image src="@/static/ic_people@2x.png"></image>
|
| | | <text>é¢çº¦äººï¼{{meetingInfo.bookingUser }}</text>
|
| | | </view>
|
| | | </view> |
| | | <view v-if="meetingInfo.meetingTime" class="qrcode_wrap"> |
| | | <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas> |
| | | </view>
|
| | | <view v-if="showQrbg" class="qrcode_wrap">
|
| | | <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas>
|
| | | </view>
|
| | | </view>
|
| | | <view class="meeting_wrap">
|
| | | <view class="title">仿¥ä¼è®®ï¼{{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}ï¼</view>
|
| | | <view class="title">
|
| | | 仿¥ä¼è®®ï¼{{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}ï¼
|
| | | </view>
|
| | | <view class="list">
|
| | | <view class="item" v-for="item in info.meetingListResponseList">
|
| | | <view class="name">{{item.meetingName}}</view>
|
| | |
| | | </view>
|
| | |
|
| | | <!-- -->
|
| | | <swiper v-if="info.fileType == 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)" class="swiper" circular autoplay indicator-dots>
|
| | | <swiper
|
| | | v-if="info.fileType == 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)"
|
| | | class="swiper" circular autoplay indicator-dots>
|
| | | <swiper-item v-for="item in info.multifileList">
|
| | | <image class="swiper_item" :src="item.fileurlFull" mode="aspectFill"></image>
|
| | | </swiper-item>
|
| | | </swiper> |
| | | <!-- --> |
| | | <template v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)"> |
| | | <video :src="info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video> |
| | | </swiper>
|
| | | <!-- -->
|
| | | <template
|
| | | v-if="info.fileType == 1 && info.multifileList && info.multifileList.length > 0 && (info.meetingListResponseList == null || info.meetingListResponseList.length == 0)">
|
| | | <video :src="info.multifileList[0].fileurlFull" class="app_video" :autoplay="true" loop :controls="false"></video>
|
| | | </template>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import dayjs from 'dayjs' |
| | | // import vueQr from 'vue-qr/src/packages/vue-qr.vue' |
| | | import dayjs from 'dayjs'
|
| | | // import vueQr from 'vue-qr/src/packages/vue-qr.vue'
|
| | | import UQRCode from 'uqrcodejs'
|
| | | import {
|
| | | meetScreenData
|
| | | } from '@/api/index.js'
|
| | | export default { |
| | | export default {
|
| | | // components: {vueQr},
|
| | | data() {
|
| | | return {
|
| | | time: '',
|
| | | date: '',
|
| | | showQrbg: false,
|
| | | timer: null,
|
| | | touchNum: 0,
|
| | | param: {}, |
| | | info: {}, |
| | | statusMap: { |
| | | 1: 'æªå¼å§', |
| | | 2: 'è¿è¡ä¸', |
| | | 3: 'å·²ç»æ', |
| | | 4: 'å³å°å¼å§', |
| | | 5: 'å·²æ¤é', |
| | | }, |
| | | param: {},
|
| | | info: {},
|
| | | statusMap: {
|
| | | 1: 'æªå¼å§',
|
| | | 2: 'è¿è¡ä¸',
|
| | | 3: 'å·²ç»æ',
|
| | | 4: 'å³å°å¼å§',
|
| | | 5: 'å·²æ¤é',
|
| | | },
|
| | | meetingInfo: {}
|
| | | }
|
| | | },
|
| | |
| | | })
|
| | | }
|
| | | this.getData()
|
| | | }, |
| | | onReady() { |
| | | },
|
| | | onReady() {},
|
| | | methods: {
|
| | | getData() {
|
| | | this.showQrbg = false
|
| | | meetScreenData({
|
| | | roomId: this.param.code
|
| | | }).then(res => { |
| | | this.info = res.data |
| | | if(this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0){ |
| | | this.meetingInfo = this.info.meetingListResponseList[0] |
| | | this.$nextTick(() => { |
| | | this.qrcodeCreate() |
| | | this.$forceUpdate() |
| | | }) |
| | | } |
| | | }).then(res => {
|
| | | this.info = res.data
|
| | | if (this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0) {
|
| | | this.meetingInfo = this.info.meetingListResponseList[0]
|
| | | this.$nextTick(() => {
|
| | | this.qrcodeCreate()
|
| | | this.$forceUpdate()
|
| | | })
|
| | | } else {
|
| | | this.showQrbg = false
|
| | | this.meetingInfo = {}
|
| | | }
|
| | | })
|
| | | }, |
| | | qrcodeCreate(){ |
| | | // è·åuQRCodeå®ä¾ |
| | | var qr = new UQRCode(); |
| | | // 设置äºç»´ç å
容 |
| | | // qr.data = "https://uqrcode.cn/doc"; |
| | | qr.data = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxac2a80c2144c4ee0&redirect_uri=http://192.168.0.109:8080/redirect.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect"; |
| | | // 设置äºç»´ç 大å°ï¼å¿
é¡»ä¸canvas设置ç宽é«ä¸è´ |
| | | qr.size = 83; |
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³ |
| | | qr.make(); |
| | | // è·åcanvasä¸ä¸æ |
| | | var canvasContext = uni.createCanvasContext('qrcode', this); // 妿æ¯ç»ä»¶ï¼thiså¿
é¡»ä¼ å
¥ |
| | | // 设置uQRCodeå®ä¾çcanvasä¸ä¸æ |
| | | qr.canvasContext = canvasContext; |
| | | // è°ç¨ç»å¶æ¹æ³å°äºç»´ç 徿¡ç»å¶å°canvasä¸ |
| | | qr.drawCanvas(); |
| | | },
|
| | | qrcodeCreate() {
|
| | | this.showQrbg = true
|
| | | this.$nextTick(() => {
|
| | | // è·åuQRCodeå®ä¾
|
| | | var qr = new UQRCode();
|
| | | // 设置äºç»´ç å
容
|
| | | // qr.data = "https://uqrcode.cn/doc";
|
| | | qr.data =
|
| | | "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxac2a80c2144c4ee0&redirect_uri=http://192.168.0.109:8080/redirect.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
|
| | | // 设置äºç»´ç 大å°ï¼å¿
é¡»ä¸canvas设置ç宽é«ä¸è´
|
| | | qr.size = 83;
|
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³
|
| | | qr.make();
|
| | | // è·åcanvasä¸ä¸æ
|
| | | var canvasContext = uni.createCanvasContext('qrcode', this); // 妿æ¯ç»ä»¶ï¼thiså¿
é¡»ä¼ å
¥
|
| | | // 设置uQRCodeå®ä¾çcanvasä¸ä¸æ
|
| | | qr.canvasContext = canvasContext;
|
| | | // è°ç¨ç»å¶æ¹æ³å°äºç»´ç 徿¡ç»å¶å°canvasä¸
|
| | | qr.drawCanvas();
|
| | | })
|
| | | },
|
| | | touchend() {
|
| | | this.touchNum++
|
| | |
| | | this.timer = setInterval(() => {
|
| | | this.time = dayjs().format('HH:mm')
|
| | | this.date = dayjs().format('YYYY-MM-DD') + ' ' + weeks[new Date().getDay()]
|
| | | }, 1000) |
| | | setInterval(() => { |
| | | this.getData() |
| | | },this.param.time ? this.param.time * 1000 : 60 * 1000)
|
| | | }, 1000)
|
| | | setInterval(() => {
|
| | | this.getData()
|
| | | }, this.param.time ? this.param.time * 1000 : 60 * 1000)
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style lang="scss" scoped> |
| | | page,body{ |
| | | overflow: hidden; |
| | | } |
| | | .swiper{ |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 999; |
| | | width: 100%; |
| | | height: 100vh; |
| | | .swiper_item{ |
| | | background-color: #0095AC; |
| | | width: 100%; |
| | | height: 100vh; |
| | | } |
| | | } |
| | | .app_video{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 999; |
| | | <style lang="scss" scoped>
|
| | | page,
|
| | | body {
|
| | | overflow: hidden;
|
| | | }
|
| | |
|
| | | .swiper {
|
| | | position: fixed;
|
| | | top: 0;
|
| | | left: 0;
|
| | | z-index: 999;
|
| | | width: 100%;
|
| | | height: 100vh;
|
| | |
|
| | | .swiper_item {
|
| | | background-color: #0095AC;
|
| | | width: 100%;
|
| | | height: 100vh;
|
| | | }
|
| | | }
|
| | |
|
| | | .app_video {
|
| | | width: 100%;
|
| | | height: 100vh;
|
| | | position: fixed;
|
| | | top: 0;
|
| | | left: 0;
|
| | | z-index: 999;
|
| | | }
|
| | |
|
| | | .main_app {
|
| | | width: 100%;
|
| | | height: 100vh;
|
| | | position: relative;
|
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0;
|
| | | font-size: 28rpx;
|
| | | display: flex;
|
| | | flex-direction: column;
|
| | |
| | | flex-shrink: 0;
|
| | | flex-direction: column;
|
| | | width: 403rpx;
|
| | | height: 315rpx; |
| | | background: linear-gradient( 90deg, #0080FF 0%, #00B0FF 100%);
|
| | | height: 315rpx;
|
| | | background: linear-gradient(90deg, #0080FF 0%, #00B0FF 100%);
|
| | | border-radius: 7rpx;
|
| | | margin-right: 28rpx;
|
| | | position: relative;
|
| | | &:nth-of-type(1){ |
| | | background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%); |
| | |
|
| | | &:nth-of-type(1) {
|
| | | background: linear-gradient(90deg, #0095AC 0%, #00B5D1 100%);
|
| | | }
|
| | |
|
| | | .item_bg {
|
| | | position: absolute;
|
| | | width: 178rpx;
|
| | |
| | | .name {
|
| | | flex: 1;
|
| | | font-weight: bold;
|
| | | font-size: 39rpx; |
| | | width: 100%; |
| | | word-break: break-all; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-box-orient: vertical; |
| | | -webkit-line-clamp: 3; /* è¶
åºå è¡çç¥ */
|
| | | font-size: 39rpx;
|
| | | width: 100%;
|
| | | word-break: break-all;
|
| | | text-overflow: ellipsis;
|
| | | display: -webkit-box;
|
| | | -webkit-box-orient: vertical;
|
| | | -webkit-line-clamp: 3;
|
| | | /* è¶
åºå è¡çç¥ */
|
| | | }
|
| | |
|
| | | .line {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | .qrcode_wrap{ |
| | | width: 92px; |
| | | height: 92px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | background-color: #fff; |
| | | .qrcode { |
| | | width: 84px; |
| | | height: 84px; |
| | | } |
| | |
|
| | | .qrcode_wrap {
|
| | | width: 92px;
|
| | | height: 92px;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | | background-color: #fff;
|
| | |
|
| | | .qrcode {
|
| | | width: 84px;
|
| | | height: 84px;
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | .meeting_name {
|
| | |
| | | var qr = new UQRCode() |
| | | // 设置äºç»´ç å
容 |
| | | qr.data = qrcode.value |
| | | qr.size = 254 |
| | | qr.size = 220 |
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³ |
| | | qr.make() |
| | | var canvas = document.getElementById("qrcode") |
| | |
| | | </div> |
| | | <div class="item">{{ item.platformName || '-' }}</div> |
| | | <div class="item"> |
| | | <div class="time_place">é¢è®¡å®ææ¶é´</div> |
| | | <div v-if="item.optTimeTemp" class="time_place">é¢è®¡å®ææ¶é´</div> |
| | | <div>{{ item.optTimeTemp || '-' }}</div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="qrcode_wrap"> |
| | | <div class="qrcode"> |
| | | <canvas id="qrcode" width="254" height="254"></canvas> |
| | | <canvas id="qrcode" width="220" height="220"></canvas> |
| | | </div> |
| | | <div class="title">请æ«ç ç¾å°</div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <style lang="scss" scoped> |
| | | div{ |
| | | box-sizing: border-box; |
| | | } |
| | | .main_app { |
| | | color: #fff; |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100vh; |
| | | overflow: hidden; |
| | | background-color: #092030; |
| | | position: relative; |
| | | z-index: -2; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | justify-content: space-between; |
| | | .main_header { |
| | | width: 100%; |
| | | height: 112px; |
| | |
| | | display: flex; |
| | | padding: 30px 20px; |
| | | position: relative; |
| | | |
| | | .list { |
| | | flex: 5; |
| | | margin-right: 20px; |
| | | |
| | | display: flex; |
| | | flex-direction: column; |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 100px; |
| | | |
| | | flex: 1; |
| | | &:nth-of-type(2n) { |
| | | background: rgba(255, 255, 255, 0); |
| | | } |
| | |
| | | font-weight: 500; |
| | | font-size: 36px; |
| | | flex: 10; |
| | | height: 100%; |
| | | .time_place{ |
| | | font-weight: 500; |
| | | font-size: 24px; |
| | | } |
| | | .status { |
| | | width: 174px; |
| | | height: 76px; |
| | | /* padding: 0 28px; */ |
| | | width: 170px; |
| | | height: 72%; |
| | | border-radius: 8px; |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | flex: 2; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | border: 1px solid red; |
| | | .tip_wrap { |
| | | margin-bottom: 20px; |
| | | width: 100%; |
| | | position: relative; |
| | | flex-shrink: 0; |
| | | /* flex-shrink: 0; */ |
| | | flex: 1; |
| | | |
| | | .current_plat { |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | |
| | | .id_card { |
| | | font-weight: bold; |
| | | font-size: 86px; |
| | | font-size: 68px; |
| | | } |
| | | |
| | | .no { |
| | | margin: 10px 0; |
| | | font-weight: 500; |
| | | font-size: 58px; |
| | | font-size: 52px; |
| | | } |
| | | |
| | | .place { |
| | | font-weight: 500; |
| | | font-size: 42px; |
| | | font-size: 36px; |
| | | } |
| | | |
| | | .plat { |
| | |
| | | .qrcode_wrap { |
| | | width: 100%; |
| | | flex: 1; |
| | | flex-shrink: 0; |
| | | /* flex-shrink: 0; */ |
| | | background-color: #51b2ce; |
| | | padding: 36px 0; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | .qrcode { |
| | | padding: 12px; |
| | | padding: 6px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .title { |
| | | margin-top: 20px; |
| | | font-weight: bold; |
| | | font-size: 38px; |
| | | font-size: 34px; |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | // 访客æ¥è®¿é
ç½® |
| | | public static final String VISIT_CONFIG = "VISIT_CONFIG"; |
| | | public static final String MEMBER_IMG = "MEMBER_IMG"; |
| | | public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG"; |
| | | public static final String VISIT_NOTICE = "VISIT_NOTICE"; |
| | | //å¥åº·è¯é
ç½® |
| | | public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD"; |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import org.springframework.http.HttpMethod; |
| | | |
| | | import javax.net.ssl.*; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.InputStream; |
| | |
| | | } |
| | | return null; |
| | | } |
| | | public static InputStream connectionInputsteam(String url,String method,String data,String contentType ){ |
| | | HttpURLConnection connection = null; |
| | | try { |
| | | URL _url = new URL(url); |
| | | connection = (HttpURLConnection) _url.openConnection(); |
| | | connection.setRequestMethod(method); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(false); |
| | | if(contentType != null){ |
| | | connection.setRequestProperty("Content-Type", contentType); |
| | | } |
| | | |
| | | connection.connect(); |
| | | |
| | | if(data != null){ |
| | | OutputStream outputStream = connection.getOutputStream(); |
| | | outputStream.write(data.getBytes("utf-8")); |
| | | outputStream.close(); |
| | | } |
| | | |
| | | int responseCode = connection.getResponseCode(); |
| | | if (responseCode == HttpsURLConnection.HTTP_OK) { |
| | | return connection.getInputStream(); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(connection != null){ |
| | | connection.disconnect(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | public static String connectionHttp(String url,String method,String data,String contentType ){ |
| | | HttpURLConnection connection = null; |
| | | try { |
| | |
| | | package com.doumee.cloud.admin; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.PlatformDevice; |
| | | import com.doumee.service.business.PlatformDeviceService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @RequiresPermissions("business:platformdevice:create") |
| | | @CloudRequiredPermission("business:platformdevice:create") |
| | | public ApiResponse create(@RequestBody PlatformDevice platformDevice) { |
| | | return ApiResponse.success(platformDeviceService.create(platformDevice)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @RequiresPermissions("business:platformdevice:delete") |
| | | @CloudRequiredPermission("business:platformdevice:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id) { |
| | | platformDeviceService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @RequiresPermissions("business:platformdevice:delete") |
| | | @CloudRequiredPermission("business:platformdevice:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids) { |
| | | String [] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @RequiresPermissions("business:platformdevice:update") |
| | | public ApiResponse updateById(@RequestBody PlatformDevice platformDevice) { |
| | | @CloudRequiredPermission("business:platformdevice:update") |
| | | public ApiResponse updateById(@RequestBody PlatformDevice platformDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | platformDeviceService.updateById(platformDevice); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @RequiresPermissions("business:platformdevice:query") |
| | | public ApiResponse<PageData<PlatformDevice>> findPage (@RequestBody PageWrap<PlatformDevice> pageWrap) { |
| | | @CloudRequiredPermission("business:platformdevice:query") |
| | | public ApiResponse<PageData<PlatformDevice>> findPage (@RequestBody PageWrap<PlatformDevice> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformDeviceService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @RequiresPermissions("business:platformdevice:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<PlatformDevice> pageWrap, HttpServletResponse response) { |
| | | @CloudRequiredPermission("business:platformdevice:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<PlatformDevice> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | ExcelExporter.build(PlatformDevice.class).export(platformDeviceService.findPage(pageWrap).getRecords(), "æå°_å
³èçæ§ç¹LEDå广æä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @RequiresPermissions("business:platformdevice:query") |
| | | public ApiResponse findById(@PathVariable Integer id) { |
| | | @CloudRequiredPermission("business:platformdevice:query") |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformDeviceService.findById(id)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.cloud.admin; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.PlatformEvent; |
| | | import com.doumee.service.business.PlatformEventService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2024/08/28 17:24 |
| | | */ |
| | | @Api(tags = "æå°_车è¾è¿åºäºä»¶æ¨éè®°å½è¡¨") |
| | | @RestController |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business//platformEvent") |
| | | public class PlatformEventCloudController extends BaseController { |
| | | |
| | | @Autowired |
| | | private PlatformEventService platformEventService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:platformevent:create") |
| | | public ApiResponse create(@RequestBody PlatformEvent platformEvent,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformEventService.create(platformEvent)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:platformevent:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | platformEventService.deleteById(id); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @CloudRequiredPermission("business:platformevent:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | String [] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray) { |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | platformEventService.deleteByIdInBatch(idList); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:platformevent:update") |
| | | public ApiResponse updateById(@RequestBody PlatformEvent platformEvent,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | platformEventService.updateById(platformEvent); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @CloudRequiredPermission("business:platformevent:query") |
| | | public ApiResponse<PageData<PlatformEvent>> findPage (@RequestBody PageWrap<PlatformEvent> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformEventService.findPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @CloudRequiredPermission("business:platformevent:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<PlatformEvent> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | ExcelExporter.build(PlatformEvent.class).export(platformEventService.findPage(pageWrap).getRecords(), "æå°è½¦è¾è¿åºäºä»¶æ¨éè®°å½è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @CloudRequiredPermission("business:platformevent:query") |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { |
| | | return ApiResponse.success(platformEventService.findById(id)); |
| | | } |
| | | } |
| | |
| | | private String motionStatus;//'leave',è¿å¨ç¶æ enter#è¿å
¥,leave#ç¦»å¼ |
| | | private String plateNo;//'A12345',车çå· |
| | | private String vehicleDoorStatus;//'open',车é¨ç¶æÂ open-å¼é¨ï¼close-å
³é¨ |
| | | private String stockStatus;//'rear',è½¦å¤´è½¦å°¾ç¶æÂ Â front#车头,rear#车尾 |
| | | private String stockStatus;//'rear',è½¦å¤´è½¦å°¾ç¶æ front#车头,rear#车尾 |
| | | @JSONField(name="BackgroundImage") |
| | | @JsonProperty(value = "BackgroundImage") |
| | | private EventImageInfoRequest backgroundImage;//æå°èæ¯å¤§å¾ |
| | |
| | | public class PlatformCameraInfoResponse { |
| | | |
| | | |
| | | private String cameraIdompan;// String false çæ§ç¹ID |
| | | private String cameraId;// String false çæ§ç¹ID |
| | | private String cameraName ;//String false çæ§ç¹åç§° |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.business.model.PlatformEvent; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2024/08/28 17:24 |
| | | */ |
| | | public interface PlatformEventMapper extends BaseMapper<PlatformEvent> { |
| | | public interface PlatformEventMapper extends MPJBaseMapper<PlatformEvent> { |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | @ApiModelProperty(value = "æå°ç¼ç ,å
³èplatform表", example = "1") |
| | | @ExcelColumn(name="æå°ç¼ç ,å
³èplatform表") |
| | | private Integer platformId; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | |
| | | @ExcelColumn(name="车é¨ç¶æÂ open-å¼é¨ï¼close-å
³é¨") |
| | | private String vehicleDoorStatus; |
| | | |
| | | @ApiModelProperty(value = "è½¦å¤´è½¦å°¾ç¶æÂ Â front#车头,rear#车尾", example = "1") |
| | | @ExcelColumn(name="è½¦å¤´è½¦å°¾ç¶æÂ Â front#车头,rear#车尾") |
| | | @ApiModelProperty(value = "è½¦å¤´è½¦å°¾ç¶æfront#车头,rear#车尾", example = "1") |
| | | @ExcelColumn(name="è½¦å¤´è½¦å°¾ç¶æfront#车头,rear#车尾") |
| | | private String stockStatus; |
| | | |
| | | @ApiModelProperty(value = "车çè¯å[0-100]", example = "1") |
| | |
| | | @ApiModelProperty(value = "车çå¾", example = "1") |
| | | @ExcelColumn(name="车çå¾") |
| | | private String platePictureContent; |
| | | @ApiModelProperty(value = "æå°èæ¯å¤§å¾æ¬å°ä¸è½½", example = "1") |
| | | @ExcelColumn(name="æå°èæ¯å¤§å¾æ¬å°ä¸è½½") |
| | | private String backgroundImageDown; |
| | | |
| | | @ApiModelProperty(value = "车ç徿¬å°ä¸è½½", example = "1") |
| | | @ExcelColumn(name="车ç徿¬å°ä¸è½½") |
| | | private String platePictureDown; |
| | | @ApiModelProperty(value = "æå°å稱", example = "1") |
| | | @TableField(exist = false) |
| | | private String platformName; |
| | | |
| | | @ApiModelProperty(value = "å¼å§æ¶é´") |
| | | @TableField(exist = false) |
| | | private String startDate; |
| | | @ApiModelProperty(value = "ç»ææ¶é´") |
| | | @TableField(exist = false) |
| | | private String endDate; |
| | | } |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç»ç»ç±»å䏿£ç¡®ï¼è¯·æè¦æ±å¡«å~"); |
| | | } |
| | | //æ¥è¯¢åç§°ä¸è½éå¤ |
| | | /* if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() |
| | | if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() |
| | | .eq(Company::getName,company.getName()) |
| | | .eq(Company::getIsdeleted,Constants.ZERO)) >0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç»ç»åç§°ä¸è½éå¤~"); |
| | | }*/ |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(user ==null){ |
| | | user = company.getLoginUserInfo(); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç»ç»ç±»å䏿£ç¡®ï¼è¯·æè¦æ±å¡«å~"); |
| | | } |
| | | //æ¥è¯¢åç§°ä¸è½éå¤ |
| | | /* if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() |
| | | if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() |
| | | .eq(Company::getName,company.getName()) |
| | | .ne(Company::getId,company.getId()) |
| | | .eq(Company::getIsdeleted,Constants.ZERO)) >0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对ä¸èµ·ï¼ç»ç»åç§°ä¸è½éå¤~"); |
| | | }*/ |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | if(user == null){ |
| | | user = company.getLoginUserInfo(); |
| | |
| | | } |
| | | }catch (Exception e){ |
| | | //妿åçå¼å¸¸ï¼å é¤å·²ç»å建ç人åä¿¡æ¯ |
| | | e.printStackTrace(); |
| | | deleteHkUserBiz(new String[]{insert.getHkId()}); |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼åå·¥ä¿¡æ¯æ°å»ºå¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.PlatformEventMapper; |
| | | import com.doumee.dao.business.model.Empower; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformEvent; |
| | | import com.doumee.service.business.PlatformEventService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * æå°è½¦è¾è¿åºäºä»¶æ¨éè®°å½è¡¨Serviceå®ç° |
| | |
| | | @Service |
| | | public class PlatformEventServiceImpl implements PlatformEventService { |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Autowired |
| | | private PlatformEventMapper platformEventMapper; |
| | | |
| | |
| | | @Override |
| | | public PageData<PlatformEvent> findPage(PageWrap<PlatformEvent> pageWrap) { |
| | | IPage<PlatformEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<PlatformEvent> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<PlatformEvent> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(PlatformEvent.class) |
| | | .selectAs(Platform::getName,PlatformEvent::getPlatformName) |
| | | .leftJoin(Platform.class, Platform::getId,PlatformEvent::getPlatformId); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getId, pageWrap.getModel().getId()); |
| | | queryWrapper.eq(PlatformEvent::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getCreator, pageWrap.getModel().getCreator()); |
| | | queryWrapper.eq(PlatformEvent::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(PlatformEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(PlatformEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.ge(PlatformEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.le(PlatformEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getEditor, pageWrap.getModel().getEditor()); |
| | | queryWrapper.eq(PlatformEvent::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(PlatformEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(PlatformEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.ge(PlatformEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.le(PlatformEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | queryWrapper.eq(PlatformEvent::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getRemark, pageWrap.getModel().getRemark()); |
| | | queryWrapper.eq(PlatformEvent::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getEventId() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getEventId, pageWrap.getModel().getEventId()); |
| | | queryWrapper.eq(PlatformEvent::getEventId, pageWrap.getModel().getEventId()); |
| | | } |
| | | if (pageWrap.getModel().getEventType() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getEventType, pageWrap.getModel().getEventType()); |
| | | queryWrapper.eq(PlatformEvent::getEventType, pageWrap.getModel().getEventType()); |
| | | } |
| | | if (pageWrap.getModel().getSrcType() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getSrcType, pageWrap.getModel().getSrcType()); |
| | | queryWrapper.eq(PlatformEvent::getSrcType, pageWrap.getModel().getSrcType()); |
| | | } |
| | | if (pageWrap.getModel().getHappenTime() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getHappenTime, pageWrap.getModel().getHappenTime()); |
| | | queryWrapper.eq(PlatformEvent::getHappenTime, pageWrap.getModel().getHappenTime()); |
| | | } |
| | | if (pageWrap.getModel().getSrcIndex() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getSrcIndex, pageWrap.getModel().getSrcIndex()); |
| | | queryWrapper.eq(PlatformEvent::getSrcIndex, pageWrap.getModel().getSrcIndex()); |
| | | } |
| | | if (pageWrap.getModel().getSrcName() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getSrcName, pageWrap.getModel().getSrcName()); |
| | | queryWrapper.eq(PlatformEvent::getSrcName, pageWrap.getModel().getSrcName()); |
| | | } |
| | | if (pageWrap.getModel().getStatus() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getStatus, pageWrap.getModel().getStatus()); |
| | | queryWrapper.eq(PlatformEvent::getStatus, pageWrap.getModel().getStatus()); |
| | | } |
| | | if (pageWrap.getModel().getTimeout() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getTimeout, pageWrap.getModel().getTimeout()); |
| | | queryWrapper.eq(PlatformEvent::getTimeout, pageWrap.getModel().getTimeout()); |
| | | } |
| | | if (pageWrap.getModel().getDataType() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getDataType, pageWrap.getModel().getDataType()); |
| | | queryWrapper.eq(PlatformEvent::getDataType, pageWrap.getModel().getDataType()); |
| | | } |
| | | if (pageWrap.getModel().getSendTime() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getSendTime, pageWrap.getModel().getSendTime()); |
| | | queryWrapper.eq(PlatformEvent::getSendTime, pageWrap.getModel().getSendTime()); |
| | | } |
| | | if (pageWrap.getModel().getDateTime() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getDateTime, pageWrap.getModel().getDateTime()); |
| | | queryWrapper.eq(PlatformEvent::getDateTime, pageWrap.getModel().getDateTime()); |
| | | } |
| | | if (pageWrap.getModel().getIpAddress() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getIpAddress, pageWrap.getModel().getIpAddress()); |
| | | queryWrapper.eq(PlatformEvent::getIpAddress, pageWrap.getModel().getIpAddress()); |
| | | } |
| | | if (pageWrap.getModel().getIpv6Address() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getIpv6Address, pageWrap.getModel().getIpv6Address()); |
| | | queryWrapper.eq(PlatformEvent::getIpv6Address, pageWrap.getModel().getIpv6Address()); |
| | | } |
| | | if (pageWrap.getModel().getPortNo() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getPortNo, pageWrap.getModel().getPortNo()); |
| | | queryWrapper.eq(PlatformEvent::getPortNo, pageWrap.getModel().getPortNo()); |
| | | } |
| | | if (pageWrap.getModel().getProtocol() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getProtocol, pageWrap.getModel().getProtocol()); |
| | | queryWrapper.eq(PlatformEvent::getProtocol, pageWrap.getModel().getProtocol()); |
| | | } |
| | | if (pageWrap.getModel().getMacAddress() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getMacAddress, pageWrap.getModel().getMacAddress()); |
| | | queryWrapper.eq(PlatformEvent::getMacAddress, pageWrap.getModel().getMacAddress()); |
| | | } |
| | | if (pageWrap.getModel().getChannelId() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getChannelId, pageWrap.getModel().getChannelId()); |
| | | queryWrapper.eq(PlatformEvent::getChannelId, pageWrap.getModel().getChannelId()); |
| | | } |
| | | if (pageWrap.getModel().getActivePostCount() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getActivePostCount, pageWrap.getModel().getActivePostCount()); |
| | | queryWrapper.eq(PlatformEvent::getActivePostCount, pageWrap.getModel().getActivePostCount()); |
| | | } |
| | | if (pageWrap.getModel().getEventState() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getEventState, pageWrap.getModel().getEventState()); |
| | | queryWrapper.eq(PlatformEvent::getEventState, pageWrap.getModel().getEventState()); |
| | | } |
| | | if (pageWrap.getModel().getEventDescription() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getEventDescription, pageWrap.getModel().getEventDescription()); |
| | | queryWrapper.eq(PlatformEvent::getEventDescription, pageWrap.getModel().getEventDescription()); |
| | | } |
| | | if (pageWrap.getModel().getChannelName() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getChannelName, pageWrap.getModel().getChannelName()); |
| | | queryWrapper.like(PlatformEvent::getChannelName, pageWrap.getModel().getChannelName()); |
| | | } |
| | | if (pageWrap.getModel().getDeviceId() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getDeviceId, pageWrap.getModel().getDeviceId()); |
| | | queryWrapper.eq(PlatformEvent::getDeviceId, pageWrap.getModel().getDeviceId()); |
| | | } |
| | | if (pageWrap.getModel().getHpno() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getHpno, pageWrap.getModel().getHpno()); |
| | | queryWrapper.eq(PlatformEvent::getHpno, pageWrap.getModel().getHpno()); |
| | | } |
| | | if (pageWrap.getModel().getMotionStatus() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getMotionStatus, pageWrap.getModel().getMotionStatus()); |
| | | queryWrapper.eq(PlatformEvent::getMotionStatus, pageWrap.getModel().getMotionStatus()); |
| | | } |
| | | if (pageWrap.getModel().getPlateNo() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getPlateNo, pageWrap.getModel().getPlateNo()); |
| | | queryWrapper.like(PlatformEvent::getPlateNo, pageWrap.getModel().getPlateNo()); |
| | | } |
| | | if (pageWrap.getModel().getVehicleDoorStatus() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getVehicleDoorStatus, pageWrap.getModel().getVehicleDoorStatus()); |
| | | queryWrapper.eq(PlatformEvent::getVehicleDoorStatus, pageWrap.getModel().getVehicleDoorStatus()); |
| | | } |
| | | if (pageWrap.getModel().getStockStatus() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getStockStatus, pageWrap.getModel().getStockStatus()); |
| | | queryWrapper.eq(PlatformEvent::getStockStatus, pageWrap.getModel().getStockStatus()); |
| | | } |
| | | if (pageWrap.getModel().getPlateScore() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getPlateScore, pageWrap.getModel().getPlateScore()); |
| | | queryWrapper.eq(PlatformEvent::getPlateScore, pageWrap.getModel().getPlateScore()); |
| | | } |
| | | if (pageWrap.getModel().getBackgroundImageContent() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getBackgroundImageContent, pageWrap.getModel().getBackgroundImageContent()); |
| | | queryWrapper.eq(PlatformEvent::getBackgroundImageContent, pageWrap.getModel().getBackgroundImageContent()); |
| | | } |
| | | if (pageWrap.getModel().getPlatePictureContent() != null) { |
| | | queryWrapper.lambda().eq(PlatformEvent::getPlatePictureContent, pageWrap.getModel().getPlatePictureContent()); |
| | | queryWrapper.eq(PlatformEvent::getPlatePictureContent, pageWrap.getModel().getPlatePictureContent()); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getPlatformName()), Platform::getName,pageWrap.getModel().getPlatformName()); |
| | | queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getStartDate()), PlatformEvent::getCreateDate,pageWrap.getModel().getStartDate()); |
| | | queryWrapper.le(Objects.nonNull(pageWrap.getModel().getEndDate()),PlatformEvent::getCreateDate,pageWrap.getModel().getEndDate()); |
| | | queryWrapper.orderByDesc(PlatformEvent::getCreateDate); |
| | | PageData<PlatformEvent> result = PageData.from(platformEventMapper.selectJoinPage(page, PlatformEvent.class,queryWrapper)); |
| | | if(result!=null && result.getRecords()!=null){ |
| | | String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); |
| | | for(PlatformEvent model : result.getRecords()){ |
| | | if(StringUtils.isNotBlank(model.getBackgroundImageContent())){ |
| | | model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageContent()); |
| | | } |
| | | } |
| | | } |
| | | return PageData.from(platformEventMapper.selectPage(page, queryWrapper)); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.FtpUtil; |
| | | import com.doumee.core.utils.HttpsUtil; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.model.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | @Autowired |
| | | private PlatformEventMapper platformEventMapper; |
| | | @Autowired |
| | | private DeviceEventMapper deviceEventMapper; |
| | | @Autowired |
| | | private VisitEventMapper visitEventMapper; |
| | |
| | | startDealDeviceImg(); |
| | | //æ¥è¯¢ææäººå人è¸ç
§ç |
| | | startDealMemberImg(); |
| | | //æ¥è¯¢æææå°äºä»¶ä¸ææå¾ç
§ç |
| | | startDealPlatformEventImg(); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | }finally { |
| | |
| | | } |
| | | } |
| | | memberMapper.updateById(event); |
| | | } |
| | | } |
| | | |
| | | } |
| | | private void startDealPlatformEventImg() { |
| | | List<PlatformEvent> list = platformEventMapper.selectList(new QueryWrapper<PlatformEvent>().lambda() |
| | | .eq(PlatformEvent::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(PlatformEvent::getBackgroundImageContent) |
| | | .notLikeRight(PlatformEvent::getBackgroundImageContent, HKConstants.IMG_INDEX_ERROR) |
| | | .isNull(PlatformEvent::getBackgroundImageDown)); |
| | | Date date= new Date(); |
| | | if(list !=null && list.size()>0){ |
| | | for(PlatformEvent model:list){ |
| | | String rs1 = null; |
| | | PlatformEvent event = new PlatformEvent(); |
| | | event.setId(model.getId()); |
| | | event.setEditDate(date); |
| | | if(StringUtils.isNotBlank(model.getBackgroundImageContent())){ |
| | | String img1 = model.getBackgroundImageContent(); |
| | | rs1 = downHkImgToFtp(img1,"",Constants.PLATFORM_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setBackgroundImageDown(rs1); |
| | | }else{ |
| | | event.setBackgroundImageContent(HKConstants.IMG_INDEX_ERROR+model.getBackgroundImageContent()); |
| | | } |
| | | } |
| | | platformEventMapper.updateById(event); |
| | | } |
| | | } |
| | | |
| | |
| | | param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,"")); |
| | | param.setServerIndexCode(serverIndex); |
| | | is = HKService.getFaceInputStream(param); |
| | | }else if(StringUtils.equals(folder_code,Constants.PLATFORM_EVENT_IMG)){ |
| | | //æå°äºä»¶å¾ç |
| | | is = HttpsUtil.connectionInputsteam(img1,"GET",null,null); |
| | | } |
| | | if(is ==null){ |
| | | return null; |
| | | } |
| | | |
| | | try { |
| | | if(ftp == null){ |
| | | ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), |
| | |
| | | |
| | | @Autowired |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String, Object> redisTemplate; |
| | | @Autowired |
| | |
| | | }catch (Exception e){ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼ç»å½ç»ä»¶å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | | |
| | | }else{ |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对ä¸èµ·ï¼ç»å½ç»ä»¶å¤±è´¥ï¼è¯·ç¨åéè¯ï¼"); |
| | | } |
| | |
| | | d.setCreateDate(model.getCreateDate()); |
| | | d.setPlatformId(model.getId()); |
| | | d.setIsdeleted(Constants.ZERO); |
| | | d.setDeviceId(param.getCameraIdompan()); |
| | | d.setDeviceId(param.getCameraId()); |
| | | d.setName(param.getCameraName()); |
| | | d.setType(Constants.ONE); |
| | | list.add(d); |
| | |
| | | } |
| | | //å车é车è¾ç¶æ |
| | | EventPlatformCarsStatusInfoRequest status = data.getHPVehicleStatus(); |
| | | eventList.add(initPlatformEventModel(request,data,status));//å°è£
äºä»¶ï¼å·²æå°ééä¸ºç»´åº¦ï¼ |
| | | PlatformEvent event = initPlatformEventModel(request,data,status); |
| | | if(StringUtils.isBlank(status.getPlateNo())){ |
| | | eventList.add(event);//å°è£
äºä»¶ï¼å·²æå°ééä¸ºç»´åº¦ï¼ |
| | | continue;//å¦æè½¦è¾ä¿¡æ¯ä¸ºç©ºï¼ä¸å¤çç´æ¥è·³è¿ |
| | | } |
| | | PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda() |
| | | .eq(PlatformDevice::getDeviceId,request.getSrcIndex()) |
| | | .eq(PlatformDevice::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1")); |
| | | if(model ==null){ |
| | | eventList.add(event);//å°è£
äºä»¶ï¼å·²æå°ééä¸ºç»´åº¦ï¼ |
| | | continue;//çæ§ç¹æªåæ¥ï¼è·³è¿å¤ç |
| | | } |
| | | if(StringUtils.isBlank(status.getPlateNo())){ |
| | | continue;//å¦æè½¦è¾ä¿¡æ¯ä¸ºç©ºï¼ä¸å¤çç´æ¥è·³è¿ |
| | | } |
| | | event.setPlatformId(model.getPlatformId());//æå°ç¼ç |
| | | eventList.add(event);//å°è£
äºä»¶ï¼å·²æå°ééä¸ºç»´åº¦ï¼ |
| | | //æªæç¬¬ä¸ä¸ªé¢è²æ±å,廿âæâå |
| | | status.setPlateNo(status.getPlateNo().substring(1,status.getPlateNo().length()).replace("æ","")); |
| | | PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAll(PlatformJob.class) |
| | | .selectAs(Platform::getName,PlatformJob::getPlatformName) |
| | |
| | | .eq(!StringUtils.equals(status.getStockStatus(),"front"),PlatformJob::getCarCodeBack,status.getPlateNo() )//å车çå· |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO ) |
| | | .last("limit 1 ")); |
| | | if(job == null){ |
| | | continue;//妿ä½ä¸ä¸ºç©ºï¼è·³è¿å¤ç |
| | | } |
| | | PlatformJob update = new PlatformJob(); |
| | | update.setId(job.getId()); |
| | | update.setEditDate(new Date()); |
| | | if(StringUtils.equals(status.getMotionStatus(),"leave")){ |
| | | //妿æ¯è½¦è¾ç¦»å¼,ä¸åç¸å
³èªå¨å®æä½ä¸ä¸å¡å¤ç |
| | | /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | continue;//å¦ææ²¡æ¥å°å¯¹åºçä½ä¸æè
ä½ä¸å¹¶éä½ä¸ä¸ï¼ä¸åä¸å¡å¤ç |
| | | } |
| | | if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){ |