| | |
| | | return request.post('/visitsAdmin/cloudService/business/jkCabinet/updateStatusById', data) |
| | | } |
| | | |
| | | // æ´æ°é
ç²¾æ£æµé
ç½® |
| | | export function updateCabinetConfig (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/jkCabinet/updateCabinetConfig', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/jkCabinet/delete/${id}`) |
| | | return request.get(`/visitsAdmin/cloudService/business/jkCabinet/delete/${id}`) |
| | | } |
| | | |
| | | // è·åé
ç²¾æ£æµé
ç½® |
| | | export function getCabinetConfig () { |
| | | return request.get(`/visitsAdmin/cloudService/business/jkCabinet/getCabinetConfig`) |
| | | } |
| | | |
| | | // æ¹éå é¤ |
| | |
| | | return request.post('/visitsAdmin/cloudService/business/jkCabinetGrid/updateStatusById', data) |
| | | } |
| | | |
| | | // è§£ç»é¥å |
| | | export function unBindKeys (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/jkCabinetGrid/unBindKeys', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/business/jkCabinetGrid/delete/${id}`) |
| | |
| | | return request.post('/visitsAdmin/cloudService/business/jkKeys/create', data) |
| | | } |
| | | |
| | | // å表æ¥è¯¢ |
| | | export function list (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/jkKeys/list', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/jkKeys/updateById', data) |
| | |
| | | <h3 style="margin: 20px 0;">æç»ä¿¡æ¯</h3> |
| | | <el-form-item label="æå" prop="rowNum"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input v-model="form.rowNum" type="number" placeholder="请è¾å
¥ææ°" v-trim> |
| | | <el-input v-model="form.rowNum" :disabled="form.id" type="number" placeholder="请è¾å
¥ææ°" v-trim> |
| | | <template slot="append">æ</template> |
| | | </el-input> |
| | | <span style="margin: 0 20px;">x</span> |
| | | <el-input v-model="form.columnNum" type="number" placeholder="请è¾å
¥åæ°" v-trim> |
| | | <el-input v-model="form.columnNum" :disabled="form.id" type="number" placeholder="请è¾å
¥åæ°" v-trim> |
| | | <template slot="append">å</template> |
| | | </el-input> |
| | | </div> |
| | |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="æå顺åº" prop="sortType" v-if="form.noType === 1"> |
| | | <el-radio-group v-model="form.sortType"> |
| | | <el-radio-group v-model="form.sortType" :disabled="form.id"> |
| | | <el-radio :label="0">ä»å·¦å¾å³</el-radio> |
| | | <el-radio :label="1">ä»ä¸åä¸</el-radio> |
| | | </el-radio-group> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | width="50%" |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="广°æ¶é¿" prop="blowTime"> |
| | | <el-input v-model="form.blowTime" placeholder="请è¾å
¥å¹æ°æ¶é¿ï¼ç§ï¼" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ååå¼" prop="pressure"> |
| | | <el-input v-model="form.pressure" placeholder="请è¾å
¥ååå¼" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="é
ç²¾æµåº¦éå¼" prop="concentration"> |
| | | <div style="width: 100%; display: flex; align-items: center;"> |
| | | <el-input v-model="form.concentration" placeholder="请è¾å
¥é
ç²¾æµåº¦é¢è¦å¼" style="flex: 1;" v-trim/> |
| | | <el-select v-model="form.threshold" placeholder="è¯·éæ©" style="flex-shrink: 0; margin-left: 15px;"> |
| | | <el-option label="mg/100ml" value="1"></el-option> |
| | | <el-option label="mg/L" value="2"></el-option> |
| | | <el-option label="%BAC" value="3"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { updateCabinetConfig } from '@/api/business/jkCabinet' |
| | | export default { |
| | | name: 'alcoholTest', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | blowTime: '', |
| | | pressure: '', |
| | | concentration: '', |
| | | threshold: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | blowTime: [ |
| | | { required: true, message: '请è¾å
¥å¹æ°æ¶é¿', trigger: 'blur' } |
| | | ], |
| | | pressure: [ |
| | | { required: true, message: '请è¾å
¥ååå¼', trigger: 'blur' } |
| | | ], |
| | | concentration: [ |
| | | { required: true, message: 'è¯·éæ©é
ç²¾æµåº¦é¢è¦å¼', trigger: 'blur' } |
| | | ], |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/jkCabinet', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.form.threshold = '' |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | // 确认æ°å»º |
| | | __confirmCreate () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | updateCabinetConfig(this.form) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æä½æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | :withFooter="false" |
| | | > |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="é¥å" prop="keyId"> |
| | | <el-input v-model="searchForm.keyId" placeholder="请è¾å
¥é¥åç¼ç æåç§°" @keypress.enter.native="getList"></el-input> |
| | | <el-form-item label="é¥å" prop="keyCode"> |
| | | <el-input v-model="searchForm.keyCode" placeholder="请è¾å
¥é¥åç¼ç æåç§°" @keypress.enter.native="getList"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" placeholder="è¯·éæ©" @change="getList"> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <ul class="toolbar"> |
| | | <li><el-button type="primary">æ¹éè§£ç»</el-button></li> |
| | | <li><el-button type="primary" @click="bathUnBindKeys">æ¹éè§£ç»</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="loading" |
| | |
| | | <el-table-column prop="cabinetName" label="æå±é¥åæ" min-width="100px"></el-table-column> |
| | | <el-table-column prop="keyId" label="ç»å®é¥å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-select v-model="row.keyId" placeholder="è¯·éæ©"> |
| | | <el-select v-model="row.keyId" placeholder="è¯·éæ©" @change="blurFunc($event, row, 1)"> |
| | | <el-option |
| | | v-for="item in keysAll" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | :label="item.code" |
| | | :value="item.id" |
| | | :disabled="item.isBinding === 1"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ¿å·" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-input v-model="row.boardCode" placeholder="请è¾å
¥æ¿å·"></el-input> |
| | | <el-input v-model="row.boardCode" @blur="blurFunc($event, row, 2)" placeholder="请è¾å
¥æ¿å·"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ééå·" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-input v-model="row.channelCode" placeholder="请è¾å
¥ééå·"></el-input> |
| | | <el-input v-model="row.channelCode" @blur="blurFunc($event, row, 3)" placeholder="请è¾å
¥ééå·"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" min-width="100px"> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { fetchList, updateStatusById } from '@/api/business/jkCabinetGrid' |
| | | import { fetchList, updateStatusById, unBindKeys, updateById } from '@/api/business/jkCabinetGrid' |
| | | import { list } from '@/api/business/jkKeys' |
| | | export default { |
| | | name: 'cabinetDetails', |
| | | extends: BaseOpera, |
| | |
| | | id: null, |
| | | info: null, |
| | | searchForm: { |
| | | keyId: '', |
| | | keyCode: '', |
| | | status: '', |
| | | bindStatus: '' |
| | | }, |
| | |
| | | this.title = title |
| | | this.id = id |
| | | this.getList() |
| | | this.getKeysAll() |
| | | this.visible = true |
| | | }, |
| | | getKeysAll() { |
| | | list({ }) |
| | | .then(res => { |
| | | this.keysAll = res |
| | | }) |
| | | }, |
| | | blurFunc(e, row, type) { |
| | | let obj = { |
| | | id: row.id |
| | | } |
| | | if (type === 1) { |
| | | obj.keyId = row.keyId |
| | | } else if (type === 2) { |
| | | obj.boardCode = row.boardCode |
| | | } else if (type === 3) { |
| | | obj.channelCode = row.channelCode |
| | | } |
| | | updateById(obj) |
| | | .then(res => { |
| | | this.getList() |
| | | if (type === 1) { |
| | | this.getKeysAll() |
| | | } |
| | | }) |
| | | }, |
| | | bathUnBindKeys() { |
| | | this.$confirm('确认æ¹éè§£ç»å?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | unBindKeys(this.list.map(item => item.id)) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | changeStatus(status, id) { |
| | | updateStatusById({ id, status }) |
| | | .then(res => { |
| | |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:jkcabinet:create', 'business:jkcabinet:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaJkCabinetWindow.open('æ°å»ºè®¾å¤')" icon="el-icon-plus" v-permissions="['business:jkcabinet:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:jkcabinet:delete']">å é¤</el-button></li> |
| | | <li><el-button type="warning" @click="$refs.alcoholTest.open('æ°å»ºé
ç²¾æ£æµé
ç½®', form)">é
ç²¾æ£æµé
ç½®</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | |
| | | </el-table-column> |
| | | <el-table-column label="è¿è¡ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-link type="success" v-if="row.runStatus === 0">å¨çº¿</el-link> |
| | | <el-link type="danger" v-if="row.runStatus === 1">离线</el-link> |
| | | <el-link type="success" :underline="false" v-if="row.runStatus === 0">å¨çº¿</el-link> |
| | | <el-link type="danger" :underline="false" v-if="row.runStatus === 1">离线</el-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" min-width="100px"> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text">æ¥å¿</el-button> |
| | | <el-button type="text">ç»å®é¥å</el-button> |
| | | <el-button type="text" @click="$refs.cabinetDetails.open(row.name + '-ææ ¼ä¿¡æ¯', row.id)">ç»å®é¥å</el-button> |
| | | <el-button type="text" @click="$refs.operaJkCabinetWindow.open('ç¼è¾é¥åæåºæ¬ä¿¡æ¯è¡¨', row)" v-permissions="['business:jkcabinet:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" v-permissions="['business:jkcabinet:delete']">å é¤</el-button> |
| | | </template> |
| | |
| | | <OperaJkCabinetWindow ref="operaJkCabinetWindow" @success="handlePageChange"/> |
| | | <!-- æå详æ
--> |
| | | <CabinetDetails ref="cabinetDetails" /> |
| | | <!-- æ°å¢é
ç²¾æ£æµ --> |
| | | <AlcoholTest ref="alcoholTest" @success="GetCabinetConfig" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaJkCabinetWindow from '@/components/business/OperaJkCabinetWindow' |
| | | import CabinetDetails from '@/components/business/cabinetDetails' |
| | | import { updateStatusById } from '@/api/business/jkCabinet' |
| | | import AlcoholTest from '@/components/business/alcoholTest' |
| | | import { updateStatusById, getCabinetConfig } from '@/api/business/jkCabinet' |
| | | export default { |
| | | name: 'JkCabinet', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaJkCabinetWindow, CabinetDetails }, |
| | | components: { TableLayout, Pagination, OperaJkCabinetWindow, CabinetDetails, AlcoholTest}, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | |
| | | name: '', |
| | | status: '', |
| | | rumStatus: '' |
| | | } |
| | | }, |
| | | form: null |
| | | } |
| | | }, |
| | | created () { |
| | |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.GetCabinetConfig() |
| | | }, |
| | | methods: { |
| | | changeStatus(status, id) { |
| | |
| | | .then(res => { |
| | | this.search() |
| | | }) |
| | | }, |
| | | GetCabinetConfig() { |
| | | getCabinetConfig() |
| | | .then(res => { |
| | | this.form = res |
| | | }) |
| | | } |
| | | } |
| | | } |