jiangping
2025-05-09 0c045df28935e21879b8c0b58b58311c011294c5
Merge remote-tracking branch 'origin/master'
已修改10个文件
246 ■■■■■ 文件已修改
admin/.env.development 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/index.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaInternalCompanyWindow.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/admissionStatistics.vue 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/carStatistics.vue 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/dangerStatic.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/internalCompany.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/userinfo/userinfo.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/views/EnergyConsum.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -2,7 +2,12 @@
NODE_ENV = 'development'
# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
<<<<<<< HEAD
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://192.168.0.104:10010'
 VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
>>>>>>> f49ead8710e093ee1d2d3ed50870497f07dee9fa
# VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
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'
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,
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;
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;
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%;
      }
    }
  }
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">
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: '证件号码格式错误',
screen/src/views/EnergyConsum.vue
@@ -17,7 +17,7 @@
            <div class="com_header">
              <div class="title">
                <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" />
                <div>本年累计循环烟箱</div>
                <div>本年安徽中烟累计循环烟箱</div>
              </div>
              <img src="@/assets/images/title@2x.png" class="bg" alt="" />
            </div>
@@ -357,7 +357,7 @@
      formatter: function (params) {
        // 遍历悬浮时的所有点,定制化显示内容
        let result = `<div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="display: flex;align-items: center;;margin-top: 2px;">
            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #f6d047;margin-right: 6px;"></div></div>
            <div><strong>${params[0].value} L</strong></div>
@@ -651,7 +651,7 @@
      formatter: function (params) {
        // 遍历悬浮时的所有点,定制化显示内容
        let result = `<div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="width: 120px">${params[0].name}月</div>
          <div style="display: flex;align-items: center;;margin-top: 2px;">
            <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #61a1c4;margin-right: 6px;"></div></div>
            <div><strong>${params[0].value} </strong></div>
@@ -1281,4 +1281,4 @@
    z-index: -1;
  }
}
</style>
</style>
server/system_service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -447,13 +447,16 @@
                List<String> rowList = dataList.get(i);
                for (int j = 0; j < rowList.size(); j++) {
                    Cell cell = row.createCell(j);
                    cell.setCellValue(rowList.get(j));
                    if(i ==0 || j==0){
                        // 列宽设置
                        sheet.setColumnWidth(i, rowList.get(i).length() * 2 * 256);
                        // 设置列头单元格
                        cell.setCellStyle(hstyle);
                    if(i==0&&j==0){
                        cell.setCellValue("数据日期");
                    }else{
                        cell.setCellValue(rowList.get(j));
                    }
                    if(i==0){
                        sheet.setColumnWidth(i, rowList.get(i).length() * 2 * 256);
                        cell.setCellStyle(hstyle);
                    }else if(j==0){
                        cell.setCellStyle(rowStyle);
                    }
                }
@@ -473,6 +476,7 @@
        }
    }
    private static CellStyle configHeaderCellStatic (SXSSFWorkbook workbook)  {
        CellStyle style = workbook.createCellStyle();
        style.setAlignment(HorizontalAlignment.CENTER);
@@ -482,7 +486,7 @@
        style.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
        // 字体
        Font font = workbook.createFont();
        font.setFontHeightInPoints((short) 12);
        font.setFontHeightInPoints((short) 10);
        style.setFont(font);
        // 设置边框
        configCellBorder(style);