From eb82684152ffb0acddf67da92e4533a0190eb258 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 10 十月 2025 18:27:31 +0800 Subject: [PATCH] 对接口 --- admin/src/api/business/jkVersion.js | 2 admin/src/components/business/BorrowingAndReturningRecords.vue | 133 ++++--- admin/src/views/business/jkVersion.vue | 100 +---- admin/src/views/login.vue | 2 admin/src/components/business/OperaJkKeysWindow.vue | 4 admin/src/components/business/OperaJkIccardWindow.vue | 106 ++++-- admin/src/views/business/jkKeys.vue | 36 + admin/src/api/business/jkIccard.js | 7 admin/src/views/business/jkCabinet.vue | 10 admin/src/views/business/jkIccard.vue | 111 +++--- admin/src/api/business/jkCabinet.js | 10 admin/src/components/business/cabinetDetails.vue | 63 ++- admin/src/api/business/jkCabinetGrid.js | 5 admin/src/components/business/OperaJkVersionWindow.vue | 153 ++++++-- admin/src/views/business/jkCabinetLog.vue | 171 +++++----- admin/src/api/business/jkKeys.js | 2 16 files changed, 509 insertions(+), 406 deletions(-) diff --git a/admin/src/api/business/jkCabinet.js b/admin/src/api/business/jkCabinet.js index c413215..8f81b84 100644 --- a/admin/src/api/business/jkCabinet.js +++ b/admin/src/api/business/jkCabinet.js @@ -20,11 +20,21 @@ return request.post('/visitsAdmin/cloudService/business/jkCabinet/create', data) } +// 鍒楄〃 +export function list (data) { + return request.post('/visitsAdmin/cloudService/business/jkCabinet/list', data) +} + // 淇敼 export function updateById (data) { return request.post('/visitsAdmin/cloudService/business/jkCabinet/updateById', data) } +// 鏍规嵁ID淇敼鐘舵�� +export function updateStatusById (data) { + return request.post('/visitsAdmin/cloudService/business/jkCabinet/updateStatusById', data) +} + // 鍒犻櫎 export function deleteById (id) { return request.get(`/business/jkCabinet/delete/${id}`) diff --git a/admin/src/api/business/jkCabinetGrid.js b/admin/src/api/business/jkCabinetGrid.js index b97ee1f..bc2d362 100644 --- a/admin/src/api/business/jkCabinetGrid.js +++ b/admin/src/api/business/jkCabinetGrid.js @@ -25,6 +25,11 @@ return request.post('/visitsAdmin/cloudService/business/jkCabinetGrid/updateById', data) } +// 鏍规嵁ID淇敼鐘舵�� +export function updateStatusById (data) { + return request.post('/visitsAdmin/cloudService/business/jkCabinetGrid/updateStatusById', data) +} + // 鍒犻櫎 export function deleteById (id) { return request.get(`/business/jkCabinetGrid/delete/${id}`) diff --git a/admin/src/api/business/jkIccard.js b/admin/src/api/business/jkIccard.js index de6ea14..4b4e274 100644 --- a/admin/src/api/business/jkIccard.js +++ b/admin/src/api/business/jkIccard.js @@ -25,9 +25,14 @@ return request.post('/visitsAdmin/cloudService/business/jkIccard/updateById', data) } +// 鏍规嵁ID淇敼鐘舵�� +export function updateStatusById (data) { + return request.post('/visitsAdmin/cloudService/business/jkIccard/updateStatusById', data) +} + // 鍒犻櫎 export function deleteById (id) { - return request.get(`/business/jkIccard/delete/${id}`) + return request.get(`/visitsAdmin/cloudService/business/jkIccard/delete/${id}`) } // 鎵归噺鍒犻櫎 diff --git a/admin/src/api/business/jkKeys.js b/admin/src/api/business/jkKeys.js index a54dbfb..edd2d47 100644 --- a/admin/src/api/business/jkKeys.js +++ b/admin/src/api/business/jkKeys.js @@ -27,7 +27,7 @@ // 鍒犻櫎 export function deleteById (id) { - return request.get(`/business/jkKeys/delete/${id}`) + return request.get(`/visitsAdmin/cloudService/business/jkKeys/delete/${id}`) } // 鎵归噺鍒犻櫎 diff --git a/admin/src/api/business/jkVersion.js b/admin/src/api/business/jkVersion.js index 9c2df74..5d7065f 100644 --- a/admin/src/api/business/jkVersion.js +++ b/admin/src/api/business/jkVersion.js @@ -27,7 +27,7 @@ // 鍒犻櫎 export function deleteById (id) { - return request.get(`/business/jkVersion/delete/${id}`) + return request.get(`/visitsAdmin/cloudService/business/jkVersion/delete/${id}`) } // 鎵归噺鍒犻櫎 diff --git a/admin/src/components/business/BorrowingAndReturningRecords.vue b/admin/src/components/business/BorrowingAndReturningRecords.vue index caffbf9..209c667 100644 --- a/admin/src/components/business/BorrowingAndReturningRecords.vue +++ b/admin/src/components/business/BorrowingAndReturningRecords.vue @@ -6,21 +6,26 @@ :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="memberName"> + <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ユ搷浣滀汉" @keypress.enter.native="getList"></el-input> + </el-form-item> + <el-form-item label="鏃堕棿" prop="date"> + <el-date-picker + v-model="date" + type="daterange" + @change="setDate" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + format="yyyy 骞� MM 鏈� dd 鏃�" + value-format="yyyy-MM-dd"> + </el-date-picker> </el-form-item> <el-form-item label="鐘舵��" prop="status"> <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="getList"> <el-option label="鍏ㄩ儴" value=""></el-option> - <el-option label="鍚敤" :value="0"></el-option> - <el-option label="绂佺敤" :value="1"></el-option> - </el-select> - </el-form-item> - <el-form-item label="鏌滄牸鐘舵��" prop="bindStatus"> - <el-select v-model="searchForm.bindStatus" placeholder="璇烽�夋嫨" @change="getList"> - <el-option label="鍏ㄩ儴" value=""></el-option> - <el-option label="鏈粦瀹�" :value="0"></el-option> - <el-option label="宸茬粦瀹�" :value="1"></el-option> + <el-option label="鎴愬姛" :value="0"></el-option> + <el-option label="澶辫触" :value="1"></el-option> </el-select> </el-form-item> <el-form-item> @@ -29,49 +34,28 @@ <el-form-item> <el-button @click="reset">閲嶇疆</el-button> </el-form-item> + <el-form-item> + <el-button @click="exports">瀵煎嚭</el-button> + </el-form-item> </el-form> - <ul class="toolbar"> - <li><el-button type="primary">鎵归噺瑙g粦</el-button></li> - </ul> <el-table v-loading="loading" :data="list" stripe > - <el-table-column prop="code" label="鏌滄牸缂栧彿" min-width="100px"></el-table-column> - <el-table-column prop="cabinetName" label="鎵�灞為挜鍖欐煖" min-width="100px"></el-table-column> - <el-table-column prop="keyId" label="缁戝畾閽ュ寵" min-width="100px"></el-table-column> + <el-table-column prop="code" label="閽ュ寵缂栧彿" min-width="100px"></el-table-column> + <el-table-column prop="cabinetName" label="瀛樻斁浣嶇疆" min-width="100px"></el-table-column> + <el-table-column prop="gridName" label="鎵�灞為挜鍖欐煖" min-width="100px"></el-table-column> + <el-table-column prop="memberName" label="鎿嶄綔浜�" min-width="100px"></el-table-column> + <el-table-column label="鏃堕棿" min-width="100px"> + <template slot-scope="{row}"> + {{row.startDate}}~{{row.endDate}} + </template> + </el-table-column> <el-table-column label="鐘舵��" min-width="100px"> <template slot-scope="{row}"> - <el-switch - v-model="row.status" - active-color="#13ce66" - inactive-color="#ff4949" - :active-value="0" - :inactive-value="1"> - </el-switch> - </template> - </el-table-column> - <el-table-column label="杩愯鐘舵��" min-width="100px"> - <template slot-scope="{row}"> - <el-link type="success" v-if="row.workingStatus === 0">姝e父</el-link> - <el-link type="warning" v-if="row.workingStatus === 1">鏁呴殰</el-link> - </template> - </el-table-column> - <el-table-column label="鏌滄牸鐘舵��" min-width="100px"> - <template slot-scope="{row}"> - <el-link type="warning" v-if="row.bindStatus === 0">鏈粦瀹�</el-link> - <el-link type="success" v-if="row.bindStatus === 1">宸茬粦瀹�</el-link> - </template> - </el-table-column> - <el-table-column - label="鎿嶄綔" - min-width="100" - fixed="right" - > - <template slot-scope="{row}"> - <el-button type="text" v-if="row.bindStatus === 0">缁戝畾</el-button> - <el-button type="text" v-if="row.bindStatus === 1">瑙g粦</el-button> + <el-link v-if="row.status === 0">鎴愬姛</el-link> + <el-link type="danger" v-if="row.status === 1">澶辫触</el-link> </template> </el-table-column> </el-table> @@ -90,8 +74,7 @@ <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' - import { fetchList } from '@/api/business/jkCabinetGrid' - import { allList } from '@/api/business/cars' + import { fetchList, exportExcel } from '@/api/business/jkCabinetLog' export default { name: 'BorrowingAndReturningRecords', extends: BaseOpera, @@ -101,10 +84,13 @@ id: null, info: null, searchForm: { - keyId: '', + memberName: '', status: '', - bindStatus: '' + roleType: '', + startDate: '', + editDate: '' }, + date: [], list: [], page: 1, total: 0, @@ -118,14 +104,26 @@ this.getList() this.visible = true }, + setDate(e) { + if (e && e.length > 1) { + this.searchForm.startDate = e[0] + this.searchForm.editDate = e[1] + } else { + this.searchForm.startDate = '' + this.searchForm.editDate = '' + } + }, handleCurrentChange(e) { this.page = e this.getList() }, reset() { - this.searchForm.keyId = '' + this.searchForm.memberName = '' this.searchForm.status = '' - this.searchForm.workingStatus = '' + this.searchForm.roleType = '' + this.searchForm.startDate = '' + this.searchForm.editDate = '' + this.date = [] this.page = 1 this.getList() }, @@ -135,18 +133,41 @@ capacity: 10, page: this.page, model: { - cabinetId: this.id, - keyId: this.searchForm.keyId, + memberName: this.searchForm.memberName, status: this.searchForm.status, - workingStatus: this.searchForm.workingStatus + roleType: this.searchForm.roleType, + startDate: this.searchForm.startDate, + editDate: this.searchForm.editDate, } }).then(res => { - console.log(res) this.list = res.records this.total = res.total }).finally(() => { this.loading = false }) + }, + exports() { + this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵') + .then(() => { + exportExcel({ + page: 1, + capacity: 1000000, + model: { + memberName: this.searchForm.memberName, + status: this.searchForm.status, + roleType: this.searchForm.roleType, + startDate: this.searchForm.startDate, + editDate: this.searchForm.editDate, + } + }) + .then(response => { + this.download(response) + }) + .catch(e => { + this.$tip.apiFailed(e) + }) + }) + .catch(() => {}) } } } diff --git a/admin/src/components/business/OperaJkIccardWindow.vue b/admin/src/components/business/OperaJkIccardWindow.vue index 6136bb1..3d9b329 100644 --- a/admin/src/components/business/OperaJkIccardWindow.vue +++ b/admin/src/components/business/OperaJkIccardWindow.vue @@ -1,43 +1,37 @@ <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="creator"> - <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/> + <el-form-item label="IC鍗″彿" prop="code"> + <el-input v-model="form.code" :disabled="form.id" placeholder="璇疯緭鍏C鍗″彿锛屽彲浣跨敤璇诲崱鍣�/鎵爜鏋�" v-trim/> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker> + <el-form-item label="韬唤绫诲瀷" prop="userType"> + <el-radio-group v-model="form.userType" :disabled="form.id" @change="getUserAll"> + <el-radio :label="0">鍙告満</el-radio> + <el-radio :label="1">鏍¢獙浜哄憳</el-radio> + </el-radio-group> </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/> + <el-form-item label="鍏宠仈鐢ㄦ埛" prop="memberId"> + <div style="width: 100%; display: flex; flex-direction: column;"> + <el-select v-model="form.memberId" placeholder="璇烽�夋嫨"> + <el-option v-for="(item, index) in userAll" :key="index" :label="item.name" :value="item.id"></el-option> + </el-select> + <span style="color: #999999; margin-top: 5px;">绯荤粺浼氶�氳繃IC鍏宠仈鐢ㄦ埛锛屼笌閽ュ寵鏌滀笂鐨勮溅杈嗙殑鍙告満/楠岃瘉浜哄憳淇℃伅杩涜鏍¢獙</span> + </div> </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="form.info" placeholder="璇疯緭鍏ュ娉�" v-trim/> - </el-form-item> - <el-form-item label="浜哄憳缂栫爜缂栫爜锛堝叧鑱攎ember)" prop="memberId"> - <el-input v-model="form.memberId" placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮佺紪鐮侊紙鍏宠仈member)" v-trim/> - </el-form-item> - <el-form-item label="缂栫爜" prop="code"> - <el-input v-model="form.code" placeholder="璇疯緭鍏ョ紪鐮�" v-trim/> - </el-form-item> - <el-form-item label="鐘舵�� 0绂佺敤 1鍚敤" prop="status"> - <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0绂佺敤 1鍚敤" v-trim/> - </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="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)" prop="cabinetId"> - <el-input v-model="form.cabinetId" placeholder="璇疯緭鍏ラ挜鍖欐煖缂栫爜锛堝叧鑱攋k_cabinet)" v-trim/> + <el-form-item label="鐘舵��" prop="status"> + <el-switch + v-model="form.status" + active-color="#13ce66" + inactive-color="#ff4949" + :active-value="1" + :inactive-value="0"> + </el-switch> </el-form-item> </el-form> </GlobalWindow> @@ -46,6 +40,7 @@ <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' +import { allList } from '@/api/business/member' export default { name: 'OperaJkIccardWindow', extends: BaseOpera, @@ -55,21 +50,24 @@ // 琛ㄥ崟鏁版嵁 form: { id: null, - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', memberId: '', code: '', - status: '', - name: '', - cabinetId: '' + status: 1, + userType: 0 }, // 楠岃瘉瑙勫垯 rules: { - } + code: [ + { required: true, message: '璇疯緭鍏C鍗″彿', trigger: 'blur' } + ], + userType: [ + { required: true, message: '璇烽�夋嫨韬唤', trigger: 'blur' } + ], + memberId: [ + { required: true, message: '璇烽�夋嫨鍏宠仈鐢ㄦ埛', trigger: 'blur' } + ] + }, + userAll: [] } }, created () { @@ -77,6 +75,36 @@ api: '/business/jkIccard', 'field.id': 'id' }) + }, + methods: { + open (title, target) { + this.title = title + this.visible = true + // 鏂板缓 + if (target == null) { + this.$nextTick(() => { + this.$refs.form.resetFields() + this.form[this.configData['field.id']] = null + }) + this.getUserAll() + return + } + // 缂栬緫 + this.$nextTick(() => { + for (const key in this.form) { + this.form[key] = target[key] + } + this.getUserAll() + }) + }, + getUserAll() { + allList({ + type: 2, + queryAuth: this.form.userType === 1 ? 1 : 0 + }).then(res => { + this.userAll = res + }) + } } } </script> diff --git a/admin/src/components/business/OperaJkKeysWindow.vue b/admin/src/components/business/OperaJkKeysWindow.vue index 964ba35..099b5e2 100644 --- a/admin/src/components/business/OperaJkKeysWindow.vue +++ b/admin/src/components/business/OperaJkKeysWindow.vue @@ -15,7 +15,7 @@ <el-option v-for="item in carAll" :key="item.id" - :label="item.name" + :label="item.code" :value="item.id"> </el-option> </el-select> @@ -80,7 +80,7 @@ getCars() { allList({ type: 0 }) .then(res => { - console.log(res) + this.carAll = res }) } } diff --git a/admin/src/components/business/OperaJkVersionWindow.vue b/admin/src/components/business/OperaJkVersionWindow.vue index 101b354..83a120b 100644 --- a/admin/src/components/business/OperaJkVersionWindow.vue +++ b/admin/src/components/business/OperaJkVersionWindow.vue @@ -1,52 +1,43 @@ <template> <GlobalWindow :title="title" + width="50%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-form :model="form" ref="form" :rules="rules"> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="form.info" placeholder="璇疯緭鍏ュ娉�" v-trim/> - </el-form-item> <el-form-item label="鐗堟湰鍙�" prop="versionInfo"> <el-input v-model="form.versionInfo" placeholder="璇疯緭鍏ョ増鏈彿" v-trim/> </el-form-item> - <el-form-item label="瀹夎鍖呰矾寰�" prop="fileUrl"> - <el-input v-model="form.fileUrl" placeholder="璇疯緭鍏ュ畨瑁呭寘璺緞" v-trim/> - </el-form-item> - <el-form-item label="瀹夎鐗堝悕绉�" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ畨瑁呯増鍚嶇О" v-trim/> + <el-form-item label="瀹夎鍖�" prop="fileUrl"> + <div style="width: 100%; height: 1px;"></div> + <el-upload + class="upload-demo" + accept=".APK,.apk" + :limit="1" + :action="uploadImgUrl" + :data="uploadData" + :on-success="handleSuccess" + :on-error="uploadError" + :on-remove="handleRemove" + :on-exceed="uploadExceed" + :file-list="fileList"> + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + <div slot="tip" class="el-upload__tip">鏀寔涓婁紶APK鏂囦欢锛屽崟娆′笂浼�<2GB</div> + </el-upload> </el-form-item> <el-form-item label="鏇存柊鎻忚堪" prop="content"> - <el-input v-model="form.content" placeholder="璇疯緭鍏ユ洿鏂版弿杩�" v-trim/> + <el-input type="textarea" :rows="5" maxlength="100" show-word-limit v-model="form.content" placeholder="璇疯緭鍏ユ洿鏂版弿杩�" v-trim/> </el-form-item> - <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/> - </el-form-item> - <el-form-item label="鏇存柊鏍囬" prop="title"> - <el-input v-model="form.title" placeholder="璇疯緭鍏ユ洿鏂版爣棰�" v-trim/> - </el-form-item> - <el-form-item label="鏄惁寮哄埗鏇存柊 0鍚� 1鏄�" prop="isForce"> - <el-input v-model="form.isForce" placeholder="璇疯緭鍏ユ槸鍚﹀己鍒舵洿鏂� 0鍚� 1鏄�" v-trim/> - </el-form-item> - <el-form-item label="骞冲彴绫诲瀷 0Android 1IOS" prop="type"> - <el-input v-model="form.type" placeholder="璇疯緭鍏ュ钩鍙扮被鍨� 0Android 1IOS" v-trim/> + <el-form-item label="鏄惁寮哄埗鏇存柊" prop="isForce"> + <el-switch + v-model="form.isForce" + active-color="#13ce66" + inactive-color="#ff4949" + :active-value="1" + :inactive-value="0"> + </el-switch> </el-form-item> </el-form> </GlobalWindow> @@ -61,26 +52,32 @@ components: { GlobalWindow }, data () { return { + uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload', // 琛ㄥ崟鏁版嵁 form: { id: null, - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', versionInfo: '', fileUrl: '', - name: '', content: '', - sortnum: '', - title: '', - isForce: '', - type: '' + fileSize: '', + name: '', + isForce: 1 }, // 楠岃瘉瑙勫垯 rules: { + versionInfo: [ + { required: true, message: '璇疯緭鍏ョ増鏈彿', trigger: 'blur' } + ], + fileUrl: [ + { required: true, message: '璇蜂笂浼犲畨瑁呭寘', trigger: 'blur' } + ], + content: [ + { required: true, message: '璇疯緭鍏ユ洿鏂版弿杩�', trigger: 'blur' } + ] + }, + fileList: [], + uploadData: { + folder: 'appFile' } } }, @@ -89,6 +86,70 @@ api: '/business/jkVersion', 'field.id': 'id' }) + }, + methods: { + open (title, target) { + this.title = title + this.fileList = [] + this.form.fileSize = '' + this.form.name = '' + 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] + } + if (this.form.fileUrl) { + this.fileList.push({ + name: this.form.name, + url: target.fullFileUrl + }) + } + }) + }, + handleSuccess(res, file) { + if (res.code == 200) { + let { data } = res + this.form.fileUrl = data.imgaddr + this.form.fileSize = data.fileSize + this.form.name = data.originname + this.fileList.push({ + name: data.originname, + url: data.url + }) + this.$message.success('涓婁紶鎴愬姛') + } else { + this.$message.error('涓婁紶澶辫触') + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + } + }, + uploadError() { + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + this.$message.error('涓婁紶澶辫触') + }, + uploadExceed() { + this.$message.error('鏈�澶氬彧鑳戒笂浼犱竴涓枃浠�') + }, + handleRemove() { + this.form.fileUrl = '' + this.fileList = [] + this.form.name = '' + this.form.fileSize = '' + } } } </script> diff --git a/admin/src/components/business/cabinetDetails.vue b/admin/src/components/business/cabinetDetails.vue index e858232..8e324d7 100644 --- a/admin/src/components/business/cabinetDetails.vue +++ b/admin/src/components/business/cabinetDetails.vue @@ -38,12 +38,34 @@ :data="list" stripe > - <el-table-column prop="code" label="鏌滄牸缂栧彿" min-width="100px"></el-table-column> + <el-table-column prop="code" label="鏌滄牸缂栫爜" min-width="100px"></el-table-column> <el-table-column prop="cabinetName" label="鎵�灞為挜鍖欐煖" min-width="100px"></el-table-column> - <el-table-column prop="keyId" label="缁戝畾閽ュ寵" min-width="100px"></el-table-column> + <el-table-column prop="keyId" label="缁戝畾閽ュ寵" min-width="100px"> + <template slot-scope="{row}"> + <el-select v-model="row.keyId" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in keysAll" + :key="item.id" + :label="item.name" + :value="item.id"> + </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> + </template> + </el-table-column> + <el-table-column label="閫氶亾鍙�" min-width="100px"> + <template slot-scope="{row}"> + <el-input v-model="row.channelCode" placeholder="璇疯緭鍏ラ�氶亾鍙�"></el-input> + </template> + </el-table-column> <el-table-column label="鐘舵��" min-width="100px"> <template slot-scope="{row}"> <el-switch + @change="changeStatus($event, row.id)" v-model="row.status" active-color="#13ce66" inactive-color="#ff4949" @@ -64,33 +86,14 @@ <el-link type="success" v-if="row.bindStatus === 1">宸茬粦瀹�</el-link> </template> </el-table-column> - <el-table-column - label="鎿嶄綔" - min-width="100" - fixed="right" - > - <template slot-scope="{row}"> - <el-button type="text" v-if="row.bindStatus === 0">缁戝畾</el-button> - <el-button type="text" v-if="row.bindStatus === 1">瑙g粦</el-button> - </template> - </el-table-column> </el-table> - <div style="width: 100%; text-align: right; margin-top: 20px"> - <el-pagination - @current-change="handleCurrentChange" - :current-page="page" - :page-size="10" - layout="total, prev, pager, next, jumper" - :total="total"> - </el-pagination> - </div> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' - import { fetchList } from '@/api/business/jkCabinetGrid' + import { fetchList, updateStatusById } from '@/api/business/jkCabinetGrid' export default { name: 'cabinetDetails', extends: BaseOpera, @@ -105,8 +108,7 @@ bindStatus: '' }, list: [], - page: 1, - total: 0, + keysAll: [], loading: false } }, @@ -117,6 +119,12 @@ this.getList() this.visible = true }, + changeStatus(status, id) { + updateStatusById({ id, status }) + .then(res => { + this.getList() + }) + }, handleCurrentChange(e) { this.page = e this.getList() @@ -125,14 +133,13 @@ this.searchForm.keyId = '' this.searchForm.status = '' this.searchForm.workingStatus = '' - this.page = 1 this.getList() }, getList() { this.loading = true fetchList({ - capacity: 10, - page: this.page, + capacity: 99999, + page: 1, model: { cabinetId: this.id, keyId: this.searchForm.keyId, @@ -140,9 +147,7 @@ workingStatus: this.searchForm.workingStatus } }).then(res => { - console.log(res) this.list = res.records - this.total = res.total }).finally(() => { this.loading = false }) diff --git a/admin/src/views/business/jkCabinet.vue b/admin/src/views/business/jkCabinet.vue index e4c7b55..d6f7b5c 100644 --- a/admin/src/views/business/jkCabinet.vue +++ b/admin/src/views/business/jkCabinet.vue @@ -60,6 +60,7 @@ <template slot-scope="{row}"> <el-switch v-model="row.status" + @change="changeStatus($event, row.id)" active-color="#13ce66" inactive-color="#ff4949" :active-value="0" @@ -101,6 +102,7 @@ import Pagination from '@/components/common/Pagination' import OperaJkCabinetWindow from '@/components/business/OperaJkCabinetWindow' import CabinetDetails from '@/components/business/cabinetDetails' +import { updateStatusById } from '@/api/business/jkCabinet' export default { name: 'JkCabinet', extends: BaseTable, @@ -124,6 +126,14 @@ 'field.main': 'id' }) this.search() + }, + methods: { + changeStatus(status, id) { + updateStatusById({ id, status }) + .then(res => { + this.search() + }) + } } } </script> diff --git a/admin/src/views/business/jkCabinetLog.vue b/admin/src/views/business/jkCabinetLog.vue index 17d5c87..6bf29af 100644 --- a/admin/src/views/business/jkCabinetLog.vue +++ b/admin/src/views/business/jkCabinetLog.vue @@ -2,53 +2,44 @@ <TableLayout :permissions="['business:jkcabinetlog:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="涓婚敭" prop="id"> - <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input> + <el-form-item label="寮�闂ㄦ椂闂�" prop="date"> + <el-date-picker + v-model="date" + @change="setDate" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + format="yyyy 骞� MM 鏈� dd 鏃�" + value-format="yyyy-MM-dd"> + </el-date-picker> </el-form-item> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input> + <el-form-item label="鎿嶄綔浜�" prop="memberName"> + <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/> + <el-form-item label="閽ュ寵鏌�" prop="cabinetId"> + <el-select v-model="searchForm.cabinetId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in keysAll" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="searchForm.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input> + <el-form-item label="楠岃瘉鏂瑰紡" prop="authType"> + <el-select v-model="searchForm.authType" placeholder="璇烽�夋嫨" @change="search"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <el-option label="鍒疯劯" :value="0"></el-option> + <el-option label="鍒峰崱" :value="1"></el-option> + </el-select> </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="searchForm.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="searchForm.info" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)" prop="cabinetId"> - <el-input v-model="searchForm.cabinetId" placeholder="璇疯緭鍏ラ挜鍖欐煖缂栫爜锛堝叧鑱攋k_cabinet)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="閽ュ寵鏌滄牸缂栫爜(鍏宠仈jk_cabinet_grid)" prop="gridId"> - <el-input v-model="searchForm.gridId" placeholder="璇疯緭鍏ラ挜鍖欐煖鏍肩紪鐮�(鍏宠仈jk_cabinet_grid)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="楠岃瘉鏂瑰紡 0鍒疯劯 1鍒峰崱" prop="authType"> - <el-input v-model="searchForm.authType" placeholder="璇疯緭鍏ラ獙璇佹柟寮� 0鍒疯劯 1鍒峰崱" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="杞﹁締缂栫爜锛堝叧鑱攃ars)" prop="carId"> - <el-input v-model="searchForm.carId" placeholder="璇疯緭鍏ヨ溅杈嗙紪鐮侊紙鍏宠仈cars)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="閽ュ寵缂栫爜(鍏宠仈jk_keys)" prop="keyId"> - <el-input v-model="searchForm.keyId" placeholder="璇疯緭鍏ラ挜鍖欑紪鐮�(鍏宠仈jk_keys)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId"> - <el-input v-model="searchForm.memberId" placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮侊紙鍏宠仈member)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="閽ュ寵淇℃伅锛堣溅鐗屽彿-閽ュ寵缂栫爜锛�" prop="keyInfo"> - <el-input v-model="searchForm.keyInfo" placeholder="璇疯緭鍏ラ挜鍖欎俊鎭紙杞︾墝鍙�-閽ュ寵缂栫爜锛�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="棰嗗彇瑙勫垯 0闅忚溅 1闅忔淳杞﹀崟" prop="roleType"> - <el-input v-model="searchForm.roleType" placeholder="璇疯緭鍏ラ鍙栬鍒� 0闅忚溅 1闅忔淳杞﹀崟" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鐘舵�� 0鎴愬姛 1澶辫触" prop="status"> - <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鎴愬姛 1澶辫触" @keypress.enter.native="search"></el-input> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <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> @@ -58,42 +49,27 @@ </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> - <ul class="toolbar" v-permissions="['business:jkcabinetlog:create', 'business:jkcabinetlog:delete']"> - <li><el-button type="primary" @click="$refs.operaJkCabinetLogWindow.open('鏂板缓閽ュ寵鏌滃紑鍏抽棬璁板綍')" icon="el-icon-plus" v-permissions="['business:jkcabinetlog:create']">鏂板缓</el-button></li> - <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:jkcabinetlog:delete']">鍒犻櫎</el-button></li> - </ul> <el-table + :height="tableHeightNew" 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="id" label="涓婚敭" min-width="100px"></el-table-column> - <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="info" label="澶囨敞" min-width="100px"></el-table-column> - <el-table-column prop="cabinetId" label="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)" min-width="100px"></el-table-column> - <el-table-column prop="gridId" label="閽ュ寵鏌滄牸缂栫爜(鍏宠仈jk_cabinet_grid)" min-width="100px"></el-table-column> - <el-table-column prop="authType" label="楠岃瘉鏂瑰紡 0鍒疯劯 1鍒峰崱" min-width="100px"></el-table-column> - <el-table-column prop="carId" label="杞﹁締缂栫爜锛堝叧鑱攃ars)" min-width="100px"></el-table-column> - <el-table-column prop="keyId" label="閽ュ寵缂栫爜(鍏宠仈jk_keys)" min-width="100px"></el-table-column> - <el-table-column prop="memberId" label="浜哄憳缂栫爜锛堝叧鑱攎ember)" min-width="100px"></el-table-column> - <el-table-column prop="keyInfo" label="閽ュ寵淇℃伅锛堣溅鐗屽彿-閽ュ寵缂栫爜锛�" min-width="100px"></el-table-column> - <el-table-column prop="roleType" label="棰嗗彇瑙勫垯 0闅忚溅 1闅忔淳杞﹀崟" min-width="100px"></el-table-column> - <el-table-column prop="status" label="鐘舵�� 0鎴愬姛 1澶辫触" min-width="100px"></el-table-column> - <el-table-column - v-if="containPermissions(['business:jkcabinetlog:update', 'business:jkcabinetlog:delete'])" - label="鎿嶄綔" - min-width="120" - fixed="right" - > + <el-table-column prop="createDate" label="寮�闂ㄦ椂闂�" min-width="100px"></el-table-column> + <el-table-column prop="memberName" label="鎿嶄綔浜�" min-width="100px"></el-table-column> + <el-table-column label="鏍¢獙鏂瑰紡" min-width="100px"> <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaJkCabinetLogWindow.open('缂栬緫閽ュ寵鏌滃紑鍏抽棬璁板綍', row)" icon="el-icon-edit" v-permissions="['business:jkcabinetlog:update']">缂栬緫</el-button> - <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:jkcabinetlog:delete']">鍒犻櫎</el-button> + <el-link :underline="false" v-if="row.authType === 0">鍒疯劯</el-link> + <el-link :underline="false" v-if="row.authType === 1">鍒峰崱</el-link> + </template> + </el-table-column> + <el-table-column prop="cabinetName" label="鎵�灞為挜鍖欐煖" min-width="100px"></el-table-column> + <el-table-column prop="editDate" label="鏌滄牸缂栧彿" min-width="100px"></el-table-column> + <el-table-column prop="isdeleted" label="閽ュ寵" min-width="100px"></el-table-column> + <el-table-column label="鐘舵��" min-width="100px"> + <template slot-scope="{row}"> + <el-link :underline="false" v-if="row.status === 0">鎴愬姛</el-link> + <el-link type="danger" :underline="false" v-if="row.status === 1">澶辫触</el-link> </template> </el-table-column> </el-table> @@ -114,6 +90,7 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaJkCabinetLogWindow from '@/components/business/OperaJkCabinetLogWindow' +import { list } from '@/api/business/jkCabinet' export default { name: 'JkCabinetLog', extends: BaseTable, @@ -122,23 +99,15 @@ return { // 鎼滅储 searchForm: { - id: '', - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', + endDate: '', + startDate: '', cabinetId: '', - gridId: '', authType: '', - carId: '', - keyId: '', - memberId: '', - keyInfo: '', - roleType: '', + memberName: '', status: '' - } + }, + date: [], + keysAll: [] } }, created () { @@ -149,6 +118,34 @@ 'field.main': 'id' }) this.search() + this.getkeysAll() + }, + methods: { + setDate(e) { + if (e && e.length > 1) { + this.searchForm.startDate = e[0] + this.searchForm.endDate = e[1] + } else { + this.searchForm.startDate = '' + this.searchForm.endDate = '' + } + this.search() + }, + // 鎼滅储妗嗛噸缃� + reset () { + this.$refs.searchForm.resetFields() + this.date = [] + this.searchForm.startDate = '' + this.searchForm.endDate = '' + this.search() + }, + getkeysAll() { + list({}) + .then(res => { + console.log(res) + this.keysAll = res + }) + } } } </script> diff --git a/admin/src/views/business/jkIccard.vue b/admin/src/views/business/jkIccard.vue index 3577834..18fbe95 100644 --- a/admin/src/views/business/jkIccard.vue +++ b/admin/src/views/business/jkIccard.vue @@ -2,73 +2,63 @@ <TableLayout :permissions="['business:jkiccard:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="涓婚敭" prop="id"> - <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input> + <el-form-item label="鍗″彿" prop="name"> + <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ崱鍙�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input> + <el-form-item label="濮撳悕" prop="memberName"> + <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/> + <el-form-item label="韬唤绫诲瀷" prop="userType"> + <el-select v-model="searchForm.userType" placeholder="璇烽�夋嫨" @change="search"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <el-option label="鍙告満" :value="0"></el-option> + <el-option label="鏍¢獙浜哄憳" :value="1"></el-option> + </el-select> </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="searchForm.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="searchForm.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="searchForm.info" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="浜哄憳缂栫爜缂栫爜锛堝叧鑱攎ember)" prop="memberId"> - <el-input v-model="searchForm.memberId" placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮佺紪鐮侊紙鍏宠仈member)" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="缂栫爜" prop="code"> - <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ョ紪鐮�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鐘舵�� 0绂佺敤 1鍚敤" prop="status"> - <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0绂佺敤 1鍚敤" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍗″悕绉�" prop="name"> - <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ崱鍚嶇О" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)" prop="cabinetId"> - <el-input v-model="searchForm.cabinetId" placeholder="璇疯緭鍏ラ挜鍖欐煖缂栫爜锛堝叧鑱攋k_cabinet)" @keypress.enter.native="search"></el-input> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <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 type="primary" :loading="isWorking.export" v-permissions="['business:jkiccard:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> <el-button @click="reset">閲嶇疆</el-button> </section> </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:jkiccard:create', 'business:jkiccard:delete']"> - <li><el-button type="primary" @click="$refs.operaJkIccardWindow.open('鏂板缓閽ュ寵鏌淚C鍗′俊鎭〃')" icon="el-icon-plus" v-permissions="['business:jkiccard:create']">鏂板缓</el-button></li> - <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:jkiccard:delete']">鍒犻櫎</el-button></li> + <li><el-button type="primary" @click="$refs.operaJkIccardWindow.open('鏂板缓IC鍗�')" icon="el-icon-plus" v-permissions="['business:jkiccard:create']">鏂板缓</el-button></li> </ul> <el-table + :height="tableHeightNew" 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="id" label="涓婚敭" min-width="100px"></el-table-column> - <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column> + <el-table-column prop="code" label="IC鍗″彿" min-width="100px"></el-table-column> + <el-table-column label="韬唤绫诲瀷" min-width="100px"> + <template slot-scope="{row}"> + <span v-if="row.userType === 0">鍙告満</span> + <span v-if="row.userType === 1">鏍¢獙浜哄憳</span> + </template> + </el-table-column> + <el-table-column prop="memberName" label="鍏宠仈浜哄憳" min-width="100px"></el-table-column> <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="info" label="澶囨敞" min-width="100px"></el-table-column> - <el-table-column prop="memberId" label="浜哄憳缂栫爜缂栫爜锛堝叧鑱攎ember)" min-width="100px"></el-table-column> - <el-table-column prop="code" label="缂栫爜" min-width="100px"></el-table-column> - <el-table-column prop="status" label="鐘舵�� 0绂佺敤 1鍚敤" min-width="100px"></el-table-column> - <el-table-column prop="name" label="鍗″悕绉�" min-width="100px"></el-table-column> - <el-table-column prop="cabinetId" label="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)" min-width="100px"></el-table-column> + <el-table-column label="鐘舵��" min-width="100px"> + <template slot-scope="{row}"> + <el-switch + v-model="row.status" + @change="changeStatus($event, row.id)" + active-color="#13ce66" + inactive-color="#ff4949" + :active-value="1" + :inactive-value="0"> + </el-switch> + </template> + </el-table-column> <el-table-column v-if="containPermissions(['business:jkiccard:update', 'business:jkiccard:delete'])" label="鎿嶄綔" @@ -76,7 +66,7 @@ fixed="right" > <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaJkIccardWindow.open('缂栬緫閽ュ寵鏌淚C鍗′俊鎭〃', row)" icon="el-icon-edit" v-permissions="['business:jkiccard:update']">缂栬緫</el-button> + <el-button type="text" @click="$refs.operaJkIccardWindow.open('缂栬緫鏂板缓IC鍗�', row)" icon="el-icon-edit" v-permissions="['business:jkiccard:update']">缂栬緫</el-button> <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:jkiccard:delete']">鍒犻櫎</el-button> </template> </el-table-column> @@ -98,6 +88,7 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaJkIccardWindow from '@/components/business/OperaJkIccardWindow' +import { updateStatusById } from '@/api/business/jkIccard' export default { name: 'JkIccard', extends: BaseTable, @@ -106,18 +97,10 @@ return { // 鎼滅储 searchForm: { - id: '', - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', - memberId: '', - code: '', - status: '', name: '', - cabinetId: '' + memberName: '', + userType: '', + status: '' } } }, @@ -129,6 +112,14 @@ 'field.main': 'id' }) this.search() + }, + methods: { + changeStatus(status, id) { + updateStatusById({ id, status }) + .then(res => { + this.search() + }) + } } } </script> diff --git a/admin/src/views/business/jkKeys.vue b/admin/src/views/business/jkKeys.vue index 6762ccc..23f116e 100644 --- a/admin/src/views/business/jkKeys.vue +++ b/admin/src/views/business/jkKeys.vue @@ -5,8 +5,15 @@ <el-form-item label="閽ュ寵缂栧彿" prop="code"> <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ラ挜鍖欑紪鍙�" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="鎵�灞炶溅杈�" prop="carCode"> - <el-input v-model="searchForm.carCode" placeholder="璇疯緭鍏ユ墍灞炶溅杈�" @keypress.enter.native="search"></el-input> + <el-form-item label="鎵�灞炶溅杈�" prop="carId"> + <el-select v-model="searchForm.carId" placeholder="璇烽�夋嫨" @change="search"> + <el-option + v-for="item in carAll" + :key="item.id" + :label="item.code" + :value="item.id"> + </el-option> + </el-select> </el-form-item> <el-form-item label="鐘舵��" prop="status"> <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search"> @@ -37,10 +44,10 @@ > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="code" label="閽ュ寵缂栧彿" min-width="100px"></el-table-column> - <el-table-column prop="carName" label="鎵�灞炶溅杈�" min-width="100px"></el-table-column> + <el-table-column prop="carCode" label="鎵�灞炶溅杈�" min-width="100px"></el-table-column> <el-table-column prop="rfidLable" label="RFID鏍囩" min-width="100px"></el-table-column> - <el-table-column prop="rfidLable" label="缁戝畾閽ュ寵鏌�" min-width="100px"></el-table-column> - <el-table-column prop="rfidLable" label="瀛樻斁浣嶇疆" min-width="100px"></el-table-column> + <el-table-column prop="cabinetName" label="缁戝畾閽ュ寵鏌�" min-width="100px"></el-table-column> + <el-table-column prop="gridCode" label="瀛樻斁浣嶇疆" min-width="100px"></el-table-column> <el-table-column label="缁戝畾鐘舵��" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.isBinding === 0">鏈粦瀹�</span> @@ -58,12 +65,12 @@ <el-table-column v-if="containPermissions(['business:jkkeys:update', 'business:jkkeys:delete'])" label="鎿嶄綔" - min-width="120" + min-width="150" fixed="right" > <template slot-scope="{row}"> <el-button type="text" @click="$refs.borrowingAndReturningRecords.open('鍊熻繕璁板綍', row)">棰嗗彇璁板綍</el-button> - <el-button type="text" @click="$refs.operaJkKeysWindow.open('缂栬緫閽ュ寵鍩烘湰淇℃伅琛�', row)" v-permissions="['business:jkkeys:update']">缂栬緫</el-button> + <el-button type="text" @click="$refs.operaJkKeysWindow.open('缂栬緫閽ュ寵淇℃伅', row)" v-permissions="['business:jkkeys:update']">缂栬緫</el-button> <el-button type="text" @click="deleteById(row)" v-permissions="['business:jkkeys:delete']">鍒犻櫎</el-button> </template> </el-table-column> @@ -88,6 +95,7 @@ import Pagination from '@/components/common/Pagination' import OperaJkKeysWindow from '@/components/business/OperaJkKeysWindow' import BorrowingAndReturningRecords from '@/components/business/BorrowingAndReturningRecords' +import { allList } from '@/api/business/cars' export default { name: 'JkKeys', extends: BaseTable, @@ -97,9 +105,10 @@ // 鎼滅储 searchForm: { code: '', - carCode: '', + carId: '', status: '' - } + }, + carAll: [] } }, created () { @@ -110,6 +119,15 @@ 'field.main': 'id' }) this.search() + this.getCars() + }, + methods: { + getCars() { + allList({ type: 0 }) + .then(res => { + this.carAll = res + }) + } } } </script> diff --git a/admin/src/views/business/jkVersion.vue b/admin/src/views/business/jkVersion.vue index 18e08f8..fc1e505 100644 --- a/admin/src/views/business/jkVersion.vue +++ b/admin/src/views/business/jkVersion.vue @@ -2,85 +2,50 @@ <TableLayout :permissions="['business:jkversion:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="涓婚敭" prop="id"> - <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator"> - <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿" prop="createDate"> - <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor"> - <el-input v-model="searchForm.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鏃堕棿" prop="editDate"> - <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/> - </el-form-item> - <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted"> - <el-input v-model="searchForm.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="澶囨敞" prop="info"> - <el-input v-model="searchForm.info" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input> - </el-form-item> <el-form-item label="鐗堟湰鍙�" prop="versionInfo"> <el-input v-model="searchForm.versionInfo" placeholder="璇疯緭鍏ョ増鏈彿" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="瀹夎鍖呰矾寰�" prop="fileUrl"> - <el-input v-model="searchForm.fileUrl" placeholder="璇疯緭鍏ュ畨瑁呭寘璺緞" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="瀹夎鐗堝悕绉�" prop="name"> - <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ畨瑁呯増鍚嶇О" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鎻忚堪" prop="content"> - <el-input v-model="searchForm.content" placeholder="璇疯緭鍏ユ洿鏂版弿杩�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鎺掑簭鐮�" prop="sortnum"> - <el-input v-model="searchForm.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏇存柊鏍囬" prop="title"> - <el-input v-model="searchForm.title" placeholder="璇疯緭鍏ユ洿鏂版爣棰�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="鏄惁寮哄埗鏇存柊 0鍚� 1鏄�" prop="isForce"> - <el-input v-model="searchForm.isForce" placeholder="璇疯緭鍏ユ槸鍚﹀己鍒舵洿鏂� 0鍚� 1鏄�" @keypress.enter.native="search"></el-input> - </el-form-item> - <el-form-item label="骞冲彴绫诲瀷 0Android 1IOS" prop="type"> - <el-input v-model="searchForm.type" placeholder="璇疯緭鍏ュ钩鍙扮被鍨� 0Android 1IOS" @keypress.enter.native="search"></el-input> + <el-form-item label="鏄惁寮哄埗鏇存柊" prop="isForce"> + <el-select v-model="searchForm.isForce" placeholder="璇烽�夋嫨" @change="search"> + <el-option label="鍏ㄩ儴" value=""></el-option> + <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 type="primary" :loading="isWorking.export" v-permissions="['business:jkversion:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> <el-button @click="reset">閲嶇疆</el-button> </section> </el-form> <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:jkversion:create', 'business:jkversion:delete']"> - <li><el-button type="primary" @click="$refs.operaJkVersionWindow.open('鏂板缓浜ゆ帶-閽ュ寵鏌滅粓绔増鏈俊鎭〃')" icon="el-icon-plus" v-permissions="['business:jkversion:create']">鏂板缓</el-button></li> - <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:jkversion:delete']">鍒犻櫎</el-button></li> + <li><el-button type="primary" @click="$refs.operaJkVersionWindow.open('鏂板缓鐗堟湰')" icon="el-icon-plus" v-permissions="['business:jkversion:create']">鏂板缓</el-button></li> </ul> <el-table + :height="tableHeightNew" 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="id" label="涓婚敭" min-width="100px"></el-table-column> - <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> - <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column> - <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="info" label="澶囨敞" min-width="100px"></el-table-column> <el-table-column prop="versionInfo" label="鐗堟湰鍙�" min-width="100px"></el-table-column> - <el-table-column prop="fileUrl" label="瀹夎鍖呰矾寰�" min-width="100px"></el-table-column> - <el-table-column prop="name" label="瀹夎鐗堝悕绉�" min-width="100px"></el-table-column> + <el-table-column label="骞冲彴绫诲瀷" min-width="100px"> + <template slot-scope="{row}"> + <span v-if="row.type === 0">Android</span> + <span v-if="row.type === 1">IOS</span> + </template> + </el-table-column> <el-table-column prop="content" label="鏇存柊鎻忚堪" min-width="100px"></el-table-column> - <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column> - <el-table-column prop="title" label="鏇存柊鏍囬" min-width="100px"></el-table-column> - <el-table-column prop="isForce" label="鏄惁寮哄埗鏇存柊 0鍚� 1鏄�" min-width="100px"></el-table-column> - <el-table-column prop="type" label="骞冲彴绫诲瀷 0Android 1IOS" min-width="100px"></el-table-column> + <el-table-column prop="name" label="瀹夎鍖�" min-width="100px"></el-table-column> + <el-table-column prop="name" label="鏂囦欢澶у皬" min-width="100px"></el-table-column> + <el-table-column label="鏄惁寮哄埗鏇存柊" min-width="100px"> + <template slot-scope="{row}"> + <span v-if="row.isForce === 0">鍚�</span> + <span v-if="row.isForce === 1">鏄�</span> + </template> + </el-table-column> + <el-table-column prop="createUserName" label="鍒涘缓鑰�" min-width="100px"></el-table-column> + <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column> <el-table-column v-if="containPermissions(['business:jkversion:update', 'business:jkversion:delete'])" label="鎿嶄綔" @@ -88,7 +53,7 @@ fixed="right" > <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaJkVersionWindow.open('缂栬緫浜ゆ帶-閽ュ寵鏌滅粓绔増鏈俊鎭〃', row)" icon="el-icon-edit" v-permissions="['business:jkversion:update']">缂栬緫</el-button> + <el-button type="text" @click="$refs.operaJkVersionWindow.open('缂栬緫鐗堟湰', row)" icon="el-icon-edit" v-permissions="['business:jkversion:update']">缂栬緫</el-button> <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:jkversion:delete']">鍒犻櫎</el-button> </template> </el-table-column> @@ -118,21 +83,8 @@ return { // 鎼滅储 searchForm: { - id: '', - creator: '', - createDate: '', - editor: '', - editDate: '', - isdeleted: '', - info: '', versionInfo: '', - fileUrl: '', - name: '', - content: '', - sortnum: '', - title: '', - isForce: '', - type: '' + isForce: '' } } }, diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue index 765d208..12a0bb7 100644 --- a/admin/src/views/login.vue +++ b/admin/src/views/login.vue @@ -278,7 +278,7 @@ align-items: center; justify-content: center; border-radius: 4px; - width: 186px; + width: 208px; display: flex; margin-bottom: 12px; } -- Gitblit v1.9.3