From c8ae89c4be77c5034bdcbdff0e7ecddaaa3eb3c7 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 09 五月 2025 16:13:49 +0800 Subject: [PATCH] 提交 --- admin/src/views/business/internalCompany.vue | 1 admin/src/views/business/dangerStatic.vue | 77 +++++++++++------- admin/src/views/business/admissionStatistics.vue | 54 ++++++++++-- admin/src/components/business/OperaInternalCompanyWindow.vue | 6 + admin/src/views/business/carStatistics.vue | 60 +++++++++++--- admin/.env.development | 2 h5/pages/userinfo/userinfo.vue | 12 +- admin/src/api/business/index.js | 5 + 8 files changed, 153 insertions(+), 64 deletions(-) diff --git a/admin/.env.development b/admin/.env.development index 1c93555..20b195b 100644 --- a/admin/.env.development +++ b/admin/.env.development @@ -2,7 +2,7 @@ NODE_ENV = 'development' # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' -VUE_APP_API_URL = 'http://192.168.0.104:10010' +VUE_APP_API_URL = 'http://192.168.0.100:10010' # VUE_APP_API_URL = 'https://atwl.ahzyssl.com/zhyq_interface' # VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' diff --git a/admin/src/api/business/index.js b/admin/src/api/business/index.js index 9c09cf5..97a96ec 100644 --- a/admin/src/api/business/index.js +++ b/admin/src/api/business/index.js @@ -28,7 +28,10 @@ } // 鍏ュ洯鏁版嵁鍒嗘瀽-瀵煎嚭Excel export function reportExportExcel (data) { - return request.post('/visitsAdmin/cloudService/business/inoutRecord/reportExportExcel', data) + return request.post('/visitsAdmin/cloudService/business/inoutRecord/reportExportExcel', data, { + trim: true, + download: true + }) } export const uploadUrl = 'visitsAdmin/cloudService/public/upload' diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue index 13be2e4..e198ac9 100644 --- a/admin/src/components/business/OperaInternalCompanyWindow.vue +++ b/admin/src/components/business/OperaInternalCompanyWindow.vue @@ -15,6 +15,9 @@ <el-form-item label="缁勭粐鍚嶇О" prop="name"> <el-input v-model="form.name" 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="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')"> <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))"> <el-radio :label="0">鐩稿叧鏂圭粍缁�</el-radio> @@ -43,7 +46,8 @@ name: '', parentId: null, disable: false, - parentName: '' + parentName: '', + sortnum: '' }, editType: '', parentId: null, diff --git a/admin/src/views/business/admissionStatistics.vue b/admin/src/views/business/admissionStatistics.vue index fbe4ea1..91c4840 100644 --- a/admin/src/views/business/admissionStatistics.vue +++ b/admin/src/views/business/admissionStatistics.vue @@ -83,14 +83,17 @@ </div> <el-button type="primary" icon="el-icon-upload2" style="margin-left: 20px;" @click="daochu">瀵煎嚭</el-button> </div> - <div class="list_head"> - <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> - </div> - <div class="table_box"> - <div class="list_content" v-for="(item, index) in list" :key="index"> - <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> + <template v-if="column.length > 0"> + <div class="list_head"> + <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> </div> - </div> + <div class="table_box"> + <div class="list_content" v-for="(item, index) in list" :key="index"> + <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> + </div> + </div> + </template> + <div class="list_wu" v-else>鏆傛棤鏁版嵁</div> </div> <div class="main_table_list1"> <div class="title"> @@ -165,7 +168,11 @@ getReportLists() { getReportList({ dateStr: this.date1, isGroupBy: this.isGroupBy, type: 1 }) .then(res => { - if (res.length === 0) return + if (res.length === 0) { + this.column = [] + this.list = [] + return + } this.column = res[0] this.list = res.slice(1, res.length); @@ -227,7 +234,10 @@ containLabel: true }, tooltip: { - trigger: 'item' + trigger: 'axis', + axisPointer: { + type: 'line' + } }, xAxis: { type: 'category', @@ -237,6 +247,12 @@ type: 'value', axisLine: { show: true + }, + axisLabel: { + formatter: function (value) { + // 鍥涜垗浜斿叆鍒版渶杩戠殑鏁存暟 + return Math.round(value); + } } }, graphic: { @@ -323,7 +339,7 @@ let option = { tooltip: { - trigger: 'item' + trigger: 'item', }, legend: { show: false, @@ -338,7 +354,7 @@ labelLine: { normal: { length: 30, - length2: 100, + length2: 70, } }, label: { @@ -490,6 +506,14 @@ color: #222222; } } + .list_wu { + width: 100%; + height: 100px; + line-height: 100px; + text-align: center; + font-size: 16px; + color: #222222; + } .list_head { width: 100%; height: 50px; @@ -546,6 +570,14 @@ font-size: 18px; color: #222222; } + .list_wu { + width: 100%; + height: 100px; + line-height: 100px; + text-align: center; + font-size: 16px; + color: #222222; + } .list_head { width: 100%; height: 50px; diff --git a/admin/src/views/business/carStatistics.vue b/admin/src/views/business/carStatistics.vue index 473fc94..d179507 100644 --- a/admin/src/views/business/carStatistics.vue +++ b/admin/src/views/business/carStatistics.vue @@ -52,7 +52,7 @@ :clearable="false" @change="getRataLists()" :value-format="dateType === 'month' ? 'yyyy-MM' : 'yyyy'" - style="margin-left: 20px; width: 130px;" + style="margin-left: 10px; width: 120px;" placeholder="璇烽�夋嫨"> </el-date-picker> </div> @@ -77,20 +77,23 @@ :clearable="false" @change="getReportLists()" :value-format="radio === 'month' ? 'yyyy-MM' : 'yyyy'" - style="margin-left: 20px; width: 130px;" + style="margin-left: 10px; width: 120px;" placeholder="璇烽�夋嫨"> </el-date-picker> </div> <el-button type="primary" style="margin-left: 20px;" icon="el-icon-upload2" @click="daochu">瀵煎嚭</el-button> </div> - <div class="list_head"> - <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> - </div> - <div class="table_box"> - <div class="list_content" v-for="(item, index) in list" :key="index"> - <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> + <template v-if="column.length > 0"> + <div class="list_head"> + <div class="list_head_item" v-for="(item, index) in column" :key="index">{{item}}</div> </div> - </div> + <div class="table_box"> + <div class="list_content" v-for="(item, index) in list" :key="index"> + <div class="list_head_item" v-for="(child, i) in item" :key="i">{{child}}</div> + </div> + </div> + </template> + <div class="list_wu" v-else>鏆傛棤鏁版嵁</div> </div> <div class="main_table_list1"> <div class="title"> @@ -166,7 +169,11 @@ getReportLists() { getReportList({ dateStr: this.date1, isGroupBy: this.isGroupBy, type: 0 }) .then(res => { - if (res.length === 0) return + if (res.length === 0) { + this.column = [] + this.list = [] + return + } this.column = res[0] this.list = res.slice(1, res.length); @@ -223,7 +230,10 @@ let option = { tooltip: { - trigger: 'item' + trigger: 'axis', + axisPointer: { + type: 'line' + } }, legend: { show: false, @@ -259,6 +269,12 @@ type: 'value', axisLine: { show: true + }, + axisLabel: { + formatter: function (value) { + // 鍥涜垗浜斿叆鍒版渶杩戠殑鏁存暟 + return Math.round(value); + } } }, series: [ @@ -347,7 +363,7 @@ labelLine: { normal: { length: 30, - length2: 100, + length2: 70, } }, label: { @@ -499,6 +515,14 @@ color: #222222; } } + .list_wu { + width: 100%; + height: 100px; + line-height: 100px; + text-align: center; + font-size: 16px; + color: #222222; + } .list_head { width: 100%; height: 50px; @@ -545,7 +569,7 @@ } .main_table_list1 { margin-left: 10px; - width: 520px; + width: 420px; padding: 20px; box-sizing: border-box; flex-shrink: 0; @@ -553,6 +577,14 @@ .title { font-weight: 500; font-size: 18px; + color: #222222; + } + .list_wu { + width: 100%; + height: 100px; + line-height: 100px; + text-align: center; + font-size: 16px; color: #222222; } .list_head { @@ -637,7 +669,7 @@ } .dept_wrap { - width: 520px; + width: 420px; flex-shrink: 0; height: 100%; background-color: #ffffff; diff --git a/admin/src/views/business/dangerStatic.vue b/admin/src/views/business/dangerStatic.vue index a89c44e..d94b902 100644 --- a/admin/src/views/business/dangerStatic.vue +++ b/admin/src/views/business/dangerStatic.vue @@ -268,7 +268,7 @@ grid: { left: '10%', right: '10%', - bottom: '0%', + bottom: '10%', top: '20%', containLabel: true }, @@ -325,7 +325,10 @@ let option = { tooltip: { - trigger: 'item' + trigger: 'axis', + axisPointer: { + type: 'line' + } }, grid: { left: '5%', @@ -416,47 +419,52 @@ overflow-x: hidden; padding: 15px; box-sizing: border-box; - background-color: #ffffff; + background-color: #F4F7FC; .main_head { width: 100%; display: flex; align-items: center; justify-content: space-between; - margin-bottom: 20px; + margin-bottom: 10px; + background-color: #ffffff; + padding: 20px; + box-sizing: border-box; .blue { - border-left: 5px solid blue; + border-left: 8px solid #12BB8B; } .red { - border-left: 5px solid red; + border-left: 8px solid #F6CF46; } .yellow { - border-left: 5px solid yellow; + border-left: 8px solid #5DC9FB; } .orange { - border-left: 5px solid orange; + border-left: 8px solid #FF9E56; } .darkBlue { - border-left: 5px solid #0000a8; + border-left: 8px solid #6B6EFF; } .main_head_item { width: 19%; - height: 70px; + height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; border-radius: 5px; - background-color: #ffffff; + background: #F4F7FC; span { &:nth-child(1) { - font-size: 22px; - color: black; - font-weight: bold; + font-weight: 600; + font-size: 30px; + color: #222222; } &:nth-child(2) { - font-size: 16px; - color: black; + font-weight: 400; + font-size: 14px; + color: #222222; + margin-top: 10px; } } } @@ -467,8 +475,11 @@ align-items: start; justify-content: space-between; .main_table_echart { - flex: 1; + width: 64%; height: 400px; + background-color: #ffffff; + padding: 20px; + box-sizing: border-box; .title { font-weight: 600; font-size: 16px; @@ -480,9 +491,11 @@ } } .main_table_list { - margin-left: 20px; flex-shrink: 0; - width: 500px; + width: 35%; + padding: 20px; + box-sizing: border-box; + background-color: #ffffff; .title { font-weight: 600; font-size: 16px; @@ -535,38 +548,42 @@ .main_content { display: flex; + align-items: start; + justify-content: space-between; height: 500px; - + margin-bottom: 10px; .title { font-weight: 600; font-size: 16px; color: #222222; /*margin-bottom: 20px;*/ - margin-top: 20px; } .type_wrap { - flex: 11; + width: 49.5%; flex-shrink: 0; - height: calc(100% - 20px); + height: 100%; /*border-right: 12px solid #f7f7f7;*/ - + background-color: #ffffff; + padding: 20px; + box-sizing: border-box; .echart1 { width: 100%; - height: calc(100% - 60px); + height: 100%; } } .dept_wrap { - flex: 10; + width: 49.5%; flex-shrink: 0; - height: calc(100% - 20px); - padding-left: 20px; - + height: 100%; + background-color: #ffffff; + padding: 20px; + box-sizing: border-box; .echart2 { width: 100%; - height: calc(100% - 60px); + height: 100%; } } } diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue index 916de54..f29a75c 100644 --- a/admin/src/views/business/internalCompany.vue +++ b/admin/src/views/business/internalCompany.vue @@ -38,6 +38,7 @@ </template> </el-table-column> <el-table-column prop="companyNamePath" label="缁勭粐璺緞" min-width="100px"></el-table-column> + <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column> <el-table-column prop="editorName" label="鎿嶄綔浜�" width="100px"></el-table-column> <el-table-column prop="editDate" label="鏈�鍚庢洿鏂版椂闂�" min-width="100px"></el-table-column> <el-table-column label="鎿嶄綔" width="230" fixed="right"> diff --git a/h5/pages/userinfo/userinfo.vue b/h5/pages/userinfo/userinfo.vue index 9fe4385..3cefd54 100644 --- a/h5/pages/userinfo/userinfo.vue +++ b/h5/pages/userinfo/userinfo.vue @@ -24,7 +24,7 @@ </view> </view> <view class="cell"> - <view class="title"><b>*</b>璇佷欢鍙风爜</view> + <view class="title">璇佷欢鍙风爜</view> <view class="content"> <input class="input" maxlength="18" @focus="showKeyboard = true" @blur="showKeyboard = false" placeholder-style="color: #999999;" v-model="visitorData.idcardNo" placeholder="璇疯緭鍏ユ偍鐨勮瘉浠跺彿鐮�" /> @@ -201,11 +201,11 @@ title: '璇佷欢绫诲瀷涓嶈兘涓虹┖', icon: 'none' }) - if (!this.visitorData.idcardNo) return uni.showToast({ - title: '璇佷欢鍙风爜涓嶈兘涓虹┖', - icon: 'none' - }) - if (this.visitorData.idcardType === 0) { + // if (!this.visitorData.idcardNo) return uni.showToast({ + // title: '璇佷欢鍙风爜涓嶈兘涓虹┖', + // icon: 'none' + // }) + if (this.visitorData.idcardType === 0 && this.visitorData.idcardNo) { const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dxX]$/; if (!regex.test(this.visitorData.idcardNo)) return uni.showToast({ title: '璇佷欢鍙风爜鏍煎紡閿欒', -- Gitblit v1.9.3