diff --git a/package.json b/package.json index 961a146..f2903b2 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ }, "dependencies": { "@element-plus/icons-vue": "2.3.1", + "@vue-office/docx": "^1.6.3", "@vueup/vue-quill": "1.2.0", "@vueuse/core": "13.3.0", "axios": "1.9.0", @@ -30,12 +31,14 @@ "js-cookie": "3.0.5", "jsencrypt": "3.3.2", "lodash-es": "^4.17.21", + "mammoth": "^1.11.0", "mitt": "^3.0.1", "nprogress": "0.2.0", "pinia": "3.0.2", "splitpanes": "4.0.4", "vue": "3.5.16", "vue-cropper": "1.1.1", + "vue-demi": "^0.14.10", "vue-draggable-plus": "^0.6.0", "vue-router": "4.5.1", "vuedraggable": "4.1.0" diff --git a/src/api/monthReportManage/monthlyReport.js b/src/api/monthReportManage/monthlyReport.js new file mode 100644 index 0000000..f7d9fa1 --- /dev/null +++ b/src/api/monthReportManage/monthlyReport.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +// 获取月报 +export function getMonthlyReportAPI(params) { + return request({ + url: '/download/monthReport', + method: 'post', + params, + }) +} diff --git a/src/utils/request.js b/src/utils/request.js index 8304385..05cd4c4 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -17,7 +17,7 @@ const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: import.meta.env.VITE_APP_BASE_API, // 超时 - timeout: 10000, + timeout: 100000, }) // request拦截器 diff --git a/src/views/monthReportManage/monthlyReport/index.vue b/src/views/monthReportManage/monthlyReport/index.vue index 4fe67fd..ecf0206 100644 --- a/src/views/monthReportManage/monthlyReport/index.vue +++ b/src/views/monthReportManage/monthlyReport/index.vue @@ -1,9 +1,416 @@ - + + + diff --git a/src/views/planMange/monthlyPlan/config.js b/src/views/planMange/monthlyPlan/config.js index d403580..2623248 100644 --- a/src/views/planMange/monthlyPlan/config.js +++ b/src/views/planMange/monthlyPlan/config.js @@ -55,15 +55,15 @@ export const buildFormColumns = ( // 月计划列表表格列 export const tableColumns = [ - { prop: 'inspectionStationName', label: '运检站', fixed: true, width: '180' }, + { prop: 'inspectionStationName', label: '运检站', fixed: true, width: '200' }, { prop: 'planMajorName', label: '专业', fixed: true }, { prop: 'businessTypeName', label: '业务类型', fixed: true }, - { prop: 'projectName', label: '项目名称', fixed: true, width: '180' }, - { prop: 'workContent', label: '工作任务' }, + { prop: 'projectName', label: '项目名称', fixed: true, width: '200' }, + { prop: 'workContent', label: '工作任务', width: '200' }, { prop: 'riskLevel', label: '风险等级' }, { prop: 'planCategoryName', label: '类别' }, - { prop: 'workAmount', label: '工作量', width: '180', slot: 'workAmount' }, - { prop: 'towerBaseNumber', label: '基塔数' }, + { prop: 'workAmount', label: '工作量', width: '200', slot: 'workAmount' }, + { prop: 'towerBaseNumber', label: ' 塔基数' }, { prop: 'plannedStartTime', label: '计划开始时间', width: '140' }, { prop: 'plannedEndTime', label: '计划结束时间', width: '140' }, { diff --git a/src/views/planMange/monthlyPlan/edit.vue b/src/views/planMange/monthlyPlan/edit.vue index 102594f..f8ca14d 100644 --- a/src/views/planMange/monthlyPlan/edit.vue +++ b/src/views/planMange/monthlyPlan/edit.vue @@ -15,6 +15,7 @@ size="large" label-width="auto" :disabled="isDetail" + :validate-on-rule-change="false" > @@ -168,12 +169,12 @@ - + @@ -388,6 +389,8 @@ v-if="day.managers.length > maxShowInCell" placement="top" trigger="hover" + :width="'auto'" + popper-class="person-popover" >