src/components.d.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/SideList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/fysp/check/ProCheck.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/fysp/check/ProCheckProxy.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/fysp/data-product/ProdSceneReport.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components.d.ts
@@ -20,6 +20,7 @@ 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'] @@ -35,6 +36,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,14 +47,18 @@ ElImage: typeof import('element-plus/es')['ElImage'] 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'] @@ -61,6 +69,7 @@ ElStep: typeof import('element-plus/es')['ElStep'] ElSteps: typeof import('element-plus/es')['ElSteps'] ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] @@ -68,6 +77,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/components/SideList.vue
@@ -1,5 +1,5 @@ <template> <div class="state-label"> <div v-if="legend" class="state-label"> <el-input v-model="filterText" icon="Search" @@ -7,7 +7,7 @@ placeholder="关键字筛选" clearable /> <el-tooltip v-if="legend" placement="bottom-start" effect="dark"> <el-tooltip placement="bottom-start" effect="dark"> <template #content> <el-space> <el-space v-for="(item, index) in stateLabels" :key="index" :size="1"> src/views/fysp/check/ProCheck.vue
@@ -239,7 +239,7 @@ taskApi.getSubtaskSummary(param).then((res) => { const list = []; res.forEach((s) => { const t = this.getSubtaskType(s); const t = ProCheckProxy.getSubtaskType(s); list.push({ status: s.subtask.status, type: t, @@ -254,39 +254,6 @@ this.mainLoading = false; } }); }, //获取任务问题的审核情况 getSubtaskType(s) { let type = 0; // 无问题 if (s.proNum == 0) { type = 0; } // 问题未审核 else if (s.proCheckedNum == 0) { type = 1; } // 问题部分审核 else if (s.proCheckedNum < s.proNum) { type = 2; } // 未整改 else if (s.changeNum < s.proNum) { type = 3; } // 整改未审核 else if (s.changeCheckedNum == 0) { type = 4; } // 整改部分审核 else if (s.changeCheckedNum < s.changeNum) { type = 5; } // 完全审核 else { type = 6; } return type; }, //点击左侧菜单任务事件 chooseSubtask(s) { @@ -309,7 +276,7 @@ // 问题卡片组件主动发起刷新父组件数据 updateSubtask(refresh = false) { this.curSubtask.data.proCheckedNum++; this.curSubtask.type = this.getSubtaskType(this.curSubtask.data); this.curSubtask.type = ProCheckProxy.getSubtaskType(this.curSubtask.data); if (this.proAddOrUpdDialogVisible) { this.proAddOrUpdDialogVisible = false; } @@ -351,7 +318,7 @@ this.curSubtask.data.proCheckedNum = status.proCheckedNum this.curSubtask.data.changeNum = status.changeNum this.curSubtask.data.changeCheckedNum = status.changeCheckedNum this.curSubtask.type = this.getSubtaskType(this.curSubtask.data) this.curSubtask.type = ProCheckProxy.getSubtaskType(this.curSubtask.data) } }, mounted() {} src/views/fysp/check/ProCheckProxy.js
@@ -219,6 +219,40 @@ } }, //获取任务问题的审核情况 getSubtaskType(s) { let type = 0; // 无问题 if (s.proNum == 0) { type = 0; } // 问题未审核 else if (s.proCheckedNum == 0) { type = 1; } // 问题部分审核 else if (s.proCheckedNum < s.proNum) { type = 2; } // 未整改 else if (s.changeNum < s.proNum) { type = 3; } // 整改未审核 else if (s.changeCheckedNum == 0) { type = 4; } // 整改部分审核 else if (s.changeCheckedNum < s.changeNum) { type = 5; } // 完全审核 else { type = 6; } return type; }, /** * 问题审核后状态变换 * @param {String} s 当前问题状态 src/views/fysp/data-product/ProdSceneReport.vue
@@ -5,6 +5,7 @@ </template> <template #aside> <SideList legend :items="subtasks" :loading="sideLoading" @item-click="chooseSubtask" @@ -12,6 +13,7 @@ </template> <template #main> <el-scrollbar class="el-scrollbar" v-loading="mainLoading"> <div></div> <CompSceneConstructionInfo title="A、基本信息" :scene="formScene" @@ -80,7 +82,15 @@ @submit="handleSelectAnyPhoto" :defaultFile="[sceneImg]" ></ArbitraryPhoto> <el-dialog <FYImageSelectDialog v-model:dialog-visible="deiveceImgDialog" title="设备图片" :max-select="1" :typeList="showDeviceTypeList" :typeImgMap="showDeviceImgMap" @submit="handleSelectDevicePhoto" ></FYImageSelectDialog> <!-- <el-dialog title="设备图片" width="66%" v-model="deiveceImgDialog" @@ -88,10 +98,10 @@ > <CompDevicePhono @selectPhonoEvent="handleSelectDevicePhoto" :imgPathsDataSource="showDeviceImgList" :imgPathsDataSource="showDeviceImgMap" > </CompDevicePhono> </el-dialog> </el-dialog> --> </template> <script setup> import { ref, computed } from 'vue'; @@ -105,10 +115,10 @@ import { enumDevice, toLabel } from '@/enum/device/device'; import { exportDocx } from '@/utils/doc'; import right_triangle from '@/assets/image/right_triangle.png'; import ProCheckProxy from '@/views/fysp/check/ProCheckProxy'; import CompSceneConstructionInfo from '@/views/fysp/scene/CompSceneConstructionInfo.vue'; import ArbitraryPhoto from '@/views/fysp/check/components/ArbitraryPhoto.vue'; import CompDevicePhono from '@/views/fysp/check/components/CompDevicePhono.vue'; import CompImgInfo from '@/views/fysp/data-product/components/CompImgInfo.vue'; import CompProblemTable from './components/CompProblemTable.vue'; import dayjs from 'dayjs'; @@ -146,8 +156,9 @@ taskApi.getSubtaskSummary(param).then((res) => { const list = []; res.forEach((s) => { const t = getSubtaskType(s); const t = ProCheckProxy.getSubtaskType(s); list.push({ status: s.subtask.status, type: t, title: s.stName, categoly: s.stPlanTime.split('T')[0], @@ -210,36 +221,37 @@ // 设备图片选择对话框 const deiveceImgDialog = ref(false); const showDeviceIndex = ref(0); const showDeviceImgList = ref([]); const showDeviceTypeList = ref([]); const showDeviceImgMap = ref(new Map()); // 设备图片列表 const deviceList = ref([]); function showDevicePhotoDialog(device, index) { showDeviceIndex.value = index; deiveceImgDialog.value = true; showDeviceImgList.value = []; showDeviceTypeList.value = [ { typeId: device.topTypeId, typeName: device._deviceTypeName } ]; showDeviceImgMap.value.clear(); let imgList = []; device._status .map((s) => s._picUrls) .forEach((pics) => { imgList = imgList.concat( pics.map((p) => { return { topTypeId: device.topTypeId, _picUrl: p }; return { url: p }; }) ); }); // console.log(imgList); showDeviceImgList.value = imgList; showDeviceImgMap.value.set(device.topTypeId, imgList); } function handleSelectDevicePhoto(data) { deiveceImgDialog.value = false; if (data.length > 0) { deviceList.value[showDeviceIndex.value]._showStatusPic = data[0]._picUrl; deviceList.value[showDeviceIndex.value]._showStatusPic = data[0].url; } } @@ -354,8 +366,12 @@ _showStatusPic_1: d1._showStatusPic ? d1._showStatusPic : right_triangle, _deviceTypeName_1: d1._deviceTypeName, // hasPic2: d2 ? true : false, _showStatusPic_2: d2 ? (d2._showStatusPic ? d2._showStatusPic : right_triangle) : right_triangle, _deviceTypeName_2: d2 ? d2._deviceTypeName : '', _showStatusPic_2: d2 ? d2._showStatusPic ? d2._showStatusPic : right_triangle : right_triangle, _deviceTypeName_2: d2 ? d2._deviceTypeName : '' }); } const param = {