2025.9.22 扬尘月度简报分解数据产品(基础-现场巡查、中间-月度巡查简报)完成
已修改6个文件
57 ■■■■ 文件已修改
src/api/fysp/nightConstructionApi.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components.d.ts 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fysp/support/JingAnNightConstruction.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/fysp/nightConstructionApi.js
@@ -17,14 +17,18 @@
  /**
   * 更新工地夜间施工许可证
   * @param {*} param0
   * @returns
   * @param {*} param0
   * @returns
   */
  updateRecord({ recordId, userId, sceneId }) {
    return $fysp
      .post(`nightwork/record`, undefined, {
        params: { recordId, userId, sceneId }
      })
      .post(
        `nightwork/record`,
        {},
        {
          params: { recordId, userId, sceneId }
        }
      )
      .then((res) => res.data);
  }
};
src/api/index.js
@@ -1,7 +1,7 @@
import axios from 'axios';
import { ElMessage } from 'element-plus';
const debug = true;
const debug = false;
// let ip1 = 'http://47.100.191.150:9005/';
// let ip1_file = 'http://47.100.191.150:9005/';
@@ -13,8 +13,8 @@
let ip2_file = 'https://fyami.com.cn/';
if (debug) {
  // ip1 = 'http://192.168.0.103:9001/';
  ip1 = 'http://localhost:9001/';
  ip1 = 'http://192.168.0.103:9001/';
  // ip1 = 'http://localhost:9001/';
  // ip1_file = 'http://192.168.0.138:8080/';
  // ip2 = 'http://192.168.0.138:8080/';
  // ip2_file = 'https://fyami.com.cn/';
src/components.d.ts
@@ -21,8 +21,12 @@
    ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
    ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
    ElButton: typeof import('element-plus/es')['ElButton']
    ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
    ElCalendar: typeof import('element-plus/es')['ElCalendar']
    ElCard: typeof import('element-plus/es')['ElCard']
    ElCascader: typeof import('element-plus/es')['ElCascader']
    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
    ElCol: typeof import('element-plus/es')['ElCol']
    ElCollapse: typeof import('element-plus/es')['ElCollapse']
    ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
@@ -34,6 +38,9 @@
    ElDialog: typeof import('element-plus/es')['ElDialog']
    ElDivider: typeof import('element-plus/es')['ElDivider']
    ElDrawer: typeof import('element-plus/es')['ElDrawer']
    ElDropdown: typeof import('element-plus/es')['ElDropdown']
    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
    ElEmpty: typeof import('element-plus/es')['ElEmpty']
    ElForm: typeof import('element-plus/es')['ElForm']
    ElFormItem: typeof import('element-plus/es')['ElFormItem']
@@ -43,16 +50,22 @@
    ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
    ElInput: typeof import('element-plus/es')['ElInput']
    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
    ElLink: typeof import('element-plus/es')['ElLink']
    ElMain: typeof import('element-plus/es')['ElMain']
    ElMenu: typeof import('element-plus/es')['ElMenu']
    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
    ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
    ElOption: typeof import('element-plus/es')['ElOption']
    ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
    ElPagination: typeof import('element-plus/es')['ElPagination']
    ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
    ElPopover: typeof import('element-plus/es')['ElPopover']
    ElRadio: typeof import('element-plus/es')['ElRadio']
    ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
    ElRow: typeof import('element-plus/es')['ElRow']
    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
    ElSegmented: typeof import('element-plus/es')['ElSegmented']
    ElSelect: typeof import('element-plus/es')['ElSelect']
    ElSpace: typeof import('element-plus/es')['ElSpace']
    ElStep: typeof import('element-plus/es')['ElStep']
@@ -66,6 +79,7 @@
    ElTag: typeof import('element-plus/es')['ElTag']
    ElText: typeof import('element-plus/es')['ElText']
    ElTooltip: typeof import('element-plus/es')['ElTooltip']
    ElTransfer: typeof import('element-plus/es')['ElTransfer']
    ElTree: typeof import('element-plus/es')['ElTree']
    ElUpload: typeof import('element-plus/es')['ElUpload']
    Footer: typeof import('./components/core/Footer.vue')['default']
src/views/fysp/data-product/middle-data-product/ProdProblemCountSummary.vue
@@ -101,7 +101,7 @@
      ...item,
      lastSceneCount: last?.sceneCount || 0,
      lastProblemCount: last?.problemCount || 0,
      lastRatio: Math.round(item.ratio * 10) / 10 || 0
      lastRatio: Math.round((last?.ratio || 0) * 10) / 10 || 0
    };
  });
});
@@ -152,7 +152,7 @@
  const month2 = dayjs(opt2.startTime).month() + 1;
  const time = `${year}年${month1}月、${month2}月`;
  const option = barChartOption();
  option.title.text = `${time}各街道(镇)${opt1.sceneTypeName}扬尘污染问题数均值对比`;
  option.title.text = `${time}${opt1.districtName}各街道(镇)${opt1.sceneTypeName}扬尘污染问题数均值对比`;
  option.xAxis.name = '街道(镇)';
  option.xAxis.data = tableData.value.map((item) => item.townName);
@@ -162,7 +162,7 @@
    {
      name: `${month1}月`,
      type: 'bar', // 图表类型改为柱状图
      data: tableData1.value.map((item) => item.ratio),
      data: tableData.value.map((item) => item.ratio),
      label: {
        show: true,
        position: 'top', // 标签显示在柱子顶部
@@ -172,7 +172,7 @@
    {
      name: `${month2}月`,
      type: 'bar', // 图表类型改为柱状图
      data: tableData1.value.map((item) => item.ratio),
      data: tableData.value.map((item) => item.lastRatio),
      label: {
        show: true,
        position: 'top', // 标签显示在柱子顶部
src/views/fysp/data-product/middle-data-product/ProdProblemTypeSummary.vue
@@ -111,7 +111,7 @@
  }
  const startTime = dayjs(opt.startTime).format('YYYY年MM月');
  const option = pieChartOption();
  option.title.text = `${startTime}扬尘污染问题类型占比`;
  option.title.text = `${startTime}${opt.districtName}扬尘污染问题类型占比`;
  option.legend.data = tableData.value.map((item) => item.typeName);
  option.series[0].name = '问题类型';
  option.series[0].data = tableData.value.map((item) => ({
src/views/fysp/support/JingAnNightConstruction.vue
@@ -46,6 +46,11 @@
      />
      <el-table-column prop="ncPerson" label="申请人" width="110" />
      <el-table-column prop="ncApplyContent" label="申请内容" width="110" />
      <el-table-column prop="ncStartDate" label="申请时间" width="110">
        <template #default="{ row }">
          {{ $fm.formatYMD(row.ncCreateTime) }}
        </template>
      </el-table-column>
      <el-table-column prop="ncStartDate" label="工期开始" width="110">
        <template #default="{ row }">
          {{ $fm.formatYMD(row.ncStartDate) }}
@@ -92,7 +97,7 @@
    />
    <template #footer>
      <el-button @click="dialog = false">取消</el-button>
      <el-button type="primary" @click="submit" :disabled="!selectedSVUser"
      <el-button type="primary" @click="submit" :disabled="!selectedSVUser?.svUserId"
        >确定</el-button
      >
    </template>
@@ -172,7 +177,11 @@
function itemEdit(row) {
  selectedRow.value = row;
  selectedSVUser.value = row._user;
  selectedSVUser.value = {
    svUserId: row._user?.guid,
    svUserName: row._user?.realname,
    ...row._user
  };
  dialog.value = true;
}