From 8dc5f14cb31b82de76e7d5be262d1a9c5e6e994e Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期六, 24 八月 2024 18:44:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/system/data-manage/data-detail/index.vue | 198 ++++++++++++++++++++++++++----------------------- 1 files changed, 105 insertions(+), 93 deletions(-) diff --git a/src/views/system/data-manage/data-detail/index.vue b/src/views/system/data-manage/data-detail/index.vue index e48a562..7db03b7 100644 --- a/src/views/system/data-manage/data-detail/index.vue +++ b/src/views/system/data-manage/data-detail/index.vue @@ -1,135 +1,114 @@ <template> <div class="app-container"> - <el-card class="box-card"> - <el-row type="flex" align="middle" justify="space-between"> - <el-col :span="2"> - <div class="icon-container"> - <i class="el-icon-wind-power"></i> - </div> - </el-col> - <el-col :span="2"> + <el-card class="box-card" v-show="index !== 'image_resource_security'"> + <el-row style="display: flex; flex-direction: row; align-items: center" justify="space-between"> + <div v-for="card in cardList" style="display: flex;flex-direction: row; margin-right: 50px" :key="card.label"> <div> - <div class="dashboard-item"> - <h3 style="color: #5C9BF8">{{ totalKiosks }}</h3> - <p>鍗″彛鎬绘暟</p> + <div class="icon-container"> + <i :class="card.icon"></i> </div> </div> - </el-col> - <el-col :span="2"> - <div class="dashboard-item"> - <h3>{{ uniqueKiosks }}</h3> - <p>涓嶅敮涓�鍗″彛鏁�</p> + <div v-for="data in card.dataList" class="dashboard-item" :key="data.label"> + <div style="color: #5C9BF8;margin-bottom: 20px;font-size: 20px">{{ data.value }}</div> + <div>{{ data.label }}</div> </div> - </el-col> - <el-col :span="1"> - <div class="dashboard-item"> - <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div> - </div> - </el-col> - <el-col :span="2"> - <div class="icon-container"> - <i class="el-icon-truck"></i> - </div> - </el-col> - <el-col :span="2"> - <div class="dashboard-item"> - <h3 style="color: #5C9BF8">{{ totalCarData }}</h3> - <p>杩囪溅鏁版嵁鎬婚噺</p> - </div> - </el-col> - <el-col :span="2"> - <div class="dashboard-item"> - <h3>{{ uniqueCarData }}</h3> - <p>涓嶅敮涓�鏁版嵁閲�</p> - </div> - </el-col> + </div> + <!-- <el-col :span="1">--> + <!-- <div class="dashboard-item">--> + <!-- <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div>--> + <!-- </div>--> + <!-- </el-col>--> <el-col :span="8"></el-col> </el-row> </el-card> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="鍗″彛缂栧彿" prop="bayonetNumber"> - <el-input v-model="queryParams.bayonetNumber" placeholder="璇疯緭鍏ュ崱鍙g紪鍙�" clearable - @keyup.enter.native="handleQuery" /> - </el-form-item> - <el-form-item label="鍗″彛鍚嶇О" prop="bayonetName"> - <el-input v-model="queryParams.bayonetName" placeholder="璇疯緭鍏ュ崱鍙e悕绉�" clearable @keyup.enter.native="handleQuery" /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> + <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">--> + <!-- <el-form-item label="鍗″彛缂栧彿" prop="bayonetNumber">--> + <!-- <el-input v-model="queryParams.bayonetNumber" placeholder="璇疯緭鍏ュ崱鍙g紪鍙�" clearable--> + <!-- @keyup.enter.native="handleQuery" />--> + <!-- </el-form-item>--> + <!-- <el-form-item label="鍗″彛鍚嶇О" prop="bayonetName">--> + <!-- <el-input v-model="queryParams.bayonetName" placeholder="璇疯緭鍏ュ崱鍙e悕绉�" clearable @keyup.enter.native="handleQuery" />--> + <!-- </el-form-item>--> + <!-- <el-form-item>--> + <!-- <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button>--> + <!-- <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>--> + <!-- </el-form-item>--> + <!-- </el-form>--> - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" - v-hasPermi="['platform:platform:add']">鏂板</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" - v-hasPermi="['platform:platform:edit']">淇敼</el-button> - </el-col> - <el-col :span="1.5"> - <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" - v-hasPermi="['platform:platform:remove']">鍒犻櫎</el-button> - </el-col> + <el-row :gutter="10" class="mb8" v-show="index === 'image_resource_security'"> + <!-- <el-col :span="1.5">--> + <!-- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"--> + <!-- v-hasPermi="['platform:platform:add']">鏂板</el-button>--> + <!-- </el-col>--> + <!-- <el-col :span="1.5">--> + <!-- <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"--> + <!-- v-hasPermi="['platform:platform:edit']">淇敼</el-button>--> + <!-- </el-col>--> + <!-- <el-col :span="1.5">--> + <!-- <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"--> + <!-- v-hasPermi="['platform:platform:remove']">鍒犻櫎</el-button>--> + <!-- </el-col>--> + <!-- <el-col :span="1.5">--> + <!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"--> + <!-- v-hasPermi="['platform:platform:export']">瀵煎嚭</el-button>--> + <!-- </el-col>--> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['platform:platform:export']">瀵煎嚭</el-button> + v-hasPermi="['platform:platform:export']">瀵煎叆 + </el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" :data="platformList" @selection-change="handleSelectionChange"> - <template v-for="(item, index) in tableHead"> - <el-table-column :key="item.name" :prop="item.prop" :label="item.label"> - </el-table-column> - </template> + <el-table-column :prop="item.prop" :label="item.label" v-for="(item, index) in tableHead" :key="index"/> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-hasPermi="['platform:platform:edit']">淇敼</el-button> + v-hasPermi="['platform:platform:edit']">淇敼 + </el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" - v-hasPermi="['platform:platform:remove']">鍒犻櫎</el-button> + v-hasPermi="['platform:platform:remove']">鍒犻櫎 + </el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" - @pagination="getList" /> + @pagination="getList"/> <!-- 娣诲姞鎴栦慨鏀瑰崱鍙h繃杞︽暟鎹竴鑷存�у璇濇 --> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form-item label="鍗″彛鍚嶇О" prop="bayonetName"> - <el-input v-model="form.bayonetName" placeholder="璇疯緭鍏ュ崱鍙e悕绉�" /> + <el-input v-model="form.bayonetName" placeholder="璇疯緭鍏ュ崱鍙e悕绉�"/> </el-form-item> <el-form-item label="鍗″彛缂栧彿" prop="bayonetNumber"> - <el-input v-model="form.bayonetNumber" placeholder="璇疯緭鍏ュ崱鍙g紪鍙�" /> + <el-input v-model="form.bayonetNumber" placeholder="璇疯緭鍏ュ崱鍙g紪鍙�"/> </el-form-item> <el-form-item label="杩囪溅鏁版嵁閲�" prop="vehicleDataNumber"> - <el-input v-model="form.vehicleDataNumber" placeholder="璇疯緭鍏ヨ繃杞︽暟鎹噺" /> + <el-input v-model="form.vehicleDataNumber" placeholder="璇疯緭鍏ヨ繃杞︽暟鎹噺"/> </el-form-item> <el-form-item label="涓嶅敮涓�鏁版嵁 " prop="notUniqueData"> - <el-input v-model="form.notUniqueData" placeholder="璇疯緭鍏ヤ笉鍞竴鏁版嵁 " /> + <el-input v-model="form.notUniqueData" placeholder="璇疯緭鍏ヤ笉鍞竴鏁版嵁 "/> </el-form-item> <el-form-item label="涓嶅敮涓�鏁版嵁閲�" prop="notUniqueDataNumber"> - <el-input v-model="form.notUniqueDataNumber" placeholder="璇疯緭鍏ヤ笉鍞竴鏁版嵁閲�" /> + <el-input v-model="form.notUniqueDataNumber" placeholder="璇疯緭鍏ヤ笉鍞竴鏁版嵁閲�"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> </div> </el-dialog> </div> </template> <script> -import { listPlatform, getPlatform, delPlatform, addPlatform, updatePlatform } from "@/api/platform/vehicle-data-monitor"; -import { videoData, carData, faceData, equipment } from "./list"; +import {dataCenter} from "@/api/platform/data-center"; +import {videoData, carData, faceData, equipment} from "./list"; import store from '@/store'; export default { @@ -171,13 +150,15 @@ // 琛ㄥ崟鏍¢獙 rules: { bayonetName: [ - { required: true, message: "鍗″彛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "鍗″彛鍚嶇О涓嶈兘涓虹┖", trigger: "blur"} ], bayonetNumber: [ - { required: true, message: "鍗″彛缂栧彿涓嶈兘涓虹┖", trigger: "blur" } + {required: true, message: "鍗″彛缂栧彿涓嶈兘涓虹┖", trigger: "blur"} ], }, - tableHead: [] + tableHead: [], + cardList: [], + index: null }; }, beforeRouteEnter(to, from, next) { @@ -185,18 +166,43 @@ next(); }, created() { - if (this.$route.query.type === '1') this.tableHead = videoData[this.$route.query.index].columns; - if (this.$route.query.type === '2') this.tableHead = carData[this.$route.query.index].columns; - if (this.$route.query.type === '3') this.tableHead = faceData[this.$route.query.index].columns; - if (this.$route.query.type === '4') this.tableHead = equipment[this.$route.query.index].columns; + this.index = this.$route.query.index; + if (this.$route.query.type === '1') { + let data = videoData.table.filter(item => item.index === this.$route.query.index)[0] + this.tableHead = data.columns; + this.cardList = data.card; + } + if (this.$route.query.type === '2') { + let data = carData.table.filter(item => item.index === this.$route.query.index)[0] + this.tableHead = data.columns; + this.cardList = data.card; + } + if (this.$route.query.type === '3') { + let data = faceData.table.filter(item => item.index === this.$route.query.index)[0] + this.tableHead = data.columns; + this.cardList = data.card; + } + if (this.$route.query.type === '4') { + let data = equipment.table.filter(item => item.index === this.$route.query.index)[0] + this.tableHead = data.columns; + this.cardList = data.card; + } this.getList(); + if (this.index === 'image_resource_security') { + this.getSecurityCard() + } }, methods: { + /** 鏌ヨ鍥惧儚璧勬簮瀹夊叏褰撴湀閰嶇疆淇℃伅 */ + getSecurityCard() { + + }, /** 鏌ヨ鍗″彛杩囪溅鏁版嵁涓�鑷存�у垪琛� */ getList() { + let url = this.$route.query.url; this.loading = true; - listPlatform(this.queryParams).then(response => { - this.platformList = response.rows; + dataCenter(url, this.queryParams).then(response => { + this.platformList = response.data; this.total = response.total; this.loading = false; }); @@ -282,7 +288,8 @@ }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => { }); + }).catch(() => { + }); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { @@ -303,9 +310,10 @@ .icon-container { display: flex; + flex-direction: row; justify-content: center; align-items: center; - border-radius: 20px; + border-radius: 10px; width: 20%; height: 80px; margin-left: 5%; @@ -321,6 +329,10 @@ } .dashboard-item { - text-align: center; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 150px; } </style> -- Gitblit v1.8.0