From 87edc55a377c3fca459ab48010a9716b0311c4a8 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期一, 15 八月 2022 09:21:54 +0800 Subject: [PATCH] lct --- src/views/accidentManagementSystem/accidentExpress/index.vue | 20 src/api/doublePreventSystem/rectify/index.ts | 6 src/views/contingencyManagement/contingency/component/openAdd.vue | 48 src/router/route.ts | 6 src/views/goalManagement/Incentivestandard/index.vue | 4 src/views/goalManagement/targetEscalation/component/TypeDailog.vue | 271 src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue | 11 src/layout/navBars/breadcrumb/user.vue | 4 src/views/contingencyManagement/panManagement/index.vue | 94 src/views/goalManagement/safetyAssessment/component/DailogAdd.vue | 66 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48_[Default_Changelist]/shelved.patch | 4357 +++++++++++++ src/views/goalManagement/TargetBook/index.vue | 13 src/views/goalManagement/IncentiveRecording/index.vue | 9 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14_[Default_Changelist]/shelved.patch | 4289 +++++++++++++ src/views/accidentManagementSystem/accidentReport/component/openAdd.vue | 71 src/views/goalManagement/targetDecompositionYear/index.vue | 13 src/api/goalManagement/index.ts | 58 src/views/goalManagement/TargetBook/component/DailogAdd.vue | 100 src/views/goalManagement/targetEscalation/component/Dailog.vue | 35 src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue | 38 src/components/equipmentDailog/Dailog.vue | 90 src/views/goalManagement/performanceAppraisal/component/DailogKh.vue | 4 src/views/goalManagement/targetDecompositionMonth/index.vue | 13 src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue | 55 src/views/goalManagement/safetyAssessment/index.vue | 4 src/views/contingencyManagement/panManagement/component/openAdd.vue | 55 src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue | 78 src/views/goalManagement/performanceAppraisal/index.vue | 22 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08__Default_Changelist_.xml | 4 src/views/goalManagement/targetDecompositionYear/component/Dailog.vue | 19 src/views/goalManagement/targetEscalation/index.vue | 59 src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue | 11 src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue | 177 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54_[Default_Changelist]/shelved.patch | 3989 ++++++++++++ src/components/uploaderImg/index.vue | 192 src/views/goalManagement/safetyAssessment/component/Dailog.vue | 144 src/views/newHome/homeMenu.vue | 0 src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue | 29 src/views/loginPage/component/accountLogin.vue | 35 src/views/goalManagement/targetSettings/index.vue | 1 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14__Default_Changelist_.xml | 4 src/views/goalManagement/TargetBook/component/DailogSearch.vue | 20 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54__Default_Changelist_.xml | 4 src/components/uploaderFile/index.vue | 178 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08_[Default_Changelist]/shelved.patch | 4259 +++++++++++++ src/views/contingencyManagement/contingency/index.vue | 11 .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48__Default_Changelist_.xml | 4 src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue | 57 src/views/goalManagement/targetSettings/component/dailogAdd.vue | 37 src/views/goalManagement/performanceAppraisal/component/DailogAq.vue | 174 50 files changed, 18,685 insertions(+), 557 deletions(-) diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54_\133Default_Changelist\135/shelved.patch" new file mode 100644 index 0000000..2e27374 --- /dev/null +++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54_\133Default_Changelist\135/shelved.patch" @@ -0,0 +1,3989 @@ +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"checkData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"checkData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"checkData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"applyTime\" label=\"整改时间\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip min-width=\"150px\">\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"验收状态\" show-overflow-tooltip min-width=\"150px\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"checkAcceptPerson\" label=\"验收人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 1\" @click=\"onOpenDialogRef('验收', scope.row)\">验收</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"checkData.params.pageIndex\" background v-model:page-size=\"checkData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"checkData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <checkDialog ref=\"checkDialogRef\" @refreshCheck=\"initCheckTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport checkDialog from './components/checkDialog.vue';\r\nimport { Check, Delete, View } from '@element-plus/icons-vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { hiddenCheckApi } from '/@/api/doublePreventSystem/check';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n checkData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'check',\r\n components: { checkDialog, Check, Delete, View },\r\n setup() {\r\n const checkDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n checkData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: 1\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initCheckTableData = async () => {\r\n let res = await hiddenCheckApi().getHiddenCheckList(state.checkData.params);\r\n if (res.data.code === '200') {\r\n state.checkData.data = res.data.data;\r\n state.checkData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n checkDialogRef.value.openCheckDialog(type, value, state.departmentList);\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.checkData.params.pageSize = val;\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.checkData.params.pageIndex = val;\r\n initCheckTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initCheckTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Check,\r\n Delete,\r\n View,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n checkDialog,\r\n checkDialogRef,\r\n initCheckTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (date 1660353607563) +@@ -12,7 +12,12 @@ + <span>整改部门:</span> + <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="checkData.params.rectifyDepId"> </el-cascader> + </div> +- ++ <div class="basic-line"> ++ <span>整改状态:</span> ++ <el-select class="input-box" v-model="checkData.params.dangerStatus" placeholder="整改状态" clearable filterable> ++ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> ++ </el-select> ++ </div> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -120,10 +125,7 @@ + { id: 2, name: '限期整改' } + ], + dangerStatusList: [ +- { id: 0, name: '整改中' }, + { id: 1, name: '待验收' }, +- { id: 2, name: '延期整改' }, +- { id: 4, name: '超期未整改' }, + { id: 9, name: '已验收' } + ] + }); +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"rectifyData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>隐患状态:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.dangerStatus\" placeholder=\"隐患状态\" filterable clearable>\r\n <el-option v-for=\"item in dangerStatusList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"rectifyData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyTime\" label=\"整改期限\" min-width=\"130px\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <span>{{ scope.row.rectifyTime }}</span>\r\n <span v-if=\"scope.row.dangerStatus === 4\" class=\"overdue-img\">逾期</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患整改状态\" show-overflow-tooltip align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createByUserName\" label=\"创建人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"lastEditUserName\" label=\"最后修改人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtModitify\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('整改', scope.row)\">整改</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Edit\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('延期', scope.row)\">延期</el-button>\r\n <el-button size=\"small\" text type=\"danger\" :icon=\"Delete\" @click=\"onDelHiddenRectify(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"rectifyData.params.pageIndex\" background v-model:page-size=\"rectifyData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"rectifyData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <rectifyDialog ref=\"rectifyDialogRef\" @refreshRectify=\"initRectifyTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport rectifyDialog from './components/rectifyDialog.vue';\r\nimport { Edit, Delete, Check, View } from '@element-plus/icons-vue';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n rectifyData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'rectify',\r\n components: { rectifyDialog, Edit, Delete, View },\r\n setup() {\r\n const rectifyDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n rectifyData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: null\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initRectifyTableData = async () => {\r\n let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params);\r\n if (res.data.code === '200') {\r\n state.rectifyData.data = res.data.data;\r\n state.rectifyData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n rectifyDialogRef.value.openRectifyDialog(type, value, state.departmentList);\r\n };\r\n // 删除\r\n const onDelHiddenRectify = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该隐患整改,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await hiddenRectifyApi().deleteHiddenRectify({ id: row.id });\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '删除成功'\r\n });\r\n await initRectifyTableData();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.rectifyData.params.pageSize = val;\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.rectifyData.params.pageIndex = val;\r\n initRectifyTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initRectifyTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Edit,\r\n View,\r\n Check,\r\n Delete,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onDelHiddenRectify,\r\n onHandleCurrentChange,\r\n rectifyDialog,\r\n rectifyDialogRef,\r\n initRectifyTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n.overdue-img {\r\n position: absolute;\r\n background-color: #f56c6c;\r\n border-radius: 4px;\r\n color: #fff;\r\n display: inline-block;\r\n font-size: 12px;\r\n height: 21px;\r\n line-height: 18px;\r\n text-align: center;\r\n white-space: nowrap;\r\n border: 1px solid #fff;\r\n transform: scale(0.8);\r\n padding: 1px 3px 0 3px;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (date 1660364159687) +@@ -3,6 +3,16 @@ + <el-card shadow="hover"> + <div class="system-user-search mb15"> + <div class="basic-line"> ++ <div style="display: inline-block">整改编号:</div> ++ <div style="display: inline-block"> ++ <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" placeholder="整改编号"> ++ <template #prepend> ++ <el-date-picker value-format="YYYY-MM-DD" v-model="rectifyData.dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker> ++ </template> ++ </el-autocomplete> ++ </div> ++ </div> ++ <div class="basic-line"> + <span>整改类型:</span> + <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> + <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> +@@ -27,6 +37,7 @@ + </div> + <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> + <el-table-column type="index" label="序号" width="60" /> ++ <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> +@@ -106,6 +117,7 @@ + rectifyTypeList: Array<enumType>; + dangerStatusList: Array<enumType>; + departmentList: []; ++ dateTime: string; + } + interface enumType { + id: number; +@@ -127,9 +139,11 @@ + pageSize: 10, + rectifyType: null, + rectifyDepId: null, +- dangerStatus: null ++ dangerStatus: null, ++ serialCode: null + } + }, ++ dateTime: '', + departmentList: [], + rectifyTypeList: [ + { id: 1, name: '即查即改' }, +@@ -144,6 +158,11 @@ + ] + }); + ++ const querySearch = () => { ++ return [{ value: 1 }, { value: 12 }]; ++ }; ++ const getSerialCodeList = () => {}; ++ + // 初始化表格数据 + const initRectifyTableData = async () => { + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); +@@ -233,8 +252,10 @@ + View, + Check, + Delete, ++ querySearch, + parseNumber, + handleSearch, ++ getSerialCodeList, + onOpenDialogRef, + onHandleSizeChange, + onDelHiddenRectify, +@@ -274,4 +295,7 @@ + :deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); + } ++:deep(.el-input-group__prepend) { ++ padding: 0; ++} + </style> +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-add-menu-container\">\r\n <el-dialog :title=\"title\" v-model=\"isShowRectifyDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"rectifyForm\" :rules=\"rectifyFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改说明\" prop=\"rectifyInfo\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"rectifyForm.rectifyInfo\" placeholder=\"请输入整改说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改时间\" prop=\"applyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"rectifyForm.applyTime\" placeholder=\"请选择整改时间\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"isShowRectifyDialog = !isShowRectifyDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitRectify\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowDelayDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"delayForm\" :rules=\"delayFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"延期说明\" prop=\"timeOutDesc\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"delayForm.timeOutDesc\" placeholder=\"请输入延期说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改期限\" prop=\"rectifyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"delayForm.rectifyTime\" placeholder=\"请选择整改期限\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowDelayDialog = !isShowDelayDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitDelay\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowCheckInfoDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"checkInfoForm\" ref=\"checkFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改内容说明\" prop=\"rectifyDesc\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"textarea\" :rows=\"2\" v-model.trim=\"checkInfoForm.rectifyDesc\" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改类型\" prop=\"rectifyType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.rectifyType\" readonly>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改部门\" prop=\"rectifyDepId\">\r\n <el-cascader @change=\"achieveUserList\" :disabled=\"!disabled\" :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-add\" v-model=\"checkInfoForm.rectifyDepId\" readonly> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改责任人\" prop=\"liablePersonId\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.liablePersonId\" clearable filterable readonly>\r\n <el-option v-for=\"item in userList\" :key=\"item.uid\" :label=\"item.username\" :value=\"item.uid\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改资金\" prop=\"dangerResult\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"number\" v-model=\"checkInfoForm.cost\" readonly> </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.createByUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtCreate\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.lastEditUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtModitify\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { getUserByDepartment } from '/@/assets/methods';\r\n\r\ninterface stateType {\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n isShowRectifyDialog: Boolean;\r\n isShowDelayDialog: Boolean;\r\n isShowCheckInfoDialog: Boolean;\r\n rectifyForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyInfo: string | null;\r\n applyTime: string | null;\r\n };\r\n delayForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyTime: string | null;\r\n timeOutDesc: string | null;\r\n };\r\n title: string;\r\n departmentList: [];\r\n userList: [];\r\n rectifyTypeList: Array<rectifyTypeState>;\r\n rectifyFormRules: {};\r\n delayFormRules: {};\r\n checkInfoForm: {\r\n rectifyDepId: number | null;\r\n liablePersonId: number | null;\r\n };\r\n}\r\ninterface rectifyTypeState {\r\n regionType: string;\r\n id: number;\r\n}\r\n\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { ElMessage } from 'element-plus';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nexport default {\r\n name: 'rectifyDialog',\r\n setup(props: any, context: any) {\r\n const rectifyFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n rectifyTypeList: [],\r\n departmentList: [],\r\n userList: [],\r\n isShowCheckInfoDialog: false,\r\n checkInfoForm: {\r\n rectifyDepId: null,\r\n liablePersonId: null\r\n },\r\n isShowDelayDialog: false,\r\n isShowRectifyDialog: false,\r\n rectifyForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyInfo: null,\r\n applyTime: null\r\n },\r\n delayForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyTime: null,\r\n timeOutDesc: null\r\n },\r\n rectifyFormRules: {\r\n rectifyInfo: [{ required: true, message: '请填写整改说明', trigger: 'blur' }],\r\n applyTime: [{ required: true, message: '请选择整改时间', trigger: 'change' }]\r\n },\r\n delayFormRules: {\r\n timeOutDesc: [{ required: true, message: '请填写延期说明', trigger: 'blur' }],\r\n rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const openRectifyDialog = async (type: string, value: object, departmentList: []) => {\r\n state.departmentList = departmentList;\r\n if (type === '延期') {\r\n state.title = '延期';\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.isShowDelayDialog = true;\r\n const delayForm = JSON.parse(JSON.stringify(value));\r\n state.delayForm.id = delayForm.id;\r\n state.delayForm.dangerManagerId = delayForm.dangerManagerId;\r\n state.delayForm.timeOutDesc = null;\r\n state.delayForm.rectifyTime = null;\r\n } else if (type === '查看') {\r\n state.title = '查看';\r\n state.personTime = true;\r\n state.isShowCheckInfoDialog = true;\r\n state.checkInfoForm.rectifyDepId = JSON.parse(JSON.stringify(value)).rectifyDepId;\r\n await achieveUserList();\r\n state.checkInfoForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '整改';\r\n state.isShowRectifyDialog = true;\r\n const rectifyForm = JSON.parse(JSON.stringify(value));\r\n state.rectifyForm.id = rectifyForm.id;\r\n state.rectifyForm.dangerManagerId = rectifyForm.dangerManagerId;\r\n state.rectifyForm.rectifyInfo = null;\r\n state.rectifyForm.applyTime = null;\r\n }\r\n };\r\n\r\n //提交整改\r\n const submitRectify = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().submitHiddenRectify(state.rectifyForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '整改提交成功',\r\n duration: 2000\r\n });\r\n state.isShowRectifyDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n //提交延期\r\n const submitDelay = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().delayHiddenRectifyTime(state.delayForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '隐患延期成功',\r\n duration: 2000\r\n });\r\n state.isShowDelayDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n const achieveUserList = async () => {\r\n state.checkInfoForm.liablePersonId = null;\r\n const user: unknown = await getUserByDepartment(state.checkInfoForm.rectifyDepId);\r\n state.userList = user as [];\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n rectifyFormRef,\r\n submitDelay,\r\n achieveUserList,\r\n submitRectify,\r\n openRectifyDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (date 1660306190000) +@@ -10,7 +10,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="整改时间" prop="applyTime"> +- <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> ++ <el-date-picker type="datetime" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> + </el-form-item> + </el-col> + </el-row> +@@ -125,6 +125,8 @@ + rectifyTime: string | null; + timeOutDesc: string | null; + }; ++ disabledDate: any; ++ rangeTime: any; + title: string; + departmentList: []; + userList: []; +@@ -168,6 +170,13 @@ + rectifyInfo: null, + applyTime: null + }, ++ disabledDate: (time: any) => { ++ const r = new Date().getTime(); ++ return time.getTime() > new Date().getTime(); ++ }, ++ rangeTime: () => { ++ return '15:15:14'; ++ }, + delayForm: { + id: null, + dangerManagerId: null, +Index: src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"900px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"emergencyPlanName\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.emergencyPlanName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillAddress\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.departmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.departmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"0\"></el-option>\r\n <el-option label=\"桌面\" value=\"1\"></el-option>\r\n <el-option label=\"专项\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"drillName\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.drillName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.makingPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.drillPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"修改时间\" prop=\"updateDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.updateDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserUid\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.makingDepartmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.makingDepartmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"planUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.planUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实际到场人员\" prop=\"executeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.executeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练过程描述\" prop=\"processDesc\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.processDesc\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写演练过程描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录人\" prop=\"recordUserName\" >\r\n <el-input\r\n v-model=\"ruleForm.recordUserName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录时间\" prop=\"drillRecordDate\">\r\n <el-date-picker\r\n v-model=\"ruleForm.drillRecordDate\"\r\n class=\"w100\"\r\n type=\"datetime\"\r\n placeholder=\"选择日期时间\"\r\n :disabled=\"true\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <div class=\"el-divider--horizontal\">\r\n <div class=\"el-divider__text\">\r\n <h3>评价</h3>\r\n </div>\r\n </div>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"evaluationUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.evaluationUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"disabled\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-适宜性\" prop=\"suitable\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.suitable\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部能够执行\" value=\"1\"></el-option>\r\n <el-option label=\"全部不能够执行\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-充分性\" prop=\"sufficient\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.sufficient\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"完全满足应急要求\" value=\"1\"></el-option>\r\n <el-option label=\"不完全满足应急要求\" value=\"2\"></el-option>\r\n <el-option label=\"完全不满足应急要求\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"人员到位情况\" prop=\"arrival\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.arrival\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"迅速准确,基本按时到位\" value=\"1\"></el-option>\r\n <el-option label=\"未按时到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-现场物资\" prop=\"supplies\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.supplies\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"现场物资充分,全部有效\" value=\"1\"></el-option>\r\n <el-option label=\"现场物资不充分\" value=\"2\"></el-option>\r\n <el-option label=\"现场没有物资\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-个人防护\" prop=\"protection\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.protection\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部人员防护到位\" value=\"1\"></el-option>\r\n <el-option label=\"人员未防护到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-整体组织\" prop=\"whole\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.whole\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"协调基本顺利,能够满足要求\" value=\"1\"></el-option>\r\n <el-option label=\"协调不顺利\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-疏散组分工\" prop=\"division\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.division\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"安全,快速\" value=\"1\"></el-option>\r\n <el-option label=\"安全,不快速\" value=\"2\"></el-option>\r\n <el-option label=\"不安全,快速\" value=\"3\"></el-option>\r\n <el-option label=\"不安全,不快速\" value=\"4\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实战效果评价\" prop=\"effect\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.effect\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"基本达到目的,部分环节有待改进\" value=\"1\"></el-option>\r\n <el-option label=\"未达到目的\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-报告上级\" prop=\"report\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.report\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"报告及时\" value=\"1\"></el-option>\r\n <el-option label=\"报告不及时\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-安全部门\" prop=\"safety\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.safety\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-救援后勤部门\" prop=\"rescue\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.rescue\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-警戒撤离配合\" prop=\"evacuate\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.evacuate\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求配合\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求配合\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"是否需要修改应急预案\" prop=\"needModify\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.needModify\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"是\" :value=\"true\"></el-option>\r\n <el-option label=\"否\" :value=\"false\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"存在问题和改进措施\" prop=\"questionAndImprove\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.questionAndImprove\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写备注信息\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"修改内容\" prop=\"modifyContent\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.modifyContent\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写修改内容\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"附件列表\">\r\n <el-upload\r\n v-model:file-list=\"ruleForm.userList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button v-if=\"!disabled\" size=\"default\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\"/>\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"selectUser\"/>\r\n<!-- <RegionsDialog ref=\"openRef\"/>-->\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport {\r\n UploadUserFile,\r\n FormInstance,\r\n ElMessage\r\n} from 'element-plus'\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport UserSelections from \"/@/components/userSelections/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport {emergencyDrillEvaluationApi} from \"/@/api/contingencyManagement/emergencyDrillEvaluation\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nexport default defineComponent({\r\n name: 'approvalProgress',\r\n components: {\r\n UserSelections,\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n //定义表单\r\n const realRuleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看演练实施评价') {\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n //演练人员\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n //演练负责人员\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n //实际到场人员\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n //演练负责人(评价)\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施查看评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n };\r\n // 关闭弹窗\r\n const closeDialog = () => {\r\n isShowDialog.value = false;\r\n };\r\n // 取消\r\n const onCancel = () => {\r\n closeDialog();\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ,\r\n ]\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = [\r\n\r\n ]\r\n // 必填项提示\r\n // const rules = reactive<FormRules>({\r\n // teamName: [\r\n // {\r\n // required: true,\r\n // message: '队伍名称不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLevel: [\r\n // {\r\n // required: true,\r\n // message: '队伍级别不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLeader: [\r\n // {\r\n // required: true,\r\n // message: '队伍负责人不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // responsibleDepartment: [\r\n // {\r\n // required: true,\r\n // message: '负责人部门不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamPhone: [\r\n // {\r\n // required: true,\r\n // message: '负责人手机不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // telephone: [\r\n // {\r\n // required: true,\r\n // message: '固定电话不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // })\r\n\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n //演练负责人(评价)\r\n ruleForm.value.userList = ruleForm.value.evaluationUserList\r\n\r\n\r\n\r\n realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId\r\n realRuleForm.value.suitable=ruleForm.value.suitable\r\n realRuleForm.value.sufficient=ruleForm.value.sufficient\r\n realRuleForm.value.arrival=ruleForm.value.arrival\r\n realRuleForm.value.supplies=ruleForm.value.supplies\r\n realRuleForm.value.protection=ruleForm.value.protection\r\n realRuleForm.value.whole=ruleForm.value.whole\r\n realRuleForm.value.division=ruleForm.value.division\r\n realRuleForm.value.effect=ruleForm.value.effect\r\n realRuleForm.value.report=ruleForm.value.report\r\n realRuleForm.value.safety=ruleForm.value.safety\r\n realRuleForm.value.rescue=ruleForm.value.rescue\r\n realRuleForm.value.evacuate=ruleForm.value.evacuate\r\n realRuleForm.value.needModify=ruleForm.value.needModify\r\n realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove\r\n realRuleForm.value.modifyContent=ruleForm.value.modifyContent\r\n realRuleForm.value.fileList=ruleForm.value.fileList\r\n if(ruleForm.value.userList){\r\n for(var a = 0;a<ruleForm.value.userList.length;a++){\r\n realRuleForm.value.userList.push({\r\n userUid:ruleForm.value.userList[a].userUid,\r\n userName:ruleForm.value.userList[a].userName\r\n })\r\n }\r\n }\r\n // console.log(ruleForm.value.evaluationUserList)\r\n // ruleForm.value.userList=[]\r\n // for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){\r\n // // += res.data.data.evaluationUserList[a].userName+';'\r\n // }\r\n if (title == '演练实施评价') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n // console.log(ruleForm.value)\r\n emergencyDrillEvaluationApi()\r\n .editEmergencyDrillEvaluation(realRuleForm.value)\r\n // emergencyDrillExecuteApi()\r\n // .editEmergencyDrillExecute(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '评价成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n isShowDialog.value = false;\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n drillRecordDate: '', // 演练记录时间\r\n drillPlanId: '', //演练计划ID\r\n drillName:'',\r\n recordUserUid: '', // 记录人ID\r\n processDesc: '', // 演练过程描述\r\n userList: [\r\n {\r\n userUid: '',\r\n },\r\n {\r\n userUid: '',\r\n }\r\n ]\r\n };\r\n }\r\n }\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt=()=>{\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.drillPlanId=e.id\r\n };\r\n // 选择区域弹窗\r\n const openRef=ref()\r\n const regionsDialog=()=>{\r\n openRef.value.openDailog()\r\n }\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog(0);\r\n };\r\n\r\n const selectUser = (e) =>{\r\n ruleForm.value.evaluationUserListString=''\r\n ruleForm.value.evaluationUserList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.evaluationUserList.push(\r\n {\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.evaluationUserListString+=e[a].realName+';'\r\n }\r\n console.log(ruleForm.value.evaluationUserList)\r\n }\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n closeDialog,\r\n isShowDialog,\r\n onCancel,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n onUser,\r\n ruleFormRef,\r\n // rules,\r\n openUser,\r\n userRef,\r\n regionsDialog,\r\n openRef,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n resetForm,\r\n titles,\r\n disabled,\r\n emit,\r\n propse,\r\n department,\r\n newTreeList,\r\n selectUser,\r\n submitForm,\r\n realRuleForm\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.el-form .el-form-item{\r\n margin-bottom: 18px !important;\r\n display: flex;\r\n align-items: flex-start;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label{\r\n text-align: right;\r\n height: 100%;\r\n}\r\n.textarea{\r\n height: 90px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 90px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n.el-divider--horizontal {\r\n display: block;\r\n height: 1px;\r\n width: 100%;\r\n margin: 24px 0;\r\n background-color: #dcdfe6;\r\n position: relative;\r\n}\r\n.el-divider__text {\r\n position: absolute;\r\n background-color: #fff;\r\n padding: 0 20px;\r\n color: #303133;\r\n left: 50%;\r\n font-weight: 500;\r\n font-size: 14px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (date 1660303400435) +@@ -167,20 +167,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -368,20 +355,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="附件列表"> +- <el-upload +- v-model:file-list="ruleForm.userList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -421,12 +396,14 @@ + import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" + import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; + import {goalManagementApi} from "/@/api/goalManagement"; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'approvalProgress', + components: { + UserSelections, + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -512,6 +489,8 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施评价'){ +@@ -548,6 +527,8 @@ + } + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施查看评价'){ +@@ -584,15 +565,41 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } +- ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + } + }); + } ++ + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<ruleForm.value.planFileList.length;a++){ ++ ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName ++ } ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + }; + // 关闭弹窗 + const closeDialog = () => { +@@ -605,7 +612,7 @@ + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -663,6 +670,9 @@ + // }) + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + //演练负责人(评价) + ruleForm.value.userList = ruleForm.value.evaluationUserList + +@@ -861,7 +871,9 @@ + newTreeList, + selectUser, + submitForm, +- realRuleForm ++ realRuleForm, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/contingencyManagement/panManagement/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-form :inline=\"true\" class=\"demo-form-inline\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.name\" placeholder=\"预案名称\" style=\"max-width: 215px\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select size=\"default\" v-model=\"listQuery.searchParams.type\" placeholder=\"请选择预案类型\" class=\"ml10\" style=\"max-width: 215px\">\r\n\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\"> 查询 </el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-form>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Plus /> </el-icon\r\n\t\t\t\t\t\t>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Edit /> </el-icon\r\n\t\t\t\t\t\t>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onabolishLibrary\"> 废止库 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Upload />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Download />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Refresh />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column prop=\"name\" label=\"预案名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column prop=\"type\" label=\"预案类型\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.type == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.type == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.type == 3\">专项应急预案</span>\r\n <span v-if=\"scope.row.type == 4\">其他预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"level\" label=\"预案级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.level == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.level == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.level == 3\">专项应急预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"releaseDate\" label=\"发布实施日期\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"isDialogFormVisible(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPlay /> </el-icon\r\n\t\t\t\t\t\t\t>启动\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"abolish(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPause /> </el-icon\r\n\t\t\t\t\t\t\t>废止\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<EditPen /> </el-icon\r\n\t\t\t\t\t\t\t>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 0 || scope.row.approveStatus === null\"\r\n\t\t\t\t\t\t\t@click=\"initiateApproval(scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t发起审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === true\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('修改',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === false\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('详情',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n 查看审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" v-if=\"scope.row.approveStatus === 3\" @click=\"onApprovalProcess(scope.row.id)\">\r\n\t\t\t\t\t\t\t查看审批流程\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"jumpFrom(0)\">-->\r\n\t\t\t\t\t\t<!-- <el-icon style=\"margin-right: 5px;\">-->\r\n\t\t\t\t\t\t<!-- <EditPen />-->\r\n\t\t\t\t\t\t<!-- </el-icon>修改-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"abolish(0)\">-->\r\n\t\t\t\t\t\t<!-- 发起审批-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t\t>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tclass=\"mt15\"\r\n\t\t\t\t\tbackground\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"onHandleSizeChange\"\r\n\t\t\t\t\t@current-change=\"onHandleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<AbolishLibrary ref=\"abolishRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<InitiateApproval ref=\"initiateApprovalRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<Approval ref=\"approvalRef\" @myAdd=\"onMyAdd\" />\r\n <ApprovalProcess ref=\"processRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<!-- <StartUp ref=\"startRef\" @myAdd=\"startUp\"/>-->\r\n\t\t<el-dialog v-model=\"dialogFormVisible\" width=\"30%\" title=\"启动\" :fullscreen=\"full\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" label-width=\"80px\">\r\n\t\t\t\t<el-form-item label=\"备注\">\r\n\t\t\t\t\t<el-input v-model=\"form.remark\" type=\"textarea\" autocomplete=\"off\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"dialogFormVisible = false\">取消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"onDetermine\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\n// import {useRouter} from \"vue-router\"\r\nimport type {} from // FormInstance,\r\n'element-plus';\r\nimport { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';\r\n// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';\r\nimport AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';\r\nimport ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';\r\nimport InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';\r\nimport Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';\r\n// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';\r\n\r\nexport default defineComponent({\r\n\tname: 'systemUser',\r\n\tcomponents: {\r\n\t\tOpenAdd,\r\n\t\t// StartUp,\r\n\t\tInitiateApproval,\r\n\t\tAbolishLibrary,\r\n\t\tApproval,\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tVideoPause,\r\n\t\tVideoPlay,\r\n ApprovalProcess,\r\n\t\t// UpData,\r\n\t\temergencyPlanApi,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tname: '',\r\n\t\t\t\ttype: '',\r\n\t\t\t\tabolishStatus: false,\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst onSubmit = async () => {\r\n\t\t\tlet res = await emergencyPlanApi().getEmergencyPlanList(listQuery);\r\n\t\t\tif (res.data.code === '200') {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.name = '';\r\n\t\t\tlistQuery.searchParams.type = '';\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\r\n\t\t// 上传\r\n\t\t// const upShow=ref()\r\n\t\t// const upButton=()=>{\r\n\t\t// upShow.value.openDialog()\r\n\t\t// }\r\n\t\t// 启动弹窗\r\n\t\tconst isDialogFormVisible = (data: any) => {\r\n\t\t\tdialogFormVisible.value = true;\r\n\t\t\tform.value.planId = data;\r\n\t\t};\r\n\t\tconst dialogFormVisible = ref(false);\r\n\t\tconst form = ref({\r\n\t\t\tremark: '',\r\n\t\t});\r\n\t\tconst onDetermine = () => {\r\n\t\t\tdialogFormVisible.value = false;\r\n\t\t\temergencyPlanLogApi()\r\n\t\t\t\t.addEmergencyPlanLog(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tremark: '',\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 打开新增用户弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建应急预案管理', false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tonSubmit();\r\n\t\t\t} else {\r\n\t\t\t\tonSubmit();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 打开修改应急预案管理弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看应急预案管理', row, true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改应急预案管理', row, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//打开废止库弹窗\r\n\t\tconst abolishRef = ref();\r\n\t\tconst onabolishLibrary = () => {\r\n\t\t\tabolishRef.value.openDialog();\r\n\t\t};\r\n\t\t// 废止\r\n\t\tconst abolish = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定要废止所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.EmergencyTeam(data)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\t// 删除用户\r\n\t\tconst onRowDel = (id: number) => {\r\n\t\t\tlet arr = [];\r\n\t\t\tarr.push(id);\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\tconst deleteAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeleteAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(deleteAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst onHandleSizeChange = (val: number) => {\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst onHandleCurrentChange = (val: number) => {\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\r\n\t\t// const router=useRouter()\r\n\t\t// 修改跳转\r\n\t\t// const jumpFrom=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/processForm\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批跳转\r\n\t\t// const abolish=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/abolishDialog\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批弹窗\r\n\t\tconst initiateApprovalRef = ref();\r\n\t\tconst initiateApproval = (row: object) => {\r\n\t\t\tinitiateApprovalRef.value.openDialog('发起审批',row, true);\r\n\t\t};\r\n\t\t// 审批\r\n\t\tconst approvalRef = ref();\r\n\t\tconst onApproval = (val: string,row: object,id) => {\r\n if(val=='详情'){\r\n approvalRef.value.openDialog('查看审批', row, true);\r\n } else {\r\n approvalRef.value.openDialog('审批', row, false,id);\r\n }\r\n\t\t};\r\n // 审批流程\r\n const processRef = ref();\r\n const onApprovalProcess = (row:object,id) => {\r\n processRef.value.openDialog(row,id);\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 页面加载时\r\n\t\tonMounted(() => {\r\n\t\t\tonSubmit();\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttableData,\r\n\t\t\tonSubmit,\r\n\t\t\tonOpenAdd, //新增\r\n\t\t\taddRef,\r\n\t\t\tonabolishLibrary,\r\n\t\t\tabolishRef,\r\n\t\t\tabolish,\r\n\t\t\tonRowDel,\r\n\t\t\tonHandleSizeChange,\r\n\t\t\tonHandleCurrentChange,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tlistQuery,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\tsubmitReset,\r\n\t\t\tonMounted,\r\n\t\t\tdeleteAll,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDeleteAll,\r\n\t\t\tdialogFormVisible,\r\n\t\t\tisDialogFormVisible,\r\n\t\t\tform,\r\n\t\t\temit,\r\n\t\t\tonDetermine,\r\n\t\t\tonEdit,\r\n\t\t\tinitiateApproval,\r\n\t\t\tinitiateApprovalRef,\r\n\t\t\tonApproval,\r\n\t\t\tapprovalRef,\r\n onApprovalProcess,\r\n processRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 10px;\r\n}\r\n.el-form .el-form-item {\r\n\tmargin-bottom: 0 !important;\r\n}\r\n.el-button--text {\r\n\tmargin-right: 15px;\r\n}\r\n.el-select {\r\n\twidth: 300px;\r\n}\r\n.el-input {\r\n\twidth: 300px;\r\n}\r\n.dialog-footer button:first-child {\r\n\tmargin-right: 10px;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer {\r\n\tborder-top: 1px solid #e8e8e8;\r\n\tborder-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n\tborder-bottom: 1px solid #e8e8e8;\r\n\tmargin-right: 0;\r\n\tborder-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n\tbackground-color: #f6f7fa;\r\n\tfont-weight: 400;\r\n\tcolor: #909399;\r\n}\r\n.el-table .sort-caret.ascending {\r\n\tborder-bottom-color: #c0c4cc;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue +--- a/src/views/contingencyManagement/panManagement/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/panManagement/index.vue (date 1660303400437) +@@ -23,19 +23,13 @@ + <div class="button_Line"> + <div class="button_Left"> + <el-button size="default" type="primary" @click="onOpenAdd"> +- <el-icon> +- <Plus /> </el-icon +- >新建 ++ <el-icon> <Plus /> </el-icon>新建 + </el-button> + <el-button size="default" type="warning" plain :disabled="warning"> +- <el-icon> +- <Edit /> </el-icon +- >修改 ++ <el-icon> <Edit /> </el-icon>修改 + </el-button> + <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </el-button> + </div> +@@ -61,37 +55,31 @@ + <el-table-column type="selection" width="55" /> + <el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.type == 1">综合应急预案</span> +- <span v-if="scope.row.type == 2">现场处置方案</span> +- <span v-if="scope.row.type == 3">专项应急预案</span> +- <span v-if="scope.row.type == 4">其他预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.type == 1">综合应急预案</span> ++ <span v-if="scope.row.type == 2">现场处置方案</span> ++ <span v-if="scope.row.type == 3">专项应急预案</span> ++ <span v-if="scope.row.type == 4">其他预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="level" label="预案级别" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.level == 1">综合应急预案</span> +- <span v-if="scope.row.level == 2">现场处置方案</span> +- <span v-if="scope.row.level == 3">专项应急预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.level == 1">综合应急预案</span> ++ <span v-if="scope.row.level == 2">现场处置方案</span> ++ <span v-if="scope.row.level == 3">专项应急预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="isDialogFormVisible(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPlay /> </el-icon +- >启动 ++ <el-icon style="margin-right: 5px"> <VideoPlay /> </el-icon>启动 + </el-button> + <el-button size="small" text type="primary" @click="abolish(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPause /> </el-icon +- >废止 ++ <el-icon style="margin-right: 5px"> <VideoPause /> </el-icon>废止 + </el-button> + <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <EditPen /> </el-icon +- >修改 ++ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改 + </el-button> + <el-button + size="small" +@@ -107,7 +95,7 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true" +- @click="onApproval('修改',scope.row.approveId,scope.row.id)" ++ @click="onApproval('修改', scope.row.approveId, scope.row.id)" + > + 审批 + </el-button> +@@ -116,9 +104,9 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false" +- @click="onApproval('详情',scope.row.approveId,scope.row.id)" ++ @click="onApproval('详情', scope.row.approveId, scope.row.id)" + > +- 查看审批 ++ 查看审批 + </el-button> + <el-button size="small" text type="primary" v-if="scope.row.approveStatus === 3" @click="onApprovalProcess(scope.row.id)"> + 查看审批流程 +@@ -132,9 +120,7 @@ + <!-- 发起审批--> + <!-- </el-button>--> + <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + </template> + </el-table-column> +@@ -159,7 +145,7 @@ + <AbolishLibrary ref="abolishRef" @myAdd="onMyAdd" /> + <InitiateApproval ref="initiateApprovalRef" @myAdd="onMyAdd" /> + <Approval ref="approvalRef" @myAdd="onMyAdd" /> +- <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> ++ <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> + <!-- <StartUp ref="startRef" @myAdd="startUp"/>--> + <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> +@@ -212,7 +198,7 @@ + Refresh, + VideoPause, + VideoPlay, +- ApprovalProcess, ++ ApprovalProcess, + // UpData, + emergencyPlanApi, + }, +@@ -469,22 +455,22 @@ + // 发起审批弹窗 + const initiateApprovalRef = ref(); + const initiateApproval = (row: object) => { +- initiateApprovalRef.value.openDialog('发起审批',row, true); ++ initiateApprovalRef.value.openDialog('发起审批', row, true); + }; + // 审批 + const approvalRef = ref(); +- const onApproval = (val: string,row: object,id) => { +- if(val=='详情'){ +- approvalRef.value.openDialog('查看审批', row, true); +- } else { +- approvalRef.value.openDialog('审批', row, false,id); +- } ++ const onApproval = (val: string, row: object, id) => { ++ if (val == '详情') { ++ approvalRef.value.openDialog('查看审批', row, true); ++ } else { ++ approvalRef.value.openDialog('审批', row, false, id); ++ } + }; +- // 审批流程 +- const processRef = ref(); +- const onApprovalProcess = (row:object,id) => { +- processRef.value.openDialog(row,id); +- }; ++ // 审批流程 ++ const processRef = ref(); ++ const onApprovalProcess = (row: object, id) => { ++ processRef.value.openDialog(row, id); ++ }; + + //全屏 + const full = ref(false); +@@ -535,8 +521,8 @@ + initiateApprovalRef, + onApproval, + approvalRef, +- onApprovalProcess, +- processRef, ++ onApprovalProcess, ++ processRef, + }; + }, + }); +Index: src/views/goalManagement/targetDecompositionYear/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title,ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\tadd,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue +--- a/src/views/goalManagement/targetDecompositionYear/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetDecompositionYear/index.vue (date 1660303400448) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="tableData.targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -103,6 +103,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"目标分解\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"formUp.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" property=\"dutyDepartmentName\" label=\"责任部门\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"value\" label=\"考核指标\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makerDepartmentName\" label=\"制定人部门\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"commitPersonName\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"Delete(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"disabled == false\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { emit } from 'process';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { DailogAdd, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tqName: '',\r\n\t\t\tindexNum: '',\r\n\t\t\tyear: '',\r\n\t\t\tvalue: '',\r\n\t\t\ttargetDivideDetailList: [],\r\n\t\t});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t\tformUp.targetDivideDetailList = form.value.targetDivideDetailList;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (val: object) => {\r\n\t\t\tform.value = val;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = formUp.targetDivideDetailList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst formUp = reactive({\r\n\t\t\ttargetId: '', //关联的目标指标/外键\r\n\t\t\tdelTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n\t\t\ttargetDivideDetailList: [], //目标指标分解列表\r\n\t\t});\r\n\r\n\t\tconst add = (val: any) => {\r\n\t\t\tconst item = deepClone(val);\r\n\t\t\tconsole.log(item)\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tformUp.targetDivideDetailList.push(item);\r\n\t\t\t} else {\r\n\t\t\t\tformUp.targetDivideDetailList[index.value] = item;\r\n\t\t\t}\r\n\r\n\t\t\t// let obj=JSON.parse(JSON.stringify(form.value))\r\n\t\t};\r\n\t\t// 新增\r\n\t\tconst submitForm = () => {\r\n\t\t\tformUp.delTargetDivideDetails = arr.value.toString();\r\n\t\t\tformUp.targetId = form.value.id;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tfor(let i=0;i<formUp.targetDivideDetailList.length;i++){\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].dutyDepartmentName\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].makerDepartmentName\r\n\t\t\t}\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDivideDetail(formUp)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('addList');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\tconst arr = ref([]);\r\n\t\t// 删除\r\n\t\tconst Delete = (data: any) => {\r\n\t\t\tformUp.targetDivideDetailList.splice(form.value.targetDivideDetailList.indexOf(data), 1);\r\n\t\t\tformUp.targetId = data.targetId;\r\n\t\t\tarr.value.push(data.id);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\t\t// 关闭\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 时间格式处理\r\n\t\t// const timeDate = (data: any) => {\r\n\t\t// \tlet result = new Date(data).getTime();\r\n\t\t// \treturn result;\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\ttimeDate,\r\n\t\t\tarr,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tonNumber,\r\n\t\t\ttargetType,\r\n\t\t\tdisabled,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tadd,\r\n\t\t\tformUp,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +--- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (date 1660303400448) +@@ -40,7 +40,7 @@ + <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" /> + <el-table-column align="center" property="value" label="考核指标" width="180" /> + <el-table-column align="center" property="makerDepartmentName" label="制定人部门" /> +- <el-table-column align="center" property="makeDate" label="制定日期" /> ++ <el-table-column align="center" property="makeDate" :formatter="timeDate" label="制定日期" /> + <el-table-column align="center" property="commitPersonName" label="上报人" /> + <el-table-column align="center" property="操作"> + <template #default="scope"> +@@ -96,12 +96,28 @@ + if (res.data.code == 200) { + form.value = res.data.data; + formUp.targetDivideDetailList = form.value.targetDivideDetailList; ++ for(let i=0;i<formUp.targetDivideDetailList.length;i++){ ++ formUp.targetDivideDetailList[i].makeDate=timeC(formUp.targetDivideDetailList[i].makeDate) ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + } + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + const onNumber = (val: object) => { + form.value = val; + }; +@@ -209,6 +225,7 @@ + // return result; + // }; + return { ++ timeC, + index, + timeDate, + arr, +Index: src/components/uploaderFile/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderFile/index.vue b/src/components/uploaderFile/index.vue +new file mode 100644 +--- /dev/null (date 1660303400398) ++++ b/src/components/uploaderFile/index.vue (date 1660303400398) +@@ -0,0 +1,178 @@ ++<template> ++ <el-upload ++ v-model:file-list="fileList" ++ multiple ++ :disabled="disabled" ++ class="upload-demo" ++ :http-request="uploadSectionFile" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" ++ > ++ <el-button type="primary">点击上传</el-button> ++ <template #tip> ++ <div class="el-upload__tip"> ++ 请上传文件 ++ <!--jpg/png files with a size less than 500KB.--> ++ </div> ++ <slot name="file"> ++ ++ </slot> ++ </template> ++ </el-upload> ++ ++ <!--<el-dialog v-model="dialogVisible">--> ++ <!--<img w-full :src="dialogImageUrl" alt="Preview Image" />--> ++ <!--</el-dialog>--> ++</template> ++<script lang="ts"> ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++ ++export default defineComponent({ ++ props: { ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, ++ }, ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); ++ ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ emit('deleteFile',uploadFiles); ++ }; ++ ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ goalManagementApi() ++ .searchFile(uploadFile.fileName) ++ .then((res) => { ++ window.open(res.data, "_blank"); ++ }) ++ dialogImageUrl.value = uploadFile.url!; ++ // dialogVisible.value = true; ++ }; ++ ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] ++ } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].name=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; ++ ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; ++ ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> ++<style scoped> ++ .upload-demo{ ++ width: 100%; ++ } ++</style> +\ No newline at end of file +Index: src/views/contingencyManagement/panManagement/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog\r\n\t\t\t:title=\"titles\"\r\n\t\t\tv-model=\"isShowDialog\"\r\n\t\t\twidth=\"50%\"\r\n\t\t\tdraggable\r\n\t\t\t:fullscreen=\"full\"\r\n\t\t\t:close-on-click-modal=\"false\"\r\n\t\t\t@close=\"resetForm(ruleFormRef)\"\r\n\t\t>\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :disabled=\"disabled\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案名称\" prop=\"name\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.name\" placeholder=\"请填写队伍名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"适用部门\" prop=\"responsibleDepartment\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"responsibleDepartment\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\t\tcheck-on-click-node\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t\t@change=\"changeDepartment\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<el-divider />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案类型\" prop=\"type\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.type\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"危险源关联\" prop=\"associatedDanger\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.associatedDanger\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"是\" :value=\"false\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"否\" :value=\"true\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案级别\" prop=\"level\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.level\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"公司级\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"分厂级\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"车间级\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写人\" prop=\"authorId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.authorName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写部门\" prop=\"authorDeptId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.authorDeptId\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发布实施日期\" prop=\"releaseDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.releaseDate\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急队伍\" prop=\"emergencyTeam\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.teamName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt(0)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\t\t:on-change=\"handleChange\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"区域名称\" prop=\"areaName\">-->\r\n\t\t\t\t\t<!-- <el-input-->\r\n\t\t\t\t\t<!-- v-model=\"ruleForm.areaName\"-->\r\n\t\t\t\t\t<!-- placeholder=\"请选择\"-->\r\n\t\t\t\t\t<!-- class=\"input-with-select\"-->\r\n\t\t\t\t\t<!-- >-->\r\n\t\t\t\t\t<!-- <template #append>-->\r\n\t\t\t\t\t<!-- <el-button :icon=\"Search\" @click=\"regionsDialog\"/>-->\r\n\t\t\t\t\t<!-- </template>-->\r\n\t\t\t\t\t<!-- </el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<CheckTemplate ref=\"Shows\" @SearchUser=\"SearchUser\" />\r\n\t\t<DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { ref, defineComponent, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst ruleForm = ref({\r\n\t\t\tname: '', // 预案名称\r\n\t\t\ttype: '', //预案类型\r\n\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\tlevel: '', // 预案级别\r\n\t\t\tauthorUid: '', // 编写人\r\n\t\t\tauthorName: '',\r\n\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\tfileList: [],\r\n\t\t\tareaList: [], //区域列表\r\n\t\t\tteamList: [],\r\n\t\t\t// teamId: '', //应急队伍\r\n\t\t\tdeptList: [],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看应急预案管理' || title == '修改应急预案管理') {\r\n\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t.seeEmergencyTeam(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\truleForm.value.teamName = ''\r\n\t\t\t\t\t\t\tresponsibleDepartment.value = []\r\n\t\t\t\t\t\t\tif(res.data.data.teamList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.teamList.length;a++){\r\n\t\t\t\t\t\t\t\t\truleForm.value.teamName+=res.data.data.teamList[a].teamName+';'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif(res.data.data.deptList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.deptList.length;a++){\r\n\r\n\t\t\t\t\t\t\t\t\tresponsibleDepartment.value.push(res.data.data.deptList[a].departmentId)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst releaseDate = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst changeDepartment = (e) => {\r\n\t\t\tvar temList = [];\r\n\t\t\tfor (var a = 0; a < e.length; a++) {\r\n\t\t\t\ttemList.push({\r\n departmentId: e[a],\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.deptList = temList;\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t};\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref([]);\r\n\t\tconst data = ref();\r\n\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\tdelete ruleForm.value.teamName\r\n\t\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t\t.addEmergencyPlan(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n delete ruleForm.value.teamName\r\n emergencyPlanApi()\r\n\t\t\t\t\t\t\t.editEmergencyTeam(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tname: '', // 预案名称\r\n\t\t\t\t\ttype: '', //预案类型\r\n\t\t\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\t\t\tlevel: '', // 预案级别\r\n\t\t\t\t\tauthorUid: '', // 编写人\r\n\t\t\t\t\tauthorName: '',\r\n\t\t\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\t// teamId: '', //应急队伍ID\r\n\t\t\t\t\tareaList: [], //区域列表\r\n\t\t\t\t\tteamList: [],\r\n\t\t\t\t\tdeptList: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\truleForm.value = {};\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (data: any) => {\r\n\t\t\tShows.value.openDailog(data);\r\n\t\t};\r\n\t\tconst SearchUser = (val: any) => {\r\n\t\t\tlet arr = [];\r\n\t\t\truleForm.value.teamList = [];\r\n\t\t\tfor (let i = 0; i < val.length; i++) {\r\n\t\t\t\tarr.push(val[i].teamName);\r\n\t\t\t\truleForm.value.teamList.push({\r\n\t\t\t\t\tteamId: val[i].id,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.teamName = arr.toString();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\t//回显\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\truleForm.value.authorUid = e[0].uid;\r\n\t\t\truleForm.value.authorName = e[0].realName;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\treleaseDate,\r\n\t\t\t// treeSelect,\r\n\t\t\t// trees,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\tSearchUser,\r\n\t\t\tsubmitForm,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tisShowDialog,\r\n\t\t\truleFormRef,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonUser,\r\n\t\t\tnewTreeList,\r\n\t\t\tchangeDepartment,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue +--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue (date 1660303400437) +@@ -106,17 +106,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> +@@ -158,13 +149,14 @@ + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; + import { goalManagementApi } from '/@/api/goalManagement'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + CheckTemplate, + DailogSearchUserManger, + RegionsDialog, ++ uploaderFile + }, + setup(prop, { emit }) { + const isShowDialog = ref(false); +@@ -211,15 +203,35 @@ + responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) + } + } +- ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const releaseDate = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ const fileList = ref([]); + //el-tree-select回显 + const propse = { + label: 'depName', +@@ -272,6 +284,9 @@ + const data = ref(); + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急预案管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -306,10 +321,9 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] +- isShowDialog.value = false; +- delete ruleForm.value.teamName +- emergencyPlanApi() ++ isShowDialog.value = false; ++ delete ruleForm.value.teamName ++ emergencyPlanApi() + .editEmergencyTeam(ruleForm.value) + .then((res) => { + if (res.data.code == 200) { +@@ -356,6 +370,7 @@ + if (!formEl) return; + formEl.resetFields(); + ruleForm.value = {}; ++ fileList.value = [] + }; + // 应急队伍弹窗 + const Shows = ref(); +@@ -429,6 +444,8 @@ + onUser, + newTreeList, + changeDepartment, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/targetDecompositionMonth/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport search from '../targetSettings/component/search.vue';\r\nimport Dailog from '../targetDecompositionYear/component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '2', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tadd,\r\n\t\t\tlistApi,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue +--- a/src/views/goalManagement/targetDecompositionMonth/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetDecompositionMonth/index.vue (date 1660303400447) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -105,6 +105,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"handleClose(ruleFormRef)\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核标题\" size=\"default\" prop=\"title\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\" placeholder=\"请填写考核标题\"></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核日期\" size=\"default\" prop=\"examineDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.examineDate\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\" prop=\"acceptanceNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"总分\" size=\"default\" prop=\"examineTotalNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examineTotalNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核部门\" size=\"default\" prop=\"examineDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.examineDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData1\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核人\" size=\"default\" prop=\"examinePersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examinePersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(1)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"被考核部门\" size=\"default\" prop=\"beExaminedDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.beExaminedDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData2\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"被考核人\" size=\"default\" prop=\"beExaminedPersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.beExaminedPersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(0)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\" size=\"default\" prop=\"examineTemplateName\">\r\n\t\t\t\t\t\t<el-input disabled v-model=\"form.examineTemplateName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiAdd\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"考核项目\" name=\"1\">\r\n\t\t\t\t<!-- <el-button type=\"primary\" size=\"default\" @click=\"daiAdd\">新增</el-button> -->\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"考核项目\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"考核分数\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t<el-input v-model=\"scope.row.address\" type=\"textarea\"> </el-input>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t\t<!-- <el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default>\r\n\t\t\t\t\t<el-button link type=\"primary\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column> -->\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Show\"></DailogSearch>\r\n\t<DailogSearchUser ref=\"Shows\" @SearchUser=\"userId\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tbeExaminedDepartmentId: '', ////被考核部门ID/外键\r\n\t\t\tbeExaminedDepartmentName: '',\r\n\t\t\tbeExaminedPersonId: '', ////被考核人ID/外键(可能有多个,用逗号隔开)\r\n\t\t\tbeExaminedPersonName: '',\r\n\t\t\texamineDate: '', ////考核日期\r\n\t\t\texamineDepartmentId: '', ////考核部门ID/外键\r\n\t\t\texamineDepartmentName: '',\r\n\t\t\texaminePersonId: '', ////考核人ID/外键\r\n\t\t\texaminePersonName: '',\r\n\t\t\texamineTemplateId: 1, ////绩效考核模板ID/外键\r\n\t\t\texamineTemplateName: '',\r\n\t\t\texamineTotalNumber: '', ////总分\r\n\t\t\textraFile: '9', //责任书附件\r\n\t\t\titemDetail: '', ////考核项目\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tnumberDetailJson: '[{\"id\":\"123\",\"number\":\"123\"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:\"123\",\"number\":\"123\"}]\r\n\t\t\ttitle: '', ////考核标题\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdepartment();\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 验证\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\ttitle: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }],\r\n\t\t\texamineDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],\r\n\t\t\texamineDepartmentId: [{ required: true, message: '考核部门不能为空', trigger: 'blur' }],\r\n\t\t\texaminePersonName: [],\r\n\t\t\texaminePersonId: [],\r\n\t\t\tbeExaminedDepartmentId: [{ required: true, message: '被考核部门不能为空', trigger: 'blur' }],\r\n\t\t\tbeExaminedPersonName: [],\r\n\t\t\tbeExaminedPersonId: [],\r\n\t\t\texamineTemplateId: [],\r\n\t\t\texamineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }],\r\n\t\t\tmemo: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst handleClose=(formEl: FormInstance | undefined)=>{\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t}\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (type: any) => {\r\n\t\t\tShows.value.openDailog(type);\r\n\t\t};\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst userId = (val: any, type: any) => {\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.examinePersonId = val.uid;\r\n\t\t\t\tform.value.examinePersonName = val.realName;\r\n\t\t\t} else if (type == 0) {\r\n\t\t\t\tlet uid=[]\r\n\t\t\t\tlet realName=[]\r\n\t\t\t\tfor(let i=0;i<val.length;i++){\r\n\t\t\t\t\tuid.push(val[i].uid)\r\n\t\t\t\t\trealName.push(val[i].realName)\r\n\t\t\t\t}\r\n\t\t\t\tform.value.beExaminedPersonId = uid.toString();\r\n\t\t\t\tform.value.beExaminedPersonName =realName.toString();\r\n\t\t\t\tconsole.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName)\r\n\t\t\t}\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst nameData1 = (val: any) => {\r\n\t\t\tform.value.examineDepartmentName = val.depName;\r\n\t\t};\r\n\t\tconst nameData2 = (val: any) => {\r\n\t\t\tform.value.beExaminedDepartmentName = val.depName;\r\n\t\t\tconsole.log(form.value);\r\n\t\t};\r\n\t\treturn {\r\n\t\t\trules,\r\n\t\t\thandleClose,\r\n\t\t\tnameData1,\r\n\t\t\tnameData2,\r\n\t\t\truleFormRef,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tuserId,\r\n\t\t\tactiveName,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\topenDailog,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (date 1660303400442) +@@ -10,7 +10,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="考核日期" size="default" prop="examineDate"> +- <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.examineDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -72,30 +79,16 @@ + </el-row> + <el-row> + <el-col :span="24"> +- <el-form-item label="考核模板"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <el-form-item label="附件"> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="考核模板" size="default" prop="examineTemplateName"> +- <el-input disabled v-model="form.examineTemplateName"> ++ <el-input v-model="form.examineTemplateName"> + <template #append> <el-button :icon="Search" @click="daiAdd" /></template> + </el-input> + </el-form-item> +@@ -112,12 +105,12 @@ + <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> --> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" prop="date" label="考核项目" /> +- <el-table-column align="center" prop="name" label="考核内容" /> ++ <el-table :data="form.numberDetailJson" style="width: 100%"> ++ <el-table-column align="center" prop="itemDetail" label="考核项目" /> ++ <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" label="考核分数"> + <template #default="scope"> +- <el-input v-model="scope.row.address" type="textarea"> </el-input> ++ <el-input @blur="numberC" v-model.number="scope.row.number"> </el-input> + </template> + </el-table-column> + <!-- <el-table-column align="center" prop="address" label="制定日期" /> +@@ -135,7 +128,7 @@ + </span> + </template> + </el-dialog> +- <DailogSearch ref="Show"></DailogSearch> ++ <DailogSearch ref="Show" @typeDome="onType"></DailogSearch> + <DailogSearchUser ref="Shows" @SearchUser="userId"></DailogSearchUser> + </template> + <script lang="ts"> +@@ -147,8 +140,9 @@ + import { goalManagementApi } from '/@/api/goalManagement'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearchUser, DailogSearch }, ++ components: { DailogSearchUser, DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const ruleFormRef = ref<FormInstance>(); +@@ -162,13 +156,14 @@ + examineDepartmentName: '', + examinePersonId: '', ////考核人ID/外键 + examinePersonName: '', +- examineTemplateId: 1, ////绩效考核模板ID/外键 ++ examineTemplateId: '', ////绩效考核模板ID/外键 + examineTemplateName: '', + examineTotalNumber: '', ////总分 +- extraFile: '9', //责任书附件 ++ acceptanceNumber: '', ///合格分数 ++ extraFile: '', //责任书附件 + itemDetail: '', ////考核项目 + memo: '', ////备注信息 +- numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] ++ numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] + title: '', ////考核标题 + }); + const titles = ref(); +@@ -185,11 +180,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.examineDate = timeC(form.value.examineDate); ++ form.value.numberDetailJson = form.value.currentExamineDtoList; ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } ++ ++ // fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m + `:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 验证 + const rules = reactive<FormRules>({ + title: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }], +@@ -204,12 +258,39 @@ + examineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }], + memo: [], + }); ++ // 接收 ++ const onType = (data: any, val: any) => { ++ form.value.examineTotalNumber = ''; ++ form.value.examineTemplateId = data.id; ++ form.value.examineTemplateName = data.title; ++ form.value.acceptanceNumber = data.acceptanceNumber; ++ form.value.numberDetailJson = val.examineItemList; ++ }; ++ const numberC = () => { ++ let arr = 0; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ if (form.value.numberDetailJson[i].number != undefined) { ++ arr = parseInt(arr) + parseInt(form.value.numberDetailJson[i].number); ++ } else { ++ arr = parseInt(arr) + 0; ++ } ++ } ++ form.value.examineTotalNumber = arr; ++ }; + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + dialogVisible.value = false; ++ let arr = []; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ arr.push({ ++ id: form.value.numberDetailJson[i].id, ++ number: form.value.numberDetailJson[i].number, ++ }); ++ } ++ form.value.numberDetailJson = JSON.stringify(arr); + goalManagementApi() + .getexamineMngAddOrUpdate(form.value) + .then((res) => { +@@ -234,10 +315,11 @@ + dialogVisible.value = false; + formEl.resetFields(); + }; +- const handleClose=(formEl: FormInstance | undefined)=>{ ++ const handleClose = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); +- } ++ fileList.value=[] ++ }; + const activeName = ref('1'); + // 新增弹窗 + const Show = ref(); +@@ -250,16 +332,7 @@ + Shows.value.openDailog(type); + }; + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref<UploadUserFile[]>([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -284,15 +357,15 @@ + form.value.examinePersonId = val.uid; + form.value.examinePersonName = val.realName; + } else if (type == 0) { +- let uid=[] +- let realName=[] +- for(let i=0;i<val.length;i++){ +- uid.push(val[i].uid) +- realName.push(val[i].realName) ++ let uid = []; ++ let realName = []; ++ for (let i = 0; i < val.length; i++) { ++ uid.push(val[i].uid); ++ realName.push(val[i].realName); + } + form.value.beExaminedPersonId = uid.toString(); +- form.value.beExaminedPersonName =realName.toString(); +- console.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName) ++ form.value.beExaminedPersonName = realName.toString(); ++ console.log(form.value.beExaminedPersonId, form.value.beExaminedPersonName); + } + }; + //全屏 +@@ -331,6 +404,9 @@ + }; + return { + rules, ++ timeC, ++ numberC, ++ onType, + handleClose, + nameData1, + nameData2, +@@ -360,6 +436,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +Index: src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"新建考核标准设定\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"标准标题\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"适用范围\" size=\"default\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.applyRange\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<div v-if=\"clickType\">\r\n\t\t\t\t<el-row>\r\n\t\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"form.setPersonId\" disabled>\r\n\t\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /></template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人部门\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"form.setPersonDepartmentId\" disabled style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone one\" value=\"shanghai\" />\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone two\" value=\"beijing\" />\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</div>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"模板分类编码\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.templateCode\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\" v-if=\"clickType\">\r\n\t\t\t\t\t<el-form-item label=\"设定日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker disabled v-model=\"form.setTimem\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增','')\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"form.examineItemList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogKhS ref=\"Show\" @onAdd=\"AddObj\"></DailogKhS>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogKhS from './DailogKhS.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogKhS },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\tsetTimem: 1658386392466,\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\ttitle: '', ////标准标题\r\n\t\t\tsetPersonId: 1, //设定人\r\n\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\tapplyRange: '', ////适用范围\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst clickType = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineTemplateDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tclickType.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 接受传值\r\n\t\tconst AddObj = (val: any) => {\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.examineItemList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.examineItemList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.examineItemList.splice(form.value.examineItemList.indexOf(tag), 1);\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateAddOrUpdate(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.examineItemList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\tdeleteA,\r\n\t\t\tAddObj,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\tclickType,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (date 1660303400443) +@@ -62,7 +62,7 @@ + </el-row> + </el-form> + <el-tabs v-model="activeName" class="demo-tabs"> +- <el-tab-pane label="目标指标分解" name="1"> ++ <el-tab-pane label="考核项目" name="1"> + <el-button type="primary" size="default" @click="daiAdd('新增','')">新增</el-button> + </el-tab-pane> + </el-tabs> +Index: src/views/goalManagement/performanceAppraisal/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"安全考核管理\" name=\"1\">\r\n\t\t\t\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.searchParams.examineDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.currentExamineDtoList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"number\" label=\"考核分数\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column property=\"examineDate\" align=\"center\" :formatter=\"timeDate\" label=\"考核日期\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examineDepartmentName\" align=\"center\" label=\"考核部门\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examinePersonName\" label=\"考核人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"beExaminedDepartmentName\" label=\"被考核部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"examineTotalNumber\" label=\"总分\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"numberDetailJson.number\" label=\"考核结果\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"extraFile\" label=\"附件\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"考核标准设定\" name=\"2\">\r\n\t\t\t\t\t<el-form :model=\"ruleForms\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForms.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApis\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForms\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openDs('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warnings\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"dangers\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAlls\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableDatas\" style=\"width: 100%\" @selection-change=\"handleSelectionChanges\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableDatas.examineItemList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column label=\"标准标题\" property=\"title\" align=\"center\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"applyRange\" align=\"center\" label=\"适用范围\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonName\" label=\"设定人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonDepartmentName\" label=\"设定人部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setTimem\" label=\"设定日期\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"templateCode\" label=\"模板分类编码\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"acceptanceNumber\" label=\"合格分数\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDs('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openDs('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDeletes(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4s\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4s\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"totals\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChanges\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChanges\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t</div>\r\n\t\t<DailogAq ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAq>\r\n\t\t<DailogKh ref=\"openAdds\" @navAddorUpdata=\"onAddorUpdatas\"></DailogKh>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogAq from './component/DailogAq.vue';\r\nimport DailogKh from './component/DailogKh.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAq, DailogKh },\r\n\tsetup() {\r\n\t\t// 搜索条件 安全考核管理\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\texamineDepartmentId: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD= (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 切换\r\n\t\tconst activeName = ref('1');\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tif (val == '1') {\r\n\t\t\t\tlistApi();\r\n\t\t\t}else{\r\n\t\t\t\tlistApis();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 搜索条件 考核标准设定\r\n\t\tconst ruleForms = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForms = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApis = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableDatas.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4s.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4s.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotals.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApis();\r\n\t\t\tdepartment()\r\n\t\t});\r\n\t\tconst onAddorUpdatas = () => {\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableDatas = ref();\r\n\t\tconst currentPage4s = ref();\r\n\t\tconst pageSize4s = ref();\r\n\t\tconst totals = ref();\r\n\t\tconst handleSizeChanges = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForms.pageSize = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\tconst handleCurrentChanges = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForms.pageIndex = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdds = ref();\r\n\t\tconst openDs = (title: String, id: number) => {\r\n\t\t\topenAdds.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDeletes = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warnings = ref(true);\r\n\t\tconst dangers = ref(true);\r\n\t\tconst deletAlls = ref();\r\n\t\tconst handleSelectionChanges = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAlls.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarnings.value = false;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAlls = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tactiveName,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\truleForms,\r\n\t\t\tresetForms,\r\n\t\t\tlistApis,\r\n\t\t\tonAddorUpdatas,\r\n\t\t\ttableDatas,\r\n\t\t\tcurrentPage4s,\r\n\t\t\tpageSize4s,\r\n\t\t\ttotals,\r\n\t\t\thandleSizeChanges,\r\n\t\t\thandleCurrentChanges,\r\n\t\t\topenAdds,\r\n\t\t\topenDs,\r\n\t\t\tonDeletes,\r\n\t\t\twarnings,\r\n\t\t\tdangers,\r\n\t\t\tdeletAlls,\r\n\t\t\thandleSelectionChanges,\r\n\t\t\tonDeleteAlls,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 20px;\r\n}\r\n.topTitle {\r\n\tpadding: 5px 0 20px 0;\r\n\tborder-bottom: 1px solid #dedede;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue +--- a/src/views/goalManagement/performanceAppraisal/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/performanceAppraisal/index.vue (date 1660303400444) +@@ -28,9 +28,9 @@ + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableData.currentExamineDtoList" style="width: 100%"> ++ <el-table :data="scope.row.currentExamineDtoList" style="width: 100%"> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" prop="number" label="考核分数" /> +@@ -91,9 +91,9 @@ + <el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableDatas.examineItemList" style="width: 100%"> ++ <el-table :data="scope.row.examineItemList" style="width: 100%"> + <el-table-column align="center" prop="itemType" label="类型" /> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> +@@ -141,8 +141,9 @@ + import DailogAq from './component/DailogAq.vue'; + import DailogKh from './component/DailogKh.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; +-import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; ++import { ElMessageBox, ElMessage, ElButton, ElInput, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; ++import type { TabsPaneContext } from 'element-plus' + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + components: { ElButton, ElInput, DailogAq, DailogKh }, +@@ -158,6 +159,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.examineDepartmentId = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +@@ -283,8 +285,9 @@ + }; + // 切换 + const activeName = ref('1'); +- const handleClick = (val: any) => { +- if (val == '1') { ++ const handleClick = (val: TabsPaneContext) => { ++ console.log(val) ++ if (val.props.name == '1') { + listApi(); + }else{ + listApis(); +@@ -300,11 +303,12 @@ + }); + // 重置 + const resetForms = () => { +- ruleForm.searchParams.examineDepartmentId = ''; ++ ruleForms.searchParams.title = ''; ++ listApis() + }; + const listApis = () => { + goalManagementApi() +- .getexamineTemplateList(ruleForm) ++ .getexamineTemplateList(ruleForms) + .then((res) => { + if (res.data.code == 200) { + tableDatas.value = res.data.data; +Index: src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择安全目标指标\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi()\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"reset\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\" @click=\"clear\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\" width=\"70px\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"title\" label=\"标准标题\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.title }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\tlistApi()\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n // 重置\r\n\tconst reset=()=>{\r\n\t\truleForm.searchParams.title=\"\"\r\n\t\tlistApi()\r\n\t}\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\treset,\r\n\t\t\tdialogVisible,\r\n\t\t\tlistApi,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (date 1660303400443) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > + <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -64,7 +64,7 @@ + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -75,7 +75,7 @@ + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- setup() { ++ setup(props,{emit}) { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; +@@ -122,6 +122,12 @@ + ruleForm.pageIndex = val; + listApi(); + }; ++ // 提交 ++ const submitForm=()=>{ ++ dialogVisible.value = false ++ emit("typeDome",dynamicTags.value[0],list.value) ++ clear() ++ } + // 右方点击添加后显示标签 + const dynamicTags = ref(['']); + const handleClose = (tag: string) => { +@@ -129,8 +135,19 @@ + radio1.value = ''; + }; + const radio1 = ref(''); ++ const list=ref([]) + const radio = (event: any) => { +- dynamicTags.value[0] = event; ++ ++ goalManagementApi() ++ .getexamineTemplateDetail(event.id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ list.value = res.data.data; ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ dynamicTags.value[0] = event; + }; + const clear=()=>{ + dynamicTags.value=[''] +@@ -146,6 +163,8 @@ + } + }; + return { ++ submitForm, ++ list, + reset, + dialogVisible, + listApi, +Index: src/views/goalManagement/IncentiveRecording/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.personName\" placeholder=\"请选择被奖惩者\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openSearch\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"createTime\" align=\"center\" label=\"奖惩日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column label=\"奖惩类型\" align=\"center\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"personName\" align=\"center\" label=\"被奖惩者\" sortable />\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"奖惩依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearchUser ref=\"openUser\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearchUser },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tpersonId: '', ////员工\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.personId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.personId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.personId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\tconst userId = (val: any) => {\r\n\t\t\truleForm.searchParams.personId = val.uid;\r\n\t\t\truleForm.searchParams.personName = val.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\truleForm,\r\n\t\t\tuserId,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\topenAdd,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\topenSearch,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue +--- a/src/views/goalManagement/IncentiveRecording/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/IncentiveRecording/index.vue (date 1660303400438) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者"> ++ <el-input v-model="personName" placeholder="请选择被奖惩者"> + <template #append> + <el-button :icon="Search" @click="openSearch" /> + </template> +@@ -92,8 +92,10 @@ + }, + }); + // 重置 ++ const personName=ref() + const resetForm = () => { + ruleForm.searchParams.personId = ''; ++ personName.value = ''; + listApi(); + }; + const listApi = () => { +@@ -229,10 +231,11 @@ + }; + const userId = (val: any) => { + ruleForm.searchParams.personId = val.uid; +- ruleForm.searchParams.personName = val.realName; ++ personName.value = val.realName; + }; + return { + timeDate, ++ personName, + ruleForm, + userId, + resetForm, +Index: src/views/contingencyManagement/contingency/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-user-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <el-form :inline=\"true\" class=\"demo-form-inline\">\r\n <el-form-item>\r\n <el-input size=\"default\" v-model=\"listQuery.searchParams.teamName\" placeholder=\"队伍名称\"> </el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-select size=\"default\" v-model=\"listQuery.searchParams.teamLevel\" placeholder=\"请选择队伍级别\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\">\r\n 查询\r\n </el-button>\r\n <el-button size=\"default\" class=\"ml10\" @click=\"submitReset\">\r\n 重置\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class=\"button_Line\">\r\n <div class=\"button_Left\">\r\n <el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n <el-icon>\r\n <Plus />\r\n </el-icon>新建\r\n </el-button>\r\n<!-- <el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Edit />-->\r\n<!-- </el-icon>修改-->\r\n<!-- </el-button>-->\r\n <el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </div>\r\n<!-- <div class=\"button_Right\">-->\r\n<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Upload />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Download />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Refresh />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- </div>-->\r\n </div>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%\"\r\n ref=\"multipleTableRef\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column\r\n type=\"selection\"\r\n width=\"55\"\r\n />\r\n <el-table-column prop=\"teamName\" label=\"队伍名称\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"teamLevel\" label=\"队伍级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.teamLevel == 1\">公司</span>\r\n <span v-if=\"scope.row.teamLevel == 2\">分厂-车间</span>\r\n <span v-if=\"scope.row.teamLevel == 3\">工序-班组等</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"teamDesc\" label=\"队伍描述\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"principalPhone\" label=\"负责人手机\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"attachments\" label=\"相关附件\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column label=\"操作\" width=\"200\" align=\"center\" fixed=\"right\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <View />\r\n </el-icon>查看\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <EditPen />\r\n </el-icon>修改\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pages\">\r\n <el-pagination\r\n v-if=\"tableData.length == 0 ? false : true\"\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n class=\"mt15\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:currentPage=\"pageIndex\"\r\n background\r\n v-model:page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"total\"\r\n >\r\n </el-pagination>\r\n </div>\r\n </el-card>\r\n <OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n <upData ref=\"upShow\"></upData>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // toRefs,\r\n reactive,\r\n onMounted,\r\n ref,\r\n defineComponent\r\n} from 'vue';\r\nimport {\r\n ElMessageBox,\r\n ElMessage,\r\n} from 'element-plus';\r\nimport {\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n View,\r\n EditPen,\r\n} from '@element-plus/icons-vue'\r\n\r\nimport OpenAdd from '../../contingencyManagement/contingency/component/openAdd.vue'\r\nimport UpData from '../../contingencyManagement/contingency/component/upData.vue';\r\nimport {contingencyApi} from \"../../../api/contingencyManagement/contingency\";\r\n\r\nexport default defineComponent({\r\n name: 'systemUser',\r\n components: {\r\n OpenAdd,\r\n View,\r\n EditPen,\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n UpData,\r\n contingencyApi\r\n },\r\n setup() {\r\n // 列表参数\r\n const listQuery = reactive({\r\n pageIndex: 1,\r\n pageSize: 10,\r\n searchParams: {\r\n teamName: \"\",\r\n teamLevel: \"\",\r\n }\r\n })\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n // 列表数据请求\r\n const onSubmit = async () => {\r\n let res = await contingencyApi().getTeamManagementList(listQuery)\r\n if(res.data.code === '200'){\r\n tableData.value = res.data.data;\r\n pageIndex.value = res.data.pageIndex;\r\n pageSize.value = res.data.pageSize;\r\n total.value = res.data.total;\r\n }else{\r\n ElMessage({\r\n showClose: true,\r\n type:'error',\r\n message:res.data.msg\r\n })\r\n }\r\n }\r\n // 重置\r\n const submitReset = () => {\r\n listQuery.searchParams.teamName = '';\r\n listQuery.searchParams.teamLevel = '';\r\n onSubmit();\r\n };\r\n // const warning = ref(true);\r\n const danger = ref(true);\r\n const deleteAll = ref();\r\n const handleSelectionChange = (val: any) => {\r\n let valId = JSON.parse(JSON.stringify(val));\r\n let arr = [];\r\n for (let i = 0; i < valId.length; i++) {\r\n arr.push(valId[i].id);\r\n }\r\n deleteAll.value = arr;\r\n if (val.length == 1) {\r\n // warning.value = false;\r\n danger.value = false;\r\n } else if (val.length == 0) {\r\n // warning.value = true;\r\n danger.value = true;\r\n } else {\r\n // warning.value = true;\r\n danger.value = false;\r\n }\r\n };\r\n\r\n // 上传\r\n // const upShow=ref()\r\n // const upButton=()=>{\r\n // upShow.value.openDialog()\r\n // }\r\n // 打开新增应急队伍弹窗\r\n const addRef = ref();\r\n const onOpenAdd = () => {\r\n addRef.value.openDialog('新建应急队伍管理');\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: boolean) => {\r\n if (e) {\r\n onSubmit();\r\n } else {\r\n onSubmit();\r\n }\r\n };\r\n // 打开修改应急队伍弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '详情') {\r\n addRef.value.openDialog('查看应急队伍管理',row,true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍管理',row,false);\r\n }\r\n };\r\n // 删除用户\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam([data])\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n }).catch(() => {});\r\n };\r\n // 多选删除\r\n const onDeleteAll = () => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam(deleteAll.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n })\r\n .catch(() => {});\r\n };\r\n // 分页\r\n const pageIndex = ref();\r\n const pageSize = ref();\r\n const total = ref();\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n listQuery.pageSize = val;\r\n onSubmit();\r\n };\r\n const onHandleCurrentChange = (val: number) => {\r\n listQuery.pageIndex = val;\r\n onSubmit();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n onSubmit();\r\n });\r\n return {\r\n listQuery,\r\n onSubmit,\r\n // upButton,\r\n // upShow,\r\n onOpenAdd, //新增\r\n addRef,\r\n pageIndex,\r\n pageSize,\r\n total,\r\n onEdit,\r\n handleSelectionChange,\r\n submitReset,\r\n onRowDel,\r\n onMyAdd,\r\n tableData,\r\n onDeleteAll,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n deleteAll,\r\n // warning,\r\n danger,\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box{\r\n padding: 20px;\r\n background-color: #fff;\r\n}\r\n.tableForm{\r\n margin-top: 10px;\r\n}\r\n/*按钮行*/\r\n .button_Line{\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n margin-bottom: 10px;\r\n }\r\n//分页\r\n.pages{\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 15px;\r\n}\r\n.el-form .el-form-item{\r\n margin-bottom: 0px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n background-color: #f6f7fa;\r\n font-weight: 400;\r\n color: #909399;\r\n}\r\n.el-table .sort-caret.ascending{\r\n border-bottom-color: #c0c4cc;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue +--- a/src/views/contingencyManagement/contingency/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/contingency/index.vue (date 1660303400434) +@@ -79,7 +79,9 @@ + </el-table-column> + <el-table-column prop="teamDesc" label="队伍描述" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="principalPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column> +- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column prop="fileList" label="相关附件" show-overflow-tooltip sortable> ++ ++ </el-table-column> + <el-table-column label="操作" width="200" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> +@@ -179,6 +181,11 @@ + let res = await contingencyApi().getTeamManagementList(listQuery) + if(res.data.code === '200'){ + tableData.value = res.data.data; ++ for(var a = 0;a<tableData.value.length;a++){ ++ if(tableData.value[a].fileList!=null&&tableData.value[a].fileList!=''&&tableData.value[a].fileList.length!=0){ ++ tableData.value[a].fileList = tableData.value[a].fileList[0].fileName ++ } ++ } + pageIndex.value = res.data.pageIndex; + pageSize.value = res.data.pageSize; + total.value = res.data.total; +Index: src/views/contingencyManagement/contingency/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"120px\"\r\n :disabled=\"disabled\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍名称\" prop=\"teamName\">\r\n <el-input v-model=\"ruleForm.teamName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍级别\" prop=\"teamLevel\">\r\n <el-select v-model=\"ruleForm.teamLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍负责人\" prop=\"principalName\">\r\n <el-input v-model=\"ruleForm.principalName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人部门\" prop=\"principalDepartmentId\">\r\n <el-tree-select v-model=\"ruleForm.principalDepartmentId\" :data=\"newTreeList\" class=\"w100\"\r\n :props=\"propse\" clearable placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人手机\" prop=\"principalPhone\">\r\n <el-input v-model=\"ruleForm.principalPhone\" placeholder=\"请填写负责人手机\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"固定电话\" prop=\"telephoneNumber\">\r\n <el-input v-model=\"ruleForm.telephoneNumber\" placeholder=\"请填写固定电话\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"队伍描述\" prop=\"teamDesc\">\r\n <el-input class=\"textarea\" v-model=\"ruleForm.teamDesc\" type=\"textarea\" maxlength=\"150\"\r\n placeholder=\"请填写队伍描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"相关附件\" prop=\"fileList\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\">点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">添加相关附件</div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n <el-tab-pane label=\"应急队伍人员\" name=\"first\" >\r\n <el-button type=\"primary\" size=\"default\" @click=\"onAddEmergencyPersonnel\" :disabled=\"disabled\">新增\r\n </el-button>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%; margin-top: 15px\"\r\n ref=\"multipleTableRef\"\r\n :header-cell-style=\"{ background: '#f6f7fa', color: '#909399' }\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-table-column prop=\"jobNumber\" label=\"人员工号\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"name\" label=\"人员名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"phone\" label=\"手机号码\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"position\" label=\"职位\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('查看应急队伍人员',scope.row.id)\">查看\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('修改应急队伍人员',scope.row.id)\"\r\n style=\"margin-right: 5px\">编辑\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onRowDel(scope.row.id)\"\r\n style=\"margin-right: 5px\">删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-col>\r\n </el-row>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"onSubmit(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <AddEmergencyPersonnel ref=\"addRef\" @myAdd=\"onMyAdd\"/>\r\n <DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\"/>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n // toRefs,\r\n } from 'vue';\r\n import {\r\n ElMessage,\r\n ElMessageBox,\r\n } from 'element-plus';\r\n\r\n import type {\r\n UploadUserFile,\r\n TabsPaneContext,\r\n FormInstance,\r\n FormRules,\r\n } from 'element-plus'\r\n\r\n import {\r\n Search,\r\n FullScreen\r\n } from '@element-plus/icons-vue'\r\n import AddEmergencyPersonnel from \"/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue\";\r\n import DailogSearchUserManger from \"/@/components/DailogSearchUserManger/index.vue\"\r\n import {contingencyApi} from \"/@/api/contingencyManagement/contingency\";\r\n import {goalManagementApi} from \"/@/api/goalManagement\";\r\n // import {releaseDrillPlanApi} from \"/@/api/releaseDrillPlan\";\r\n\r\n\r\n export default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n AddEmergencyPersonnel,\r\n DailogSearchUserManger,\r\n },\r\n setup(prop, {emit}) {\r\n const isShowDialog = ref(false);\r\n const ruleFormRef = ref<FormInstance>();\r\n const ruleForm = ref({\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalName: '',\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n const peopleInsertBtn = ref(false)\r\n const teamId = ref()\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n teamId.value = id\r\n //如果是新增 无法添加人员\r\n if(title == '新建应急队伍管理'){\r\n peopleInsertBtn.value = true\r\n }else{\r\n peopleInsertBtn.value = false\r\n }\r\n if (title == '查看应急队伍管理' || title == '修改应急队伍管理') {\r\n contingencyApi()\r\n .seeEmergencyTeam(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n listApi()\r\n }\r\n });\r\n }\r\n }\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n\r\n //定义树形下拉框\r\n const principalDepartmentId = ref()\r\n const data = ref()\r\n\r\n\r\n\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n\r\n\r\n\r\n\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog();\r\n };\r\n const onUser = (e: any) => {\r\n ruleForm.value.principalUid = e[0].uid\r\n ruleForm.value.principalName = e[0].realName\r\n };\r\n //定义tabs切换\r\n const activeName = ref('first')\r\n const handleClick = (tab: TabsPaneContext, event: Event) => {\r\n console.log(tab, event)\r\n }\r\n\r\n // 必填项提示\r\n const rules = reactive<FormRules>({\r\n teamName: [\r\n {\r\n required: true,\r\n message: '队伍名称不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n teamLevel: [\r\n {\r\n required: true,\r\n message: '队伍级别不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalUid: [\r\n {\r\n required: true,\r\n message: '队伍负责人不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalDepartmentId: [\r\n {\r\n required: true,\r\n message: '负责人部门不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalPhone: [\r\n {\r\n required: true,\r\n message: '负责人手机不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n telephoneNumber: [\r\n {\r\n required: true,\r\n message: '固定电话不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n })\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n const onSubmit = async (title: string, formEl: FormInstance | undefined) => {\r\n if (title == '新建应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .addEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n } else if (title == '修改应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .editEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n };\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n tableData.value=[]\r\n ruleForm.value = {}\r\n };\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n //添加队伍负责人弹窗\r\n const addRef = ref();\r\n const onAddEmergencyPersonnel = () => {\r\n //未添加队伍 无法修改人员\r\n if(peopleInsertBtn.value == true){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加应急队伍',\r\n type: 'warning',\r\n });\r\n }else {\r\n addRef.value.openDialog('新建应急队伍人员','',teamId.value);\r\n }\r\n };\r\n // 请求列表数据\r\n const listApi = async () => {\r\n let res = await contingencyApi().getEmergencyTeamPersonnelList(teamId.value);\r\n if (res.data.code == 200) {\r\n tableData.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: object) => {\r\n listApi();\r\n };\r\n // 打开修改弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '查看应急队伍人员') {\r\n addRef.value.openDialog('查看应急队伍人员', row,teamId.value, true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍人员', row,teamId.value, false);\r\n }\r\n };\r\n // 删除\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeamPersonnel(data)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n listApi()\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n listApi()\r\n }\r\n });\r\n })\r\n .catch(() => {\r\n });\r\n };\r\n return {\r\n openDialog,\r\n fileList,\r\n principalDepartmentId,\r\n data,\r\n activeName,\r\n handleClick,\r\n tableData,\r\n Search,\r\n resetForm,\r\n isShowDialog,\r\n ruleFormRef,\r\n ruleForm,\r\n rules,\r\n addRef,\r\n userRef,\r\n titles,\r\n disabled,\r\n propse,\r\n emit,\r\n onSubmit,\r\n openUser,\r\n onAddEmergencyPersonnel,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n onUser,\r\n onMyAdd,\r\n listApi,\r\n onEdit,\r\n onRowDel,\r\n department,\r\n peopleInsertBtn,\r\n teamId,\r\n newTreeList\r\n };\r\n },\r\n });\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .textarea {\r\n height: 168px !important;\r\n }\r\n\r\n .textarea ::v-deep .el-textarea__inner {\r\n height: 168px !important;\r\n }\r\n\r\n ::v-deep .el-table__cell {\r\n font-weight: 400;\r\n }\r\n</style>\r\n\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue +--- a/src/views/contingencyManagement/contingency/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/contingency/component/openAdd.vue (date 1660303400433) +@@ -52,17 +52,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件" prop="fileList"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -142,6 +133,7 @@ + import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" + import {contingencyApi} from "/@/api/contingencyManagement/contingency"; + import {goalManagementApi} from "/@/api/goalManagement"; ++ import uploaderFile from '/@/components/uploaderFile/index.vue'; + // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; + + +@@ -150,6 +142,7 @@ + components: { + AddEmergencyPersonnel, + DailogSearchUserManger, ++ uploaderFile + }, + setup(prop, {emit}) { + const isShowDialog = ref(false); +@@ -188,14 +181,34 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + listApi() + } + }); + } + } + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) +- ++ const fileList = ref([]) ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //定义树形下拉框 + const principalDepartmentId = ref() + const data = ref() +@@ -313,6 +326,9 @@ + } + }; + const onSubmit = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急队伍管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -346,7 +362,6 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] + isShowDialog.value = false; + contingencyApi() + .editEmergencyTeam(ruleForm.value) +@@ -390,6 +405,7 @@ + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + tableData.value=[] + ruleForm.value = {} + }; +@@ -494,7 +510,9 @@ + department, + peopleInsertBtn, + teamId, +- newTreeList ++ newTreeList, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentExpress/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.accidentName\" placeholder=\"事故名称\" style=\"max-width: 215px\" />\r\n\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"listApi\"> 查询 </el-button>\r\n\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon> <Plus /> </el-icon>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon> <Edit /> </el-icon>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" @click=\"onDeleteAll\" plain :disabled=\"danger\">\r\n\t\t\t\t\t\t<el-icon> <Delete /> </el-icon>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button @click=\"upButton\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Upload />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Download />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Refresh />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentName\" label=\"事故名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"deptName\" label=\"事故部门\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrencePlace\" label=\"发生地点\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrenceTime\" label=\"发生时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentCause\" label=\"事故原因\" show-overflow-tooltip sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='1'\">人的不安全行为</div>\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='2'\">物的不安全状态</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"createName\" label=\"创建人\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"gmtModitify\" label=\"更新时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text disabled>\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Upload /> </el-icon>上报\r\n\t\t\t\t\t\t</el-button> -->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <EditPen /> </el-icon>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <View /> </el-icon>详情\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onDelete(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Delete /> </el-icon>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<upData ref=\"upShow\"></upData>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElTable, ElMessage, ElMessageBox } from 'element-plus';\r\nimport { Plus, View, Download, Refresh, EditPen, Edit, Delete, Upload } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/accidentManagementSystem/accidentExpress/component/openAdd.vue';\r\nimport UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nexport default defineComponent({\r\n\tname: 'index',\r\n\tcomponents: {\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpData,\r\n\t\tOpenAdd,\r\n\t\tView,\r\n\t},\r\n\r\n\tsetup() {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\taccidentName: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst listApi = async () => {\r\n\t\t\tlet res = await accidentManagementSystemApi().accidentList(listQuery);\r\n\t\t\tif (res.data.code == 200) {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.accidentName = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// 打开新增弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建事故快报',false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tlistApi();\r\n\t\t\t} else {\r\n\t\t\t\tlistApi();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele([data])\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst upShow = ref();\r\n\t\tconst upButton = () => {\r\n\t\t\tupShow.value.openDialog();\r\n\t\t};\r\n\r\n\t\t// 打开修改用户弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看事故快报',row,true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改事故快报',row,false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tupButton,\r\n\t\t\tupShow,\r\n\t\t\ttableData,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonEdit,\r\n\t\t\tonOpenAdd,\r\n\t\t\taddRef,\r\n\t\t\tlistQuery,\r\n\t\t\tlistApi,\r\n\t\t\tsubmitReset,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDelete,\r\n\t\t\tdeletAll,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/index.vue b/src/views/accidentManagementSystem/accidentExpress/index.vue +--- a/src/views/accidentManagementSystem/accidentExpress/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/accidentManagementSystem/accidentExpress/index.vue (date 1660303400400) +@@ -41,7 +41,8 @@ + <el-table-column align="center" prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column align="center" prop="accidentCause" label="事故原因" show-overflow-tooltip sortable> + <template #default="scope"> + <div v-if="scope.row.accidentCause=='1'">人的不安全行为</div> +@@ -49,7 +50,8 @@ + </template> + </el-table-column> + <el-table-column align="center" prop="createName" label="创建人" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <!-- <el-button size="small" text disabled> +@@ -268,7 +270,16 @@ + addRef.value.openDialog('修改事故快报',row,false); + } + }; +- ++//格式化表格时间 ++ const dateFormat = (row,column) => { ++ // 获取单元格数据 ++ let data = row[column.property]; ++ if(data == null) { ++ return null; ++ } ++ let dt = new Date(data) ++ return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds() ++ }; + return { + upButton, + upShow, +@@ -291,6 +302,7 @@ + onDelete, + deletAll, + onDeleteAll, ++ dateFormat + }; + }, + }); +Index: src/views/goalManagement/targetEscalation/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"检查\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"上报\" name=\"2\"></el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"审核\" name=\"3\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column v-if=\"activeName == 1\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(0)\">检查</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDai(scope.row.targetDivideDetailList)\">记录</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 2\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(1)\">上报</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 3\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom\">待审批</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { useRouter } from 'vue-router';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\t// let targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = val.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeName = ref<any>('1');\r\n\t\t// 记录弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openDai = (data: any) => {\r\n\t\t\tShow.value.openDailog(data);\r\n\t\t};\r\n\t\t// 流程表单\r\n\t\tconst router = useRouter();\r\n\t\tconst jumpFrom = (data: any) => {\r\n\t\t\trouter.push({\r\n\t\t\t\tpath: '/processForms',\r\n\t\t\t\tquery: {\r\n\t\t\t\t\ttype: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tactiveName,\r\n\t\t\ttotal,\r\n\t\t\thandleClick,\r\n\t\t\truleForm,\r\n\t\t\tlistApi,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tresetForm,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenDai,\r\n\t\t\trouter,\r\n\t\t\tjumpFrom,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue +--- a/src/views/goalManagement/targetEscalation/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetEscalation/index.vue (date 1660303400450) +@@ -24,7 +24,6 @@ + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> + <el-tab-pane label="检查" name="1"> </el-tab-pane> + <el-tab-pane label="上报" name="2"></el-tab-pane> +- <el-tab-pane label="审核" name="3"></el-tab-pane> + </el-tabs> + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> + <el-table-column label="安全目标指标" align="center" property="qName" sortable /> +@@ -33,18 +32,18 @@ + <el-table-column property="value" label="指标值" align="center" sortable show-overflow-tooltip /> + <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip> + <template #default="scope"> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(0)">检查</el-button> +- <el-button link type="primary" size="default" :icon="View" @click="openDai(scope.row.targetDivideDetailList)">记录</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,1)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,1)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,1)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,1)" >查看审批流程</el-button> + </template> + </el-table-column> + <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(1)">上报</el-button> +- </template> +- </el-table-column> +- <el-table-column v-if="activeName == 3" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">待审批</el-button> ++ <template #default="scope"> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,2)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,2)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,2)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,2)" >查看审批流程</el-button> + </template> + </el-table-column> + </el-table> +@@ -61,17 +60,19 @@ + </div> + </div> + <Dailog ref="Show"></Dailog> ++ <TypeDailog ref="TypeD" @onType="typeAlign" /> + </div> + </template> + <script lang="ts"> + import Dailog from './component/Dailog.vue'; ++import TypeDailog from './component/TypeDailog.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; + import { useRouter } from 'vue-router'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- components: { ElButton, ElInput, Dailog }, ++ components: { ElButton, ElInput, Dailog,TypeDailog }, + setup() { + // 搜索条件 + const ruleForm = reactive({ +@@ -80,8 +81,9 @@ + searchParams: { + qName: '', ////安全目标指标 + indexNum: '', ////目标指标编号 +- targetType: '1', ////指标类型 1:年指标 2:月指标 +- divideStatus: '', ////分解状态 1:已分解 2:未分解 ++ targetType: 1, ////指标类型 1:年指标 2:月指标 ++ divideStatus: 1, ////分解状态 1:已分解 2:未分解 ++ relateType: 1, ////关联业务类型 1:目标检查 2:目标上报 + }, + }); + // 重置 +@@ -91,7 +93,7 @@ + }; + const listApi = () => { + goalManagementApi() +- .getTargetMngList(ruleForm) ++ .getworkApproveList(ruleForm) + .then((res) => { + if (res.data.code == 200) { + tableData.value = res.data.data; +@@ -106,7 +108,7 @@ + // + const handleClick = (val: any) => { + // let targetType = JSON.parse(JSON.stringify(val)); +- ruleForm.searchParams.targetType = val.paneName; ++ ruleForm.searchParams.relateType = val.paneName; + listApi(); + }; + onMounted(() => { +@@ -133,20 +135,21 @@ + const activeName = ref<any>('1'); + // 记录弹窗 + const Show = ref(); +- const openDai = (data: any) => { +- Show.value.openDailog(data); ++ const openDai = (data: any,num:number) => { ++ Show.value.openDailog(data,num); + }; +- // 流程表单 +- const router = useRouter(); +- const jumpFrom = (data: any) => { +- router.push({ +- path: '/processForms', +- query: { +- type: data, +- }, +- }); ++ // 发起审批弹窗 ++ const TypeD = ref(); ++ const TypeDailog = (title:string,name:string,id:number,type:number) => { ++ TypeD.value.openDialog(title,name,id,type); + }; ++ const typeAlign=()=>{ ++ listApi(); ++ } + return { ++ TypeD, ++ typeAlign, ++ TypeDailog, + activeName, + total, + handleClick, +@@ -161,8 +164,6 @@ + handleCurrentChange, + Show, + openDai, +- router, +- jumpFrom, + Plus, + Delete, + Upload, +Index: src/api/goalManagement/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\nexport function goalManagementApi() {\r\n return {\r\n // 目标设置、目标指标分解列表\r\n getTargetMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置详情\r\n getTargetMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标设置新增或者修改数据\r\n getTargetMngAddOrupdata: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置删除\r\n getTargetMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标指标分解-新增或者修改数据\r\n gettargetDivideDetail: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDivideDetail/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 统计\r\n getEquipmentInfo: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/equipmentInfo/statistics',\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 分页查询数据\r\n gettargetDutyfileInfoList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutyfileInfo/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 查询单条数据\r\n gettargetDutyfileInfoDetail: (params: number) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 新增或者修改数据\r\n gettargetDutyfileInfoAddorUpdata: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 删除\r\n gettargetDutyfileInfoDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 分页查询数据\r\n getrewardPunishmentStandardList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 查询单条数据\r\n getrewardPunishmentStandardDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩标准设定 新增或者修改数据\r\n getrewardPunishmentStandardaddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 删除\r\n getrewardPunishmentStandardDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 分页查询数据\r\n getrewardPunishmentList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentDetail/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 查询单条数据\r\n getrewardPunishmentDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩记录 新增或者修改数据\r\n getrewardPunishmentAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 删除\r\n getrewardPunishmentDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 分页查询数据\r\n getexamineMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 查询单条数据\r\n getexamineMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 新增或者修改数据\r\n getexamineMngAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 删除\r\n getexamineMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 分页查询数据\r\n getexamineTemplateList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineTemplate/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 查询单条数据\r\n getexamineTemplateDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 新增或者修改数据\r\n getexamineTemplateAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 删除\r\n getexamineTemplateDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 分页查询数据\r\n gettargetDutySummaryList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutySummary/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 查询单条数据\r\n gettargetDutySummaryDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标汇总 新增或者修改数据\r\n gettargetDutySummaryAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 删除\r\n gettargetDutySummaryDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/delete?ids=${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 查询单条数据\r\n gettargetExamineDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetExamine/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 新增或者修改数据\r\n gettargetExamineAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetExamine/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标检查上报 (有疑问) 新增或者修改数据 ---???\r\n getworkApproveAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 部门树\r\n getTreedepartment: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/department/list',\r\n method: 'post'\r\n });\r\n },\r\n // 人员\r\n getManName: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`,\r\n method: 'get'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts +--- a/src/api/goalManagement/index.ts (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/api/goalManagement/index.ts (date 1660303610803) +@@ -247,10 +247,50 @@ + data: params + }); + }, +- // 目标检查上报 (有疑问) 新增或者修改数据 ---??? +- getworkApproveAddOrUpdate: (params: object) => { ++ // 目标检查上报 分页查询数据 ++ getworkApproveList: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetMng/checkAndSubimt/list', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 分页查询检查记录 ++ getworkApproveListCheckData: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/page/listCheckData', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 查询单条数据 ++ getworkApproveDetail: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + `/targetDutyWorkApprove/selectOne/${params}`, ++ method: 'get' ++ }); ++ }, ++ ++ // 目标检查上报 新增数据 ++ getworkApproveAdd: (params: object) => { + return request({ +- url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove', ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/add', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 新增数据 ++ getworkApproveUpdata: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/update', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 删除 ++ getworkApproveDelete: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/delete', + method: 'post', + data: params + }); +@@ -267,6 +307,18 @@ + return request({ + url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`, + method: 'get' ++ }); ++ }, ++ beforeUploadFile(fileName1: string, fileName2: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/presign?prefixName=' + fileName1 + '&suffixName=' + fileName2, ++ method: 'get' ++ }); ++ }, ++ searchFile(fileName: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/view?obj=' + fileName, ++ method: 'get' + }); + } + }; +Index: src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" :rules=\"rules\" size=\"default\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"disabled\" placeholder=\"请填写事故名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentDepartmentId\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.occurrencePlace\" :disabled=\"disabled\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.occurrenceTime\" :disabled=\"disabled\" placeholder=\"请填写发生时间\"></el-input>-->\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人的不安全行为\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"物的不安全状态\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"是否有伤亡\" prop=\"casualties\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.casualties\" :disabled=\"disabled\" @change=\"typeChang\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t\t<el-button v-if=\"ruleForm.casualties\" type=\"primary\" style=\"margin-left: 20px\"\r\n\t\t\t\t\t\t\t\t\t :icon=\"Edit\" @click=\"openDai\" round plain />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故简要经过\" prop=\"accidentBriefProcess\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentBriefProcess\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故简要经过\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因初步分析\" prop=\"accidentCausesPreliminaryAnalysis\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentCausesPreliminaryAnalysis\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故原因初步分析\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急防范措施\" prop=\"emergencyPrecautions\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.emergencyPrecautions\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写应急防范措施\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故照片\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.fileList\" :disabled=\"disabled\"-->\r\n\t\t\t\t\t\t\t<!--type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileListDemo\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<NumberOfCasualties ref=\"ShowUser\"></NumberOfCasualties>\r\n\t\t<CheckTemplate ref=\"Shows\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent, defineEmits, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen, Edit } from '@element-plus/icons-vue';\r\nimport NumberOfCasualties from '/@/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tNumberOfCasualties,\r\n\t\tuploaderImg,\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\temergencyPrecautions: '',\r\n\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\taccidentBriefProcess: '',\r\n\t\t\tcasualties: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\toccurrenceTime: '',\r\n\t\t\toccurrencePlace: '',\r\n\t\t\taccidentDepartmentId: '',\r\n\t\t\taccidentName: '',\r\n\t\t\tfileList: [],\r\n\t\t\tid: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看事故快报' || title == '修改事故快报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.accidentScarh(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\tconst fileListDemo = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故名称不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故部门不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrencePlace: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '发生地点不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrenceTime: [{ type: 'date', required: true, message: '发生时间不能为空', trigger: 'blur' }],\r\n\t\t\taccidentCause: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcasualties: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '是否有伤亡不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentBriefProcess: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故简要经过不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentCausesPreliminaryAnalysis: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因初步分析不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\temergencyPrecautions: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '应急防范措施不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\t// 子传父\r\n\t\t// const emit=defineEmits(['myAdd'])\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.id = null;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList = [\r\n\t\t\t\t\t\t\t// {\r\n\t\t\t\t\t\t\t// \tfileUrl: 'url',\r\n\t\t\t\t\t\t\t// \tfileName: 'name',\r\n\t\t\t\t\t\t\t// },\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t}\r\n\t\t\truleForm.value = {\r\n\t\t\t\taccidentExpressId: '',\r\n\t\t\t\temergencyPrecautions: '',\r\n\t\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\t\taccidentBriefProcess: '',\r\n\t\t\t\tcasualties: '',\r\n\t\t\t\taccidentCause: '',\r\n\t\t\t\toccurrenceTime: '',\r\n\t\t\t\toccurrencePlace: '',\r\n\t\t\t\taccidentDepartmentId: '',\r\n\t\t\t\taccidentName: '',\r\n\t\t\t\tfileList: [],\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 是否有伤亡弹窗\r\n\t\tconst typeChang = () => {\r\n\t\t\tconsole.log('tag', ruleForm);\r\n\t\t};\r\n\t\tconst ShowUser = ref();\r\n\t\tconst openDai = () => {\r\n if(ruleForm.value.id==null||ruleForm.value.id==''){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加事故快报',\r\n type: 'info',\r\n });\r\n }else {\r\n ShowUser.value.openDialog(ruleForm.value.id, disabled.value);\r\n }\r\n\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tShowUser,\r\n\t\t\ttypeChang,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\tEdit,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenDai,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tcloseDialog,\r\n\t\t\tfileListDemo,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (date 1660303400400) +@@ -1,6 +1,7 @@ + <template> + <div class="system-edit-user-container"> +- <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> ++ <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" ++ destroy-on-close @close="closeDialog(ruleFormRef)"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px"> + <el-row :gutter="35"> +@@ -94,7 +95,8 @@ + <el-form-item label="事故照片" prop="fileList"> + <!--<el-input v-model="ruleForm.fileList" :disabled="disabled"--> + <!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <uploaderImg :fileList="fileListDemo"></uploaderImg> ++ <uploaderImg :fileList="fileList" :disabled="disabled" ++ :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg> + </el-form-item> + </el-col> + </el-row> +@@ -157,7 +159,7 @@ + const titles = ref(); + const disabled = ref(); + // 打开弹窗 +- const openDialog = (title: string, id: number, type: boolean) => { ++ const openDialog = async (title: string, id: number, type: boolean) => { + isShowDialog.value = true; + titles.value = title; + disabled.value = type; +@@ -167,24 +169,39 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); +- const fileListDemo = ref<UploadUserFile[]>([ +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- ]); ++ const fileList = ref([]); ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 可选择树 + const treeSelect = ref(); + +@@ -292,6 +309,9 @@ + // const emit=defineEmits(['myAdd']) + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故快报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -327,12 +347,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList = [ +- // { +- // fileUrl: 'url', +- // fileName: 'name', +- // }, +- ]; + accidentManagementSystemApi() + .accidentView(ruleForm.value) + .then((res) => { +@@ -380,6 +394,7 @@ + }; + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value = [] + console.log(ruleForm); + isShowDialog.value = false; + }; +@@ -459,7 +474,7 @@ + getTreeList, + newTreeList, + closeDialog, +- fileListDemo, ++ successUploader + }; + }, + }); +Index: src/views/goalManagement/targetEscalation/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"记录\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" label=\"序号\" type=\"index\" width=\"80\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"检查值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"检查人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"检查时间\" />\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst tableData = ref();\r\n\t\tconst openDailog = (data: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\t// console.log(data)\r\n\t\t\ttableData.value = data;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdialogVisible,\r\n\t\t\ttableData,\r\n\t\t\topenDailog,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue +--- a/src/views/goalManagement/targetEscalation/component/Dailog.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue (date 1660303400449) +@@ -1,15 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="记录" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="查看审批流程" width="50%" draggable> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" label="序号" type="index" width="80" /> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> +- <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定部门" /> +- <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="value" label="检查值" /> +- <el-table-column align="center" prop="commitPersonId" label="检查人" /> +- <el-table-column align="center" prop="makeDate" label="检查时间" /> ++ <el-table-column property="workName" label="审批人" sortable></el-table-column> ++ <el-table-column property="title" label="审批标题" sortable></el-table-column> ++ <el-table-column property="approvePersonName" label="编写人" sortable></el-table-column> ++ <el-table-column property="approveMemo" label="审批意见" sortable></el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +@@ -22,14 +18,28 @@ + <script lang="ts"> + import { defineComponent, reactive, ref } from 'vue'; + import { FullScreen } from '@element-plus/icons-vue'; ++import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + setup() { + const dialogVisible = ref(false); ++ const form = ref({ ++ pageSize: 10, ++ pageIndex: 1, ++ searchParams: { ++ relateId: '', ////检查记录ID ++ relateType:"", ++ }, ++ }); + const tableData = ref(); +- const openDailog = (data: any) => { ++ const openDailog = (data: any,type:number) => { + dialogVisible.value = true; +- // console.log(data) +- tableData.value = data; ++ form.value.searchParams.relateId=data ++ form.value.searchParams.relateType=type ++ goalManagementApi().getworkApproveListCheckData(form.value).then(res=>{ ++ if(res.data.code==200){ ++ tableData.value=res.data.data ++ } ++ }) + }; + //全屏 + const full = ref(false); +@@ -46,6 +56,7 @@ + openDailog, + full, + toggleFullscreen, ++ form, + FullScreen, + }; + }, +Index: src/views/goalManagement/targetEscalation/component/TypeDailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue +new file mode 100644 +--- /dev/null (date 1660303400450) ++++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue (date 1660303400450) +@@ -0,0 +1,271 @@ ++<template> ++ <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="50%" draggable :fullscreen="full" :close-on-click-modal="false"> ++ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> ++ <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> ++ <div v-if="titleName=='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="titleName!='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="typeScope"> ++ <el-row> ++ <el-col> ++ <el-form-item label="审批结果" prop="authorUid"> ++ <el-radio-group v-model="form.approveResult"> ++ <el-radio :label="0">不通过</el-radio> ++ <el-radio :label="1">通过</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="审批意见" prop="approveMemo"> ++ <el-input v-model="form.approveMemo" type="textarea" placeholder="请填写审批意见"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="是否完成" prop="complete"> ++ <el-radio-group v-model="form.approveStatus"> ++ <el-radio :label="3">是</el-radio> ++ <el-radio :label="2">否</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <div v-if="form.approveStatus==2"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ </div> ++ </el-form> ++ <template #footer> ++ <span class="dialog-footer"> ++ <el-button @click="resetForm" size="default">关闭</el-button> ++ <el-button size="default" type="primary" @click="submitForm">确定</el-button> ++ </span> ++ </template> ++ </el-dialog> ++ <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> ++</template> ++<script lang="ts"> ++import { ref, defineComponent } from 'vue'; ++import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++import { Search, FullScreen } from '@element-plus/icons-vue'; ++export default defineComponent({ ++ components: { DailogSearchUserManger }, ++ setup(props, { emit }) { ++ const dialogVisible = ref(false); ++ const form = ref({ ++ workName: '', // 审批名称 ++ title: '', //审批标题 ++ approvePersonId: '', ++ approvePersonName: '', ++ approveStatus: 2, ++ approveResult: '', ++ relateType: 1, ++ relateId: '', ++ }); ++ // 提交 ++ const submitForm = () => { ++ if (titleName.value == '发起审批') { ++ goalManagementApi() ++ .getworkApproveAdd(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } else if (titleName.value == '审批') { ++ goalManagementApi() ++ .getworkApproveUpdata(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ // 关闭 ++ const resetForm = () => { ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ const titleName = ref(); ++ const typeScope = ref(); ++ const disabledT = ref(false); ++ const disabled = ref(false); ++ const formUp=ref({ ++ workName:"", ++ title:"", ++ approvePersonName:"" ++ }) ++ // 打开弹窗 ++ const openDialog = (title: string, name: string, id: number,type:number) => { ++ dialogVisible.value = true; ++ titleName.value = title; ++ form.value.relateType=type ++ if (title == '发起审批') { ++ form.value.relateId = id; ++ typeScope.value = false; ++ } else if (title == '审批'||title == '查看审批') { ++ goalManagementApi() ++ .getworkApproveDetail(id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ form.value = res.data.data; ++ form.value.approveStatus="" ++ formUp.value.workName=form.value.workName ++ formUp.value.title=form.value.title ++ formUp.value.approvePersonName=form.value.approvePersonName ++ if (form.value.approvePersonName === form.value.submitPersonName) { ++ disabled.value = false; ++ } else { ++ disabled.value = true; ++ } ++ } ++ }); ++ typeScope.value = true; ++ disabledT.value = true; ++ } ++ }; ++ // 打开用户选择弹窗 ++ const userRef = ref(); ++ const openUser = () => { ++ userRef.value.openDailog(); ++ }; ++ const onUser = (val: any) => { ++ form.value.approvePersonId = val[0].uid; ++ form.value.approvePersonName = val[0].realName; ++ }; ++ //全屏 ++ const full = ref(false); ++ const toggleFullscreen = () => { ++ if (full.value == false) { ++ full.value = true; ++ } else { ++ full.value = false; ++ } ++ }; ++ return { ++ formUp, ++ onUser, ++ dialogVisible, ++ form, ++ disabledT, ++ submitForm, ++ resetForm, ++ titleName, ++ typeScope, ++ disabled, ++ openDialog, ++ userRef, ++ openUser, ++ full, ++ toggleFullscreen, ++ Search, ++ FullScreen, ++ }; ++ }, ++}); ++</script> ++<style> ++.el-row { ++ padding-bottom: 20px; ++} ++</style> +\ No newline at end of file +Index: src/views/goalManagement/Incentivestandard/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select v-model=\"ruleForm.searchParams.standardType\" size=\"default\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"奖励\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"惩罚\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\" >新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" :disabled=\"warning\" plain :icon=\"EditPen\" @click=\"openD\">修改 </el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"handleSelectionChange\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"qname\" align=\"center\" label=\"奖惩名称\" sortable />\r\n\t\t\t\t<el-table-column property=\"name\" align=\"center\" label=\"奖惩类型\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<!-- <upData ref=\"upShow\"></upData> -->\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, upData, DailogAdd },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tstandardType: '', ////奖惩类型 1:奖励 2:惩罚\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.standardType = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentStandardList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.standardType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.standardType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/Incentivestandard/index.vue b/src/views/goalManagement/Incentivestandard/index.vue +--- a/src/views/goalManagement/Incentivestandard/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/Incentivestandard/index.vue (date 1660303400439) +@@ -27,7 +27,7 @@ + <div class="btns"> + <div> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')" >新建</el-button> +- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> ++ <!-- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="handleSelectionChange">删除</el-button> + </div> + <div> +Index: src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"769px\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :rules=\"rules\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人姓名\" prop=\"declareUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.declareUserName\" :disabled=\"disabled\" placeholder=\"请填写申报人姓名\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人性别\" prop=\"declareUserGender\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.declareUserGender\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">男</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">女</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人部门\" placeholder=\"请选择\" prop=\"declareDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.declareDepartmentId\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t:data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"工伤类型\" prop=\"workInjuryType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.workInjuryType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻微伤\" value=\"轻微伤\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻伤\" value=\"轻伤\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报日期\" prop=\"declareDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.declareDate\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"损失工时\" prop=\"lostTime\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.lostTime\" :disabled=\"disabled\" placeholder=\"请填写损失工时\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊医院\" prop=\"visitHospital\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitHospital\" :disabled=\"disabled\" placeholder=\"请填写就诊医院\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊结果\" prop=\"visitResult\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitResult\" :disabled=\"disabled\" placeholder=\"请填写就诊结果\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"注意事项\" prop=\"mattersNeedingAttention\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.mattersNeedingAttention\" :disabled=\"disabled\" placeholder=\"请填写注意事项\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"材料是否齐全\" prop=\"completeMaterials\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.completeMaterials\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"备注\" prop=\"remark\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.remark\" :disabled=\"disabled\" type=\"textarea\" placeholder=\"请填写备注\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"showRef\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n\treactive,\r\n\tref,\r\n\tdefineComponent,\r\n\tonMounted\r\n} from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance,FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\tdeclareUserName: '',\r\n\t\t\tdeclareUserGender: '',\r\n\t\t\tdeclareDepartmentId: '',\r\n\t\t\taccidentName:'',\r\n\t\t\taccidentExpressId: '',\r\n\t\t\tworkInjuryType: '',\r\n\t\t\tdeclareDate: '',\r\n\t\t\tlostTime: '',\r\n\t\t\tvisitHospital: '',\r\n\t\t\tvisitResult: '',\r\n\t\t\tmattersNeedingAttention: '',\r\n\t\t\tcompleteMaterials: '',\r\n\t\t\tremark: '',\r\n\t\t\tfileList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfileName: '',\r\n\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看工伤申报' || title == '修改工伤申报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentManagementSystem(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\tconst tree = [\r\n\t\t];\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\r\n\t\t];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 关闭弹窗\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdeclareUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人姓名不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareUserGender: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人性别不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人部门不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '事故名称不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tworkInjuryType: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '工伤类型不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDate: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报日期不能为空',\r\n\t\t\t\t trigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tlostTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '损失工时不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitHospital: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊医院不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitResult: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊结果不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmattersNeedingAttention: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '注意事项不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcompleteMaterials: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '材料状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tremark: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '备注不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\t// 事故名称弹窗\r\n\t\tconst showRef = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tshowRef.value.openDailog();\r\n\t\t};\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value.accidentName = item[0].accidentName\r\n\t\t\truleForm.value.occurrenceTime = item[0].occurrenceTime\r\n\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\tdelete ruleForm.value.id\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tdeclareUserName: '',\r\n\t\t\t\t\tdeclareUserGender: '',\r\n\t\t\t\t\tdeclareDepartmentId: '',\r\n\t\t\t\t\taccidentExpressId: '',\r\n\t\t\t\t\tworkInjuryType: '',\r\n\t\t\t\t\tdeclareDate: '',\r\n\t\t\t\t\tlostTime: '',\r\n\t\t\t\t\tvisitHospital: '',\r\n\t\t\t\t\tvisitResult: '',\r\n\t\t\t\t\tmattersNeedingAttention: '',\r\n\t\t\t\t\tcompleteMaterials: '',\r\n\t\t\t\t\tremark: '',\r\n\t\t\t\t\tfileList: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfileName: '',\r\n\t\t\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdaiInpt,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\ttree,\r\n\t\t\tshowRef,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tonSelectItem,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tpropse,\r\n\t\t\tcloseDialog,\r\n\t\t\tuploaderImg\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (date 1660303400432) +@@ -81,7 +81,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <uploaderImg :fileList="fileList" :name="INCIDENT_MANAGE" ++ @successUploader="successUploader" :disabled="disabled"></uploaderImg> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -184,10 +185,35 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +@@ -241,6 +267,7 @@ + // 关闭弹窗 + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value=[] + isShowDialog.value = false; + }; + // 必填项提示 +@@ -346,12 +373,14 @@ + }; + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建工伤申报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + delete ruleForm.value.id +@@ -384,7 +413,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + accidentManagementSystemApi() +@@ -491,7 +519,9 @@ + newTreeList, + propse, + closeDialog, +- uploaderImg ++ uploaderImg, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"目标考核\" width=\"70%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n <el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n </el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" type=\"index\" label=\"序号\" width=\"70\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报时间\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核结果\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核时间\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n <DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport {deepClone} from \"/@/utils/other\";\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch ,DailogAdd},\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (e: object) => {\r\n\t\t\tform.value = e;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\r\n // 新增弹窗\r\n const index=ref<any>()\r\n const Show = ref();\r\n const daiAdd = (title: string, data: any) => {\r\n // index.value = formUp.targetDivideDetailList.indexOf(data);\r\n Show.value.openDailog(title, data);\r\n };\r\n const formUp = reactive({\r\n targetId: '', //关联的目标指标/外键\r\n delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n // targetDivideDetailList: [], //目标指标分解列表\r\n });\r\n\r\n const add = (val: any) => {\r\n const item = deepClone(val)\r\n if(index.value==-1){\r\n formUp.targetDivideDetailList.push(item);\r\n }else{\r\n formUp.targetDivideDetailList[index.value] = item;\r\n }\r\n\r\n // let obj=JSON.parse(JSON.stringify(form.value))\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\ttargetType,\r\n\t\t\tonNumber,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n daiAdd,\r\n index,\r\n Show,\r\n formUp,\r\n add,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue +--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue (date 1660303400445) +@@ -1,5 +1,5 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" label-width="120px"> + <el-row> +@@ -34,27 +34,38 @@ + <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> ++ <el-table :data="formUp.examineList" style="width: 100%"> + <el-table-column align="center" type="index" label="序号" width="70" /> +- <el-table-column align="center" prop="date" label="责任部门" /> +- <el-table-column align="center" prop="name" label="考核指标" /> +- <el-table-column align="center" prop="address" label="制定部门" /> +- <el-table-column align="center" prop="address" label="制定日期" /> +- <el-table-column align="center" prop="address" label="上报值" /> +- <el-table-column align="center" prop="address" label="上报时间" /> +- <el-table-column align="center" prop="address" label="考核结果" /> +- <el-table-column align="center" prop="address" label="考核人" /> +- <el-table-column align="center" prop="address" label="考核时间" /> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> ++ <el-table-column align="center" prop="examineValue" label="考核指标" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定部门" /> ++ <el-table-column align="center" prop="makeDate" label="制定日期" /> ++ <el-table-column align="center" prop="uploadValue" label="上报值" /> ++ <el-table-column align="center" prop="uploadDate" label="上报时间" /> ++ <el-table-column align="center" prop="examineResult" label="考核结果" > ++ <template #default="scope"> ++ <div v-if="scope.row.examineResult==1"> ++ 合格 ++ </div> ++ <div v-if="scope.row.examineResult==2"> ++ 不合格 ++ </div> ++ </template> ++ </el-table-column> ++ <el-table-column align="center" prop="examinePersonName" label="考核人" /> ++ <el-table-column align="center" prop="examineDate" label="考核时间" /> + <el-table-column align="center" label="操作"> + <template #default="scope"> +- <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('查看', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('修改', scope.row)">修改</el-button> ++ <el-button link type="primary" @click="Delete(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +- <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button @click="closeDialog" size="default">关闭</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -84,15 +95,62 @@ + disabled.value = title == '查看' ? true : false; + if (title == '查看' || title == '修改') { + goalManagementApi() +- .getTargetMngDetail(id) ++ .gettargetExamineDetail(id) + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ formUp.examineList = res.data.data.examineList ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ }; ++ const closeDialog = () => { ++ form.value = {} ++ formUp.examineList = [] ++ dialogVisible.value = false ++ }; ++ const submitForm = () => { ++ // formUp.delTargetDivideDetails = arr.value.toString(); ++ // formUp.targetId = form.value.id; ++ dialogVisible.value = false; ++ for(let i=0;i<formUp.examineList.length;i++){ ++ delete formUp.examineList[i].dutyDepartmentName ++ delete formUp.examineList[i].makerDepartmentName ++ } ++ formUp.id = form.value.id ++ formUp.delIds = arr.value.toString(); ++ goalManagementApi() ++ .gettargetExamineAddOrUpdate(formUp) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('addList'); + } else { + ElMessage.error(res.data.msg); + } + }); +- } ++ form.value = { ++ qName: '', ++ indexNum: '', ++ year: '', ++ value: '', ++ examineList: [], ++ }; ++ tableData.value = []; ++ formUp.targetId = ''; ++ formUp.delTargetDivideDetails = ''; ++ formUp.examineList = []; ++ }; ++ const arr = ref([]); ++ // 删除 ++ const Delete = (data: any) => { ++ formUp.examineList.splice(form.value.examineList.indexOf(data), 1); ++ arr.value.push(data.id); + }; + const onNumber = (e: object) => { + form.value = e; +@@ -107,29 +165,30 @@ + Shows.value.openDailog(targetType.value); + }; + +- // 新增弹窗 +- const index=ref<any>() +- const Show = ref(); +- const daiAdd = (title: string, data: any) => { +- // index.value = formUp.targetDivideDetailList.indexOf(data); +- Show.value.openDailog(title, data); +- }; +- const formUp = reactive({ +- targetId: '', //关联的目标指标/外键 +- delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 +- // targetDivideDetailList: [], //目标指标分解列表 +- }); ++ // 新增弹窗 ++ const index=ref<any>() ++ const Show = ref(); ++ const daiAdd = (title: string, data: any) => { ++ index.value = formUp.examineList.indexOf(data); ++ Show.value.openDailog(title, data); ++ }; ++ const formUp = reactive({ ++ targetId: '', //关联的目标指标/外键 ++ delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 ++ examineList: [], //目标指标分解列表 ++ }); + +- const add = (val: any) => { +- const item = deepClone(val) +- if(index.value==-1){ +- formUp.targetDivideDetailList.push(item); +- }else{ +- formUp.targetDivideDetailList[index.value] = item; +- } +- +- // let obj=JSON.parse(JSON.stringify(form.value)) +- }; ++ const add = (val: any) => { ++ const item = deepClone(val) ++ if(index.value==-1){ ++ ++ formUp.examineList.push(item); ++ }else{ ++ formUp.examineList[index.value] = item; ++ } ++ console.log(formUp) ++ // let obj=JSON.parse(JSON.stringify(form.value)) ++ }; + + //全屏 + const full = ref(false); +@@ -156,11 +215,14 @@ + full, + toggleFullscreen, + FullScreen, +- daiAdd, +- index, +- Show, +- formUp, +- add, ++ daiAdd, ++ index, ++ Show, ++ formUp, ++ add, ++ closeDialog, ++ submitForm, ++ Delete + }; + }, + }); +Index: src/views/goalManagement/targetSettings/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"ruleForm.searchParams.targetType\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t<el-button type=\"danger\" :disabled=\"danger\" size=\"default\" @click=\"onDeleteAll\" :icon=\"Delete\" plain>删除</el-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(年)\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(月)\" name=\"2\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"level\" label=\"指标级别\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"completeDate\" label=\"完成期限\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"状态\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 1\">已分解</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 2\">未分解</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<dailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></dailogAdd>\r\n\t\t\t<upData ref=\"upShow\"></upData>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport dailogAdd from './component/dailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, dailogAdd, upData },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst small = ref(false);\r\n\t\tconst disabled = ref(false);\r\n\t\tconst background = ref(false);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDialog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\t// const warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\t// warning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 上传\r\n\t\t// const upShow = ref();\r\n\t\t// const upButton = () => {\r\n\t\t// \tupShow.value.openDialog();\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\thandleClick,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\t// upShow,\r\n\t\t\t// upButton,\r\n\t\t\tsmall,\r\n\t\t\tdisabled,\r\n\t\t\tbackground,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonAddorUpdata,\r\n\t\t\tonDelete,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tdeletAll,\r\n\t\t\tdanger,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue +--- a/src/views/goalManagement/targetSettings/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetSettings/index.vue (date 1660303400452) +@@ -102,6 +102,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable @close=\"resetForm(ruleFormRef)\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"责任部门\" prop=\"dutyDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.dutyDepartmentId\" check-strictly=\"true\" :data=\"data\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核指标\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.value\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"制定人部门\" prop=\"makerDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.makerDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"制定日期\" prop=\"makeDate\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"上报值\" prop=\"commitPersonName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.commitPersonName\">\r\n<!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"上报时间\" prop=\"makeDate\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n\t\t\t</el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核结果\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"考核人\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核时间\" prop=\"commitPersonName\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\"></el-col>\r\n </el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearchUser ref=\"Show\" @SearchUser=\"onUser\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive, onMounted } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser },\r\n\tsetup(props, { emit }) {\r\n\t\tconst ruleFormRef = ref<FormInstance>()\r\n\t\tconst form = ref({\r\n\t\t\tdutyDepartmentId: '', ////责任部门/外键\r\n\t\t\tmakerDepartmentId: '', ////制定人部门/外键\r\n\t\t\tcommitPersonId: '', ////上报人/外键\r\n\t\t\tcommitPersonName: '',\r\n\t\t\tvalue: '', ////考核指标值\r\n\t\t\tmakeDate: '', ////制定日期\r\n\t\t});\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst disabled = ref(false);\r\n\t\t// 开启弹窗\r\n\t\tconst titles = ref();\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst openDailog = (title: string, data: any) => {\r\n\t\t\ttitles.value = `${title}目标考核`;\r\n\t\t\tif (title == '查看') {\r\n\t\t\t\tdisabled.value = true;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else if (title == '修改') {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t}\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 开启用户弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdutyDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '责任部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakerDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定人部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '上报人不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '考核指标值不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'number',\r\n\t\t\t\t\tmessage: '考核指标值只能为数字类型',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakeDate: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonName: [],\r\n\t\t});\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\temit('onAdd', form.value);\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\t// handleClose(formEl)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\t// console.log(formEl);\r\n\t\t\tif (!formEl) return\r\n\t\t\tformEl.resetFields();\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value={}\r\n\t\t};\r\n\t\t// const handleClose = (formEl: any) => {\r\n\t\t// \tformEl.resetFields();\r\n\t\t// };\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\tconsole.log(e)\r\n\t\t\tform.value.commitPersonId = e.uid;\r\n\t\t\tform.value.commitPersonName = e.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\t// handleClose,\r\n\t\t\tform,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tShow,\r\n\t\t\topenUser,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tdata,\r\n\t\t\tonUser,\r\n\t\t\truleFormRef,\r\n\t\t\trules,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +--- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (date 1660303400446) +@@ -5,19 +5,20 @@ + <el-row> + <el-col :span="11"> + <el-form-item label="责任部门" prop="dutyDepartmentId" size="default"> +- <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核指标" prop="value" size="default"> +- <el-input v-model.number="form.value" /> ++ <el-form-item label="考核指标" prop="examineValue" size="default"> ++ <el-input v-model.number="form.examineValue" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="制定人部门" prop="makerDepartmentId" size="default"> +- <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" ++ @current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +@@ -28,29 +29,30 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="上报值" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="上报值" prop="uploadValue" size="default"> ++ <el-input v-model="form.uploadValue"> + <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="上报时间" prop="makeDate" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="上报时间" prop="uploadDate" size="default"> ++ <el-date-picker v-model="form.uploadDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核结果" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> +- <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> +- </el-input> ++ <el-form-item label="考核结果" prop="examineResult" size="default"> ++ <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%"> ++ <el-option label="合格" :value="1" /> ++ <el-option label="不合格" :value="2" /> ++ </el-select> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核人" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="考核人" prop="examinePersonName" size="default"> ++ <el-input v-model="form.examinePersonName"> + <template #append> <el-button :icon="Search" @click="openUser" /> </template> + </el-input> + </el-form-item> +@@ -58,8 +60,8 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核时间" prop="commitPersonName" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="考核时间" prop="examineDate" size="default"> ++ <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> +@@ -87,12 +89,15 @@ + setup(props, { emit }) { + const ruleFormRef = ref<FormInstance>() + const form = ref({ +- dutyDepartmentId: '', ////责任部门/外键 +- makerDepartmentId: '', ////制定人部门/外键 +- commitPersonId: '', ////上报人/外键 +- commitPersonName: '', +- value: '', ////考核指标值 +- makeDate: '', ////制定日期 ++ "dutyDepartmentId": '', ////责任部门id/外键 ++ "examineDate": '', ////考核时间 ++ "examinePersonId": '', ////考核人ID/外键 ++ "examineResult": '', ////考核结果 1:合格 2:不合格 ++ "examineValue": '', ////考核指标 ++ "makeDate": '', ////制定日期 ++ "makerDepartmentId": '', ////制定部门/外键 ++ "uploadDate": '', ////上报时间 ++ "uploadValue": "", ////上报值 + }); + //部门 + const department = () => { +@@ -158,7 +163,7 @@ + trigger: 'blur', + }, + ], +- value: [ ++ examineValue: [ + { + required: true, + message: '考核指标值不能为空', +@@ -179,6 +184,13 @@ + ], + commitPersonName: [], + }); ++ const dutyName=(data:any)=>{ ++ form.value.dutyDepartmentName=data.depName ++ } ++ const makerDepartmentName=(data:any)=>{ ++ form.value.makerDepartmentName=data.depName ++ } ++ + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -214,8 +226,8 @@ + const data = ref(); + const onUser = (e: any) => { + console.log(e) +- form.value.commitPersonId = e.uid; +- form.value.commitPersonName = e.realName; ++ form.value.examinePersonId = e.uid; ++ form.value.examinePersonName = e.realName; + }; + return { + disabled, +@@ -238,6 +250,8 @@ + rules, + submitForm, + resetForm, ++ dutyName, ++ makerDepartmentName + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"800px\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故快报\" prop=\"accidentExpressId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.accidentDepartmentName\" class=\"input-with-select\" />-->\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"accidentDepartmentId\" :disabled=\"true\" :data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\t\t\t\t:props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"occurrencePlace\" :disabled=\"true\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故类别\" prop=\"accidentType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人员伤亡事故\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"火灾爆炸事故\" value=\"火灾爆炸事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"危险品泄露事故\" value=\"危险品泄露事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"设备事故\" value=\"设备事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"工艺事故\" value=\"工艺事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故等级\" prop=\"accidentGrade\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentGrade\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特别重大\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大\" value=\"重大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大\" value=\"较大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般\" value=\"一般\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"经济损失\" prop=\"economicLoss\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.economicLoss\" :disabled=\"disabled\" placeholder=\"请填写经济损失\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"轻伤人数\" prop=\"minorInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.minorInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写轻伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"重伤人数\" prop=\"seriousInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.seriousInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写重伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"死亡人数\" prop=\"deathNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.deathNum\" :disabled=\"disabled\" placeholder=\"请填写死亡人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" placeholder=\"请填写事故原因\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"要求报告完成期限\" prop=\"reportDeadline\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.reportDeadline\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故级别\" prop=\"accidentLevel\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentLevel\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特大事故\" value=\"特大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大事故\" value=\"重大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大事故\" value=\"较大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般事故\" value=\"一般事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故延期申请\" prop=\"accidentDelayApply\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentDelayApply\" :disabled=\"disabled\" placeholder=\"请填写事故延期申请\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(直接分析)\" prop=\"comprehensiveAnalysisDirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisDirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(直接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(间接分析)\" prop=\"comprehensiveAnalysisIndirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisIndirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(间接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"整改措施\" prop=\"rectificationMeasures\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.rectificationMeasures\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写整改措施\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故处理\" prop=\"accidentHandling\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentHandling\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写事故处理\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写人\" prop=\"fillInUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.fillInUserName\" :disabled=\"true\"\r\n\t\t\t\t\t\t\t\t\t placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写日期\" prop=\"fillInTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.fillInTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"事故照片\">-->\r\n\t\t\t\t\t<!-- <el-input v-model=\"ruleForm.describe\" type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关人员笔录\" prop=\"relevantPersonnelRecords\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.relevantPersonnelRecords\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写相关人员笔录\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故状态\" prop=\"status\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.status\" :disabled=\"statusDisabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"处理中\" :value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"已处理\" :value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故分析会议纪要\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"其他材料\" prop=\"otherMaterials\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.otherMaterials\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写其他材料\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"Shows\" />\r\n\t\t<DailogSearchUserManger @SearchUser=\"onUser\" ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent,onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\taccidentExpressId:'',\r\n\r\n\t\t\taccidentType: '',\r\n\t\t\taccidentGrade: '',\r\n\t\t\teconomicLoss: '',\r\n\t\t\tminorInjuryNum: '',\r\n\t\t\tseriousInjuryNum: '',\r\n\t\t\tdeathNum: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\treportDeadline: '',\r\n\t\t\taccidentLevel: '',\r\n\t\t\taccidentDelayApply: '',\r\n\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\trectificationMeasures: '',\r\n\t\t\taccidentHandling: '',\r\n\t\t\tfillInUserUid: '',\r\n\t\t\tfillInUserName:'',\r\n\t\t\tfillInTime: '',\r\n\t\t\trelevantPersonnelRecords: '',\r\n\t\t\totherMaterials: '',\r\n\t\t\tfileList: [],\r\n\t\t\tstatus:''\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\tconst statusDisabled = ref(true)\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif(statusDisabledFlag.value=='first'){\r\n\t\t\t\truleForm.value.status = 1\r\n\t\t\t}else if(statusDisabledFlag.value=='second'){\r\n\t\t\t\truleForm.value.status = 2\r\n\t\t\t}\r\n\t\t\tif (title == '修改事故报告') {\r\n\t\t\t\tstatusDisabled.value = false\r\n\t\t\t}else {\r\n\t\t\t\tstatusDisabled.value = true\r\n\t\t\t}\r\n\t\t\tif (title == '查看事故报告' || title == '修改事故报告') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentReport(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\taccidentName.value = res.data.data.accidentName\r\n\t\t\t\t\t\t\taccidentDepartmentId.value = res.data.data.accidentDepartmentId\r\n\t\t\t\t\t\t\toccurrencePlace.value = res.data.data.occurrencePlace\r\n\t\t\t\t\t\t\toccurrenceTime.value = res.data.data.occurrenceTime\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst onCancel = (formEl: FormInstance | undefined) => {\r\n\t\t\tresetForm(formEl);\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\t\t];\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentExpressId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '快报不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentType: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故类别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentGrade: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故等级不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\teconomicLoss: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '经济损失不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\treportDeadline: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '要求报告完成期限不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentLevel: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故级别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisDirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(直接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisIndirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(间接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\trectificationMeasures: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '整改措施不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentHandling: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故处理不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写人不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstatus: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst accidentDepartmentId = ref()\r\n\t\tconst occurrencePlace = ref()\r\n\t\tconst occurrenceTime = ref()\r\n\t\tconst accidentName = ref()\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item[0]);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\taccidentName.value = item[0].accidentName\r\n\t\t\taccidentDepartmentId.value = item[0].accidentDepartmentId\r\n\t\t\toccurrencePlace.value = item[0].occurrencePlace\r\n\t\t\toccurrenceTime.value = item[0].occurrenceTime\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\tdelete ruleForm.value.accidentDepartmentId\r\n\t\t\tdelete ruleForm.value.occurrencePlace\r\n\t\t\tdelete ruleForm.value.occurrenceTime\r\n\r\n\t\t\tif (title == '新建事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.addAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t//TODO 上传组件待定\r\n\t\t\t\t\t\truleForm.value.fileList = []\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.editAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\taccidentExpressId:'',\r\n\r\n\t\t\t\t\taccidentType: '',\r\n\t\t\t\t\taccidentGrade: '',\r\n\t\t\t\t\teconomicLoss: '',\r\n\t\t\t\t\tminorInjuryNum: '',\r\n\t\t\t\t\tseriousInjuryNum: '',\r\n\t\t\t\t\tdeathNum: '',\r\n\t\t\t\t\taccidentCause: '',\r\n\t\t\t\t\treportDeadline: '',\r\n\t\t\t\t\taccidentLevel: '',\r\n\t\t\t\t\taccidentDelayApply: '',\r\n\t\t\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\t\t\trectificationMeasures: '',\r\n\t\t\t\t\taccidentHandling: '',\r\n\t\t\t\t\tfillInUserUid: '',\r\n\t\t\t\t\tfillInUserName:'',\r\n\t\t\t\t\tfillInTime: '',\r\n\t\t\t\t\trelevantPersonnelRecords: '',\r\n\t\t\t\t\totherMaterials: '',\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\tstatus:''\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\t// ruleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value = {}\r\n\t\t\taccidentName.value = ''\r\n\t\t\taccidentDepartmentId.value = ''\r\n\t\t\toccurrencePlace.value = ''\r\n\t\t\toccurrenceTime.value = ''\r\n\t\t};\r\n\t\tconst handleChange = (val: number) => {\r\n\t\t\tconsole.log(val);\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\tconst onUser = (userItem: any) => {\r\n\t\t\truleForm.value.fillInUserUid = userItem[0].uid;\r\n\t\t\truleForm.value.fillInUserName = userItem[0].realName;\r\n\t\t};\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tonCancel,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tonUser,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\thandleChange,\r\n\t\t\tonSelectItem,\r\n\t\t\tnewTreeList,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tpropse,\r\n\t\t\tstatusDisabled,\r\n\t\t\taccidentDepartmentId,\r\n\t\t\toccurrencePlace,\r\n\t\t\toccurrenceTime,\r\n\t\t\taccidentName\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label {\r\n\theight: 100%;\r\n\ttext-align: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (date 1660303400431) +@@ -166,11 +166,11 @@ + /> + </el-form-item> + </el-col> +- <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> +- <!-- <el-form-item label="事故照片">--> +- <!-- <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <!-- </el-form-item>--> +- <!-- </el-col>--> ++ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> ++ <el-form-item label="事故照片"> ++ <uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg> ++ </el-form-item> ++ </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> + <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" +@@ -186,8 +186,9 @@ + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> +- <el-form-item label="事故分析会议纪要" prop="fileList"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <el-form-item label="事故分析会议纪要"> ++ <uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -221,6 +222,7 @@ + import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import uploaderImg from '/@/components/uploaderImg/index.vue'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources'; + import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; + import { goalManagementApi } from '/@/api/goalManagement'; +@@ -231,7 +233,8 @@ + AccidentName, + DailogSearchUserManger, + RegionsDialog, +- uploaderImg ++ uploaderImg, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false); +@@ -266,6 +269,8 @@ + const titles = ref(); + const disabled = ref(); + const statusDisabled = ref(true) ++ // 上传附件 ++ const fileList = ref([]); + // 打开弹窗 + const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => { + isShowDialog.value = true; +@@ -291,18 +296,53 @@ + accidentDepartmentId.value = res.data.data.accidentDepartmentId + occurrencePlace.value = res.data.data.occurrencePlace + occurrenceTime.value = res.data.data.occurrenceTime ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ //事故照片 ++ if(ruleForm.value.expressFileList){ ++ for(var a = 0;a<ruleForm.value.expressFileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(ruleForm.value.expressFileList[a].fileName) ++ .then((res) => { ++ ruleForm.value.expressFileList[a].url = res.data ++ console.log('ruleForm',ruleForm) ++ }) ++ } ++ }else { ++ ruleForm.value.expressFileList = [] ++ } ++ ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 取消 + const onCancel = (formEl: FormInstance | undefined) => { + resetForm(formEl); + }; + //日期选择器 + const value1 = ref(''); +- // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ + // 可选择树 + const treeSelect = ref(); + //定义树形下拉框 +@@ -423,7 +463,9 @@ + delete ruleForm.value.accidentDepartmentId + delete ruleForm.value.occurrencePlace + delete ruleForm.value.occurrenceTime +- ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故报告') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -458,7 +500,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + //TODO 上传组件待定 +- ruleForm.value.fileList = [] + isShowDialog.value = false; + accidentManagementSystemApi() + .editAccidentReport(ruleForm.value) +@@ -512,12 +553,14 @@ + }; + } + }; ++ + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); + // ruleForm.value.accidentExpressId = item[0].id + ruleForm.value = {} ++ fileList.value = [] + accidentName.value = '' + accidentDepartmentId.value = '' + occurrencePlace.value = '' +@@ -629,7 +672,9 @@ + accidentDepartmentId, + occurrencePlace, + occurrenceTime, +- accidentName ++ accidentName, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" placeholder=\"请输入目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"考核指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Dailog ref=\"openAdd\"></Dailog>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tvar arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\thandleClick,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttotal,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/index.vue b/src/views/goalManagement/safetyAssessment/index.vue +--- a/src/views/goalManagement/safetyAssessment/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/safetyAssessment/index.vue (date 1660303400446) +@@ -39,7 +39,7 @@ + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="View" @click="openD('修改', scope.row.id)">修改</el-button> +- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> ++ <!--<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>--> + </template> + </el-table-column> + </el-table> +Index: src/views/goalManagement/targetSettings/component/dailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"Shows\" @close=\"handleClose(ruleFormRef)\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" ref=\"ruleFormRef\" :rules=\"rules\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" prop=\"qName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" prop=\"indexNum\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" placeholder=\"请填写目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" prop=\"year\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.year\" maxlength=\"8\" placeholder=\"请填写年度\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" placeholder=\"请填写指标值\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"指标级别\" size=\"default\" prop=\"level\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.level\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t<el-option label=\"公司级\" :value=\"1\">公司级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"部门分厂级\" :value=\"2\">部门分厂级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"工段班组级\" :value=\"3\">工段班组级</el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"完成期限\" size=\"default\" prop=\"completeDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.completeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t<el-input v-model=\"form.memo\" size=\"default\" type=\"textarea\" />\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"titles == '查看目标设定' ? false : true\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue';\r\nimport screenfull from 'screenfull';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup(props, { emit }) {\r\n\t\tlet Shows = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tqName: '', //安全目标指标\r\n\t\t\tyear: '', //年度\r\n\t\t\tlevel: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttargetType: '', ////指标类型 1:年指标 2:月指标\r\n\t\t\tcompleteDate: '', ////完成期限\r\n\t\t\tdivideStatus: '2', ////分解状态 1:已分解 2:未分解\r\n\t\t\tvalue: '', ////指标值\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, value: any, id: number) => {\r\n\t\t\tShows.value = true;\r\n\t\t\ttitles.value = `${title}目标设定`;\r\n\t\t\tform.value.targetType = value;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '安全目标指标不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tindexNum: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '目标指标编号不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyear: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '年度不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '指标值不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlevel:[],\r\n\t\t\tcompleteDate:[],\r\n\t\t\tmemo:[]\r\n\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tShows.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngAddOrupdata(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tShows.value = false;\r\n\t\t};\r\n\t\tconst handleClose = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\thandleClose,\r\n\t\t\ttitles,\r\n\t\t\tShows,\r\n\t\t\tform,\r\n\t\t\tfull,\r\n\t\t\tdisabled,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\trules,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue +--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue (date 1660303400451) +@@ -38,7 +38,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="完成期限" size="default" prop="completeDate"> +- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.completeDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -56,6 +63,7 @@ + </template> + <script lang="ts"> + import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue'; ++// import { timeDate } from '/@/assets/index.ts'; + import screenfull from 'screenfull'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; +@@ -90,11 +98,25 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.completeDate = timeC(form.value.completeDate); + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { +@@ -133,10 +155,9 @@ + trigger: 'change', + }, + ], +- level:[], +- completeDate:[], +- memo:[] +- ++ level: [], ++ completeDate: [], ++ memo: [], + }); + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { +@@ -158,7 +179,7 @@ + formEl.resetFields(); + } + }); +- formEl.resetFields(); ++ formEl.resetFields(); + } else { + console.log('error submit!', fields); + } +@@ -174,9 +195,11 @@ + formEl.resetFields(); + }; + return { ++ timeC, + openDialog, + handleClose, + titles, ++ // timeDate, + Shows, + form, + full, +Index: src/views/goalManagement/TargetBook/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择岗位\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.pass\" placeholder=\"岗位名称\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"11\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"submitForm(ruleFormRef)\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm(ruleFormRef)\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"岗位名称\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[100, 200, 300, 400]\"\r\n\t\t\t\t\t:small=\"small\"\r\n\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t:background=\"background\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"400\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.id }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup(props,{emit}) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpass: '',\r\n\t\t\tcheckPass: '',\r\n\t\t});\r\n\t\t// 表格\r\n\t\tconst tableData = [\r\n\t\t\t{ id:1,\r\n\t\t\t\tdate: '2016-05-03',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid:2,\r\n\t\t\t\tdate: '2016-05-02',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\t\r\n\t\t\t\tid:3,\t\r\n\t\t\t\tdate: '2016-05-04',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\tid:4,\r\n\t\t\t\tdate: '2016-05-01',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst pageSize4 = ref(100);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\tconsole.log(`${val} items per page`);\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\tconsole.log(`current page: ${val}`);\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t\tconst submitForm=()=>{\r\n\t\t\tlet obj=JSON.parse(JSON.stringify(dynamicTags.value))\r\n\t\t\temit(\"backNum\",obj[0])\r\n\t\t\tdialogVisible.value = false\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue +--- a/src/views/goalManagement/TargetBook/component/DailogSearch.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue (date 1660303400441) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> +- <el-table-column align="center"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > ++ <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -59,7 +59,7 @@ + :disable-transitions="false" + @close="handleClose(tag)" + > +- {{ tag.id }} ++ {{ tag.date }} + </el-tag> + </div> + </el-col> +@@ -89,24 +89,24 @@ + // 表格 + const tableData = [ + { id:1, +- date: '2016-05-03', ++ date: '岗位1', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { + id:2, +- date: '2016-05-02', ++ date: '岗位2', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { + id:3, +- date: '2016-05-04', ++ date: '岗位3', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { id:4, +- date: '2016-05-01', ++ date: '岗位4', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +Index: src/components/uploaderImg/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-upload\r\n\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\tlist-type=\"picture-card\"\r\n\t\t\t:on-preview=\"handlePictureCardPreview\"\r\n\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t:on-success=\"successFile\"\r\n\t\t\t:on-error=\"errorFile\"\r\n\t>\r\n\t\t<el-icon><Plus /></el-icon>\r\n\t</el-upload>\r\n\r\n\t<el-dialog v-model=\"dialogVisible\">\r\n\t\t<img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\n\timport { ref,defineComponent } from 'vue'\r\n\timport { Plus } from '@element-plus/icons-vue'\r\n\timport type { UploadProps, UploadUserFile } from 'element-plus'\r\n\r\n\texport default defineComponent({\r\n\t\tprops: {\r\n\t\t\t// svg 图标组件名字\r\n\t\t\tfileList: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t},\r\n\t\t},\r\n\t\tcomponents: {\r\n\t\t\tPlus\r\n\t\t},\r\n\t\tsetup() {\r\n\r\n\t\t\tconst dialogImageUrl = ref('')\r\n\t\t\tconst dialogVisible = ref(false)\r\n\r\n\t\t\tconst handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\t\tconsole.log(uploadFile, uploadFiles)\r\n\t\t\t}\r\n\r\n\t\t\tconst handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\t\tdialogImageUrl.value = uploadFile.url!\r\n\t\t\t\tdialogVisible.value = true\r\n\t\t\t}\r\n\r\n\t\t\tconst successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(response, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\t\t\tconst errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(error, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\r\n\r\n\t\t\treturn {\r\n\t\t\t\tdialogImageUrl,\r\n\t\t\t\tdialogVisible,\r\n\t\t\t\thandleRemove,\r\n\t\t\t\thandlePictureCardPreview,\r\n\t\t\t\tsuccessFile,\r\n\t\t\t\terrorFile\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n</script> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderImg/index.vue b/src/components/uploaderImg/index.vue +--- a/src/components/uploaderImg/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/components/uploaderImg/index.vue (date 1660303400399) +@@ -1,12 +1,13 @@ + <template> + <el-upload +- v-model:file-list="fileList" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- list-type="picture-card" +- :on-preview="handlePictureCardPreview" +- :on-remove="handleRemove" +- :on-success="successFile" +- :on-error="errorFile" ++ v-model:file-list="fileList" ++ :disabled="disabled" ++ :http-request="uploadSectionFile" ++ list-type="picture-card" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" + > + <el-icon><Plus /></el-icon> + </el-upload> +@@ -16,50 +17,141 @@ + </el-dialog> + </template> + <script lang="ts"> +- import { ref,defineComponent } from 'vue' +- import { Plus } from '@element-plus/icons-vue' +- import type { UploadProps, UploadUserFile } from 'element-plus' ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; + +- export default defineComponent({ +- props: { +- // svg 图标组件名字 +- fileList: { +- type: Array, +- }, ++export default defineComponent({ ++ props: { ++ // svg 图标组件名字 ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, + }, +- components: { +- Plus +- }, +- setup() { +- +- const dialogImageUrl = ref('') +- const dialogVisible = ref(false) ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); + +- const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { +- console.log(uploadFile, uploadFiles) +- } ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ }; + +- const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { +- dialogImageUrl.value = uploadFile.url! +- dialogVisible.value = true +- } ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ dialogImageUrl.value = uploadFile.url!; ++ dialogVisible.value = true; ++ }; + +- const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(response, uploadFile,uploadFiles) +- } +- const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(error, uploadFile,uploadFiles) ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] + } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; + ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; + +- return { +- dialogImageUrl, +- dialogVisible, +- handleRemove, +- handlePictureCardPreview, +- successFile, +- errorFile +- }; +- }, +- }); +-</script> +\ No newline at end of file ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> +Index: src/views/goalManagement/TargetBook/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.jobId\" placeholder=\"请选择岗位\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openSearch\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"index\" label=\"序号\" align=\"center\" width=\"70\" />\r\n\t\t\t\t<el-table-column property=\"jobId\" align=\"center\" label=\"岗位\" sortable />\r\n\t\t\t\t<el-table-column property=\"signDate\" align=\"center\" label=\"责任书签订日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column property=\"extraFile\" align=\"center\" label=\"附件\" sortable />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" style=\"width: 300px\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearch ref=\"openUser\"></DailogSearch>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearch from './component/DailogSearch.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearch },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tjobId: '', ////岗位号/外键\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.jobId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.jobId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.jobId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\topenSearch,\r\n\t\t\ttimeDate,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue +--- a/src/views/goalManagement/TargetBook/index.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/TargetBook/index.vue (date 1660303400441) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.jobId" placeholder="请选择岗位"> ++ <el-input v-model="jobName" placeholder="请选择岗位"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> + </el-form-item> +@@ -61,7 +61,7 @@ + /> + </div> + <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd> +- <DailogSearch ref="openUser"></DailogSearch> ++ <DailogSearch ref="openUser" @backNum="IdNumber"></DailogSearch> + </div> + </div> + </template> +@@ -88,6 +88,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.jobId = ''; ++ jobName.value="" + listApi(); + }; + const listApi = () => { +@@ -116,6 +117,11 @@ + const onAddorUpdata = () => { + listApi(); + }; ++ const jobName=ref() ++ const IdNumber=(val:any)=>{ ++ ruleForm.jobId=val.id ++ jobName.value=val.date ++ } + // 表格 + const tableData = ref(); + const currentPage4 = ref(); +@@ -222,6 +228,7 @@ + openUser.value.openDailog(); + }; + return { ++ IdNumber, + ruleForm, + resetForm, + listApi, +Index: src/views/goalManagement/TargetBook/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"岗位\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.jobId\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书签订日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.signDate\" style=\"width:100%\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择日期时间\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书附件\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"IdNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\textraFile: '666', //责任书附件\r\n\t\t\tjobId: '', //岗位\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value =`${title}目标责任书`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.gettargetDutyfileInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoAddorUpdata(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\tconst IdNumber=(val:any)=>{\r\n form.value.jobId=val.id\r\n\t\t}\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tIdNumber,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\topenDailog,\r\n\t\t\tdaiInpt,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShows,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue +--- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue (date 1660303400440) +@@ -1,11 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" :disabled="disabled" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="岗位" size="default"> +- <el-input v-model="form.jobId" placeholder="请选择"> ++ <el-input v-model="form.jobName" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> + </el-form-item> +@@ -14,7 +14,7 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书签订日期" size="default"> +- <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> ++ <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> + </el-form-item> + </el-col> + </el-row> +@@ -28,22 +28,8 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -64,8 +50,9 @@ + import { ElMessage, ElMessageBox } from 'element-plus'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearch }, ++ components: { DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const form = ref({ +@@ -88,14 +75,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.signDate=timeC(form.value.signDate) ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 提交 + const submitForm = () => { + dialogVisible.value = false; ++ delete form.value.jobName + goalManagementApi() + .gettargetDutyfileInfoAddorUpdata(form.value) + .then((res) => { +@@ -127,6 +170,7 @@ + extraFile: '666', //责任书附件 + jobId: '', //岗位 + }; ++ fileList.value = [] + }; + // 安全目标指标弹窗 + const Shows = ref(); +@@ -135,17 +179,10 @@ + }; + const IdNumber=(val:any)=>{ + form.value.jobId=val.id ++ form.value.jobName=val.date + } + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, ++ const fileList = ref([ + ]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { +@@ -176,6 +213,7 @@ + } + }; + return { ++ timeC, + IdNumber, + dialogVisible, + form, +@@ -195,6 +233,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +Index: src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"769px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"drillName\">\r\n <el-input v-model=\"ruleForm.drillName\" placeholder=\"请填写演练名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input v-model=\"ruleForm.drillAddress\" placeholder=\"请填写演练地点\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.departmentId\"\r\n :data=\"data\"\r\n check-strictly\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"1\"></el-option>\r\n <el-option label=\"桌面\" value=\"2\"></el-option>\r\n <el-option label=\"专项\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"planName\" >\r\n <el-input\r\n v-model=\"ruleForm.planName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.makingPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.drillPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <!--<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n <!--<el-form-item label=\"修改时间\" prop=\"gmtModitify\">-->\r\n <!--<el-date-picker v-model=\"ruleForm.gmtModitify\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserName\">\r\n <el-input v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\" disabled></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.makingDepartmentId\"\r\n check-strictly\r\n :data=\"data\"\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"userListString\" >\r\n <el-input\r\n v-model=\"ruleForm.userListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(0)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(1)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <!--<el-upload-->\r\n <!--v-model:file-list=\"fileList\"-->\r\n <!--class=\"upload-demo\"-->\r\n <!--action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"-->\r\n <!--:on-change=\"handleChange\"-->\r\n <!-->-->\r\n <!--<el-button type=\"primary\"-->\r\n <!-->点击上传</el-button>-->\r\n <!--<template #tip>-->\r\n <!--<div class=\"el-upload__tip\">-->\r\n <!--添加相关附件-->\r\n <!--</div>-->\r\n <!--</template>-->\r\n <!--</el-upload>-->\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\" />\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"SearchUser\" />\r\n <DailogSearchUser ref=\"userFZRef\" @SearchUser=\"SearchFZUser\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport type {\r\n UploadUserFile,\r\n FormInstance,\r\n} from 'element-plus'\r\nimport { ElMessage } from 'element-plus';\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport {releaseDrillPlanApi} from \"/@/api/contingencyManagement/emergencyDrillPlan\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nimport { Session } from '/@/utils/storage';\r\n\r\nexport default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingUserName: '', //计划制定人Name\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n ruleForm.value.makingUserUid = Session.get('uid');\r\n ruleForm.value.makingUserName = Session.get('realName');\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {\r\n releaseDrillPlanApi()\r\n .seeReleaseDrillPlan(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.userListString=''\r\n ruleForm.value.chargeUserListString=''\r\n for(var a = 0;a<res.data.data.userList.length;a++){\r\n if(res.data.data.userList[a].type==1){\r\n ruleForm.value.userListString += res.data.data.userList[a].userName+';'\r\n }\r\n // if(res.data.data.userList[a].type==2){\r\n // ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'\r\n // }\r\n }\r\n // alert(res.data.data.chargeUserList.length)\r\n for(var a = 0;a<res.data.data.chargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ]\r\n //部门树\r\n const department = () => {\r\n goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = ref()\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n value: 'depId',\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n // 表单提交验证必填项\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)\r\n delete ruleForm.value.planName\r\n delete ruleForm.value.chargeUserListString\r\n delete ruleForm.value.userListString\r\n delete ruleForm.value.chargeUserList\r\n delete ruleForm.value.gmtModitify\r\n if (title == '新建应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .addReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n }\r\n else if (title == '修改应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .editReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n }\r\n }\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n formEl.resetFields();\r\n };\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt = () => {\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.planId=e.id\r\n ruleForm.value.planName=e.name\r\n };\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const userFZRef = ref();\r\n //打开演练人员和演练负责人弹窗 type 0 演练人员 1 演练负责人\r\n const openUser = (type:number) => {\r\n if(type==0){\r\n userRef.value.openDailog(0);\r\n }else if(type==1){\r\n userFZRef.value.openDailog(0);\r\n }\r\n };\r\n const SearchUser = (e:any) => {\r\n console.log('演练人员',e)\r\n ruleForm.value.userListString=''\r\n ruleForm.value.userList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.userList.push(\r\n {\r\n type: 1,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.userListString+=e[a].realName+';'\r\n }\r\n\r\n };\r\n const SearchFZUser = (e:any) => {\r\n console.log('演练负责人员',e[0].userName)\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.chargeUserList=[]\r\n // ruleForm.value.chargeUserList = []\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.chargeUserList.push(\r\n {\r\n type: 2,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.chargeUserListString+=e[a].realName+';'\r\n }\r\n };\r\n // 计划定制日期\r\n const datetime = ref('');\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n isShowDialog,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n department,\r\n propse,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n ruleFormRef,\r\n submitForm,\r\n openUser,\r\n userRef,\r\n datetime,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n titles,\r\n disabled,\r\n resetForm,\r\n emit,\r\n onUser,\r\n userFZRef,\r\n SearchUser,\r\n SearchFZUser\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea{\r\n height: 168px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 168px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n//多行文本框\r\n.textarea{\r\n height: 70px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 70px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (date 1660303400436) +@@ -162,20 +162,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <!--<el-upload--> +- <!--v-model:file-list="fileList"--> +- <!--class="upload-demo"--> +- <!--action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> +- <!--:on-change="handleChange"--> +- <!-->--> +- <!--<el-button type="primary"--> +- <!-->点击上传</el-button>--> +- <!--<template #tip>--> +- <!--<div class="el-upload__tip">--> +- <!--添加相关附件--> +- <!--</div>--> +- <!--</template>--> +- <!--</el-upload>--> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -215,12 +203,13 @@ + import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan"; + import {goalManagementApi} from "/@/api/goalManagement"; + import { Session } from '/@/utils/storage'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -281,14 +270,35 @@ + for(var a = 0;a<res.data.data.chargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';' + } ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -318,6 +328,9 @@ + }); + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList) + delete ruleForm.value.planName + delete ruleForm.value.chargeUserListString +@@ -412,6 +425,7 @@ + } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; ++ fileList.value=[] + if (!formEl) return; + ruleForm.value = { + makingPlanDate: '', // 计划制定日期 +@@ -473,7 +487,6 @@ + ) + ruleForm.value.userListString+=e[a].realName+';' + } +- + }; + const SearchFZUser = (e:any) => { + console.log('演练负责人员',e[0].userName) +@@ -532,7 +545,9 @@ + onUser, + userFZRef, + SearchUser, +- SearchFZUser ++ SearchFZUser, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/components/equipmentDailog/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\" draggable :title=\"titles\" width=\"60%\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" :rules=\"rules\" :disabled=\"disabled\" label-width=\"120px\" class=\"formType\">\r\n\t\t\t<el-form-item label=\"装置设施名称\" size=\"default\" prop=\"qName\">\r\n\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写装置设施名称\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施位号\" size=\"default\" prop=\"positionNum\">\r\n\t\t\t\t<el-input disabled v-model=\"form.positionNum\" placeholder=\"请填写装置设施位号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施用途\" size=\"default\" prop=\"qUsage\">\r\n\t\t\t\t<el-input v-model=\"form.qUsage\" placeholder=\"请填写装置设施用途\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施型号\" size=\"default\" prop=\"model\">\r\n\t\t\t\t<el-input v-model=\"form.model\" placeholder=\"请填写装置设施型号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"类型/类别外键\" size=\"default\" prop=\"equipmentTypeName\">\r\n\t\t\t\t<el-input v-model=\"form.equipmentTypeName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"opencategory\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<!-- <el-form-item label=\"区域名称\" size=\"default\">\r\n <el-input v-model=\"form.name\" placeholder=\"请选择\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openRegion\"></el-button>\r\n </template>\r\n </el-input>\r\n </el-form-item> -->\r\n\t\t\t<el-form-item label=\"单位部门\" size=\"default\" prop=\"departmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.departmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"设置部位\" size=\"default\" prop=\"setPart\">\r\n\t\t\t\t<el-input v-model=\"form.setPart\" placeholder=\"请填写设置部位\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生产日期\" size=\"default\" prop=\"produceTime\">\r\n\t\t\t\t<el-date-picker v-model=\"form.produceTime\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用期限(天)\" size=\"default\" prop=\"useEndDay\">\r\n\t\t\t\t<el-input v-model=\"form.useEndDay\" placeholder=\"请填写使用期限\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生命周期\" size=\"default\" prop=\"lifeCycle\">\r\n\t\t\t\t<el-select v-model=\"form.lifeCycle\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"已投用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"库存中\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"3\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"投用日期\" size=\"default\" prop=\"useDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.useDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"维修状态\" size=\"default\" prop=\"repairStatus\">\r\n\t\t\t\t<el-select v-model=\"form.repairStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"维修中\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"已修好\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用状态\" size=\"default\" prop=\"stopStatus\">\r\n\t\t\t\t<el-select v-model=\"form.stopStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"停用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"在用\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"维修\" :value=\"3\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"4\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检查日期\" size=\"default\" prop=\"previousCheckDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousCheckDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检测日期\" size=\"default\" prop=\"previousTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.previousTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次保养日期\" size=\"default\" prop=\"previousTakecareDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousTakecareDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检查日期\" size=\"default\" prop=\"nextCheckDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextCheckDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检测日期\" size=\"default\" prop=\"nextTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次保养日期\" size=\"default\" prop=\"nextTakecareDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTakecareDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人\" size=\"default\" prop=\"leadingPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.leadingPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(1)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人部门\" size=\"default\" prop=\"leadingPersonDepartmentId\">\r\n\t\t\t\t<el-tree-select\r\n\t\t\t\t\tv-model=\"form.leadingPersonDepartmentId\"\r\n\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\tcheck-strictly=\"true\"\r\n\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"供应商\" size=\"default\" prop=\"supplyName\">\r\n\t\t\t\t<el-input v-model=\"form.supplyName\" placeholder=\"请填写供应商\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用说明\" size=\"default\" prop=\"useMemo\">\r\n\t\t\t\t<el-input v-model=\"form.useMemo\" placeholder=\"请填写使用说明\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检查\" size=\"default\" prop=\"isNeedCheck\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedCheck\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查周期\" size=\"default\" prop=\"checkCycle\">\r\n\t\t\t\t<el-input v-model=\"form.checkCycle\" placeholder=\"请填写检查周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查提前提醒\" size=\"default\" prop=\"checkWarn\">\r\n\t\t\t\t<el-input v-model=\"form.checkWarn\" placeholder=\"请填写检查提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检测\" size=\"default\" prop=\"isNeedTest\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTest\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测周期\" size=\"default\" prop=\"testCycle\">\r\n\t\t\t\t<el-input v-model=\"form.testCycle\" placeholder=\"请填写检测周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测提前提醒\" size=\"default\" prop=\"testWarn\">\r\n\t\t\t\t<el-input v-model=\"form.testWarn\" placeholder=\"请填写检测提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否保养\" size=\"default\" prop=\"isNeedTakecare\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTakecare\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查内容\" size=\"default\" prop=\"checkContent\">\r\n\t\t\t\t<el-input v-model=\"form.checkContent\" placeholder=\"请填写检查内容\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责部门\" size=\"default\" prop=\"leadingDepartmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.leadingDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查指标\" size=\"default\" prop=\"checkPoint\">\r\n\t\t\t\t<el-input v-model=\"form.checkPoint\" placeholder=\"请填写检查指标\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"预警值\" size=\"default\" prop=\"alertNum\">\r\n\t\t\t\t<el-input v-model=\"form.alertNum\" placeholder=\"请填写预警值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"联锁值\" size=\"default\" prop=\"lockNum\">\r\n\t\t\t\t<el-input v-model=\"form.lockNum\" placeholder=\"请填写联锁值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用理由\" size=\"default\" prop=\"stopReason\">\r\n\t\t\t\t<el-input v-model=\"form.stopReason\" placeholder=\"请填写停用理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用后措施\" size=\"default\" prop=\"afterStopStep\">\r\n\t\t\t\t<el-input v-model=\"form.afterStopStep\" placeholder=\"请填写停用后措施\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际停用日期\" size=\"default\" prop=\"actualStopDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.actualStopDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交人\" size=\"default\" prop=\"stopSubmitPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.stopSubmitPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(2)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交日期\" size=\"default\" prop=\"stopSubmitDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.stopSubmitDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复理由\" size=\"default\" prop=\"recoveryReason\">\r\n\t\t\t\t<el-input v-model=\"form.recoveryReason\" placeholder=\"请填写恢复理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复填报日期\" size=\"default\" prop=\"recoverySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.recoverySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际恢复日期\" size=\"default\" prop=\"actualRecoveryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualRecoveryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废理由\" size=\"default\" prop=\"destoryReason\">\r\n\t\t\t\t<el-input v-model=\"form.destoryReason\" placeholder=\"请填写报废理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废填报日期\" size=\"default\" prop=\"destorySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.destorySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际报废日期\" size=\"default\" prop=\"actualDestoryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualDestoryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"设备保养\" name=\"first\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openMaintenance('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.takecareDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareMemo\" label=\"保养情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonName\" label=\"保养负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareDate\" :formatter=\"timeDate\" label=\"保养日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonDepartmentName\" label=\"保养负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备检测\" name=\"second\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openDetect('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.testDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonName\" label=\"检测人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testDate\" :formatter=\"timeDate\" label=\"检测日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonDepartmentName\" label=\"检测人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testMemo\" label=\"检测内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"检测结果\" >\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==1\">成功</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==2\">失败</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testStatus\" label=\"检测状态\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteB(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备维修\" name=\"third\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openRepair('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.repaireDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"exceptionInfo\" label=\"设施异常项\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"维修状态\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==1\">维修中</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==2\">已修好</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairMemo\" label=\"维修情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonName\" label=\"维修负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonDepartmentName\" label=\"维修负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairStartDate\" :formatter=\"timeDate\" label=\"维修开始日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairEndDate\" :formatter=\"timeDate\" label=\"维修结束日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteC(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"检查标准设置\" name=\"fourth\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openStandard('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.checkStandardeDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"indexNum\" label=\"序号\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkContent\" label=\"检查内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkTarget\" label=\"检查指标\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"unit\" label=\"单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkPart\" label=\"巡检部位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"rate\" label=\"频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteD(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"巡检记录\" size=\"default\" name=\"five\">\r\n\t\t\t\t<el-table :data=\"name\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"name\" label=\"任务编号\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"任务名称\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"点位类型\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"检查频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" :formatter=\"timeDate\" label=\"巡检时间\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"巡检人\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"保养维修标准\" name=\"six\" v-if=\"Dailogtype\">\r\n\t\t\t\t<el-upload\r\n\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\tmultiple\r\n\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t<div class=\"el-upload__tip\"></div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-upload>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<categoryDailog ref=\"categoryShow\"></categoryDailog>\r\n\t<categoryDailog ref=\"categoryShow\" @typeId=\"Tid\"></categoryDailog>\r\n\t<regionDailog ref=\"regionShow\"></regionDailog>\r\n\t<DailogSearchUser ref=\"UserShow\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t<maintenanceDailog ref=\"maintenanceShow\" @onMain=\"main\"></maintenanceDailog>\r\n\t<detectDailog ref=\"detectShow\" @onDelect=\"delect\"></detectDailog>\r\n\t<repairDailog ref=\"repairShow\" @onRepair=\"Repair\"></repairDailog>\r\n\t<standardDailog ref=\"standardShow\" @onStand=\"Stand\"></standardDailog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport categoryDailog from './categoryDailog.vue';\r\nimport regionDailog from './regionDailog.vue';\r\nimport maintenanceDailog from './maintenanceDailog.vue';\r\nimport detectDailog from './detectDailog.vue';\r\nimport repairDailog from './repairDailog.vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport standardDailog from './standardDailog.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { facilityManagementApi } from '/@/api/facilityManagement';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tsupplyName: '',\r\n\r\n\t\t\tnextTestDate: '',\r\n\r\n\t\t\tqUsage: '',\r\n\r\n\t\t\tdepartmentId: '',\r\n\r\n\t\t\tproduceTime: '',\r\n\r\n\t\t\tactualStopDate: '',\r\n\r\n\t\t\ttakecareDetailList: [],\r\n\r\n\t\t\tinfoType: '',\r\n\r\n\t\t\tleadingDepartmentId: '',\r\n\r\n\t\t\tuseEndDay: '',\r\n\r\n\t\t\tpreviousTakecareDate: '',\r\n\r\n\t\t\tpreviousCheckDate: '',\r\n\r\n\t\t\tmodel: '',\r\n\r\n\t\t\tstopStatus: '',\r\n\r\n\t\t\ttestWarn: '',\r\n\r\n\t\t\tstopSubmitDate: '',\r\n\r\n\t\t\trepairStatus: '',\r\n\r\n\t\t\ttakecareStardardeDetailList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfilePath: '123',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tnextCheckDate: '',\r\n\r\n\t\t\tcheckCycle: '',\r\n\r\n\t\t\tcheckPoint: '',\r\n\r\n\t\t\tleadingPersonId: '',\r\n\t\t\tleadingPersonName: '',\r\n\r\n\t\t\tqName: '',\r\n\r\n\t\t\tnextTakecareDate: '',\r\n\r\n\t\t\tsetPart: '',\r\n\r\n\t\t\tcheckStandardeDetailList: [],\r\n\r\n\t\t\tactualDestoryDate: '',\r\n\r\n\t\t\tisNeedTest: '',\r\n\r\n\t\t\talertNum: '',\r\n\r\n\t\t\tcheckContent: '',\r\n\r\n\t\t\tuseMemo: '',\r\n\r\n\t\t\tpreviousTestDate: '',\r\n\r\n\t\t\tisNeedTakecare: '',\r\n\r\n\t\t\tdestoryReason: '',\r\n\r\n\t\t\tcheckDetailList: [],\r\n\r\n\t\t\tpositionNum: '',\r\n\r\n\t\t\ttestCycle: '',\r\n\r\n\t\t\trecoveryReason: '',\r\n\r\n\t\t\tisNeedCheck: '',\r\n\r\n\t\t\tactualRecoveryDate: '',\r\n\r\n\t\t\tleadingPersonDepartmentId: '',\r\n\r\n\t\t\tstopReason: '',\r\n\r\n\t\t\tdestorySubmitDate: '',\r\n\r\n\t\t\ttestDetailList: [],\r\n\r\n\t\t\tcheckWarn: '',\r\n\r\n\t\t\trepaireDetailList: [],\r\n\r\n\t\t\tequipmentTypeId: '',\r\n\r\n\t\t\tuseDate: '',\r\n\r\n\t\t\trecoverySubmitDate: '',\r\n\r\n\t\t\tlockNum: '',\r\n\r\n\t\t\tstopSubmitPersonId: '',\r\n\t\t\tstopSubmitPersonName: '',\r\n\t\t\tafterStopStep: '',\r\n\r\n\t\t\tlifeCycle: '',\r\n\r\n\t\t\tdelCheckStandardeDetails: '',\r\n\r\n\t\t\tdelTakecareStardardeDetails: '',\r\n\r\n\t\t\tdelTakecareDetails: '',\r\n\r\n\t\t\tdelRepaireDetails: '',\r\n\r\n\t\t\tdelTestDetails: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst titleT = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst Dailogtype = ref(false);\r\n\t\tconst openDailog = (title: string, type: boolean, id: number, num: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitleT.value = title;\r\n\t\t\tdepartment();\r\n\t\t\tDailogtype.value = type;\r\n\t\t\tif (num == 0) {\r\n\t\t\t\ttitles.value = `${title}仪表信息`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 1) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 2) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t}\r\n\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t.getequipmentInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [],\r\n\t\t\tpositionNum: [],\r\n\t\t\tqUsage: [],\r\n\t\t\tmodel: [],\r\n\t\t\tequipmentTypeId: [],\r\n\t\t\tequipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],\r\n\t\t\tdepartmentId: [],\r\n\t\t\tsetPart: [],\r\n\t\t\tproduceTime: [],\r\n\t\t\tuseEndDay: [],\r\n\t\t\tlifeCycle: [],\r\n\t\t\tuseDate: [],\r\n\t\t\trepairStatus: [],\r\n\t\t\tstopStatus: [],\r\n\t\t\tpreviousCheckDate: [],\r\n\t\t\tpreviousTestDate: [],\r\n\t\t\tpreviousTakecareDate: [],\r\n\t\t\tnextCheckDate: [],\r\n\t\t\tnextTestDate: [],\r\n\t\t\tnextTakecareDate: [],\r\n\t\t\tleadingPersonName: [],\r\n\t\t\tleadingPersonDepartmentId: [],\r\n\t\t\tsupplyName: [],\r\n\t\t\tuseMemo: [],\r\n\t\t\tisNeedCheck: [],\r\n\t\t\tcheckCycle: [],\r\n\t\t\tcheckWarn: [],\r\n\t\t\tisNeedTest: [],\r\n\t\t\ttestCycle: [],\r\n\t\t\ttestWarn: [],\r\n\t\t\tisNeedTakecare: [],\r\n\t\t\tcheckContent: [],\r\n\t\t\tleadingDepartmentId: [],\r\n\t\t\tcheckPoint: [],\r\n\t\t\talertNum: [],\r\n\t\t\tlockNum: [],\r\n\t\t\tstopReason: [],\r\n\t\t\tafterStopStep: [],\r\n\t\t\tactualStopDate: [],\r\n\t\t\tstopSubmitPersonName: [],\r\n\t\t\tstopSubmitDate: [],\r\n\t\t\trecoveryReason: [],\r\n\t\t\trecoverySubmitDate: [],\r\n\t\t\tactualRecoveryDate: [],\r\n\t\t\tdestoryReason: [],\r\n\t\t\tdestorySubmitDate: [],\r\n\t\t\tactualDestoryDate: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tform.value.delTakecareDetails = deleteAId.value.toString();\r\n\t\t\t\t\tform.value.delTestDetails = deleteBId.value.toString();\r\n\t\t\t\t\tform.value.delRepaireDetails = deleteCId.value.toString();\r\n\t\t\t\t\tform.value.delCheckStandardeDetails = deleteDId.value.toString();\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tdelete form.value.equipmentTypeName;\r\n\t\t\t\t\tdelete form.value.departmentName;\r\n\t\t\t\t\tdelete form.value.leadingPersonDepartmentName;\r\n\t\t\t\t\tdelete form.value.leadingDepartmentName;\r\n\t\t\t\t\tif (titleT.value == '新建') {\r\n\t\t\t\t\t\tdelete form.value.id;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t\t.getequipmentInfoAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t\tdialogVisible.value = false;\r\n\t\t};\r\n\t\tconst activeName = ref('first');\r\n\t\tconst index = ref<any>();\r\n\t\tconst categoryShow = ref();\r\n\t\tconst opencategory = () => {\r\n\t\t\tcategoryShow.value.openDailog();\r\n\t\t};\r\n\t\tconst regionShow = ref();\r\n\t\tconst openRegion = () => {\r\n\t\t\tregionShow.value.openDailog();\r\n\t\t};\r\n\t\tconst UserShow = ref();\r\n\t\tconst openUser = (type: any) => {\r\n\t\t\tUserShow.value.openDailog(type);\r\n\t\t};\r\n\t\tconst maintenanceShow = ref();\r\n\t\tconst openMaintenance = (title: string, data: any) => {\r\n index.value = form.value.takecareDetailList.indexOf(data);\r\n\t\t\tmaintenanceShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst detectShow = ref();\r\n\t\tconst openDetect = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.testDetailList.indexOf(data);\r\n\t\t\tdetectShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst repairShow = ref();\r\n\t\tconst openRepair = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.repaireDetailList.indexOf(data);\r\n\t\t\trepairShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst standardShow = ref();\r\n\t\tconst openStandard = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.checkStandardeDetailList.indexOf(data);\r\n\t\t\tstandardShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst deleteAId = ref([]);\r\n\t\tconst deleteBId = ref([]);\r\n\t\tconst deleteCId = ref([]);\r\n\t\tconst deleteDId = ref([]);\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteAId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteB = (tag: any) => {\r\n\t\t\tform.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteBId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteC = (tag: any) => {\r\n\t\t\tform.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteCId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteD = (tag: any) => {\r\n\t\t\tform.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteDId.value.push(tag.id);\r\n\t\t};\r\n\t\t// 回传\r\n\t\tconst main = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.takecareDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.takecareDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst delect = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.testDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.testDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Repair = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.repaireDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.repaireDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Stand = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.checkStandardeDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.checkStandardeDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst userId = (val: any, type: number) => {\r\n\t\t\tconsole.log(val, type);\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.leadingPersonId = val.uid;\r\n\t\t\t\tform.value.leadingPersonName = val.realName;\r\n\t\t\t} else if (type == 2) {\r\n\t\t\t\tform.value.stopSubmitPersonId = val.uid;\r\n\t\t\t\tform.value.stopSubmitPersonName = val.realName;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Tid = (data: any) => {\r\n\t\t\tform.value.equipmentTypeId = data.id;\r\n\t\t\tform.value.equipmentTypeName = data.typeName;\r\n\t\t\tform.value.positionNum = data.sortNum;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\tTid,\r\n\t\t\tdeepClone,\r\n\t\t\trules,\r\n\t\t\tuserId,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tdeleteAId,\r\n\t\t\tdeleteBId,\r\n\t\t\tdeleteCId,\r\n\t\t\tdeleteDId,\r\n\t\t\tdeleteA,\r\n\t\t\tdeleteB,\r\n\t\t\tdeleteC,\r\n\t\t\tdeleteD,\r\n\t\t\tmain,\r\n\t\t\tindex,\r\n\t\t\tdelect,\r\n\t\t\tRepair,\r\n\t\t\tStand,\r\n\t\t\tresetForm,\r\n\t\t\tsubmitForm,\r\n\t\t\ttitles,\r\n\t\t\tdialogVisible,\r\n\t\t\tdisabled,\r\n\t\t\tDailogtype,\r\n\t\t\tform,\r\n\t\t\topenDailog,\r\n\t\t\tSearch,\r\n\t\t\tactiveName,\r\n\t\t\tcategoryShow,\r\n\t\t\topencategory,\r\n\t\t\tregionShow,\r\n\t\t\topenRegion,\r\n\t\t\tUserShow,\r\n\t\t\topenUser,\r\n\t\t\tmaintenanceShow,\r\n\t\t\topenMaintenance,\r\n\t\t\tdetectShow,\r\n\t\t\topenDetect,\r\n\t\t\trepairShow,\r\n\t\t\topenRepair,\r\n\t\t\tstandardShow,\r\n\t\t\topenStandard,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\ttimeDate,\r\n\t\t\truleFormRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-form-item {\r\n\twidth: 400px;\r\n}\r\n.formType:after {\r\n\tcontent: '';\r\n\twidth: 400px;\r\n}\r\n.formType {\r\n\tpadding: 20px 20px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n}\r\n.el-form .el-form-item:last-of-type {\r\n\tmargin-bottom: 22px !important;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue +--- a/src/components/equipmentDailog/Dailog.vue (revision 1bda425cb245d951bc64ac170e2f6751fb0fcf0e) ++++ b/src/components/equipmentDailog/Dailog.vue (date 1660303400397) +@@ -324,22 +324,8 @@ + </el-table> + </el-tab-pane> + <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"></div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-tab-pane> + </el-tabs> + <template #footer> +@@ -374,8 +360,10 @@ + import { facilityManagementApi } from '/@/api/facilityManagement'; + import { goalManagementApi } from '/@/api/goalManagement'; + import { deepClone } from '/@/utils/other'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, ++ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, ++ detectDailog, repairDailog, standardDailog,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const ruleFormRef = ref<FormInstance>(); +@@ -415,9 +403,6 @@ + repairStatus: '', + + takecareStardardeDetailList: [ +- { +- filePath: '123', +- }, + ], + + nextCheckDate: '', +@@ -528,11 +513,61 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ ++ //初始化日期格式 ++ form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); ++ form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); ++ form.value.actualStopDate = timeC(form.value.actualStopDate); ++ form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); ++ form.value.nextCheckDate = timeC(form.value.nextCheckDate); ++ form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); ++ form.value.nextTestDate = timeC(form.value.nextTestDate); ++ form.value.previousCheckDate = timeC(form.value.previousCheckDate); ++ form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); ++ form.value.previousTestDate = timeC(form.value.previousTestDate); ++ form.value.produceTime = timeC(form.value.produceTime); ++ form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); ++ form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); ++ form.value.useDate = timeC(form.value.useDate); ++ ++ fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) ++ initFileListData() + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].filePath ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ filePath:fileList.value[a].fileName ++ } ++ ) ++ } ++ form.value.takecareStardardeDetailList = formFileList ++ } + const rules = reactive<FormRules>({ + qName: [], + positionNum: [], +@@ -628,6 +663,7 @@ + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; ++ fileList.value = [] + dialogVisible.value = false; + }; + const activeName = ref('first'); +@@ -665,16 +701,7 @@ + standardShow.value.openDailog(title, data); + }; + // 上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -845,6 +872,9 @@ + FullScreen, + timeDate, + ruleFormRef, ++ successUploader, ++ initFileListData, ++ timeC + }; + }, + }); diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54__Default_Changelist_.xml new file mode 100644 index 0000000..75b6123 --- /dev/null +++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54__Default_Changelist_.xml @@ -0,0 +1,4 @@ +<changelist name="Uncommitted_changes_before_Update_at_2022_8_13_13_54_[Default_Changelist]" date="1660370067632" recycled="true" deleted="true"> + <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_13_54_[Default_Changelist]/shelved.patch" /> + <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/13 13:54 [Default Changelist]" /> +</changelist> \ No newline at end of file diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08_\133Default_Changelist\135/shelved.patch" new file mode 100644 index 0000000..8bd144a --- /dev/null +++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08_\133Default_Changelist\135/shelved.patch" @@ -0,0 +1,4259 @@ +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"checkData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"checkData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"checkData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"applyTime\" label=\"整改时间\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip min-width=\"150px\">\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"验收状态\" show-overflow-tooltip min-width=\"150px\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"checkAcceptPerson\" label=\"验收人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 1\" @click=\"onOpenDialogRef('验收', scope.row)\">验收</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"checkData.params.pageIndex\" background v-model:page-size=\"checkData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"checkData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <checkDialog ref=\"checkDialogRef\" @refreshCheck=\"initCheckTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport checkDialog from './components/checkDialog.vue';\r\nimport { Check, Delete, View } from '@element-plus/icons-vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { hiddenCheckApi } from '/@/api/doublePreventSystem/check';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n checkData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'check',\r\n components: { checkDialog, Check, Delete, View },\r\n setup() {\r\n const checkDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n checkData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: 1\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initCheckTableData = async () => {\r\n let res = await hiddenCheckApi().getHiddenCheckList(state.checkData.params);\r\n if (res.data.code === '200') {\r\n state.checkData.data = res.data.data;\r\n state.checkData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n checkDialogRef.value.openCheckDialog(type, value, state.departmentList);\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.checkData.params.pageSize = val;\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.checkData.params.pageIndex = val;\r\n initCheckTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initCheckTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Check,\r\n Delete,\r\n View,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n checkDialog,\r\n checkDialogRef,\r\n initCheckTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (date 1660370066871) +@@ -12,7 +12,12 @@ + <span>整改部门:</span> + <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="checkData.params.rectifyDepId"> </el-cascader> + </div> +- ++ <div class="basic-line"> ++ <span>整改状态:</span> ++ <el-select class="input-box" v-model="checkData.params.dangerStatus" placeholder="整改状态" clearable filterable> ++ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> ++ </el-select> ++ </div> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -120,10 +125,7 @@ + { id: 2, name: '限期整改' } + ], + dangerStatusList: [ +- { id: 0, name: '整改中' }, + { id: 1, name: '待验收' }, +- { id: 2, name: '延期整改' }, +- { id: 4, name: '超期未整改' }, + { id: 9, name: '已验收' } + ] + }); +Index: src/api/doublePreventSystem/rectify/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\n\r\nexport function hiddenRectifyApi() {\r\n return {\r\n // v1\r\n getHiddenRectifyList: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/select/getDangerRectifyPage`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n submitHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/applyReport`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n delayHiddenRectifyTime: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/timeOutRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n deleteHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/delete/deleteDangerRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n getAllHiddenRectifyList: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`,\r\n method: 'post'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/doublePreventSystem/rectify/index.ts b/src/api/doublePreventSystem/rectify/index.ts +--- a/src/api/doublePreventSystem/rectify/index.ts (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/api/doublePreventSystem/rectify/index.ts (date 1660370308913) +@@ -40,6 +40,12 @@ + url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`, + method: 'post' + }); ++ }, ++ getCodeByTime: (date: string) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL + `/prevent/dangerManage/count/byCreateDate?date=${date}`, ++ method: 'get' ++ }); + } + }; + } +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"rectifyData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>隐患状态:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.dangerStatus\" placeholder=\"隐患状态\" filterable clearable>\r\n <el-option v-for=\"item in dangerStatusList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"rectifyData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyTime\" label=\"整改期限\" min-width=\"130px\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <span>{{ scope.row.rectifyTime }}</span>\r\n <span v-if=\"scope.row.dangerStatus === 4\" class=\"overdue-img\">逾期</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患整改状态\" show-overflow-tooltip align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createByUserName\" label=\"创建人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"lastEditUserName\" label=\"最后修改人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtModitify\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('整改', scope.row)\">整改</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Edit\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('延期', scope.row)\">延期</el-button>\r\n <el-button size=\"small\" text type=\"danger\" :icon=\"Delete\" @click=\"onDelHiddenRectify(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"rectifyData.params.pageIndex\" background v-model:page-size=\"rectifyData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"rectifyData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <rectifyDialog ref=\"rectifyDialogRef\" @refreshRectify=\"initRectifyTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport rectifyDialog from './components/rectifyDialog.vue';\r\nimport { Edit, Delete, Check, View } from '@element-plus/icons-vue';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n rectifyData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'rectify',\r\n components: { rectifyDialog, Edit, Delete, View },\r\n setup() {\r\n const rectifyDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n rectifyData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: null\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initRectifyTableData = async () => {\r\n let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params);\r\n if (res.data.code === '200') {\r\n state.rectifyData.data = res.data.data;\r\n state.rectifyData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n rectifyDialogRef.value.openRectifyDialog(type, value, state.departmentList);\r\n };\r\n // 删除\r\n const onDelHiddenRectify = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该隐患整改,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await hiddenRectifyApi().deleteHiddenRectify({ id: row.id });\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '删除成功'\r\n });\r\n await initRectifyTableData();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.rectifyData.params.pageSize = val;\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.rectifyData.params.pageIndex = val;\r\n initRectifyTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initRectifyTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Edit,\r\n View,\r\n Check,\r\n Delete,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onDelHiddenRectify,\r\n onHandleCurrentChange,\r\n rectifyDialog,\r\n rectifyDialogRef,\r\n initRectifyTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n.overdue-img {\r\n position: absolute;\r\n background-color: #f56c6c;\r\n border-radius: 4px;\r\n color: #fff;\r\n display: inline-block;\r\n font-size: 12px;\r\n height: 21px;\r\n line-height: 18px;\r\n text-align: center;\r\n white-space: nowrap;\r\n border: 1px solid #fff;\r\n transform: scale(0.8);\r\n padding: 1px 3px 0 3px;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (date 1660381672775) +@@ -3,6 +3,19 @@ + <el-card shadow="hover"> + <div class="system-user-search mb15"> + <div class="basic-line"> ++ <div style="display: inline-block">整改编号:</div> ++ ++ <div style="display: inline-block"> ++ <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" v-on:input="checkDate($event)" placeholder="整改编号(前八位日期)"> </el-autocomplete> ++ <i class="el-icon-date"></i> ++ </div> ++ <!-- <div style="display: inline-block">--> ++ <!-- <el-button>--> ++ <!-- <el-date-picker value-format="YYYY-MM-DD" :disabled-date="disabledDate" v-model="dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker>--> ++ <!-- </el-button>--> ++ <!-- </div>--> ++ </div> ++ <div class="basic-line"> + <span>整改类型:</span> + <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> + <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> +@@ -18,6 +31,7 @@ + <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </div> ++ <i class="el-icon-date"></i> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -27,6 +41,7 @@ + </div> + <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> + <el-table-column type="index" label="序号" width="60" /> ++ <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> +@@ -72,7 +87,7 @@ + </template> + + <script lang="ts"> +-import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; ++import { toRefs, reactive, onMounted, ref, defineComponent, computed } from 'vue'; + import { ElMessageBox, ElMessage } from 'element-plus'; + import rectifyDialog from './components/rectifyDialog.vue'; + import { Edit, Delete, Check, View } from '@element-plus/icons-vue'; +@@ -94,6 +109,7 @@ + rectifyData: { + data: Array<TableData>; + total: number; ++ disabled: boolean; + loading: boolean; + params: { + pageIndex: number; +@@ -101,16 +117,24 @@ + rectifyType: number | null; + rectifyDepId: number | null; + dangerStatus: number | null; ++ serialCode: string; + }; + }; + rectifyTypeList: Array<enumType>; + dangerStatusList: Array<enumType>; + departmentList: []; ++ disabledDate: any; ++ serialCodeList: Array<type>; ++ dateTime: string; + } + interface enumType { + id: number; + name: string; + } ++interface type { ++ id: number; ++ value: number; ++} + + export default defineComponent({ + name: 'rectify', +@@ -121,16 +145,23 @@ + rectifyData: { + data: [], + total: 0, ++ disabled: true, + loading: false, + params: { + pageIndex: 1, + pageSize: 10, + rectifyType: null, + rectifyDepId: null, +- dangerStatus: null ++ dangerStatus: null, ++ serialCode: '' + } ++ }, ++ dateTime: '', ++ disabledDate: (time: any) => { ++ return time.getTime() > new Date().getTime(); + }, + departmentList: [], ++ serialCodeList: [], + rectifyTypeList: [ + { id: 1, name: '即查即改' }, + { id: 2, name: '限期整改' } +@@ -144,6 +175,87 @@ + ] + }); + ++ const querySearch = () => { ++ return state.serialCodeList.filter((item) => item.value.toString().indexOf(state.rectifyData.params.serialCode) !== -1); ++ }; ++ const handleChange = (value: string): Boolean => { ++ let year = value.substr(0, 4); ++ let month = value.substr(4, 2); ++ let day = value.substr(6, 2); ++ if (Number(year) < 1000 || Number(year) > new Date().getFullYear()) { ++ return false; ++ } ++ if (Number(month) > 12 || month === '00') { ++ return false; ++ } ++ let leapYearTab = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ let notLeapYearTab = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ if (isLeapYear(year)) { ++ const maxDay = leapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } else { ++ const maxDay = notLeapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } ++ return true; ++ }; ++ ++ const isLeapYear = (value: string) => { ++ return Number(value) % 4 === 0; ++ }; ++ ++ const checkDate = async (value: string) => { ++ if (value.length >= 8) { ++ if (handleChange(value.substr(0, 8))) { ++ let res = await hiddenRectifyApi().getCodeByTime(value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2)); ++ if (res.data.code === '200' && res.data.data > 0) { ++ let date = parseInt(value.substr(0, 8) + '0000'); ++ for (let i = 0; i < res.data.data; i++) { ++ state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ } ++ } else if (res.data.code === '200' && res.data.data === 0) { ++ ElMessage({ ++ type: 'warning', ++ message: '当天无隐患上报' ++ }); ++ } ++ } else { ++ state.rectifyData.params.serialCode = ''; ++ ElMessage({ ++ type: 'warning', ++ message: '前八位请输入正确得日期格式' ++ }); ++ } ++ } else { ++ } ++ // if (state.dateTime === '' || state.dateTime === null) { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // } else { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // let res = await hiddenRectifyApi().getCodeByTime(state.dateTime); ++ // if (res.data.code === '200' && res.data.data > 0) { ++ // state.rectifyData.disabled = false; ++ // let date = parseInt(state.dateTime.replaceAll('-', '') + '0000'); ++ // for (let i = 0; i < res.data.data; i++) { ++ // state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ // } ++ // state.rectifyData.params.serialCode = state.dateTime.replaceAll('-', ''); ++ // } else if (res.data.code === '200' && res.data.data === 0) { ++ // state.rectifyData.disabled = true; ++ // ElMessage({ ++ // type: 'warning', ++ // message: '当天无隐患上报' ++ // }); ++ // } ++ // } ++ }; ++ + // 初始化表格数据 + const initRectifyTableData = async () => { + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); +@@ -233,8 +345,10 @@ + View, + Check, + Delete, ++ querySearch, + parseNumber, + handleSearch, ++ checkDate, + onOpenDialogRef, + onHandleSizeChange, + onDelHiddenRectify, +@@ -274,4 +388,7 @@ + :deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); + } ++:deep(.el-input-group__prepend) { ++ padding: 0; ++} + </style> +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-add-menu-container\">\r\n <el-dialog :title=\"title\" v-model=\"isShowRectifyDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"rectifyForm\" :rules=\"rectifyFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改说明\" prop=\"rectifyInfo\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"rectifyForm.rectifyInfo\" placeholder=\"请输入整改说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改时间\" prop=\"applyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"rectifyForm.applyTime\" placeholder=\"请选择整改时间\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"isShowRectifyDialog = !isShowRectifyDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitRectify\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowDelayDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"delayForm\" :rules=\"delayFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"延期说明\" prop=\"timeOutDesc\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"delayForm.timeOutDesc\" placeholder=\"请输入延期说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改期限\" prop=\"rectifyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"delayForm.rectifyTime\" placeholder=\"请选择整改期限\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowDelayDialog = !isShowDelayDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitDelay\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowCheckInfoDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"checkInfoForm\" ref=\"checkFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改内容说明\" prop=\"rectifyDesc\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"textarea\" :rows=\"2\" v-model.trim=\"checkInfoForm.rectifyDesc\" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改类型\" prop=\"rectifyType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.rectifyType\" readonly>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改部门\" prop=\"rectifyDepId\">\r\n <el-cascader @change=\"achieveUserList\" :disabled=\"!disabled\" :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-add\" v-model=\"checkInfoForm.rectifyDepId\" readonly> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改责任人\" prop=\"liablePersonId\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.liablePersonId\" clearable filterable readonly>\r\n <el-option v-for=\"item in userList\" :key=\"item.uid\" :label=\"item.username\" :value=\"item.uid\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改资金\" prop=\"dangerResult\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"number\" v-model=\"checkInfoForm.cost\" readonly> </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.createByUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtCreate\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.lastEditUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtModitify\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { getUserByDepartment } from '/@/assets/methods';\r\n\r\ninterface stateType {\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n isShowRectifyDialog: Boolean;\r\n isShowDelayDialog: Boolean;\r\n isShowCheckInfoDialog: Boolean;\r\n rectifyForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyInfo: string | null;\r\n applyTime: string | null;\r\n };\r\n delayForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyTime: string | null;\r\n timeOutDesc: string | null;\r\n };\r\n title: string;\r\n departmentList: [];\r\n userList: [];\r\n rectifyTypeList: Array<rectifyTypeState>;\r\n rectifyFormRules: {};\r\n delayFormRules: {};\r\n checkInfoForm: {\r\n rectifyDepId: number | null;\r\n liablePersonId: number | null;\r\n };\r\n}\r\ninterface rectifyTypeState {\r\n regionType: string;\r\n id: number;\r\n}\r\n\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { ElMessage } from 'element-plus';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nexport default {\r\n name: 'rectifyDialog',\r\n setup(props: any, context: any) {\r\n const rectifyFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n rectifyTypeList: [],\r\n departmentList: [],\r\n userList: [],\r\n isShowCheckInfoDialog: false,\r\n checkInfoForm: {\r\n rectifyDepId: null,\r\n liablePersonId: null\r\n },\r\n isShowDelayDialog: false,\r\n isShowRectifyDialog: false,\r\n rectifyForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyInfo: null,\r\n applyTime: null\r\n },\r\n delayForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyTime: null,\r\n timeOutDesc: null\r\n },\r\n rectifyFormRules: {\r\n rectifyInfo: [{ required: true, message: '请填写整改说明', trigger: 'blur' }],\r\n applyTime: [{ required: true, message: '请选择整改时间', trigger: 'change' }]\r\n },\r\n delayFormRules: {\r\n timeOutDesc: [{ required: true, message: '请填写延期说明', trigger: 'blur' }],\r\n rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const openRectifyDialog = async (type: string, value: object, departmentList: []) => {\r\n state.departmentList = departmentList;\r\n if (type === '延期') {\r\n state.title = '延期';\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.isShowDelayDialog = true;\r\n const delayForm = JSON.parse(JSON.stringify(value));\r\n state.delayForm.id = delayForm.id;\r\n state.delayForm.dangerManagerId = delayForm.dangerManagerId;\r\n state.delayForm.timeOutDesc = null;\r\n state.delayForm.rectifyTime = null;\r\n } else if (type === '查看') {\r\n state.title = '查看';\r\n state.personTime = true;\r\n state.isShowCheckInfoDialog = true;\r\n state.checkInfoForm.rectifyDepId = JSON.parse(JSON.stringify(value)).rectifyDepId;\r\n await achieveUserList();\r\n state.checkInfoForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '整改';\r\n state.isShowRectifyDialog = true;\r\n const rectifyForm = JSON.parse(JSON.stringify(value));\r\n state.rectifyForm.id = rectifyForm.id;\r\n state.rectifyForm.dangerManagerId = rectifyForm.dangerManagerId;\r\n state.rectifyForm.rectifyInfo = null;\r\n state.rectifyForm.applyTime = null;\r\n }\r\n };\r\n\r\n //提交整改\r\n const submitRectify = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().submitHiddenRectify(state.rectifyForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '整改提交成功',\r\n duration: 2000\r\n });\r\n state.isShowRectifyDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n //提交延期\r\n const submitDelay = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().delayHiddenRectifyTime(state.delayForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '隐患延期成功',\r\n duration: 2000\r\n });\r\n state.isShowDelayDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n const achieveUserList = async () => {\r\n state.checkInfoForm.liablePersonId = null;\r\n const user: unknown = await getUserByDepartment(state.checkInfoForm.rectifyDepId);\r\n state.userList = user as [];\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n rectifyFormRef,\r\n submitDelay,\r\n achieveUserList,\r\n submitRectify,\r\n openRectifyDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (date 1660370066895) +@@ -10,7 +10,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="整改时间" prop="applyTime"> +- <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> ++ <el-date-picker type="datetime" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> + </el-form-item> + </el-col> + </el-row> +@@ -125,6 +125,8 @@ + rectifyTime: string | null; + timeOutDesc: string | null; + }; ++ disabledDate: any; ++ rangeTime: any; + title: string; + departmentList: []; + userList: []; +@@ -168,6 +170,13 @@ + rectifyInfo: null, + applyTime: null + }, ++ disabledDate: (time: any) => { ++ const r = new Date().getTime(); ++ return time.getTime() > new Date().getTime(); ++ }, ++ rangeTime: () => { ++ return '15:15:14'; ++ }, + delayForm: { + id: null, + dangerManagerId: null, +Index: src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"900px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"emergencyPlanName\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.emergencyPlanName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillAddress\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.departmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.departmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"0\"></el-option>\r\n <el-option label=\"桌面\" value=\"1\"></el-option>\r\n <el-option label=\"专项\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"drillName\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.drillName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.makingPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.drillPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"修改时间\" prop=\"updateDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.updateDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserUid\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.makingDepartmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.makingDepartmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"planUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.planUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实际到场人员\" prop=\"executeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.executeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练过程描述\" prop=\"processDesc\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.processDesc\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写演练过程描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录人\" prop=\"recordUserName\" >\r\n <el-input\r\n v-model=\"ruleForm.recordUserName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录时间\" prop=\"drillRecordDate\">\r\n <el-date-picker\r\n v-model=\"ruleForm.drillRecordDate\"\r\n class=\"w100\"\r\n type=\"datetime\"\r\n placeholder=\"选择日期时间\"\r\n :disabled=\"true\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <div class=\"el-divider--horizontal\">\r\n <div class=\"el-divider__text\">\r\n <h3>评价</h3>\r\n </div>\r\n </div>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"evaluationUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.evaluationUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"disabled\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-适宜性\" prop=\"suitable\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.suitable\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部能够执行\" value=\"1\"></el-option>\r\n <el-option label=\"全部不能够执行\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-充分性\" prop=\"sufficient\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.sufficient\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"完全满足应急要求\" value=\"1\"></el-option>\r\n <el-option label=\"不完全满足应急要求\" value=\"2\"></el-option>\r\n <el-option label=\"完全不满足应急要求\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"人员到位情况\" prop=\"arrival\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.arrival\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"迅速准确,基本按时到位\" value=\"1\"></el-option>\r\n <el-option label=\"未按时到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-现场物资\" prop=\"supplies\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.supplies\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"现场物资充分,全部有效\" value=\"1\"></el-option>\r\n <el-option label=\"现场物资不充分\" value=\"2\"></el-option>\r\n <el-option label=\"现场没有物资\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-个人防护\" prop=\"protection\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.protection\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部人员防护到位\" value=\"1\"></el-option>\r\n <el-option label=\"人员未防护到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-整体组织\" prop=\"whole\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.whole\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"协调基本顺利,能够满足要求\" value=\"1\"></el-option>\r\n <el-option label=\"协调不顺利\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-疏散组分工\" prop=\"division\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.division\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"安全,快速\" value=\"1\"></el-option>\r\n <el-option label=\"安全,不快速\" value=\"2\"></el-option>\r\n <el-option label=\"不安全,快速\" value=\"3\"></el-option>\r\n <el-option label=\"不安全,不快速\" value=\"4\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实战效果评价\" prop=\"effect\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.effect\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"基本达到目的,部分环节有待改进\" value=\"1\"></el-option>\r\n <el-option label=\"未达到目的\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-报告上级\" prop=\"report\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.report\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"报告及时\" value=\"1\"></el-option>\r\n <el-option label=\"报告不及时\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-安全部门\" prop=\"safety\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.safety\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-救援后勤部门\" prop=\"rescue\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.rescue\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-警戒撤离配合\" prop=\"evacuate\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.evacuate\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求配合\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求配合\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"是否需要修改应急预案\" prop=\"needModify\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.needModify\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"是\" :value=\"true\"></el-option>\r\n <el-option label=\"否\" :value=\"false\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"存在问题和改进措施\" prop=\"questionAndImprove\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.questionAndImprove\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写备注信息\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"修改内容\" prop=\"modifyContent\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.modifyContent\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写修改内容\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"附件列表\">\r\n <el-upload\r\n v-model:file-list=\"ruleForm.userList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button v-if=\"!disabled\" size=\"default\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\"/>\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"selectUser\"/>\r\n<!-- <RegionsDialog ref=\"openRef\"/>-->\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport {\r\n UploadUserFile,\r\n FormInstance,\r\n ElMessage\r\n} from 'element-plus'\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport UserSelections from \"/@/components/userSelections/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport {emergencyDrillEvaluationApi} from \"/@/api/contingencyManagement/emergencyDrillEvaluation\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nexport default defineComponent({\r\n name: 'approvalProgress',\r\n components: {\r\n UserSelections,\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n //定义表单\r\n const realRuleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看演练实施评价') {\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n //演练人员\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n //演练负责人员\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n //实际到场人员\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n //演练负责人(评价)\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施查看评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n };\r\n // 关闭弹窗\r\n const closeDialog = () => {\r\n isShowDialog.value = false;\r\n };\r\n // 取消\r\n const onCancel = () => {\r\n closeDialog();\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ,\r\n ]\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = [\r\n\r\n ]\r\n // 必填项提示\r\n // const rules = reactive<FormRules>({\r\n // teamName: [\r\n // {\r\n // required: true,\r\n // message: '队伍名称不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLevel: [\r\n // {\r\n // required: true,\r\n // message: '队伍级别不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLeader: [\r\n // {\r\n // required: true,\r\n // message: '队伍负责人不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // responsibleDepartment: [\r\n // {\r\n // required: true,\r\n // message: '负责人部门不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamPhone: [\r\n // {\r\n // required: true,\r\n // message: '负责人手机不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // telephone: [\r\n // {\r\n // required: true,\r\n // message: '固定电话不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // })\r\n\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n //演练负责人(评价)\r\n ruleForm.value.userList = ruleForm.value.evaluationUserList\r\n\r\n\r\n\r\n realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId\r\n realRuleForm.value.suitable=ruleForm.value.suitable\r\n realRuleForm.value.sufficient=ruleForm.value.sufficient\r\n realRuleForm.value.arrival=ruleForm.value.arrival\r\n realRuleForm.value.supplies=ruleForm.value.supplies\r\n realRuleForm.value.protection=ruleForm.value.protection\r\n realRuleForm.value.whole=ruleForm.value.whole\r\n realRuleForm.value.division=ruleForm.value.division\r\n realRuleForm.value.effect=ruleForm.value.effect\r\n realRuleForm.value.report=ruleForm.value.report\r\n realRuleForm.value.safety=ruleForm.value.safety\r\n realRuleForm.value.rescue=ruleForm.value.rescue\r\n realRuleForm.value.evacuate=ruleForm.value.evacuate\r\n realRuleForm.value.needModify=ruleForm.value.needModify\r\n realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove\r\n realRuleForm.value.modifyContent=ruleForm.value.modifyContent\r\n realRuleForm.value.fileList=ruleForm.value.fileList\r\n if(ruleForm.value.userList){\r\n for(var a = 0;a<ruleForm.value.userList.length;a++){\r\n realRuleForm.value.userList.push({\r\n userUid:ruleForm.value.userList[a].userUid,\r\n userName:ruleForm.value.userList[a].userName\r\n })\r\n }\r\n }\r\n // console.log(ruleForm.value.evaluationUserList)\r\n // ruleForm.value.userList=[]\r\n // for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){\r\n // // += res.data.data.evaluationUserList[a].userName+';'\r\n // }\r\n if (title == '演练实施评价') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n // console.log(ruleForm.value)\r\n emergencyDrillEvaluationApi()\r\n .editEmergencyDrillEvaluation(realRuleForm.value)\r\n // emergencyDrillExecuteApi()\r\n // .editEmergencyDrillExecute(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '评价成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n isShowDialog.value = false;\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n drillRecordDate: '', // 演练记录时间\r\n drillPlanId: '', //演练计划ID\r\n drillName:'',\r\n recordUserUid: '', // 记录人ID\r\n processDesc: '', // 演练过程描述\r\n userList: [\r\n {\r\n userUid: '',\r\n },\r\n {\r\n userUid: '',\r\n }\r\n ]\r\n };\r\n }\r\n }\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt=()=>{\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.drillPlanId=e.id\r\n };\r\n // 选择区域弹窗\r\n const openRef=ref()\r\n const regionsDialog=()=>{\r\n openRef.value.openDailog()\r\n }\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog(0);\r\n };\r\n\r\n const selectUser = (e) =>{\r\n ruleForm.value.evaluationUserListString=''\r\n ruleForm.value.evaluationUserList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.evaluationUserList.push(\r\n {\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.evaluationUserListString+=e[a].realName+';'\r\n }\r\n console.log(ruleForm.value.evaluationUserList)\r\n }\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n closeDialog,\r\n isShowDialog,\r\n onCancel,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n onUser,\r\n ruleFormRef,\r\n // rules,\r\n openUser,\r\n userRef,\r\n regionsDialog,\r\n openRef,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n resetForm,\r\n titles,\r\n disabled,\r\n emit,\r\n propse,\r\n department,\r\n newTreeList,\r\n selectUser,\r\n submitForm,\r\n realRuleForm\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.el-form .el-form-item{\r\n margin-bottom: 18px !important;\r\n display: flex;\r\n align-items: flex-start;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label{\r\n text-align: right;\r\n height: 100%;\r\n}\r\n.textarea{\r\n height: 90px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 90px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n.el-divider--horizontal {\r\n display: block;\r\n height: 1px;\r\n width: 100%;\r\n margin: 24px 0;\r\n background-color: #dcdfe6;\r\n position: relative;\r\n}\r\n.el-divider__text {\r\n position: absolute;\r\n background-color: #fff;\r\n padding: 0 20px;\r\n color: #303133;\r\n left: 50%;\r\n font-weight: 500;\r\n font-size: 14px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (date 1660370066904) +@@ -167,20 +167,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -368,20 +355,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="附件列表"> +- <el-upload +- v-model:file-list="ruleForm.userList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -421,12 +396,14 @@ + import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" + import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; + import {goalManagementApi} from "/@/api/goalManagement"; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'approvalProgress', + components: { + UserSelections, + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -512,6 +489,8 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施评价'){ +@@ -548,6 +527,8 @@ + } + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施查看评价'){ +@@ -584,15 +565,41 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } +- ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + } + }); + } ++ + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<ruleForm.value.planFileList.length;a++){ ++ ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName ++ } ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + }; + // 关闭弹窗 + const closeDialog = () => { +@@ -605,7 +612,7 @@ + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -663,6 +670,9 @@ + // }) + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + //演练负责人(评价) + ruleForm.value.userList = ruleForm.value.evaluationUserList + +@@ -861,7 +871,9 @@ + newTreeList, + selectUser, + submitForm, +- realRuleForm ++ realRuleForm, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -910,4 +922,4 @@ + font-weight: 500; + font-size: 14px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/panManagement/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-form :inline=\"true\" class=\"demo-form-inline\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.name\" placeholder=\"预案名称\" style=\"max-width: 215px\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select size=\"default\" v-model=\"listQuery.searchParams.type\" placeholder=\"请选择预案类型\" class=\"ml10\" style=\"max-width: 215px\">\r\n\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\"> 查询 </el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-form>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Plus /> </el-icon\r\n\t\t\t\t\t\t>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Edit /> </el-icon\r\n\t\t\t\t\t\t>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onabolishLibrary\"> 废止库 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Upload />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Download />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Refresh />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column prop=\"name\" label=\"预案名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column prop=\"type\" label=\"预案类型\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.type == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.type == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.type == 3\">专项应急预案</span>\r\n <span v-if=\"scope.row.type == 4\">其他预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"level\" label=\"预案级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.level == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.level == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.level == 3\">专项应急预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"releaseDate\" label=\"发布实施日期\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"isDialogFormVisible(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPlay /> </el-icon\r\n\t\t\t\t\t\t\t>启动\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"abolish(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPause /> </el-icon\r\n\t\t\t\t\t\t\t>废止\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<EditPen /> </el-icon\r\n\t\t\t\t\t\t\t>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 0 || scope.row.approveStatus === null\"\r\n\t\t\t\t\t\t\t@click=\"initiateApproval(scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t发起审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === true\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('修改',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === false\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('详情',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n 查看审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" v-if=\"scope.row.approveStatus === 3\" @click=\"onApprovalProcess(scope.row.id)\">\r\n\t\t\t\t\t\t\t查看审批流程\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"jumpFrom(0)\">-->\r\n\t\t\t\t\t\t<!-- <el-icon style=\"margin-right: 5px;\">-->\r\n\t\t\t\t\t\t<!-- <EditPen />-->\r\n\t\t\t\t\t\t<!-- </el-icon>修改-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"abolish(0)\">-->\r\n\t\t\t\t\t\t<!-- 发起审批-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t\t>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tclass=\"mt15\"\r\n\t\t\t\t\tbackground\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"onHandleSizeChange\"\r\n\t\t\t\t\t@current-change=\"onHandleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<AbolishLibrary ref=\"abolishRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<InitiateApproval ref=\"initiateApprovalRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<Approval ref=\"approvalRef\" @myAdd=\"onMyAdd\" />\r\n <ApprovalProcess ref=\"processRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<!-- <StartUp ref=\"startRef\" @myAdd=\"startUp\"/>-->\r\n\t\t<el-dialog v-model=\"dialogFormVisible\" width=\"30%\" title=\"启动\" :fullscreen=\"full\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" label-width=\"80px\">\r\n\t\t\t\t<el-form-item label=\"备注\">\r\n\t\t\t\t\t<el-input v-model=\"form.remark\" type=\"textarea\" autocomplete=\"off\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"dialogFormVisible = false\">取消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"onDetermine\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\n// import {useRouter} from \"vue-router\"\r\nimport type {} from // FormInstance,\r\n'element-plus';\r\nimport { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';\r\n// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';\r\nimport AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';\r\nimport ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';\r\nimport InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';\r\nimport Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';\r\n// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';\r\n\r\nexport default defineComponent({\r\n\tname: 'systemUser',\r\n\tcomponents: {\r\n\t\tOpenAdd,\r\n\t\t// StartUp,\r\n\t\tInitiateApproval,\r\n\t\tAbolishLibrary,\r\n\t\tApproval,\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tVideoPause,\r\n\t\tVideoPlay,\r\n ApprovalProcess,\r\n\t\t// UpData,\r\n\t\temergencyPlanApi,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tname: '',\r\n\t\t\t\ttype: '',\r\n\t\t\t\tabolishStatus: false,\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst onSubmit = async () => {\r\n\t\t\tlet res = await emergencyPlanApi().getEmergencyPlanList(listQuery);\r\n\t\t\tif (res.data.code === '200') {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.name = '';\r\n\t\t\tlistQuery.searchParams.type = '';\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\r\n\t\t// 上传\r\n\t\t// const upShow=ref()\r\n\t\t// const upButton=()=>{\r\n\t\t// upShow.value.openDialog()\r\n\t\t// }\r\n\t\t// 启动弹窗\r\n\t\tconst isDialogFormVisible = (data: any) => {\r\n\t\t\tdialogFormVisible.value = true;\r\n\t\t\tform.value.planId = data;\r\n\t\t};\r\n\t\tconst dialogFormVisible = ref(false);\r\n\t\tconst form = ref({\r\n\t\t\tremark: '',\r\n\t\t});\r\n\t\tconst onDetermine = () => {\r\n\t\t\tdialogFormVisible.value = false;\r\n\t\t\temergencyPlanLogApi()\r\n\t\t\t\t.addEmergencyPlanLog(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tremark: '',\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 打开新增用户弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建应急预案管理', false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tonSubmit();\r\n\t\t\t} else {\r\n\t\t\t\tonSubmit();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 打开修改应急预案管理弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看应急预案管理', row, true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改应急预案管理', row, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//打开废止库弹窗\r\n\t\tconst abolishRef = ref();\r\n\t\tconst onabolishLibrary = () => {\r\n\t\t\tabolishRef.value.openDialog();\r\n\t\t};\r\n\t\t// 废止\r\n\t\tconst abolish = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定要废止所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.EmergencyTeam(data)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\t// 删除用户\r\n\t\tconst onRowDel = (id: number) => {\r\n\t\t\tlet arr = [];\r\n\t\t\tarr.push(id);\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\tconst deleteAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeleteAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(deleteAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst onHandleSizeChange = (val: number) => {\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst onHandleCurrentChange = (val: number) => {\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\r\n\t\t// const router=useRouter()\r\n\t\t// 修改跳转\r\n\t\t// const jumpFrom=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/processForm\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批跳转\r\n\t\t// const abolish=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/abolishDialog\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批弹窗\r\n\t\tconst initiateApprovalRef = ref();\r\n\t\tconst initiateApproval = (row: object) => {\r\n\t\t\tinitiateApprovalRef.value.openDialog('发起审批',row, true);\r\n\t\t};\r\n\t\t// 审批\r\n\t\tconst approvalRef = ref();\r\n\t\tconst onApproval = (val: string,row: object,id) => {\r\n if(val=='详情'){\r\n approvalRef.value.openDialog('查看审批', row, true);\r\n } else {\r\n approvalRef.value.openDialog('审批', row, false,id);\r\n }\r\n\t\t};\r\n // 审批流程\r\n const processRef = ref();\r\n const onApprovalProcess = (row:object,id) => {\r\n processRef.value.openDialog(row,id);\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 页面加载时\r\n\t\tonMounted(() => {\r\n\t\t\tonSubmit();\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttableData,\r\n\t\t\tonSubmit,\r\n\t\t\tonOpenAdd, //新增\r\n\t\t\taddRef,\r\n\t\t\tonabolishLibrary,\r\n\t\t\tabolishRef,\r\n\t\t\tabolish,\r\n\t\t\tonRowDel,\r\n\t\t\tonHandleSizeChange,\r\n\t\t\tonHandleCurrentChange,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tlistQuery,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\tsubmitReset,\r\n\t\t\tonMounted,\r\n\t\t\tdeleteAll,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDeleteAll,\r\n\t\t\tdialogFormVisible,\r\n\t\t\tisDialogFormVisible,\r\n\t\t\tform,\r\n\t\t\temit,\r\n\t\t\tonDetermine,\r\n\t\t\tonEdit,\r\n\t\t\tinitiateApproval,\r\n\t\t\tinitiateApprovalRef,\r\n\t\t\tonApproval,\r\n\t\t\tapprovalRef,\r\n onApprovalProcess,\r\n processRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 10px;\r\n}\r\n.el-form .el-form-item {\r\n\tmargin-bottom: 0 !important;\r\n}\r\n.el-button--text {\r\n\tmargin-right: 15px;\r\n}\r\n.el-select {\r\n\twidth: 300px;\r\n}\r\n.el-input {\r\n\twidth: 300px;\r\n}\r\n.dialog-footer button:first-child {\r\n\tmargin-right: 10px;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer {\r\n\tborder-top: 1px solid #e8e8e8;\r\n\tborder-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n\tborder-bottom: 1px solid #e8e8e8;\r\n\tmargin-right: 0;\r\n\tborder-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n\tbackground-color: #f6f7fa;\r\n\tfont-weight: 400;\r\n\tcolor: #909399;\r\n}\r\n.el-table .sort-caret.ascending {\r\n\tborder-bottom-color: #c0c4cc;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue +--- a/src/views/contingencyManagement/panManagement/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/panManagement/index.vue (date 1660370066925) +@@ -23,19 +23,13 @@ + <div class="button_Line"> + <div class="button_Left"> + <el-button size="default" type="primary" @click="onOpenAdd"> +- <el-icon> +- <Plus /> </el-icon +- >新建 ++ <el-icon> <Plus /> </el-icon>新建 + </el-button> + <el-button size="default" type="warning" plain :disabled="warning"> +- <el-icon> +- <Edit /> </el-icon +- >修改 ++ <el-icon> <Edit /> </el-icon>修改 + </el-button> + <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </el-button> + </div> +@@ -61,37 +55,31 @@ + <el-table-column type="selection" width="55" /> + <el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.type == 1">综合应急预案</span> +- <span v-if="scope.row.type == 2">现场处置方案</span> +- <span v-if="scope.row.type == 3">专项应急预案</span> +- <span v-if="scope.row.type == 4">其他预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.type == 1">综合应急预案</span> ++ <span v-if="scope.row.type == 2">现场处置方案</span> ++ <span v-if="scope.row.type == 3">专项应急预案</span> ++ <span v-if="scope.row.type == 4">其他预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="level" label="预案级别" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.level == 1">综合应急预案</span> +- <span v-if="scope.row.level == 2">现场处置方案</span> +- <span v-if="scope.row.level == 3">专项应急预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.level == 1">综合应急预案</span> ++ <span v-if="scope.row.level == 2">现场处置方案</span> ++ <span v-if="scope.row.level == 3">专项应急预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="isDialogFormVisible(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPlay /> </el-icon +- >启动 ++ <el-icon style="margin-right: 5px"> <VideoPlay /> </el-icon>启动 + </el-button> + <el-button size="small" text type="primary" @click="abolish(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPause /> </el-icon +- >废止 ++ <el-icon style="margin-right: 5px"> <VideoPause /> </el-icon>废止 + </el-button> + <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <EditPen /> </el-icon +- >修改 ++ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改 + </el-button> + <el-button + size="small" +@@ -107,7 +95,7 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true" +- @click="onApproval('修改',scope.row.approveId,scope.row.id)" ++ @click="onApproval('修改', scope.row.approveId, scope.row.id)" + > + 审批 + </el-button> +@@ -116,9 +104,9 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false" +- @click="onApproval('详情',scope.row.approveId,scope.row.id)" ++ @click="onApproval('详情', scope.row.approveId, scope.row.id)" + > +- 查看审批 ++ 查看审批 + </el-button> + <el-button size="small" text type="primary" v-if="scope.row.approveStatus === 3" @click="onApprovalProcess(scope.row.id)"> + 查看审批流程 +@@ -132,9 +120,7 @@ + <!-- 发起审批--> + <!-- </el-button>--> + <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + </template> + </el-table-column> +@@ -159,7 +145,7 @@ + <AbolishLibrary ref="abolishRef" @myAdd="onMyAdd" /> + <InitiateApproval ref="initiateApprovalRef" @myAdd="onMyAdd" /> + <Approval ref="approvalRef" @myAdd="onMyAdd" /> +- <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> ++ <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> + <!-- <StartUp ref="startRef" @myAdd="startUp"/>--> + <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> +@@ -212,7 +198,7 @@ + Refresh, + VideoPause, + VideoPlay, +- ApprovalProcess, ++ ApprovalProcess, + // UpData, + emergencyPlanApi, + }, +@@ -469,22 +455,22 @@ + // 发起审批弹窗 + const initiateApprovalRef = ref(); + const initiateApproval = (row: object) => { +- initiateApprovalRef.value.openDialog('发起审批',row, true); ++ initiateApprovalRef.value.openDialog('发起审批', row, true); + }; + // 审批 + const approvalRef = ref(); +- const onApproval = (val: string,row: object,id) => { +- if(val=='详情'){ +- approvalRef.value.openDialog('查看审批', row, true); +- } else { +- approvalRef.value.openDialog('审批', row, false,id); +- } ++ const onApproval = (val: string, row: object, id) => { ++ if (val == '详情') { ++ approvalRef.value.openDialog('查看审批', row, true); ++ } else { ++ approvalRef.value.openDialog('审批', row, false, id); ++ } + }; +- // 审批流程 +- const processRef = ref(); +- const onApprovalProcess = (row:object,id) => { +- processRef.value.openDialog(row,id); +- }; ++ // 审批流程 ++ const processRef = ref(); ++ const onApprovalProcess = (row: object, id) => { ++ processRef.value.openDialog(row, id); ++ }; + + //全屏 + const full = ref(false); +@@ -535,8 +521,8 @@ + initiateApprovalRef, + onApproval, + approvalRef, +- onApprovalProcess, +- processRef, ++ onApprovalProcess, ++ processRef, + }; + }, + }); +@@ -625,4 +611,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetDecompositionYear/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title,ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\tadd,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue +--- a/src/views/goalManagement/targetDecompositionYear/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetDecompositionYear/index.vue (date 1660370066930) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="tableData.targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -103,6 +103,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"目标分解\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"formUp.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" property=\"dutyDepartmentName\" label=\"责任部门\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"value\" label=\"考核指标\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makerDepartmentName\" label=\"制定人部门\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"commitPersonName\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"Delete(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"disabled == false\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { emit } from 'process';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { DailogAdd, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tqName: '',\r\n\t\t\tindexNum: '',\r\n\t\t\tyear: '',\r\n\t\t\tvalue: '',\r\n\t\t\ttargetDivideDetailList: [],\r\n\t\t});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t\tformUp.targetDivideDetailList = form.value.targetDivideDetailList;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (val: object) => {\r\n\t\t\tform.value = val;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = formUp.targetDivideDetailList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst formUp = reactive({\r\n\t\t\ttargetId: '', //关联的目标指标/外键\r\n\t\t\tdelTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n\t\t\ttargetDivideDetailList: [], //目标指标分解列表\r\n\t\t});\r\n\r\n\t\tconst add = (val: any) => {\r\n\t\t\tconst item = deepClone(val);\r\n\t\t\tconsole.log(item)\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tformUp.targetDivideDetailList.push(item);\r\n\t\t\t} else {\r\n\t\t\t\tformUp.targetDivideDetailList[index.value] = item;\r\n\t\t\t}\r\n\r\n\t\t\t// let obj=JSON.parse(JSON.stringify(form.value))\r\n\t\t};\r\n\t\t// 新增\r\n\t\tconst submitForm = () => {\r\n\t\t\tformUp.delTargetDivideDetails = arr.value.toString();\r\n\t\t\tformUp.targetId = form.value.id;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tfor(let i=0;i<formUp.targetDivideDetailList.length;i++){\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].dutyDepartmentName\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].makerDepartmentName\r\n\t\t\t}\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDivideDetail(formUp)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('addList');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\tconst arr = ref([]);\r\n\t\t// 删除\r\n\t\tconst Delete = (data: any) => {\r\n\t\t\tformUp.targetDivideDetailList.splice(form.value.targetDivideDetailList.indexOf(data), 1);\r\n\t\t\tformUp.targetId = data.targetId;\r\n\t\t\tarr.value.push(data.id);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\t\t// 关闭\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 时间格式处理\r\n\t\t// const timeDate = (data: any) => {\r\n\t\t// \tlet result = new Date(data).getTime();\r\n\t\t// \treturn result;\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\ttimeDate,\r\n\t\t\tarr,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tonNumber,\r\n\t\t\ttargetType,\r\n\t\t\tdisabled,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tadd,\r\n\t\t\tformUp,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +--- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (date 1660370066935) +@@ -40,7 +40,7 @@ + <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" /> + <el-table-column align="center" property="value" label="考核指标" width="180" /> + <el-table-column align="center" property="makerDepartmentName" label="制定人部门" /> +- <el-table-column align="center" property="makeDate" label="制定日期" /> ++ <el-table-column align="center" property="makeDate" :formatter="timeDate" label="制定日期" /> + <el-table-column align="center" property="commitPersonName" label="上报人" /> + <el-table-column align="center" property="操作"> + <template #default="scope"> +@@ -96,12 +96,28 @@ + if (res.data.code == 200) { + form.value = res.data.data; + formUp.targetDivideDetailList = form.value.targetDivideDetailList; ++ for(let i=0;i<formUp.targetDivideDetailList.length;i++){ ++ formUp.targetDivideDetailList[i].makeDate=timeC(formUp.targetDivideDetailList[i].makeDate) ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + } + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + const onNumber = (val: object) => { + form.value = val; + }; +@@ -209,6 +225,7 @@ + // return result; + // }; + return { ++ timeC, + index, + timeDate, + arr, +Index: src/views/contingencyManagement/panManagement/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog\r\n\t\t\t:title=\"titles\"\r\n\t\t\tv-model=\"isShowDialog\"\r\n\t\t\twidth=\"50%\"\r\n\t\t\tdraggable\r\n\t\t\t:fullscreen=\"full\"\r\n\t\t\t:close-on-click-modal=\"false\"\r\n\t\t\t@close=\"resetForm(ruleFormRef)\"\r\n\t\t>\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :disabled=\"disabled\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案名称\" prop=\"name\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.name\" placeholder=\"请填写队伍名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"适用部门\" prop=\"responsibleDepartment\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"responsibleDepartment\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\t\tcheck-on-click-node\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t\t@change=\"changeDepartment\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<el-divider />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案类型\" prop=\"type\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.type\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"危险源关联\" prop=\"associatedDanger\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.associatedDanger\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"是\" :value=\"false\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"否\" :value=\"true\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案级别\" prop=\"level\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.level\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"公司级\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"分厂级\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"车间级\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写人\" prop=\"authorId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.authorName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写部门\" prop=\"authorDeptId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.authorDeptId\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发布实施日期\" prop=\"releaseDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.releaseDate\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急队伍\" prop=\"emergencyTeam\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.teamName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt(0)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\t\t:on-change=\"handleChange\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"区域名称\" prop=\"areaName\">-->\r\n\t\t\t\t\t<!-- <el-input-->\r\n\t\t\t\t\t<!-- v-model=\"ruleForm.areaName\"-->\r\n\t\t\t\t\t<!-- placeholder=\"请选择\"-->\r\n\t\t\t\t\t<!-- class=\"input-with-select\"-->\r\n\t\t\t\t\t<!-- >-->\r\n\t\t\t\t\t<!-- <template #append>-->\r\n\t\t\t\t\t<!-- <el-button :icon=\"Search\" @click=\"regionsDialog\"/>-->\r\n\t\t\t\t\t<!-- </template>-->\r\n\t\t\t\t\t<!-- </el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<CheckTemplate ref=\"Shows\" @SearchUser=\"SearchUser\" />\r\n\t\t<DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { ref, defineComponent, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst ruleForm = ref({\r\n\t\t\tname: '', // 预案名称\r\n\t\t\ttype: '', //预案类型\r\n\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\tlevel: '', // 预案级别\r\n\t\t\tauthorUid: '', // 编写人\r\n\t\t\tauthorName: '',\r\n\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\tfileList: [],\r\n\t\t\tareaList: [], //区域列表\r\n\t\t\tteamList: [],\r\n\t\t\t// teamId: '', //应急队伍\r\n\t\t\tdeptList: [],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看应急预案管理' || title == '修改应急预案管理') {\r\n\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t.seeEmergencyTeam(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\truleForm.value.teamName = ''\r\n\t\t\t\t\t\t\tresponsibleDepartment.value = []\r\n\t\t\t\t\t\t\tif(res.data.data.teamList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.teamList.length;a++){\r\n\t\t\t\t\t\t\t\t\truleForm.value.teamName+=res.data.data.teamList[a].teamName+';'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif(res.data.data.deptList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.deptList.length;a++){\r\n\r\n\t\t\t\t\t\t\t\t\tresponsibleDepartment.value.push(res.data.data.deptList[a].departmentId)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst releaseDate = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst changeDepartment = (e) => {\r\n\t\t\tvar temList = [];\r\n\t\t\tfor (var a = 0; a < e.length; a++) {\r\n\t\t\t\ttemList.push({\r\n departmentId: e[a],\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.deptList = temList;\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t};\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref([]);\r\n\t\tconst data = ref();\r\n\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\tdelete ruleForm.value.teamName\r\n\t\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t\t.addEmergencyPlan(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n delete ruleForm.value.teamName\r\n emergencyPlanApi()\r\n\t\t\t\t\t\t\t.editEmergencyTeam(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tname: '', // 预案名称\r\n\t\t\t\t\ttype: '', //预案类型\r\n\t\t\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\t\t\tlevel: '', // 预案级别\r\n\t\t\t\t\tauthorUid: '', // 编写人\r\n\t\t\t\t\tauthorName: '',\r\n\t\t\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\t// teamId: '', //应急队伍ID\r\n\t\t\t\t\tareaList: [], //区域列表\r\n\t\t\t\t\tteamList: [],\r\n\t\t\t\t\tdeptList: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\truleForm.value = {};\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (data: any) => {\r\n\t\t\tShows.value.openDailog(data);\r\n\t\t};\r\n\t\tconst SearchUser = (val: any) => {\r\n\t\t\tlet arr = [];\r\n\t\t\truleForm.value.teamList = [];\r\n\t\t\tfor (let i = 0; i < val.length; i++) {\r\n\t\t\t\tarr.push(val[i].teamName);\r\n\t\t\t\truleForm.value.teamList.push({\r\n\t\t\t\t\tteamId: val[i].id,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.teamName = arr.toString();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\t//回显\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\truleForm.value.authorUid = e[0].uid;\r\n\t\t\truleForm.value.authorName = e[0].realName;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\treleaseDate,\r\n\t\t\t// treeSelect,\r\n\t\t\t// trees,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\tSearchUser,\r\n\t\t\tsubmitForm,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tisShowDialog,\r\n\t\t\truleFormRef,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonUser,\r\n\t\t\tnewTreeList,\r\n\t\t\tchangeDepartment,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue +--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue (date 1660370066964) +@@ -106,17 +106,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> +@@ -158,13 +149,14 @@ + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; + import { goalManagementApi } from '/@/api/goalManagement'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + CheckTemplate, + DailogSearchUserManger, + RegionsDialog, ++ uploaderFile + }, + setup(prop, { emit }) { + const isShowDialog = ref(false); +@@ -211,15 +203,35 @@ + responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) + } + } +- ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const releaseDate = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ const fileList = ref([]); + //el-tree-select回显 + const propse = { + label: 'depName', +@@ -272,6 +284,9 @@ + const data = ref(); + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急预案管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -306,10 +321,9 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] +- isShowDialog.value = false; +- delete ruleForm.value.teamName +- emergencyPlanApi() ++ isShowDialog.value = false; ++ delete ruleForm.value.teamName ++ emergencyPlanApi() + .editEmergencyTeam(ruleForm.value) + .then((res) => { + if (res.data.code == 200) { +@@ -356,6 +370,7 @@ + if (!formEl) return; + formEl.resetFields(); + ruleForm.value = {}; ++ fileList.value = [] + }; + // 应急队伍弹窗 + const Shows = ref(); +@@ -429,6 +444,8 @@ + onUser, + newTreeList, + changeDepartment, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -451,4 +468,4 @@ + .el-select { + width: 100%; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetDecompositionMonth/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport search from '../targetSettings/component/search.vue';\r\nimport Dailog from '../targetDecompositionYear/component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '2', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tadd,\r\n\t\t\tlistApi,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue +--- a/src/views/goalManagement/targetDecompositionMonth/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetDecompositionMonth/index.vue (date 1660370066984) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -105,6 +105,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"handleClose(ruleFormRef)\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核标题\" size=\"default\" prop=\"title\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\" placeholder=\"请填写考核标题\"></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核日期\" size=\"default\" prop=\"examineDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.examineDate\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\" prop=\"acceptanceNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"总分\" size=\"default\" prop=\"examineTotalNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examineTotalNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核部门\" size=\"default\" prop=\"examineDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.examineDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData1\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核人\" size=\"default\" prop=\"examinePersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examinePersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(1)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"被考核部门\" size=\"default\" prop=\"beExaminedDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.beExaminedDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData2\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"被考核人\" size=\"default\" prop=\"beExaminedPersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.beExaminedPersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(0)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\" size=\"default\" prop=\"examineTemplateName\">\r\n\t\t\t\t\t\t<el-input disabled v-model=\"form.examineTemplateName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiAdd\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"考核项目\" name=\"1\">\r\n\t\t\t\t<!-- <el-button type=\"primary\" size=\"default\" @click=\"daiAdd\">新增</el-button> -->\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"考核项目\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"考核分数\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t<el-input v-model=\"scope.row.address\" type=\"textarea\"> </el-input>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t\t<!-- <el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default>\r\n\t\t\t\t\t<el-button link type=\"primary\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column> -->\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Show\"></DailogSearch>\r\n\t<DailogSearchUser ref=\"Shows\" @SearchUser=\"userId\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tbeExaminedDepartmentId: '', ////被考核部门ID/外键\r\n\t\t\tbeExaminedDepartmentName: '',\r\n\t\t\tbeExaminedPersonId: '', ////被考核人ID/外键(可能有多个,用逗号隔开)\r\n\t\t\tbeExaminedPersonName: '',\r\n\t\t\texamineDate: '', ////考核日期\r\n\t\t\texamineDepartmentId: '', ////考核部门ID/外键\r\n\t\t\texamineDepartmentName: '',\r\n\t\t\texaminePersonId: '', ////考核人ID/外键\r\n\t\t\texaminePersonName: '',\r\n\t\t\texamineTemplateId: 1, ////绩效考核模板ID/外键\r\n\t\t\texamineTemplateName: '',\r\n\t\t\texamineTotalNumber: '', ////总分\r\n\t\t\textraFile: '9', //责任书附件\r\n\t\t\titemDetail: '', ////考核项目\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tnumberDetailJson: '[{\"id\":\"123\",\"number\":\"123\"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:\"123\",\"number\":\"123\"}]\r\n\t\t\ttitle: '', ////考核标题\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdepartment();\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 验证\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\ttitle: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }],\r\n\t\t\texamineDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],\r\n\t\t\texamineDepartmentId: [{ required: true, message: '考核部门不能为空', trigger: 'blur' }],\r\n\t\t\texaminePersonName: [],\r\n\t\t\texaminePersonId: [],\r\n\t\t\tbeExaminedDepartmentId: [{ required: true, message: '被考核部门不能为空', trigger: 'blur' }],\r\n\t\t\tbeExaminedPersonName: [],\r\n\t\t\tbeExaminedPersonId: [],\r\n\t\t\texamineTemplateId: [],\r\n\t\t\texamineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }],\r\n\t\t\tmemo: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst handleClose=(formEl: FormInstance | undefined)=>{\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t}\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (type: any) => {\r\n\t\t\tShows.value.openDailog(type);\r\n\t\t};\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst userId = (val: any, type: any) => {\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.examinePersonId = val.uid;\r\n\t\t\t\tform.value.examinePersonName = val.realName;\r\n\t\t\t} else if (type == 0) {\r\n\t\t\t\tlet uid=[]\r\n\t\t\t\tlet realName=[]\r\n\t\t\t\tfor(let i=0;i<val.length;i++){\r\n\t\t\t\t\tuid.push(val[i].uid)\r\n\t\t\t\t\trealName.push(val[i].realName)\r\n\t\t\t\t}\r\n\t\t\t\tform.value.beExaminedPersonId = uid.toString();\r\n\t\t\t\tform.value.beExaminedPersonName =realName.toString();\r\n\t\t\t\tconsole.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName)\r\n\t\t\t}\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst nameData1 = (val: any) => {\r\n\t\t\tform.value.examineDepartmentName = val.depName;\r\n\t\t};\r\n\t\tconst nameData2 = (val: any) => {\r\n\t\t\tform.value.beExaminedDepartmentName = val.depName;\r\n\t\t\tconsole.log(form.value);\r\n\t\t};\r\n\t\treturn {\r\n\t\t\trules,\r\n\t\t\thandleClose,\r\n\t\t\tnameData1,\r\n\t\t\tnameData2,\r\n\t\t\truleFormRef,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tuserId,\r\n\t\t\tactiveName,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\topenDailog,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (date 1660370066991) +@@ -10,7 +10,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="考核日期" size="default" prop="examineDate"> +- <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.examineDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -72,30 +79,16 @@ + </el-row> + <el-row> + <el-col :span="24"> +- <el-form-item label="考核模板"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <el-form-item label="附件"> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="考核模板" size="default" prop="examineTemplateName"> +- <el-input disabled v-model="form.examineTemplateName"> ++ <el-input v-model="form.examineTemplateName"> + <template #append> <el-button :icon="Search" @click="daiAdd" /></template> + </el-input> + </el-form-item> +@@ -112,12 +105,12 @@ + <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> --> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" prop="date" label="考核项目" /> +- <el-table-column align="center" prop="name" label="考核内容" /> ++ <el-table :data="form.numberDetailJson" style="width: 100%"> ++ <el-table-column align="center" prop="itemDetail" label="考核项目" /> ++ <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" label="考核分数"> + <template #default="scope"> +- <el-input v-model="scope.row.address" type="textarea"> </el-input> ++ <el-input @blur="numberC" v-model.number="scope.row.number"> </el-input> + </template> + </el-table-column> + <!-- <el-table-column align="center" prop="address" label="制定日期" /> +@@ -135,7 +128,7 @@ + </span> + </template> + </el-dialog> +- <DailogSearch ref="Show"></DailogSearch> ++ <DailogSearch ref="Show" @typeDome="onType"></DailogSearch> + <DailogSearchUser ref="Shows" @SearchUser="userId"></DailogSearchUser> + </template> + <script lang="ts"> +@@ -147,8 +140,9 @@ + import { goalManagementApi } from '/@/api/goalManagement'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearchUser, DailogSearch }, ++ components: { DailogSearchUser, DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const ruleFormRef = ref<FormInstance>(); +@@ -162,13 +156,14 @@ + examineDepartmentName: '', + examinePersonId: '', ////考核人ID/外键 + examinePersonName: '', +- examineTemplateId: 1, ////绩效考核模板ID/外键 ++ examineTemplateId: '', ////绩效考核模板ID/外键 + examineTemplateName: '', + examineTotalNumber: '', ////总分 +- extraFile: '9', //责任书附件 ++ acceptanceNumber: '', ///合格分数 ++ extraFile: '', //责任书附件 + itemDetail: '', ////考核项目 + memo: '', ////备注信息 +- numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] ++ numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] + title: '', ////考核标题 + }); + const titles = ref(); +@@ -185,11 +180,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.examineDate = timeC(form.value.examineDate); ++ form.value.numberDetailJson = form.value.currentExamineDtoList; ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } ++ ++ // fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m + `:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 验证 + const rules = reactive<FormRules>({ + title: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }], +@@ -204,12 +258,39 @@ + examineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }], + memo: [], + }); ++ // 接收 ++ const onType = (data: any, val: any) => { ++ form.value.examineTotalNumber = ''; ++ form.value.examineTemplateId = data.id; ++ form.value.examineTemplateName = data.title; ++ form.value.acceptanceNumber = data.acceptanceNumber; ++ form.value.numberDetailJson = val.examineItemList; ++ }; ++ const numberC = () => { ++ let arr = 0; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ if (form.value.numberDetailJson[i].number != undefined) { ++ arr = parseInt(arr) + parseInt(form.value.numberDetailJson[i].number); ++ } else { ++ arr = parseInt(arr) + 0; ++ } ++ } ++ form.value.examineTotalNumber = arr; ++ }; + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + dialogVisible.value = false; ++ let arr = []; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ arr.push({ ++ id: form.value.numberDetailJson[i].id, ++ number: form.value.numberDetailJson[i].number, ++ }); ++ } ++ form.value.numberDetailJson = JSON.stringify(arr); + goalManagementApi() + .getexamineMngAddOrUpdate(form.value) + .then((res) => { +@@ -234,10 +315,11 @@ + dialogVisible.value = false; + formEl.resetFields(); + }; +- const handleClose=(formEl: FormInstance | undefined)=>{ ++ const handleClose = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); +- } ++ fileList.value=[] ++ }; + const activeName = ref('1'); + // 新增弹窗 + const Show = ref(); +@@ -250,16 +332,7 @@ + Shows.value.openDailog(type); + }; + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref<UploadUserFile[]>([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -284,15 +357,15 @@ + form.value.examinePersonId = val.uid; + form.value.examinePersonName = val.realName; + } else if (type == 0) { +- let uid=[] +- let realName=[] +- for(let i=0;i<val.length;i++){ +- uid.push(val[i].uid) +- realName.push(val[i].realName) ++ let uid = []; ++ let realName = []; ++ for (let i = 0; i < val.length; i++) { ++ uid.push(val[i].uid); ++ realName.push(val[i].realName); + } + form.value.beExaminedPersonId = uid.toString(); +- form.value.beExaminedPersonName =realName.toString(); +- console.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName) ++ form.value.beExaminedPersonName = realName.toString(); ++ console.log(form.value.beExaminedPersonId, form.value.beExaminedPersonName); + } + }; + //全屏 +@@ -331,6 +404,9 @@ + }; + return { + rules, ++ timeC, ++ numberC, ++ onType, + handleClose, + nameData1, + nameData2, +@@ -360,6 +436,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -368,4 +446,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"新建考核标准设定\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"标准标题\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"适用范围\" size=\"default\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.applyRange\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<div v-if=\"clickType\">\r\n\t\t\t\t<el-row>\r\n\t\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"form.setPersonId\" disabled>\r\n\t\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /></template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人部门\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"form.setPersonDepartmentId\" disabled style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone one\" value=\"shanghai\" />\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone two\" value=\"beijing\" />\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</div>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"模板分类编码\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.templateCode\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\" v-if=\"clickType\">\r\n\t\t\t\t\t<el-form-item label=\"设定日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker disabled v-model=\"form.setTimem\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增','')\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"form.examineItemList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogKhS ref=\"Show\" @onAdd=\"AddObj\"></DailogKhS>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogKhS from './DailogKhS.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogKhS },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\tsetTimem: 1658386392466,\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\ttitle: '', ////标准标题\r\n\t\t\tsetPersonId: 1, //设定人\r\n\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\tapplyRange: '', ////适用范围\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst clickType = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineTemplateDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tclickType.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 接受传值\r\n\t\tconst AddObj = (val: any) => {\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.examineItemList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.examineItemList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.examineItemList.splice(form.value.examineItemList.indexOf(tag), 1);\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateAddOrUpdate(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.examineItemList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\tdeleteA,\r\n\t\t\tAddObj,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\tclickType,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (date 1660370066996) +@@ -62,7 +62,7 @@ + </el-row> + </el-form> + <el-tabs v-model="activeName" class="demo-tabs"> +- <el-tab-pane label="目标指标分解" name="1"> ++ <el-tab-pane label="考核项目" name="1"> + <el-button type="primary" size="default" @click="daiAdd('新增','')">新增</el-button> + </el-tab-pane> + </el-tabs> +@@ -238,4 +238,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"安全考核管理\" name=\"1\">\r\n\t\t\t\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.searchParams.examineDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.currentExamineDtoList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"number\" label=\"考核分数\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column property=\"examineDate\" align=\"center\" :formatter=\"timeDate\" label=\"考核日期\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examineDepartmentName\" align=\"center\" label=\"考核部门\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examinePersonName\" label=\"考核人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"beExaminedDepartmentName\" label=\"被考核部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"examineTotalNumber\" label=\"总分\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"numberDetailJson.number\" label=\"考核结果\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"extraFile\" label=\"附件\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"考核标准设定\" name=\"2\">\r\n\t\t\t\t\t<el-form :model=\"ruleForms\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForms.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApis\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForms\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openDs('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warnings\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"dangers\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAlls\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableDatas\" style=\"width: 100%\" @selection-change=\"handleSelectionChanges\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableDatas.examineItemList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column label=\"标准标题\" property=\"title\" align=\"center\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"applyRange\" align=\"center\" label=\"适用范围\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonName\" label=\"设定人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonDepartmentName\" label=\"设定人部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setTimem\" label=\"设定日期\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"templateCode\" label=\"模板分类编码\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"acceptanceNumber\" label=\"合格分数\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDs('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openDs('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDeletes(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4s\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4s\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"totals\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChanges\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChanges\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t</div>\r\n\t\t<DailogAq ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAq>\r\n\t\t<DailogKh ref=\"openAdds\" @navAddorUpdata=\"onAddorUpdatas\"></DailogKh>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogAq from './component/DailogAq.vue';\r\nimport DailogKh from './component/DailogKh.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAq, DailogKh },\r\n\tsetup() {\r\n\t\t// 搜索条件 安全考核管理\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\texamineDepartmentId: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD= (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 切换\r\n\t\tconst activeName = ref('1');\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tif (val == '1') {\r\n\t\t\t\tlistApi();\r\n\t\t\t}else{\r\n\t\t\t\tlistApis();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 搜索条件 考核标准设定\r\n\t\tconst ruleForms = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForms = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApis = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableDatas.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4s.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4s.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotals.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApis();\r\n\t\t\tdepartment()\r\n\t\t});\r\n\t\tconst onAddorUpdatas = () => {\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableDatas = ref();\r\n\t\tconst currentPage4s = ref();\r\n\t\tconst pageSize4s = ref();\r\n\t\tconst totals = ref();\r\n\t\tconst handleSizeChanges = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForms.pageSize = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\tconst handleCurrentChanges = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForms.pageIndex = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdds = ref();\r\n\t\tconst openDs = (title: String, id: number) => {\r\n\t\t\topenAdds.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDeletes = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warnings = ref(true);\r\n\t\tconst dangers = ref(true);\r\n\t\tconst deletAlls = ref();\r\n\t\tconst handleSelectionChanges = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAlls.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarnings.value = false;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAlls = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tactiveName,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\truleForms,\r\n\t\t\tresetForms,\r\n\t\t\tlistApis,\r\n\t\t\tonAddorUpdatas,\r\n\t\t\ttableDatas,\r\n\t\t\tcurrentPage4s,\r\n\t\t\tpageSize4s,\r\n\t\t\ttotals,\r\n\t\t\thandleSizeChanges,\r\n\t\t\thandleCurrentChanges,\r\n\t\t\topenAdds,\r\n\t\t\topenDs,\r\n\t\t\tonDeletes,\r\n\t\t\twarnings,\r\n\t\t\tdangers,\r\n\t\t\tdeletAlls,\r\n\t\t\thandleSelectionChanges,\r\n\t\t\tonDeleteAlls,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 20px;\r\n}\r\n.topTitle {\r\n\tpadding: 5px 0 20px 0;\r\n\tborder-bottom: 1px solid #dedede;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue +--- a/src/views/goalManagement/performanceAppraisal/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/performanceAppraisal/index.vue (date 1660370067017) +@@ -28,9 +28,9 @@ + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableData.currentExamineDtoList" style="width: 100%"> ++ <el-table :data="scope.row.currentExamineDtoList" style="width: 100%"> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" prop="number" label="考核分数" /> +@@ -91,9 +91,9 @@ + <el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableDatas.examineItemList" style="width: 100%"> ++ <el-table :data="scope.row.examineItemList" style="width: 100%"> + <el-table-column align="center" prop="itemType" label="类型" /> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> +@@ -141,8 +141,9 @@ + import DailogAq from './component/DailogAq.vue'; + import DailogKh from './component/DailogKh.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; +-import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; ++import { ElMessageBox, ElMessage, ElButton, ElInput, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; ++import type { TabsPaneContext } from 'element-plus' + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + components: { ElButton, ElInput, DailogAq, DailogKh }, +@@ -158,6 +159,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.examineDepartmentId = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +@@ -283,8 +285,9 @@ + }; + // 切换 + const activeName = ref('1'); +- const handleClick = (val: any) => { +- if (val == '1') { ++ const handleClick = (val: TabsPaneContext) => { ++ console.log(val) ++ if (val.props.name == '1') { + listApi(); + }else{ + listApis(); +@@ -300,11 +303,12 @@ + }); + // 重置 + const resetForms = () => { +- ruleForm.searchParams.examineDepartmentId = ''; ++ ruleForms.searchParams.title = ''; ++ listApis() + }; + const listApis = () => { + goalManagementApi() +- .getexamineTemplateList(ruleForm) ++ .getexamineTemplateList(ruleForms) + .then((res) => { + if (res.data.code == 200) { + tableDatas.value = res.data.data; +Index: src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择安全目标指标\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi()\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"reset\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\" @click=\"clear\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\" width=\"70px\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"title\" label=\"标准标题\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.title }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\tlistApi()\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n // 重置\r\n\tconst reset=()=>{\r\n\t\truleForm.searchParams.title=\"\"\r\n\t\tlistApi()\r\n\t}\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\treset,\r\n\t\t\tdialogVisible,\r\n\t\t\tlistApi,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (date 1660370067022) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > + <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -64,7 +64,7 @@ + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -75,7 +75,7 @@ + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- setup() { ++ setup(props,{emit}) { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; +@@ -122,6 +122,12 @@ + ruleForm.pageIndex = val; + listApi(); + }; ++ // 提交 ++ const submitForm=()=>{ ++ dialogVisible.value = false ++ emit("typeDome",dynamicTags.value[0],list.value) ++ clear() ++ } + // 右方点击添加后显示标签 + const dynamicTags = ref(['']); + const handleClose = (tag: string) => { +@@ -129,8 +135,19 @@ + radio1.value = ''; + }; + const radio1 = ref(''); ++ const list=ref([]) + const radio = (event: any) => { +- dynamicTags.value[0] = event; ++ ++ goalManagementApi() ++ .getexamineTemplateDetail(event.id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ list.value = res.data.data; ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ dynamicTags.value[0] = event; + }; + const clear=()=>{ + dynamicTags.value=[''] +@@ -146,6 +163,8 @@ + } + }; + return { ++ submitForm, ++ list, + reset, + dialogVisible, + listApi, +Index: src/views/goalManagement/IncentiveRecording/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.personName\" placeholder=\"请选择被奖惩者\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openSearch\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"createTime\" align=\"center\" label=\"奖惩日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column label=\"奖惩类型\" align=\"center\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"personName\" align=\"center\" label=\"被奖惩者\" sortable />\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"奖惩依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearchUser ref=\"openUser\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearchUser },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tpersonId: '', ////员工\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.personId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.personId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.personId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\tconst userId = (val: any) => {\r\n\t\t\truleForm.searchParams.personId = val.uid;\r\n\t\t\truleForm.searchParams.personName = val.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\truleForm,\r\n\t\t\tuserId,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\topenAdd,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\topenSearch,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue +--- a/src/views/goalManagement/IncentiveRecording/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/IncentiveRecording/index.vue (date 1660370067027) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者"> ++ <el-input v-model="personName" placeholder="请选择被奖惩者"> + <template #append> + <el-button :icon="Search" @click="openSearch" /> + </template> +@@ -92,8 +92,10 @@ + }, + }); + // 重置 ++ const personName=ref() + const resetForm = () => { + ruleForm.searchParams.personId = ''; ++ personName.value = ''; + listApi(); + }; + const listApi = () => { +@@ -229,10 +231,11 @@ + }; + const userId = (val: any) => { + ruleForm.searchParams.personId = val.uid; +- ruleForm.searchParams.personName = val.realName; ++ personName.value = val.realName; + }; + return { + timeDate, ++ personName, + ruleForm, + userId, + resetForm, +@@ -292,4 +295,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-user-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <el-form :inline=\"true\" class=\"demo-form-inline\">\r\n <el-form-item>\r\n <el-input size=\"default\" v-model=\"listQuery.searchParams.teamName\" placeholder=\"队伍名称\"> </el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-select size=\"default\" v-model=\"listQuery.searchParams.teamLevel\" placeholder=\"请选择队伍级别\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\">\r\n 查询\r\n </el-button>\r\n <el-button size=\"default\" class=\"ml10\" @click=\"submitReset\">\r\n 重置\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class=\"button_Line\">\r\n <div class=\"button_Left\">\r\n <el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n <el-icon>\r\n <Plus />\r\n </el-icon>新建\r\n </el-button>\r\n<!-- <el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Edit />-->\r\n<!-- </el-icon>修改-->\r\n<!-- </el-button>-->\r\n <el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </div>\r\n<!-- <div class=\"button_Right\">-->\r\n<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Upload />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Download />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Refresh />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- </div>-->\r\n </div>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%\"\r\n ref=\"multipleTableRef\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column\r\n type=\"selection\"\r\n width=\"55\"\r\n />\r\n <el-table-column prop=\"teamName\" label=\"队伍名称\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"teamLevel\" label=\"队伍级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.teamLevel == 1\">公司</span>\r\n <span v-if=\"scope.row.teamLevel == 2\">分厂-车间</span>\r\n <span v-if=\"scope.row.teamLevel == 3\">工序-班组等</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"teamDesc\" label=\"队伍描述\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"principalPhone\" label=\"负责人手机\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"attachments\" label=\"相关附件\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column label=\"操作\" width=\"200\" align=\"center\" fixed=\"right\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <View />\r\n </el-icon>查看\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <EditPen />\r\n </el-icon>修改\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pages\">\r\n <el-pagination\r\n v-if=\"tableData.length == 0 ? false : true\"\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n class=\"mt15\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:currentPage=\"pageIndex\"\r\n background\r\n v-model:page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"total\"\r\n >\r\n </el-pagination>\r\n </div>\r\n </el-card>\r\n <OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n <upData ref=\"upShow\"></upData>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // toRefs,\r\n reactive,\r\n onMounted,\r\n ref,\r\n defineComponent\r\n} from 'vue';\r\nimport {\r\n ElMessageBox,\r\n ElMessage,\r\n} from 'element-plus';\r\nimport {\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n View,\r\n EditPen,\r\n} from '@element-plus/icons-vue'\r\n\r\nimport OpenAdd from '../../contingencyManagement/contingency/component/openAdd.vue'\r\nimport UpData from '../../contingencyManagement/contingency/component/upData.vue';\r\nimport {contingencyApi} from \"../../../api/contingencyManagement/contingency\";\r\n\r\nexport default defineComponent({\r\n name: 'systemUser',\r\n components: {\r\n OpenAdd,\r\n View,\r\n EditPen,\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n UpData,\r\n contingencyApi\r\n },\r\n setup() {\r\n // 列表参数\r\n const listQuery = reactive({\r\n pageIndex: 1,\r\n pageSize: 10,\r\n searchParams: {\r\n teamName: \"\",\r\n teamLevel: \"\",\r\n }\r\n })\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n // 列表数据请求\r\n const onSubmit = async () => {\r\n let res = await contingencyApi().getTeamManagementList(listQuery)\r\n if(res.data.code === '200'){\r\n tableData.value = res.data.data;\r\n pageIndex.value = res.data.pageIndex;\r\n pageSize.value = res.data.pageSize;\r\n total.value = res.data.total;\r\n }else{\r\n ElMessage({\r\n showClose: true,\r\n type:'error',\r\n message:res.data.msg\r\n })\r\n }\r\n }\r\n // 重置\r\n const submitReset = () => {\r\n listQuery.searchParams.teamName = '';\r\n listQuery.searchParams.teamLevel = '';\r\n onSubmit();\r\n };\r\n // const warning = ref(true);\r\n const danger = ref(true);\r\n const deleteAll = ref();\r\n const handleSelectionChange = (val: any) => {\r\n let valId = JSON.parse(JSON.stringify(val));\r\n let arr = [];\r\n for (let i = 0; i < valId.length; i++) {\r\n arr.push(valId[i].id);\r\n }\r\n deleteAll.value = arr;\r\n if (val.length == 1) {\r\n // warning.value = false;\r\n danger.value = false;\r\n } else if (val.length == 0) {\r\n // warning.value = true;\r\n danger.value = true;\r\n } else {\r\n // warning.value = true;\r\n danger.value = false;\r\n }\r\n };\r\n\r\n // 上传\r\n // const upShow=ref()\r\n // const upButton=()=>{\r\n // upShow.value.openDialog()\r\n // }\r\n // 打开新增应急队伍弹窗\r\n const addRef = ref();\r\n const onOpenAdd = () => {\r\n addRef.value.openDialog('新建应急队伍管理');\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: boolean) => {\r\n if (e) {\r\n onSubmit();\r\n } else {\r\n onSubmit();\r\n }\r\n };\r\n // 打开修改应急队伍弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '详情') {\r\n addRef.value.openDialog('查看应急队伍管理',row,true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍管理',row,false);\r\n }\r\n };\r\n // 删除用户\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam([data])\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n }).catch(() => {});\r\n };\r\n // 多选删除\r\n const onDeleteAll = () => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam(deleteAll.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n })\r\n .catch(() => {});\r\n };\r\n // 分页\r\n const pageIndex = ref();\r\n const pageSize = ref();\r\n const total = ref();\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n listQuery.pageSize = val;\r\n onSubmit();\r\n };\r\n const onHandleCurrentChange = (val: number) => {\r\n listQuery.pageIndex = val;\r\n onSubmit();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n onSubmit();\r\n });\r\n return {\r\n listQuery,\r\n onSubmit,\r\n // upButton,\r\n // upShow,\r\n onOpenAdd, //新增\r\n addRef,\r\n pageIndex,\r\n pageSize,\r\n total,\r\n onEdit,\r\n handleSelectionChange,\r\n submitReset,\r\n onRowDel,\r\n onMyAdd,\r\n tableData,\r\n onDeleteAll,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n deleteAll,\r\n // warning,\r\n danger,\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box{\r\n padding: 20px;\r\n background-color: #fff;\r\n}\r\n.tableForm{\r\n margin-top: 10px;\r\n}\r\n/*按钮行*/\r\n .button_Line{\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n margin-bottom: 10px;\r\n }\r\n//分页\r\n.pages{\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 15px;\r\n}\r\n.el-form .el-form-item{\r\n margin-bottom: 0px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n background-color: #f6f7fa;\r\n font-weight: 400;\r\n color: #909399;\r\n}\r\n.el-table .sort-caret.ascending{\r\n border-bottom-color: #c0c4cc;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue +--- a/src/views/contingencyManagement/contingency/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/contingency/index.vue (date 1660370067033) +@@ -79,7 +79,9 @@ + </el-table-column> + <el-table-column prop="teamDesc" label="队伍描述" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="principalPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column> +- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column prop="fileList" label="相关附件" show-overflow-tooltip sortable> ++ ++ </el-table-column> + <el-table-column label="操作" width="200" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> +@@ -179,6 +181,11 @@ + let res = await contingencyApi().getTeamManagementList(listQuery) + if(res.data.code === '200'){ + tableData.value = res.data.data; ++ for(var a = 0;a<tableData.value.length;a++){ ++ if(tableData.value[a].fileList!=null&&tableData.value[a].fileList!=''&&tableData.value[a].fileList.length!=0){ ++ tableData.value[a].fileList = tableData.value[a].fileList[0].fileName ++ } ++ } + pageIndex.value = res.data.pageIndex; + pageSize.value = res.data.pageSize; + total.value = res.data.total; +@@ -389,4 +396,4 @@ + .el-table .sort-caret.ascending{ + border-bottom-color: #c0c4cc; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"120px\"\r\n :disabled=\"disabled\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍名称\" prop=\"teamName\">\r\n <el-input v-model=\"ruleForm.teamName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍级别\" prop=\"teamLevel\">\r\n <el-select v-model=\"ruleForm.teamLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍负责人\" prop=\"principalName\">\r\n <el-input v-model=\"ruleForm.principalName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人部门\" prop=\"principalDepartmentId\">\r\n <el-tree-select v-model=\"ruleForm.principalDepartmentId\" :data=\"newTreeList\" class=\"w100\"\r\n :props=\"propse\" clearable placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人手机\" prop=\"principalPhone\">\r\n <el-input v-model=\"ruleForm.principalPhone\" placeholder=\"请填写负责人手机\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"固定电话\" prop=\"telephoneNumber\">\r\n <el-input v-model=\"ruleForm.telephoneNumber\" placeholder=\"请填写固定电话\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"队伍描述\" prop=\"teamDesc\">\r\n <el-input class=\"textarea\" v-model=\"ruleForm.teamDesc\" type=\"textarea\" maxlength=\"150\"\r\n placeholder=\"请填写队伍描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"相关附件\" prop=\"fileList\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\">点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">添加相关附件</div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n <el-tab-pane label=\"应急队伍人员\" name=\"first\" >\r\n <el-button type=\"primary\" size=\"default\" @click=\"onAddEmergencyPersonnel\" :disabled=\"disabled\">新增\r\n </el-button>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%; margin-top: 15px\"\r\n ref=\"multipleTableRef\"\r\n :header-cell-style=\"{ background: '#f6f7fa', color: '#909399' }\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-table-column prop=\"jobNumber\" label=\"人员工号\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"name\" label=\"人员名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"phone\" label=\"手机号码\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"position\" label=\"职位\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('查看应急队伍人员',scope.row.id)\">查看\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('修改应急队伍人员',scope.row.id)\"\r\n style=\"margin-right: 5px\">编辑\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onRowDel(scope.row.id)\"\r\n style=\"margin-right: 5px\">删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-col>\r\n </el-row>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"onSubmit(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <AddEmergencyPersonnel ref=\"addRef\" @myAdd=\"onMyAdd\"/>\r\n <DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\"/>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n // toRefs,\r\n } from 'vue';\r\n import {\r\n ElMessage,\r\n ElMessageBox,\r\n } from 'element-plus';\r\n\r\n import type {\r\n UploadUserFile,\r\n TabsPaneContext,\r\n FormInstance,\r\n FormRules,\r\n } from 'element-plus'\r\n\r\n import {\r\n Search,\r\n FullScreen\r\n } from '@element-plus/icons-vue'\r\n import AddEmergencyPersonnel from \"/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue\";\r\n import DailogSearchUserManger from \"/@/components/DailogSearchUserManger/index.vue\"\r\n import {contingencyApi} from \"/@/api/contingencyManagement/contingency\";\r\n import {goalManagementApi} from \"/@/api/goalManagement\";\r\n // import {releaseDrillPlanApi} from \"/@/api/releaseDrillPlan\";\r\n\r\n\r\n export default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n AddEmergencyPersonnel,\r\n DailogSearchUserManger,\r\n },\r\n setup(prop, {emit}) {\r\n const isShowDialog = ref(false);\r\n const ruleFormRef = ref<FormInstance>();\r\n const ruleForm = ref({\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalName: '',\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n const peopleInsertBtn = ref(false)\r\n const teamId = ref()\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n teamId.value = id\r\n //如果是新增 无法添加人员\r\n if(title == '新建应急队伍管理'){\r\n peopleInsertBtn.value = true\r\n }else{\r\n peopleInsertBtn.value = false\r\n }\r\n if (title == '查看应急队伍管理' || title == '修改应急队伍管理') {\r\n contingencyApi()\r\n .seeEmergencyTeam(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n listApi()\r\n }\r\n });\r\n }\r\n }\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n\r\n //定义树形下拉框\r\n const principalDepartmentId = ref()\r\n const data = ref()\r\n\r\n\r\n\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n\r\n\r\n\r\n\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog();\r\n };\r\n const onUser = (e: any) => {\r\n ruleForm.value.principalUid = e[0].uid\r\n ruleForm.value.principalName = e[0].realName\r\n };\r\n //定义tabs切换\r\n const activeName = ref('first')\r\n const handleClick = (tab: TabsPaneContext, event: Event) => {\r\n console.log(tab, event)\r\n }\r\n\r\n // 必填项提示\r\n const rules = reactive<FormRules>({\r\n teamName: [\r\n {\r\n required: true,\r\n message: '队伍名称不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n teamLevel: [\r\n {\r\n required: true,\r\n message: '队伍级别不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalUid: [\r\n {\r\n required: true,\r\n message: '队伍负责人不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalDepartmentId: [\r\n {\r\n required: true,\r\n message: '负责人部门不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalPhone: [\r\n {\r\n required: true,\r\n message: '负责人手机不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n telephoneNumber: [\r\n {\r\n required: true,\r\n message: '固定电话不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n })\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n const onSubmit = async (title: string, formEl: FormInstance | undefined) => {\r\n if (title == '新建应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .addEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n } else if (title == '修改应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .editEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n };\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n tableData.value=[]\r\n ruleForm.value = {}\r\n };\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n //添加队伍负责人弹窗\r\n const addRef = ref();\r\n const onAddEmergencyPersonnel = () => {\r\n //未添加队伍 无法修改人员\r\n if(peopleInsertBtn.value == true){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加应急队伍',\r\n type: 'warning',\r\n });\r\n }else {\r\n addRef.value.openDialog('新建应急队伍人员','',teamId.value);\r\n }\r\n };\r\n // 请求列表数据\r\n const listApi = async () => {\r\n let res = await contingencyApi().getEmergencyTeamPersonnelList(teamId.value);\r\n if (res.data.code == 200) {\r\n tableData.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: object) => {\r\n listApi();\r\n };\r\n // 打开修改弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '查看应急队伍人员') {\r\n addRef.value.openDialog('查看应急队伍人员', row,teamId.value, true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍人员', row,teamId.value, false);\r\n }\r\n };\r\n // 删除\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeamPersonnel(data)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n listApi()\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n listApi()\r\n }\r\n });\r\n })\r\n .catch(() => {\r\n });\r\n };\r\n return {\r\n openDialog,\r\n fileList,\r\n principalDepartmentId,\r\n data,\r\n activeName,\r\n handleClick,\r\n tableData,\r\n Search,\r\n resetForm,\r\n isShowDialog,\r\n ruleFormRef,\r\n ruleForm,\r\n rules,\r\n addRef,\r\n userRef,\r\n titles,\r\n disabled,\r\n propse,\r\n emit,\r\n onSubmit,\r\n openUser,\r\n onAddEmergencyPersonnel,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n onUser,\r\n onMyAdd,\r\n listApi,\r\n onEdit,\r\n onRowDel,\r\n department,\r\n peopleInsertBtn,\r\n teamId,\r\n newTreeList\r\n };\r\n },\r\n });\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .textarea {\r\n height: 168px !important;\r\n }\r\n\r\n .textarea ::v-deep .el-textarea__inner {\r\n height: 168px !important;\r\n }\r\n\r\n ::v-deep .el-table__cell {\r\n font-weight: 400;\r\n }\r\n</style>\r\n\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue +--- a/src/views/contingencyManagement/contingency/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/contingency/component/openAdd.vue (date 1660370067050) +@@ -52,17 +52,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件" prop="fileList"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -142,6 +133,7 @@ + import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" + import {contingencyApi} from "/@/api/contingencyManagement/contingency"; + import {goalManagementApi} from "/@/api/goalManagement"; ++ import uploaderFile from '/@/components/uploaderFile/index.vue'; + // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; + + +@@ -150,6 +142,7 @@ + components: { + AddEmergencyPersonnel, + DailogSearchUserManger, ++ uploaderFile + }, + setup(prop, {emit}) { + const isShowDialog = ref(false); +@@ -188,14 +181,34 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + listApi() + } + }); + } + } + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) +- ++ const fileList = ref([]) ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //定义树形下拉框 + const principalDepartmentId = ref() + const data = ref() +@@ -313,6 +326,9 @@ + } + }; + const onSubmit = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急队伍管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -346,7 +362,6 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] + isShowDialog.value = false; + contingencyApi() + .editEmergencyTeam(ruleForm.value) +@@ -390,6 +405,7 @@ + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + tableData.value=[] + ruleForm.value = {} + }; +@@ -494,7 +510,9 @@ + department, + peopleInsertBtn, + teamId, +- newTreeList ++ newTreeList, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentExpress/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.accidentName\" placeholder=\"事故名称\" style=\"max-width: 215px\" />\r\n\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"listApi\"> 查询 </el-button>\r\n\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon> <Plus /> </el-icon>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon> <Edit /> </el-icon>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" @click=\"onDeleteAll\" plain :disabled=\"danger\">\r\n\t\t\t\t\t\t<el-icon> <Delete /> </el-icon>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button @click=\"upButton\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Upload />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Download />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Refresh />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentName\" label=\"事故名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"deptName\" label=\"事故部门\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrencePlace\" label=\"发生地点\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrenceTime\" label=\"发生时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentCause\" label=\"事故原因\" show-overflow-tooltip sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='1'\">人的不安全行为</div>\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='2'\">物的不安全状态</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"createName\" label=\"创建人\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"gmtModitify\" label=\"更新时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text disabled>\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Upload /> </el-icon>上报\r\n\t\t\t\t\t\t</el-button> -->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <EditPen /> </el-icon>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <View /> </el-icon>详情\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onDelete(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Delete /> </el-icon>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<upData ref=\"upShow\"></upData>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElTable, ElMessage, ElMessageBox } from 'element-plus';\r\nimport { Plus, View, Download, Refresh, EditPen, Edit, Delete, Upload } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/accidentManagementSystem/accidentExpress/component/openAdd.vue';\r\nimport UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nexport default defineComponent({\r\n\tname: 'index',\r\n\tcomponents: {\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpData,\r\n\t\tOpenAdd,\r\n\t\tView,\r\n\t},\r\n\r\n\tsetup() {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\taccidentName: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst listApi = async () => {\r\n\t\t\tlet res = await accidentManagementSystemApi().accidentList(listQuery);\r\n\t\t\tif (res.data.code == 200) {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.accidentName = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// 打开新增弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建事故快报',false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tlistApi();\r\n\t\t\t} else {\r\n\t\t\t\tlistApi();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele([data])\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst upShow = ref();\r\n\t\tconst upButton = () => {\r\n\t\t\tupShow.value.openDialog();\r\n\t\t};\r\n\r\n\t\t// 打开修改用户弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看事故快报',row,true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改事故快报',row,false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tupButton,\r\n\t\t\tupShow,\r\n\t\t\ttableData,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonEdit,\r\n\t\t\tonOpenAdd,\r\n\t\t\taddRef,\r\n\t\t\tlistQuery,\r\n\t\t\tlistApi,\r\n\t\t\tsubmitReset,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDelete,\r\n\t\t\tdeletAll,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/index.vue b/src/views/accidentManagementSystem/accidentExpress/index.vue +--- a/src/views/accidentManagementSystem/accidentExpress/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/accidentManagementSystem/accidentExpress/index.vue (date 1660370067056) +@@ -41,7 +41,8 @@ + <el-table-column align="center" prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column align="center" prop="accidentCause" label="事故原因" show-overflow-tooltip sortable> + <template #default="scope"> + <div v-if="scope.row.accidentCause=='1'">人的不安全行为</div> +@@ -49,7 +50,8 @@ + </template> + </el-table-column> + <el-table-column align="center" prop="createName" label="创建人" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <!-- <el-button size="small" text disabled> +@@ -268,7 +270,16 @@ + addRef.value.openDialog('修改事故快报',row,false); + } + }; +- ++//格式化表格时间 ++ const dateFormat = (row,column) => { ++ // 获取单元格数据 ++ let data = row[column.property]; ++ if(data == null) { ++ return null; ++ } ++ let dt = new Date(data) ++ return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds() ++ }; + return { + upButton, + upShow, +@@ -291,6 +302,7 @@ + onDelete, + deletAll, + onDeleteAll, ++ dateFormat + }; + }, + }); +@@ -343,4 +355,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetEscalation/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"检查\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"上报\" name=\"2\"></el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"审核\" name=\"3\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column v-if=\"activeName == 1\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(0)\">检查</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDai(scope.row.targetDivideDetailList)\">记录</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 2\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(1)\">上报</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 3\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom\">待审批</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { useRouter } from 'vue-router';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\t// let targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = val.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeName = ref<any>('1');\r\n\t\t// 记录弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openDai = (data: any) => {\r\n\t\t\tShow.value.openDailog(data);\r\n\t\t};\r\n\t\t// 流程表单\r\n\t\tconst router = useRouter();\r\n\t\tconst jumpFrom = (data: any) => {\r\n\t\t\trouter.push({\r\n\t\t\t\tpath: '/processForms',\r\n\t\t\t\tquery: {\r\n\t\t\t\t\ttype: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tactiveName,\r\n\t\t\ttotal,\r\n\t\t\thandleClick,\r\n\t\t\truleForm,\r\n\t\t\tlistApi,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tresetForm,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenDai,\r\n\t\t\trouter,\r\n\t\t\tjumpFrom,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue +--- a/src/views/goalManagement/targetEscalation/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetEscalation/index.vue (date 1660370067061) +@@ -24,7 +24,6 @@ + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> + <el-tab-pane label="检查" name="1"> </el-tab-pane> + <el-tab-pane label="上报" name="2"></el-tab-pane> +- <el-tab-pane label="审核" name="3"></el-tab-pane> + </el-tabs> + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> + <el-table-column label="安全目标指标" align="center" property="qName" sortable /> +@@ -33,18 +32,18 @@ + <el-table-column property="value" label="指标值" align="center" sortable show-overflow-tooltip /> + <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip> + <template #default="scope"> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(0)">检查</el-button> +- <el-button link type="primary" size="default" :icon="View" @click="openDai(scope.row.targetDivideDetailList)">记录</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,1)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,1)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,1)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,1)" >查看审批流程</el-button> + </template> + </el-table-column> + <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(1)">上报</el-button> +- </template> +- </el-table-column> +- <el-table-column v-if="activeName == 3" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">待审批</el-button> ++ <template #default="scope"> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,2)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,2)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,2)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,2)" >查看审批流程</el-button> + </template> + </el-table-column> + </el-table> +@@ -61,17 +60,19 @@ + </div> + </div> + <Dailog ref="Show"></Dailog> ++ <TypeDailog ref="TypeD" @onType="typeAlign" /> + </div> + </template> + <script lang="ts"> + import Dailog from './component/Dailog.vue'; ++import TypeDailog from './component/TypeDailog.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; + import { useRouter } from 'vue-router'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- components: { ElButton, ElInput, Dailog }, ++ components: { ElButton, ElInput, Dailog,TypeDailog }, + setup() { + // 搜索条件 + const ruleForm = reactive({ +@@ -80,8 +81,9 @@ + searchParams: { + qName: '', ////安全目标指标 + indexNum: '', ////目标指标编号 +- targetType: '1', ////指标类型 1:年指标 2:月指标 +- divideStatus: '', ////分解状态 1:已分解 2:未分解 ++ targetType: 1, ////指标类型 1:年指标 2:月指标 ++ divideStatus: 1, ////分解状态 1:已分解 2:未分解 ++ relateType: 1, ////关联业务类型 1:目标检查 2:目标上报 + }, + }); + // 重置 +@@ -91,7 +93,7 @@ + }; + const listApi = () => { + goalManagementApi() +- .getTargetMngList(ruleForm) ++ .getworkApproveList(ruleForm) + .then((res) => { + if (res.data.code == 200) { + tableData.value = res.data.data; +@@ -106,7 +108,7 @@ + // + const handleClick = (val: any) => { + // let targetType = JSON.parse(JSON.stringify(val)); +- ruleForm.searchParams.targetType = val.paneName; ++ ruleForm.searchParams.relateType = val.paneName; + listApi(); + }; + onMounted(() => { +@@ -133,20 +135,21 @@ + const activeName = ref<any>('1'); + // 记录弹窗 + const Show = ref(); +- const openDai = (data: any) => { +- Show.value.openDailog(data); ++ const openDai = (data: any,num:number) => { ++ Show.value.openDailog(data,num); + }; +- // 流程表单 +- const router = useRouter(); +- const jumpFrom = (data: any) => { +- router.push({ +- path: '/processForms', +- query: { +- type: data, +- }, +- }); ++ // 发起审批弹窗 ++ const TypeD = ref(); ++ const TypeDailog = (title:string,name:string,id:number,type:number) => { ++ TypeD.value.openDialog(title,name,id,type); + }; ++ const typeAlign=()=>{ ++ listApi(); ++ } + return { ++ TypeD, ++ typeAlign, ++ TypeDailog, + activeName, + total, + handleClick, +@@ -161,8 +164,6 @@ + handleCurrentChange, + Show, + openDai, +- router, +- jumpFrom, + Plus, + Delete, + Upload, +@@ -195,4 +196,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/api/goalManagement/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\nexport function goalManagementApi() {\r\n return {\r\n // 目标设置、目标指标分解列表\r\n getTargetMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置详情\r\n getTargetMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标设置新增或者修改数据\r\n getTargetMngAddOrupdata: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置删除\r\n getTargetMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标指标分解-新增或者修改数据\r\n gettargetDivideDetail: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDivideDetail/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 统计\r\n getEquipmentInfo: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/equipmentInfo/statistics',\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 分页查询数据\r\n gettargetDutyfileInfoList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutyfileInfo/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 查询单条数据\r\n gettargetDutyfileInfoDetail: (params: number) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 新增或者修改数据\r\n gettargetDutyfileInfoAddorUpdata: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 删除\r\n gettargetDutyfileInfoDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 分页查询数据\r\n getrewardPunishmentStandardList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 查询单条数据\r\n getrewardPunishmentStandardDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩标准设定 新增或者修改数据\r\n getrewardPunishmentStandardaddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 删除\r\n getrewardPunishmentStandardDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 分页查询数据\r\n getrewardPunishmentList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentDetail/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 查询单条数据\r\n getrewardPunishmentDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩记录 新增或者修改数据\r\n getrewardPunishmentAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 删除\r\n getrewardPunishmentDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 分页查询数据\r\n getexamineMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 查询单条数据\r\n getexamineMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 新增或者修改数据\r\n getexamineMngAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 删除\r\n getexamineMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 分页查询数据\r\n getexamineTemplateList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineTemplate/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 查询单条数据\r\n getexamineTemplateDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 新增或者修改数据\r\n getexamineTemplateAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 删除\r\n getexamineTemplateDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 分页查询数据\r\n gettargetDutySummaryList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutySummary/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 查询单条数据\r\n gettargetDutySummaryDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标汇总 新增或者修改数据\r\n gettargetDutySummaryAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 删除\r\n gettargetDutySummaryDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/delete?ids=${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 查询单条数据\r\n gettargetExamineDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetExamine/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 新增或者修改数据\r\n gettargetExamineAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetExamine/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标检查上报 (有疑问) 新增或者修改数据 ---???\r\n getworkApproveAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 部门树\r\n getTreedepartment: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/department/list',\r\n method: 'post'\r\n });\r\n },\r\n // 人员\r\n getManName: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`,\r\n method: 'get'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts +--- a/src/api/goalManagement/index.ts (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/api/goalManagement/index.ts (date 1660370067078) +@@ -247,10 +247,50 @@ + data: params + }); + }, +- // 目标检查上报 (有疑问) 新增或者修改数据 ---??? +- getworkApproveAddOrUpdate: (params: object) => { ++ // 目标检查上报 分页查询数据 ++ getworkApproveList: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetMng/checkAndSubimt/list', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 分页查询检查记录 ++ getworkApproveListCheckData: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/page/listCheckData', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 查询单条数据 ++ getworkApproveDetail: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + `/targetDutyWorkApprove/selectOne/${params}`, ++ method: 'get' ++ }); ++ }, ++ ++ // 目标检查上报 新增数据 ++ getworkApproveAdd: (params: object) => { + return request({ +- url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove', ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/add', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 新增数据 ++ getworkApproveUpdata: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/update', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 删除 ++ getworkApproveDelete: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/delete', + method: 'post', + data: params + }); +@@ -267,6 +307,18 @@ + return request({ + url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`, + method: 'get' ++ }); ++ }, ++ beforeUploadFile(fileName1: string, fileName2: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/presign?prefixName=' + fileName1 + '&suffixName=' + fileName2, ++ method: 'get' ++ }); ++ }, ++ searchFile(fileName: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/view?obj=' + fileName, ++ method: 'get' + }); + } + }; +Index: src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" :rules=\"rules\" size=\"default\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"disabled\" placeholder=\"请填写事故名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentDepartmentId\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.occurrencePlace\" :disabled=\"disabled\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.occurrenceTime\" :disabled=\"disabled\" placeholder=\"请填写发生时间\"></el-input>-->\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人的不安全行为\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"物的不安全状态\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"是否有伤亡\" prop=\"casualties\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.casualties\" :disabled=\"disabled\" @change=\"typeChang\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t\t<el-button v-if=\"ruleForm.casualties\" type=\"primary\" style=\"margin-left: 20px\"\r\n\t\t\t\t\t\t\t\t\t :icon=\"Edit\" @click=\"openDai\" round plain />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故简要经过\" prop=\"accidentBriefProcess\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentBriefProcess\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故简要经过\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因初步分析\" prop=\"accidentCausesPreliminaryAnalysis\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentCausesPreliminaryAnalysis\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故原因初步分析\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急防范措施\" prop=\"emergencyPrecautions\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.emergencyPrecautions\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写应急防范措施\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故照片\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.fileList\" :disabled=\"disabled\"-->\r\n\t\t\t\t\t\t\t<!--type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileListDemo\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<NumberOfCasualties ref=\"ShowUser\"></NumberOfCasualties>\r\n\t\t<CheckTemplate ref=\"Shows\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent, defineEmits, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen, Edit } from '@element-plus/icons-vue';\r\nimport NumberOfCasualties from '/@/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tNumberOfCasualties,\r\n\t\tuploaderImg,\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\temergencyPrecautions: '',\r\n\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\taccidentBriefProcess: '',\r\n\t\t\tcasualties: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\toccurrenceTime: '',\r\n\t\t\toccurrencePlace: '',\r\n\t\t\taccidentDepartmentId: '',\r\n\t\t\taccidentName: '',\r\n\t\t\tfileList: [],\r\n\t\t\tid: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看事故快报' || title == '修改事故快报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.accidentScarh(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\tconst fileListDemo = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故名称不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故部门不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrencePlace: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '发生地点不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrenceTime: [{ type: 'date', required: true, message: '发生时间不能为空', trigger: 'blur' }],\r\n\t\t\taccidentCause: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcasualties: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '是否有伤亡不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentBriefProcess: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故简要经过不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentCausesPreliminaryAnalysis: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因初步分析不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\temergencyPrecautions: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '应急防范措施不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\t// 子传父\r\n\t\t// const emit=defineEmits(['myAdd'])\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.id = null;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList = [\r\n\t\t\t\t\t\t\t// {\r\n\t\t\t\t\t\t\t// \tfileUrl: 'url',\r\n\t\t\t\t\t\t\t// \tfileName: 'name',\r\n\t\t\t\t\t\t\t// },\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t}\r\n\t\t\truleForm.value = {\r\n\t\t\t\taccidentExpressId: '',\r\n\t\t\t\temergencyPrecautions: '',\r\n\t\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\t\taccidentBriefProcess: '',\r\n\t\t\t\tcasualties: '',\r\n\t\t\t\taccidentCause: '',\r\n\t\t\t\toccurrenceTime: '',\r\n\t\t\t\toccurrencePlace: '',\r\n\t\t\t\taccidentDepartmentId: '',\r\n\t\t\t\taccidentName: '',\r\n\t\t\t\tfileList: [],\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 是否有伤亡弹窗\r\n\t\tconst typeChang = () => {\r\n\t\t\tconsole.log('tag', ruleForm);\r\n\t\t};\r\n\t\tconst ShowUser = ref();\r\n\t\tconst openDai = () => {\r\n if(ruleForm.value.id==null||ruleForm.value.id==''){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加事故快报',\r\n type: 'info',\r\n });\r\n }else {\r\n ShowUser.value.openDialog(ruleForm.value.id, disabled.value);\r\n }\r\n\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tShowUser,\r\n\t\t\ttypeChang,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\tEdit,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenDai,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tcloseDialog,\r\n\t\t\tfileListDemo,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (date 1660370067085) +@@ -1,6 +1,7 @@ + <template> + <div class="system-edit-user-container"> +- <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> ++ <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" ++ destroy-on-close @close="closeDialog(ruleFormRef)"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px"> + <el-row :gutter="35"> +@@ -94,7 +95,8 @@ + <el-form-item label="事故照片" prop="fileList"> + <!--<el-input v-model="ruleForm.fileList" :disabled="disabled"--> + <!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <uploaderImg :fileList="fileListDemo"></uploaderImg> ++ <uploaderImg :fileList="fileList" :disabled="disabled" ++ :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg> + </el-form-item> + </el-col> + </el-row> +@@ -157,7 +159,7 @@ + const titles = ref(); + const disabled = ref(); + // 打开弹窗 +- const openDialog = (title: string, id: number, type: boolean) => { ++ const openDialog = async (title: string, id: number, type: boolean) => { + isShowDialog.value = true; + titles.value = title; + disabled.value = type; +@@ -167,24 +169,39 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); +- const fileListDemo = ref<UploadUserFile[]>([ +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- ]); ++ const fileList = ref([]); ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 可选择树 + const treeSelect = ref(); + +@@ -292,6 +309,9 @@ + // const emit=defineEmits(['myAdd']) + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故快报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -327,12 +347,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList = [ +- // { +- // fileUrl: 'url', +- // fileName: 'name', +- // }, +- ]; + accidentManagementSystemApi() + .accidentView(ruleForm.value) + .then((res) => { +@@ -380,6 +394,7 @@ + }; + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value = [] + console.log(ruleForm); + isShowDialog.value = false; + }; +@@ -459,7 +474,7 @@ + getTreeList, + newTreeList, + closeDialog, +- fileListDemo, ++ successUploader + }; + }, + }); +Index: src/views/goalManagement/targetEscalation/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"记录\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" label=\"序号\" type=\"index\" width=\"80\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"检查值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"检查人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"检查时间\" />\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst tableData = ref();\r\n\t\tconst openDailog = (data: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\t// console.log(data)\r\n\t\t\ttableData.value = data;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdialogVisible,\r\n\t\t\ttableData,\r\n\t\t\topenDailog,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue +--- a/src/views/goalManagement/targetEscalation/component/Dailog.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue (date 1660370067090) +@@ -1,15 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="记录" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="查看审批流程" width="50%" draggable> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" label="序号" type="index" width="80" /> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> +- <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定部门" /> +- <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="value" label="检查值" /> +- <el-table-column align="center" prop="commitPersonId" label="检查人" /> +- <el-table-column align="center" prop="makeDate" label="检查时间" /> ++ <el-table-column property="workName" label="审批人" sortable></el-table-column> ++ <el-table-column property="title" label="审批标题" sortable></el-table-column> ++ <el-table-column property="approvePersonName" label="编写人" sortable></el-table-column> ++ <el-table-column property="approveMemo" label="审批意见" sortable></el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +@@ -22,14 +18,28 @@ + <script lang="ts"> + import { defineComponent, reactive, ref } from 'vue'; + import { FullScreen } from '@element-plus/icons-vue'; ++import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + setup() { + const dialogVisible = ref(false); ++ const form = ref({ ++ pageSize: 10, ++ pageIndex: 1, ++ searchParams: { ++ relateId: '', ////检查记录ID ++ relateType:"", ++ }, ++ }); + const tableData = ref(); +- const openDailog = (data: any) => { ++ const openDailog = (data: any,type:number) => { + dialogVisible.value = true; +- // console.log(data) +- tableData.value = data; ++ form.value.searchParams.relateId=data ++ form.value.searchParams.relateType=type ++ goalManagementApi().getworkApproveListCheckData(form.value).then(res=>{ ++ if(res.data.code==200){ ++ tableData.value=res.data.data ++ } ++ }) + }; + //全屏 + const full = ref(false); +@@ -46,6 +56,7 @@ + openDailog, + full, + toggleFullscreen, ++ form, + FullScreen, + }; + }, +Index: src/views/goalManagement/Incentivestandard/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select v-model=\"ruleForm.searchParams.standardType\" size=\"default\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"奖励\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"惩罚\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\" >新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" :disabled=\"warning\" plain :icon=\"EditPen\" @click=\"openD\">修改 </el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"handleSelectionChange\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"qname\" align=\"center\" label=\"奖惩名称\" sortable />\r\n\t\t\t\t<el-table-column property=\"name\" align=\"center\" label=\"奖惩类型\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<!-- <upData ref=\"upShow\"></upData> -->\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, upData, DailogAdd },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tstandardType: '', ////奖惩类型 1:奖励 2:惩罚\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.standardType = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentStandardList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.standardType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.standardType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/Incentivestandard/index.vue b/src/views/goalManagement/Incentivestandard/index.vue +--- a/src/views/goalManagement/Incentivestandard/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/Incentivestandard/index.vue (date 1660370067114) +@@ -27,7 +27,7 @@ + <div class="btns"> + <div> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')" >新建</el-button> +- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> ++ <!-- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="handleSelectionChange">删除</el-button> + </div> + <div> +@@ -279,4 +279,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"769px\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :rules=\"rules\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人姓名\" prop=\"declareUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.declareUserName\" :disabled=\"disabled\" placeholder=\"请填写申报人姓名\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人性别\" prop=\"declareUserGender\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.declareUserGender\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">男</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">女</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人部门\" placeholder=\"请选择\" prop=\"declareDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.declareDepartmentId\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t:data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"工伤类型\" prop=\"workInjuryType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.workInjuryType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻微伤\" value=\"轻微伤\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻伤\" value=\"轻伤\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报日期\" prop=\"declareDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.declareDate\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"损失工时\" prop=\"lostTime\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.lostTime\" :disabled=\"disabled\" placeholder=\"请填写损失工时\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊医院\" prop=\"visitHospital\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitHospital\" :disabled=\"disabled\" placeholder=\"请填写就诊医院\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊结果\" prop=\"visitResult\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitResult\" :disabled=\"disabled\" placeholder=\"请填写就诊结果\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"注意事项\" prop=\"mattersNeedingAttention\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.mattersNeedingAttention\" :disabled=\"disabled\" placeholder=\"请填写注意事项\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"材料是否齐全\" prop=\"completeMaterials\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.completeMaterials\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"备注\" prop=\"remark\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.remark\" :disabled=\"disabled\" type=\"textarea\" placeholder=\"请填写备注\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"showRef\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n\treactive,\r\n\tref,\r\n\tdefineComponent,\r\n\tonMounted\r\n} from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance,FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\tdeclareUserName: '',\r\n\t\t\tdeclareUserGender: '',\r\n\t\t\tdeclareDepartmentId: '',\r\n\t\t\taccidentName:'',\r\n\t\t\taccidentExpressId: '',\r\n\t\t\tworkInjuryType: '',\r\n\t\t\tdeclareDate: '',\r\n\t\t\tlostTime: '',\r\n\t\t\tvisitHospital: '',\r\n\t\t\tvisitResult: '',\r\n\t\t\tmattersNeedingAttention: '',\r\n\t\t\tcompleteMaterials: '',\r\n\t\t\tremark: '',\r\n\t\t\tfileList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfileName: '',\r\n\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看工伤申报' || title == '修改工伤申报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentManagementSystem(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\tconst tree = [\r\n\t\t];\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\r\n\t\t];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 关闭弹窗\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdeclareUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人姓名不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareUserGender: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人性别不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人部门不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '事故名称不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tworkInjuryType: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '工伤类型不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDate: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报日期不能为空',\r\n\t\t\t\t trigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tlostTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '损失工时不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitHospital: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊医院不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitResult: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊结果不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmattersNeedingAttention: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '注意事项不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcompleteMaterials: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '材料状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tremark: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '备注不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\t// 事故名称弹窗\r\n\t\tconst showRef = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tshowRef.value.openDailog();\r\n\t\t};\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value.accidentName = item[0].accidentName\r\n\t\t\truleForm.value.occurrenceTime = item[0].occurrenceTime\r\n\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\tdelete ruleForm.value.id\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tdeclareUserName: '',\r\n\t\t\t\t\tdeclareUserGender: '',\r\n\t\t\t\t\tdeclareDepartmentId: '',\r\n\t\t\t\t\taccidentExpressId: '',\r\n\t\t\t\t\tworkInjuryType: '',\r\n\t\t\t\t\tdeclareDate: '',\r\n\t\t\t\t\tlostTime: '',\r\n\t\t\t\t\tvisitHospital: '',\r\n\t\t\t\t\tvisitResult: '',\r\n\t\t\t\t\tmattersNeedingAttention: '',\r\n\t\t\t\t\tcompleteMaterials: '',\r\n\t\t\t\t\tremark: '',\r\n\t\t\t\t\tfileList: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfileName: '',\r\n\t\t\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdaiInpt,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\ttree,\r\n\t\t\tshowRef,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tonSelectItem,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tpropse,\r\n\t\t\tcloseDialog,\r\n\t\t\tuploaderImg\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (date 1660370067120) +@@ -81,7 +81,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <uploaderImg :fileList="fileList" :name="INCIDENT_MANAGE" ++ @successUploader="successUploader" :disabled="disabled"></uploaderImg> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -184,10 +185,35 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +@@ -241,6 +267,7 @@ + // 关闭弹窗 + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value=[] + isShowDialog.value = false; + }; + // 必填项提示 +@@ -346,12 +373,14 @@ + }; + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建工伤申报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + delete ruleForm.value.id +@@ -384,7 +413,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + accidentManagementSystemApi() +@@ -491,7 +519,9 @@ + newTreeList, + propse, + closeDialog, +- uploaderImg ++ uploaderImg, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"目标考核\" width=\"70%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n <el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n </el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" type=\"index\" label=\"序号\" width=\"70\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报时间\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核结果\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核时间\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n <DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport {deepClone} from \"/@/utils/other\";\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch ,DailogAdd},\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (e: object) => {\r\n\t\t\tform.value = e;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\r\n // 新增弹窗\r\n const index=ref<any>()\r\n const Show = ref();\r\n const daiAdd = (title: string, data: any) => {\r\n // index.value = formUp.targetDivideDetailList.indexOf(data);\r\n Show.value.openDailog(title, data);\r\n };\r\n const formUp = reactive({\r\n targetId: '', //关联的目标指标/外键\r\n delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n // targetDivideDetailList: [], //目标指标分解列表\r\n });\r\n\r\n const add = (val: any) => {\r\n const item = deepClone(val)\r\n if(index.value==-1){\r\n formUp.targetDivideDetailList.push(item);\r\n }else{\r\n formUp.targetDivideDetailList[index.value] = item;\r\n }\r\n\r\n // let obj=JSON.parse(JSON.stringify(form.value))\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\ttargetType,\r\n\t\t\tonNumber,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n daiAdd,\r\n index,\r\n Show,\r\n formUp,\r\n add,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue +--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue (date 1660370067140) +@@ -1,5 +1,5 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" label-width="120px"> + <el-row> +@@ -34,27 +34,38 @@ + <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> ++ <el-table :data="formUp.examineList" style="width: 100%"> + <el-table-column align="center" type="index" label="序号" width="70" /> +- <el-table-column align="center" prop="date" label="责任部门" /> +- <el-table-column align="center" prop="name" label="考核指标" /> +- <el-table-column align="center" prop="address" label="制定部门" /> +- <el-table-column align="center" prop="address" label="制定日期" /> +- <el-table-column align="center" prop="address" label="上报值" /> +- <el-table-column align="center" prop="address" label="上报时间" /> +- <el-table-column align="center" prop="address" label="考核结果" /> +- <el-table-column align="center" prop="address" label="考核人" /> +- <el-table-column align="center" prop="address" label="考核时间" /> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> ++ <el-table-column align="center" prop="examineValue" label="考核指标" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定部门" /> ++ <el-table-column align="center" prop="makeDate" label="制定日期" /> ++ <el-table-column align="center" prop="uploadValue" label="上报值" /> ++ <el-table-column align="center" prop="uploadDate" label="上报时间" /> ++ <el-table-column align="center" prop="examineResult" label="考核结果" > ++ <template #default="scope"> ++ <div v-if="scope.row.examineResult==1"> ++ 合格 ++ </div> ++ <div v-if="scope.row.examineResult==2"> ++ 不合格 ++ </div> ++ </template> ++ </el-table-column> ++ <el-table-column align="center" prop="examinePersonName" label="考核人" /> ++ <el-table-column align="center" prop="examineDate" label="考核时间" /> + <el-table-column align="center" label="操作"> + <template #default="scope"> +- <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('查看', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('修改', scope.row)">修改</el-button> ++ <el-button link type="primary" @click="Delete(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +- <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button @click="closeDialog" size="default">关闭</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -84,15 +95,62 @@ + disabled.value = title == '查看' ? true : false; + if (title == '查看' || title == '修改') { + goalManagementApi() +- .getTargetMngDetail(id) ++ .gettargetExamineDetail(id) + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ formUp.examineList = res.data.data.examineList ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ }; ++ const closeDialog = () => { ++ form.value = {} ++ formUp.examineList = [] ++ dialogVisible.value = false ++ }; ++ const submitForm = () => { ++ // formUp.delTargetDivideDetails = arr.value.toString(); ++ // formUp.targetId = form.value.id; ++ dialogVisible.value = false; ++ for(let i=0;i<formUp.examineList.length;i++){ ++ delete formUp.examineList[i].dutyDepartmentName ++ delete formUp.examineList[i].makerDepartmentName ++ } ++ formUp.id = form.value.id ++ formUp.delIds = arr.value.toString(); ++ goalManagementApi() ++ .gettargetExamineAddOrUpdate(formUp) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('addList'); + } else { + ElMessage.error(res.data.msg); + } + }); +- } ++ form.value = { ++ qName: '', ++ indexNum: '', ++ year: '', ++ value: '', ++ examineList: [], ++ }; ++ tableData.value = []; ++ formUp.targetId = ''; ++ formUp.delTargetDivideDetails = ''; ++ formUp.examineList = []; ++ }; ++ const arr = ref([]); ++ // 删除 ++ const Delete = (data: any) => { ++ formUp.examineList.splice(form.value.examineList.indexOf(data), 1); ++ arr.value.push(data.id); + }; + const onNumber = (e: object) => { + form.value = e; +@@ -107,29 +165,30 @@ + Shows.value.openDailog(targetType.value); + }; + +- // 新增弹窗 +- const index=ref<any>() +- const Show = ref(); +- const daiAdd = (title: string, data: any) => { +- // index.value = formUp.targetDivideDetailList.indexOf(data); +- Show.value.openDailog(title, data); +- }; +- const formUp = reactive({ +- targetId: '', //关联的目标指标/外键 +- delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 +- // targetDivideDetailList: [], //目标指标分解列表 +- }); ++ // 新增弹窗 ++ const index=ref<any>() ++ const Show = ref(); ++ const daiAdd = (title: string, data: any) => { ++ index.value = formUp.examineList.indexOf(data); ++ Show.value.openDailog(title, data); ++ }; ++ const formUp = reactive({ ++ targetId: '', //关联的目标指标/外键 ++ delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 ++ examineList: [], //目标指标分解列表 ++ }); + +- const add = (val: any) => { +- const item = deepClone(val) +- if(index.value==-1){ +- formUp.targetDivideDetailList.push(item); +- }else{ +- formUp.targetDivideDetailList[index.value] = item; +- } +- +- // let obj=JSON.parse(JSON.stringify(form.value)) +- }; ++ const add = (val: any) => { ++ const item = deepClone(val) ++ if(index.value==-1){ ++ ++ formUp.examineList.push(item); ++ }else{ ++ formUp.examineList[index.value] = item; ++ } ++ console.log(formUp) ++ // let obj=JSON.parse(JSON.stringify(form.value)) ++ }; + + //全屏 + const full = ref(false); +@@ -156,11 +215,14 @@ + full, + toggleFullscreen, + FullScreen, +- daiAdd, +- index, +- Show, +- formUp, +- add, ++ daiAdd, ++ index, ++ Show, ++ formUp, ++ add, ++ closeDialog, ++ submitForm, ++ Delete + }; + }, + }); +Index: src/views/goalManagement/targetSettings/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"ruleForm.searchParams.targetType\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t<el-button type=\"danger\" :disabled=\"danger\" size=\"default\" @click=\"onDeleteAll\" :icon=\"Delete\" plain>删除</el-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(年)\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(月)\" name=\"2\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"level\" label=\"指标级别\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"completeDate\" label=\"完成期限\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"状态\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 1\">已分解</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 2\">未分解</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<dailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></dailogAdd>\r\n\t\t\t<upData ref=\"upShow\"></upData>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport dailogAdd from './component/dailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, dailogAdd, upData },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst small = ref(false);\r\n\t\tconst disabled = ref(false);\r\n\t\tconst background = ref(false);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDialog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\t// const warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\t// warning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 上传\r\n\t\t// const upShow = ref();\r\n\t\t// const upButton = () => {\r\n\t\t// \tupShow.value.openDialog();\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\thandleClick,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\t// upShow,\r\n\t\t\t// upButton,\r\n\t\t\tsmall,\r\n\t\t\tdisabled,\r\n\t\t\tbackground,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonAddorUpdata,\r\n\t\t\tonDelete,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tdeletAll,\r\n\t\t\tdanger,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue +--- a/src/views/goalManagement/targetSettings/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetSettings/index.vue (date 1660370067145) +@@ -102,6 +102,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable @close=\"resetForm(ruleFormRef)\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"责任部门\" prop=\"dutyDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.dutyDepartmentId\" check-strictly=\"true\" :data=\"data\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核指标\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.value\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"制定人部门\" prop=\"makerDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.makerDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"制定日期\" prop=\"makeDate\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"上报值\" prop=\"commitPersonName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.commitPersonName\">\r\n<!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"上报时间\" prop=\"makeDate\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n\t\t\t</el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核结果\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"考核人\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核时间\" prop=\"commitPersonName\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\"></el-col>\r\n </el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearchUser ref=\"Show\" @SearchUser=\"onUser\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive, onMounted } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser },\r\n\tsetup(props, { emit }) {\r\n\t\tconst ruleFormRef = ref<FormInstance>()\r\n\t\tconst form = ref({\r\n\t\t\tdutyDepartmentId: '', ////责任部门/外键\r\n\t\t\tmakerDepartmentId: '', ////制定人部门/外键\r\n\t\t\tcommitPersonId: '', ////上报人/外键\r\n\t\t\tcommitPersonName: '',\r\n\t\t\tvalue: '', ////考核指标值\r\n\t\t\tmakeDate: '', ////制定日期\r\n\t\t});\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst disabled = ref(false);\r\n\t\t// 开启弹窗\r\n\t\tconst titles = ref();\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst openDailog = (title: string, data: any) => {\r\n\t\t\ttitles.value = `${title}目标考核`;\r\n\t\t\tif (title == '查看') {\r\n\t\t\t\tdisabled.value = true;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else if (title == '修改') {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t}\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 开启用户弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdutyDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '责任部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakerDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定人部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '上报人不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '考核指标值不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'number',\r\n\t\t\t\t\tmessage: '考核指标值只能为数字类型',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakeDate: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonName: [],\r\n\t\t});\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\temit('onAdd', form.value);\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\t// handleClose(formEl)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\t// console.log(formEl);\r\n\t\t\tif (!formEl) return\r\n\t\t\tformEl.resetFields();\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value={}\r\n\t\t};\r\n\t\t// const handleClose = (formEl: any) => {\r\n\t\t// \tformEl.resetFields();\r\n\t\t// };\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\tconsole.log(e)\r\n\t\t\tform.value.commitPersonId = e.uid;\r\n\t\t\tform.value.commitPersonName = e.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\t// handleClose,\r\n\t\t\tform,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tShow,\r\n\t\t\topenUser,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tdata,\r\n\t\t\tonUser,\r\n\t\t\truleFormRef,\r\n\t\t\trules,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +--- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (date 1660370067151) +@@ -5,19 +5,20 @@ + <el-row> + <el-col :span="11"> + <el-form-item label="责任部门" prop="dutyDepartmentId" size="default"> +- <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核指标" prop="value" size="default"> +- <el-input v-model.number="form.value" /> ++ <el-form-item label="考核指标" prop="examineValue" size="default"> ++ <el-input v-model.number="form.examineValue" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="制定人部门" prop="makerDepartmentId" size="default"> +- <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" ++ @current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +@@ -28,29 +29,30 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="上报值" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="上报值" prop="uploadValue" size="default"> ++ <el-input v-model="form.uploadValue"> + <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="上报时间" prop="makeDate" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="上报时间" prop="uploadDate" size="default"> ++ <el-date-picker v-model="form.uploadDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核结果" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> +- <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> +- </el-input> ++ <el-form-item label="考核结果" prop="examineResult" size="default"> ++ <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%"> ++ <el-option label="合格" :value="1" /> ++ <el-option label="不合格" :value="2" /> ++ </el-select> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核人" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="考核人" prop="examinePersonName" size="default"> ++ <el-input v-model="form.examinePersonName"> + <template #append> <el-button :icon="Search" @click="openUser" /> </template> + </el-input> + </el-form-item> +@@ -58,8 +60,8 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核时间" prop="commitPersonName" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="考核时间" prop="examineDate" size="default"> ++ <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> +@@ -67,7 +69,7 @@ + </el-form> + <template #footer> + <span class="dialog-footer"> +- ++ + <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> + <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button> + </span> +@@ -87,12 +89,15 @@ + setup(props, { emit }) { + const ruleFormRef = ref<FormInstance>() + const form = ref({ +- dutyDepartmentId: '', ////责任部门/外键 +- makerDepartmentId: '', ////制定人部门/外键 +- commitPersonId: '', ////上报人/外键 +- commitPersonName: '', +- value: '', ////考核指标值 +- makeDate: '', ////制定日期 ++ "dutyDepartmentId": '', ////责任部门id/外键 ++ "examineDate": '', ////考核时间 ++ "examinePersonId": '', ////考核人ID/外键 ++ "examineResult": '', ////考核结果 1:合格 2:不合格 ++ "examineValue": '', ////考核指标 ++ "makeDate": '', ////制定日期 ++ "makerDepartmentId": '', ////制定部门/外键 ++ "uploadDate": '', ////上报时间 ++ "uploadValue": "", ////上报值 + }); + //部门 + const department = () => { +@@ -158,7 +163,7 @@ + trigger: 'blur', + }, + ], +- value: [ ++ examineValue: [ + { + required: true, + message: '考核指标值不能为空', +@@ -179,6 +184,13 @@ + ], + commitPersonName: [], + }); ++ const dutyName=(data:any)=>{ ++ form.value.dutyDepartmentName=data.depName ++ } ++ const makerDepartmentName=(data:any)=>{ ++ form.value.makerDepartmentName=data.depName ++ } ++ + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -214,8 +226,8 @@ + const data = ref(); + const onUser = (e: any) => { + console.log(e) +- form.value.commitPersonId = e.uid; +- form.value.commitPersonName = e.realName; ++ form.value.examinePersonId = e.uid; ++ form.value.examinePersonName = e.realName; + }; + return { + disabled, +@@ -238,6 +250,8 @@ + rules, + submitForm, + resetForm, ++ dutyName, ++ makerDepartmentName + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"800px\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故快报\" prop=\"accidentExpressId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.accidentDepartmentName\" class=\"input-with-select\" />-->\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"accidentDepartmentId\" :disabled=\"true\" :data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\t\t\t\t:props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"occurrencePlace\" :disabled=\"true\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故类别\" prop=\"accidentType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人员伤亡事故\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"火灾爆炸事故\" value=\"火灾爆炸事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"危险品泄露事故\" value=\"危险品泄露事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"设备事故\" value=\"设备事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"工艺事故\" value=\"工艺事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故等级\" prop=\"accidentGrade\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentGrade\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特别重大\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大\" value=\"重大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大\" value=\"较大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般\" value=\"一般\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"经济损失\" prop=\"economicLoss\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.economicLoss\" :disabled=\"disabled\" placeholder=\"请填写经济损失\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"轻伤人数\" prop=\"minorInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.minorInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写轻伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"重伤人数\" prop=\"seriousInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.seriousInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写重伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"死亡人数\" prop=\"deathNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.deathNum\" :disabled=\"disabled\" placeholder=\"请填写死亡人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" placeholder=\"请填写事故原因\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"要求报告完成期限\" prop=\"reportDeadline\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.reportDeadline\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故级别\" prop=\"accidentLevel\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentLevel\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特大事故\" value=\"特大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大事故\" value=\"重大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大事故\" value=\"较大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般事故\" value=\"一般事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故延期申请\" prop=\"accidentDelayApply\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentDelayApply\" :disabled=\"disabled\" placeholder=\"请填写事故延期申请\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(直接分析)\" prop=\"comprehensiveAnalysisDirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisDirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(直接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(间接分析)\" prop=\"comprehensiveAnalysisIndirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisIndirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(间接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"整改措施\" prop=\"rectificationMeasures\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.rectificationMeasures\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写整改措施\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故处理\" prop=\"accidentHandling\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentHandling\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写事故处理\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写人\" prop=\"fillInUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.fillInUserName\" :disabled=\"true\"\r\n\t\t\t\t\t\t\t\t\t placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写日期\" prop=\"fillInTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.fillInTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"事故照片\">-->\r\n\t\t\t\t\t<!-- <el-input v-model=\"ruleForm.describe\" type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关人员笔录\" prop=\"relevantPersonnelRecords\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.relevantPersonnelRecords\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写相关人员笔录\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故状态\" prop=\"status\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.status\" :disabled=\"statusDisabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"处理中\" :value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"已处理\" :value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故分析会议纪要\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"其他材料\" prop=\"otherMaterials\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.otherMaterials\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写其他材料\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"Shows\" />\r\n\t\t<DailogSearchUserManger @SearchUser=\"onUser\" ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent,onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\taccidentExpressId:'',\r\n\r\n\t\t\taccidentType: '',\r\n\t\t\taccidentGrade: '',\r\n\t\t\teconomicLoss: '',\r\n\t\t\tminorInjuryNum: '',\r\n\t\t\tseriousInjuryNum: '',\r\n\t\t\tdeathNum: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\treportDeadline: '',\r\n\t\t\taccidentLevel: '',\r\n\t\t\taccidentDelayApply: '',\r\n\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\trectificationMeasures: '',\r\n\t\t\taccidentHandling: '',\r\n\t\t\tfillInUserUid: '',\r\n\t\t\tfillInUserName:'',\r\n\t\t\tfillInTime: '',\r\n\t\t\trelevantPersonnelRecords: '',\r\n\t\t\totherMaterials: '',\r\n\t\t\tfileList: [],\r\n\t\t\tstatus:''\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\tconst statusDisabled = ref(true)\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif(statusDisabledFlag.value=='first'){\r\n\t\t\t\truleForm.value.status = 1\r\n\t\t\t}else if(statusDisabledFlag.value=='second'){\r\n\t\t\t\truleForm.value.status = 2\r\n\t\t\t}\r\n\t\t\tif (title == '修改事故报告') {\r\n\t\t\t\tstatusDisabled.value = false\r\n\t\t\t}else {\r\n\t\t\t\tstatusDisabled.value = true\r\n\t\t\t}\r\n\t\t\tif (title == '查看事故报告' || title == '修改事故报告') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentReport(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\taccidentName.value = res.data.data.accidentName\r\n\t\t\t\t\t\t\taccidentDepartmentId.value = res.data.data.accidentDepartmentId\r\n\t\t\t\t\t\t\toccurrencePlace.value = res.data.data.occurrencePlace\r\n\t\t\t\t\t\t\toccurrenceTime.value = res.data.data.occurrenceTime\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst onCancel = (formEl: FormInstance | undefined) => {\r\n\t\t\tresetForm(formEl);\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\t\t];\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentExpressId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '快报不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentType: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故类别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentGrade: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故等级不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\teconomicLoss: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '经济损失不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\treportDeadline: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '要求报告完成期限不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentLevel: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故级别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisDirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(直接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisIndirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(间接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\trectificationMeasures: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '整改措施不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentHandling: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故处理不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写人不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstatus: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst accidentDepartmentId = ref()\r\n\t\tconst occurrencePlace = ref()\r\n\t\tconst occurrenceTime = ref()\r\n\t\tconst accidentName = ref()\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item[0]);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\taccidentName.value = item[0].accidentName\r\n\t\t\taccidentDepartmentId.value = item[0].accidentDepartmentId\r\n\t\t\toccurrencePlace.value = item[0].occurrencePlace\r\n\t\t\toccurrenceTime.value = item[0].occurrenceTime\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\tdelete ruleForm.value.accidentDepartmentId\r\n\t\t\tdelete ruleForm.value.occurrencePlace\r\n\t\t\tdelete ruleForm.value.occurrenceTime\r\n\r\n\t\t\tif (title == '新建事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.addAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t//TODO 上传组件待定\r\n\t\t\t\t\t\truleForm.value.fileList = []\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.editAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\taccidentExpressId:'',\r\n\r\n\t\t\t\t\taccidentType: '',\r\n\t\t\t\t\taccidentGrade: '',\r\n\t\t\t\t\teconomicLoss: '',\r\n\t\t\t\t\tminorInjuryNum: '',\r\n\t\t\t\t\tseriousInjuryNum: '',\r\n\t\t\t\t\tdeathNum: '',\r\n\t\t\t\t\taccidentCause: '',\r\n\t\t\t\t\treportDeadline: '',\r\n\t\t\t\t\taccidentLevel: '',\r\n\t\t\t\t\taccidentDelayApply: '',\r\n\t\t\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\t\t\trectificationMeasures: '',\r\n\t\t\t\t\taccidentHandling: '',\r\n\t\t\t\t\tfillInUserUid: '',\r\n\t\t\t\t\tfillInUserName:'',\r\n\t\t\t\t\tfillInTime: '',\r\n\t\t\t\t\trelevantPersonnelRecords: '',\r\n\t\t\t\t\totherMaterials: '',\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\tstatus:''\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\t// ruleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value = {}\r\n\t\t\taccidentName.value = ''\r\n\t\t\taccidentDepartmentId.value = ''\r\n\t\t\toccurrencePlace.value = ''\r\n\t\t\toccurrenceTime.value = ''\r\n\t\t};\r\n\t\tconst handleChange = (val: number) => {\r\n\t\t\tconsole.log(val);\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\tconst onUser = (userItem: any) => {\r\n\t\t\truleForm.value.fillInUserUid = userItem[0].uid;\r\n\t\t\truleForm.value.fillInUserName = userItem[0].realName;\r\n\t\t};\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tonCancel,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tonUser,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\thandleChange,\r\n\t\t\tonSelectItem,\r\n\t\t\tnewTreeList,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tpropse,\r\n\t\t\tstatusDisabled,\r\n\t\t\taccidentDepartmentId,\r\n\t\t\toccurrencePlace,\r\n\t\t\toccurrenceTime,\r\n\t\t\taccidentName\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label {\r\n\theight: 100%;\r\n\ttext-align: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (date 1660370067175) +@@ -166,11 +166,11 @@ + /> + </el-form-item> + </el-col> +- <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> +- <!-- <el-form-item label="事故照片">--> +- <!-- <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <!-- </el-form-item>--> +- <!-- </el-col>--> ++ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> ++ <el-form-item label="事故照片"> ++ <uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg> ++ </el-form-item> ++ </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> + <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" +@@ -186,8 +186,9 @@ + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> +- <el-form-item label="事故分析会议纪要" prop="fileList"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <el-form-item label="事故分析会议纪要"> ++ <uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -221,6 +222,7 @@ + import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import uploaderImg from '/@/components/uploaderImg/index.vue'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources'; + import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; + import { goalManagementApi } from '/@/api/goalManagement'; +@@ -231,7 +233,8 @@ + AccidentName, + DailogSearchUserManger, + RegionsDialog, +- uploaderImg ++ uploaderImg, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false); +@@ -266,6 +269,8 @@ + const titles = ref(); + const disabled = ref(); + const statusDisabled = ref(true) ++ // 上传附件 ++ const fileList = ref([]); + // 打开弹窗 + const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => { + isShowDialog.value = true; +@@ -291,18 +296,53 @@ + accidentDepartmentId.value = res.data.data.accidentDepartmentId + occurrencePlace.value = res.data.data.occurrencePlace + occurrenceTime.value = res.data.data.occurrenceTime ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ //事故照片 ++ if(ruleForm.value.expressFileList){ ++ for(var a = 0;a<ruleForm.value.expressFileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(ruleForm.value.expressFileList[a].fileName) ++ .then((res) => { ++ ruleForm.value.expressFileList[a].url = res.data ++ console.log('ruleForm',ruleForm) ++ }) ++ } ++ }else { ++ ruleForm.value.expressFileList = [] ++ } ++ ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 取消 + const onCancel = (formEl: FormInstance | undefined) => { + resetForm(formEl); + }; + //日期选择器 + const value1 = ref(''); +- // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ + // 可选择树 + const treeSelect = ref(); + //定义树形下拉框 +@@ -423,7 +463,9 @@ + delete ruleForm.value.accidentDepartmentId + delete ruleForm.value.occurrencePlace + delete ruleForm.value.occurrenceTime +- ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故报告') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -458,7 +500,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + //TODO 上传组件待定 +- ruleForm.value.fileList = [] + isShowDialog.value = false; + accidentManagementSystemApi() + .editAccidentReport(ruleForm.value) +@@ -512,12 +553,14 @@ + }; + } + }; ++ + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); + // ruleForm.value.accidentExpressId = item[0].id + ruleForm.value = {} ++ fileList.value = [] + accidentName.value = '' + accidentDepartmentId.value = '' + occurrencePlace.value = '' +@@ -629,7 +672,9 @@ + accidentDepartmentId, + occurrencePlace, + occurrenceTime, +- accidentName ++ accidentName, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" placeholder=\"请输入目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"考核指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Dailog ref=\"openAdd\"></Dailog>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tvar arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\thandleClick,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttotal,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/index.vue b/src/views/goalManagement/safetyAssessment/index.vue +--- a/src/views/goalManagement/safetyAssessment/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/safetyAssessment/index.vue (date 1660370067181) +@@ -39,7 +39,7 @@ + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="View" @click="openD('修改', scope.row.id)">修改</el-button> +- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> ++ <!--<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>--> + </template> + </el-table-column> + </el-table> +@@ -209,4 +209,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetSettings/component/dailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"Shows\" @close=\"handleClose(ruleFormRef)\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" ref=\"ruleFormRef\" :rules=\"rules\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" prop=\"qName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" prop=\"indexNum\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" placeholder=\"请填写目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" prop=\"year\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.year\" maxlength=\"8\" placeholder=\"请填写年度\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" placeholder=\"请填写指标值\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"指标级别\" size=\"default\" prop=\"level\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.level\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t<el-option label=\"公司级\" :value=\"1\">公司级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"部门分厂级\" :value=\"2\">部门分厂级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"工段班组级\" :value=\"3\">工段班组级</el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"完成期限\" size=\"default\" prop=\"completeDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.completeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t<el-input v-model=\"form.memo\" size=\"default\" type=\"textarea\" />\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"titles == '查看目标设定' ? false : true\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue';\r\nimport screenfull from 'screenfull';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup(props, { emit }) {\r\n\t\tlet Shows = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tqName: '', //安全目标指标\r\n\t\t\tyear: '', //年度\r\n\t\t\tlevel: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttargetType: '', ////指标类型 1:年指标 2:月指标\r\n\t\t\tcompleteDate: '', ////完成期限\r\n\t\t\tdivideStatus: '2', ////分解状态 1:已分解 2:未分解\r\n\t\t\tvalue: '', ////指标值\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, value: any, id: number) => {\r\n\t\t\tShows.value = true;\r\n\t\t\ttitles.value = `${title}目标设定`;\r\n\t\t\tform.value.targetType = value;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '安全目标指标不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tindexNum: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '目标指标编号不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyear: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '年度不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '指标值不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlevel:[],\r\n\t\t\tcompleteDate:[],\r\n\t\t\tmemo:[]\r\n\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tShows.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngAddOrupdata(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tShows.value = false;\r\n\t\t};\r\n\t\tconst handleClose = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\thandleClose,\r\n\t\t\ttitles,\r\n\t\t\tShows,\r\n\t\t\tform,\r\n\t\t\tfull,\r\n\t\t\tdisabled,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\trules,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue +--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue (date 1660370067201) +@@ -38,7 +38,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="完成期限" size="default" prop="completeDate"> +- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.completeDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -56,6 +63,7 @@ + </template> + <script lang="ts"> + import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue'; ++// import { timeDate } from '/@/assets/index.ts'; + import screenfull from 'screenfull'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; +@@ -90,11 +98,25 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.completeDate = timeC(form.value.completeDate); + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { +@@ -133,10 +155,9 @@ + trigger: 'change', + }, + ], +- level:[], +- completeDate:[], +- memo:[] +- ++ level: [], ++ completeDate: [], ++ memo: [], + }); + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { +@@ -158,7 +179,7 @@ + formEl.resetFields(); + } + }); +- formEl.resetFields(); ++ formEl.resetFields(); + } else { + console.log('error submit!', fields); + } +@@ -174,9 +195,11 @@ + formEl.resetFields(); + }; + return { ++ timeC, + openDialog, + handleClose, + titles, ++ // timeDate, + Shows, + form, + full, +@@ -195,4 +218,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择岗位\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.pass\" placeholder=\"岗位名称\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"11\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"submitForm(ruleFormRef)\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm(ruleFormRef)\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"岗位名称\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[100, 200, 300, 400]\"\r\n\t\t\t\t\t:small=\"small\"\r\n\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t:background=\"background\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"400\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.id }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup(props,{emit}) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpass: '',\r\n\t\t\tcheckPass: '',\r\n\t\t});\r\n\t\t// 表格\r\n\t\tconst tableData = [\r\n\t\t\t{ id:1,\r\n\t\t\t\tdate: '2016-05-03',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid:2,\r\n\t\t\t\tdate: '2016-05-02',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\t\r\n\t\t\t\tid:3,\t\r\n\t\t\t\tdate: '2016-05-04',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\tid:4,\r\n\t\t\t\tdate: '2016-05-01',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst pageSize4 = ref(100);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\tconsole.log(`${val} items per page`);\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\tconsole.log(`current page: ${val}`);\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t\tconst submitForm=()=>{\r\n\t\t\tlet obj=JSON.parse(JSON.stringify(dynamicTags.value))\r\n\t\t\temit(\"backNum\",obj[0])\r\n\t\t\tdialogVisible.value = false\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue +--- a/src/views/goalManagement/TargetBook/component/DailogSearch.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue (date 1660370067207) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> +- <el-table-column align="center"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > ++ <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -59,7 +59,7 @@ + :disable-transitions="false" + @close="handleClose(tag)" + > +- {{ tag.id }} ++ {{ tag.date }} + </el-tag> + </div> + </el-col> +@@ -89,24 +89,24 @@ + // 表格 + const tableData = [ + { id:1, +- date: '2016-05-03', ++ date: '岗位1', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { + id:2, +- date: '2016-05-02', ++ date: '岗位2', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +- { +- id:3, +- date: '2016-05-04', ++ { ++ id:3, ++ date: '岗位3', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { id:4, +- date: '2016-05-01', ++ date: '岗位4', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +Index: src/components/uploaderImg/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-upload\r\n\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\tlist-type=\"picture-card\"\r\n\t\t\t:on-preview=\"handlePictureCardPreview\"\r\n\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t:on-success=\"successFile\"\r\n\t\t\t:on-error=\"errorFile\"\r\n\t>\r\n\t\t<el-icon><Plus /></el-icon>\r\n\t</el-upload>\r\n\r\n\t<el-dialog v-model=\"dialogVisible\">\r\n\t\t<img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\n\timport { ref,defineComponent } from 'vue'\r\n\timport { Plus } from '@element-plus/icons-vue'\r\n\timport type { UploadProps, UploadUserFile } from 'element-plus'\r\n\r\n\texport default defineComponent({\r\n\t\tprops: {\r\n\t\t\t// svg 图标组件名字\r\n\t\t\tfileList: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t},\r\n\t\t},\r\n\t\tcomponents: {\r\n\t\t\tPlus\r\n\t\t},\r\n\t\tsetup() {\r\n\r\n\t\t\tconst dialogImageUrl = ref('')\r\n\t\t\tconst dialogVisible = ref(false)\r\n\r\n\t\t\tconst handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\t\tconsole.log(uploadFile, uploadFiles)\r\n\t\t\t}\r\n\r\n\t\t\tconst handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\t\tdialogImageUrl.value = uploadFile.url!\r\n\t\t\t\tdialogVisible.value = true\r\n\t\t\t}\r\n\r\n\t\t\tconst successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(response, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\t\t\tconst errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(error, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\r\n\r\n\t\t\treturn {\r\n\t\t\t\tdialogImageUrl,\r\n\t\t\t\tdialogVisible,\r\n\t\t\t\thandleRemove,\r\n\t\t\t\thandlePictureCardPreview,\r\n\t\t\t\tsuccessFile,\r\n\t\t\t\terrorFile\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n</script> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderImg/index.vue b/src/components/uploaderImg/index.vue +--- a/src/components/uploaderImg/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/components/uploaderImg/index.vue (date 1660370067213) +@@ -1,12 +1,13 @@ + <template> + <el-upload +- v-model:file-list="fileList" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- list-type="picture-card" +- :on-preview="handlePictureCardPreview" +- :on-remove="handleRemove" +- :on-success="successFile" +- :on-error="errorFile" ++ v-model:file-list="fileList" ++ :disabled="disabled" ++ :http-request="uploadSectionFile" ++ list-type="picture-card" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" + > + <el-icon><Plus /></el-icon> + </el-upload> +@@ -16,50 +17,141 @@ + </el-dialog> + </template> + <script lang="ts"> +- import { ref,defineComponent } from 'vue' +- import { Plus } from '@element-plus/icons-vue' +- import type { UploadProps, UploadUserFile } from 'element-plus' ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; + +- export default defineComponent({ +- props: { +- // svg 图标组件名字 +- fileList: { +- type: Array, +- }, ++export default defineComponent({ ++ props: { ++ // svg 图标组件名字 ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, + }, +- components: { +- Plus +- }, +- setup() { +- +- const dialogImageUrl = ref('') +- const dialogVisible = ref(false) ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); + +- const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { +- console.log(uploadFile, uploadFiles) +- } ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ }; + +- const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { +- dialogImageUrl.value = uploadFile.url! +- dialogVisible.value = true +- } ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ dialogImageUrl.value = uploadFile.url!; ++ dialogVisible.value = true; ++ }; + +- const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(response, uploadFile,uploadFiles) +- } +- const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(error, uploadFile,uploadFiles) ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] + } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; + ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; + +- return { +- dialogImageUrl, +- dialogVisible, +- handleRemove, +- handlePictureCardPreview, +- successFile, +- errorFile +- }; +- }, +- }); +-</script> +\ No newline at end of file ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> +Index: src/views/goalManagement/TargetBook/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.jobId\" placeholder=\"请选择岗位\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openSearch\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"index\" label=\"序号\" align=\"center\" width=\"70\" />\r\n\t\t\t\t<el-table-column property=\"jobId\" align=\"center\" label=\"岗位\" sortable />\r\n\t\t\t\t<el-table-column property=\"signDate\" align=\"center\" label=\"责任书签订日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column property=\"extraFile\" align=\"center\" label=\"附件\" sortable />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" style=\"width: 300px\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearch ref=\"openUser\"></DailogSearch>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearch from './component/DailogSearch.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearch },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tjobId: '', ////岗位号/外键\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.jobId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.jobId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.jobId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\topenSearch,\r\n\t\t\ttimeDate,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue +--- a/src/views/goalManagement/TargetBook/index.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/TargetBook/index.vue (date 1660370067232) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.jobId" placeholder="请选择岗位"> ++ <el-input v-model="jobName" placeholder="请选择岗位"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> + </el-form-item> +@@ -61,7 +61,7 @@ + /> + </div> + <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd> +- <DailogSearch ref="openUser"></DailogSearch> ++ <DailogSearch ref="openUser" @backNum="IdNumber"></DailogSearch> + </div> + </div> + </template> +@@ -88,6 +88,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.jobId = ''; ++ jobName.value="" + listApi(); + }; + const listApi = () => { +@@ -116,6 +117,11 @@ + const onAddorUpdata = () => { + listApi(); + }; ++ const jobName=ref() ++ const IdNumber=(val:any)=>{ ++ ruleForm.jobId=val.id ++ jobName.value=val.date ++ } + // 表格 + const tableData = ref(); + const currentPage4 = ref(); +@@ -222,6 +228,7 @@ + openUser.value.openDailog(); + }; + return { ++ IdNumber, + ruleForm, + resetForm, + listApi, +@@ -278,4 +285,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"岗位\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.jobId\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书签订日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.signDate\" style=\"width:100%\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择日期时间\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书附件\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"IdNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\textraFile: '666', //责任书附件\r\n\t\t\tjobId: '', //岗位\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value =`${title}目标责任书`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.gettargetDutyfileInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoAddorUpdata(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\tconst IdNumber=(val:any)=>{\r\n form.value.jobId=val.id\r\n\t\t}\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tIdNumber,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\topenDailog,\r\n\t\t\tdaiInpt,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShows,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue +--- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue (date 1660370067237) +@@ -1,11 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" :disabled="disabled" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="岗位" size="default"> +- <el-input v-model="form.jobId" placeholder="请选择"> ++ <el-input v-model="form.jobName" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> + </el-form-item> +@@ -14,7 +14,7 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书签订日期" size="default"> +- <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> ++ <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> + </el-form-item> + </el-col> + </el-row> +@@ -28,22 +28,8 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -64,8 +50,9 @@ + import { ElMessage, ElMessageBox } from 'element-plus'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearch }, ++ components: { DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const form = ref({ +@@ -88,14 +75,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.signDate=timeC(form.value.signDate) ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 提交 + const submitForm = () => { + dialogVisible.value = false; ++ delete form.value.jobName + goalManagementApi() + .gettargetDutyfileInfoAddorUpdata(form.value) + .then((res) => { +@@ -127,6 +170,7 @@ + extraFile: '666', //责任书附件 + jobId: '', //岗位 + }; ++ fileList.value = [] + }; + // 安全目标指标弹窗 + const Shows = ref(); +@@ -135,17 +179,10 @@ + }; + const IdNumber=(val:any)=>{ + form.value.jobId=val.id ++ form.value.jobName=val.date + } + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, ++ const fileList = ref([ + ]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { +@@ -176,6 +213,7 @@ + } + }; + return { ++ timeC, + IdNumber, + dialogVisible, + form, +@@ -195,6 +233,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -203,4 +243,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"769px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"drillName\">\r\n <el-input v-model=\"ruleForm.drillName\" placeholder=\"请填写演练名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input v-model=\"ruleForm.drillAddress\" placeholder=\"请填写演练地点\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.departmentId\"\r\n :data=\"data\"\r\n check-strictly\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"1\"></el-option>\r\n <el-option label=\"桌面\" value=\"2\"></el-option>\r\n <el-option label=\"专项\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"planName\" >\r\n <el-input\r\n v-model=\"ruleForm.planName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.makingPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.drillPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <!--<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n <!--<el-form-item label=\"修改时间\" prop=\"gmtModitify\">-->\r\n <!--<el-date-picker v-model=\"ruleForm.gmtModitify\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserName\">\r\n <el-input v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\" disabled></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.makingDepartmentId\"\r\n check-strictly\r\n :data=\"data\"\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"userListString\" >\r\n <el-input\r\n v-model=\"ruleForm.userListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(0)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(1)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <!--<el-upload-->\r\n <!--v-model:file-list=\"fileList\"-->\r\n <!--class=\"upload-demo\"-->\r\n <!--action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"-->\r\n <!--:on-change=\"handleChange\"-->\r\n <!-->-->\r\n <!--<el-button type=\"primary\"-->\r\n <!-->点击上传</el-button>-->\r\n <!--<template #tip>-->\r\n <!--<div class=\"el-upload__tip\">-->\r\n <!--添加相关附件-->\r\n <!--</div>-->\r\n <!--</template>-->\r\n <!--</el-upload>-->\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\" />\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"SearchUser\" />\r\n <DailogSearchUser ref=\"userFZRef\" @SearchUser=\"SearchFZUser\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport type {\r\n UploadUserFile,\r\n FormInstance,\r\n} from 'element-plus'\r\nimport { ElMessage } from 'element-plus';\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport {releaseDrillPlanApi} from \"/@/api/contingencyManagement/emergencyDrillPlan\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nimport { Session } from '/@/utils/storage';\r\n\r\nexport default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingUserName: '', //计划制定人Name\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n ruleForm.value.makingUserUid = Session.get('uid');\r\n ruleForm.value.makingUserName = Session.get('realName');\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {\r\n releaseDrillPlanApi()\r\n .seeReleaseDrillPlan(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.userListString=''\r\n ruleForm.value.chargeUserListString=''\r\n for(var a = 0;a<res.data.data.userList.length;a++){\r\n if(res.data.data.userList[a].type==1){\r\n ruleForm.value.userListString += res.data.data.userList[a].userName+';'\r\n }\r\n // if(res.data.data.userList[a].type==2){\r\n // ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'\r\n // }\r\n }\r\n // alert(res.data.data.chargeUserList.length)\r\n for(var a = 0;a<res.data.data.chargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ]\r\n //部门树\r\n const department = () => {\r\n goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = ref()\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n value: 'depId',\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n // 表单提交验证必填项\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)\r\n delete ruleForm.value.planName\r\n delete ruleForm.value.chargeUserListString\r\n delete ruleForm.value.userListString\r\n delete ruleForm.value.chargeUserList\r\n delete ruleForm.value.gmtModitify\r\n if (title == '新建应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .addReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n }\r\n else if (title == '修改应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .editReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n }\r\n }\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n formEl.resetFields();\r\n };\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt = () => {\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.planId=e.id\r\n ruleForm.value.planName=e.name\r\n };\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const userFZRef = ref();\r\n //打开演练人员和演练负责人弹窗 type 0 演练人员 1 演练负责人\r\n const openUser = (type:number) => {\r\n if(type==0){\r\n userRef.value.openDailog(0);\r\n }else if(type==1){\r\n userFZRef.value.openDailog(0);\r\n }\r\n };\r\n const SearchUser = (e:any) => {\r\n console.log('演练人员',e)\r\n ruleForm.value.userListString=''\r\n ruleForm.value.userList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.userList.push(\r\n {\r\n type: 1,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.userListString+=e[a].realName+';'\r\n }\r\n\r\n };\r\n const SearchFZUser = (e:any) => {\r\n console.log('演练负责人员',e[0].userName)\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.chargeUserList=[]\r\n // ruleForm.value.chargeUserList = []\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.chargeUserList.push(\r\n {\r\n type: 2,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.chargeUserListString+=e[a].realName+';'\r\n }\r\n };\r\n // 计划定制日期\r\n const datetime = ref('');\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n isShowDialog,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n department,\r\n propse,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n ruleFormRef,\r\n submitForm,\r\n openUser,\r\n userRef,\r\n datetime,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n titles,\r\n disabled,\r\n resetForm,\r\n emit,\r\n onUser,\r\n userFZRef,\r\n SearchUser,\r\n SearchFZUser\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea{\r\n height: 168px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 168px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n//多行文本框\r\n.textarea{\r\n height: 70px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 70px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (date 1660370067244) +@@ -162,20 +162,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <!--<el-upload--> +- <!--v-model:file-list="fileList"--> +- <!--class="upload-demo"--> +- <!--action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> +- <!--:on-change="handleChange"--> +- <!-->--> +- <!--<el-button type="primary"--> +- <!-->点击上传</el-button>--> +- <!--<template #tip>--> +- <!--<div class="el-upload__tip">--> +- <!--添加相关附件--> +- <!--</div>--> +- <!--</template>--> +- <!--</el-upload>--> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -215,12 +203,13 @@ + import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan"; + import {goalManagementApi} from "/@/api/goalManagement"; + import { Session } from '/@/utils/storage'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -281,14 +270,35 @@ + for(var a = 0;a<res.data.data.chargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';' + } ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -318,6 +328,9 @@ + }); + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList) + delete ruleForm.value.planName + delete ruleForm.value.chargeUserListString +@@ -412,6 +425,7 @@ + } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; ++ fileList.value=[] + if (!formEl) return; + ruleForm.value = { + makingPlanDate: '', // 计划制定日期 +@@ -473,7 +487,6 @@ + ) + ruleForm.value.userListString+=e[a].realName+';' + } +- + }; + const SearchFZUser = (e:any) => { + console.log('演练负责人员',e[0].userName) +@@ -532,7 +545,9 @@ + onUser, + userFZRef, + SearchUser, +- SearchFZUser ++ SearchFZUser, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -573,4 +588,4 @@ + margin-right: 0; + border-radius: 4px 4px 0 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/components/uploaderFile/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderFile/index.vue b/src/components/uploaderFile/index.vue +new file mode 100644 +--- /dev/null (date 1660370066958) ++++ b/src/components/uploaderFile/index.vue (date 1660370066958) +@@ -0,0 +1,178 @@ ++<template> ++ <el-upload ++ v-model:file-list="fileList" ++ multiple ++ :disabled="disabled" ++ class="upload-demo" ++ :http-request="uploadSectionFile" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" ++ > ++ <el-button type="primary">点击上传</el-button> ++ <template #tip> ++ <div class="el-upload__tip"> ++ 请上传文件 ++ <!--jpg/png files with a size less than 500KB.--> ++ </div> ++ <slot name="file"> ++ ++ </slot> ++ </template> ++ </el-upload> ++ ++ <!--<el-dialog v-model="dialogVisible">--> ++ <!--<img w-full :src="dialogImageUrl" alt="Preview Image" />--> ++ <!--</el-dialog>--> ++</template> ++<script lang="ts"> ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++ ++export default defineComponent({ ++ props: { ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, ++ }, ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); ++ ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ emit('deleteFile',uploadFiles); ++ }; ++ ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ goalManagementApi() ++ .searchFile(uploadFile.fileName) ++ .then((res) => { ++ window.open(res.data, "_blank"); ++ }) ++ dialogImageUrl.value = uploadFile.url!; ++ // dialogVisible.value = true; ++ }; ++ ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] ++ } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].name=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; ++ ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; ++ ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> ++<style scoped> ++ .upload-demo{ ++ width: 100%; ++ } ++</style> +Index: src/views/goalManagement/targetEscalation/component/TypeDailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue +new file mode 100644 +--- /dev/null (date 1660370067109) ++++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue (date 1660370067109) +@@ -0,0 +1,271 @@ ++<template> ++ <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="50%" draggable :fullscreen="full" :close-on-click-modal="false"> ++ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> ++ <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> ++ <div v-if="titleName=='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="titleName!='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="typeScope"> ++ <el-row> ++ <el-col> ++ <el-form-item label="审批结果" prop="authorUid"> ++ <el-radio-group v-model="form.approveResult"> ++ <el-radio :label="0">不通过</el-radio> ++ <el-radio :label="1">通过</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="审批意见" prop="approveMemo"> ++ <el-input v-model="form.approveMemo" type="textarea" placeholder="请填写审批意见"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="是否完成" prop="complete"> ++ <el-radio-group v-model="form.approveStatus"> ++ <el-radio :label="3">是</el-radio> ++ <el-radio :label="2">否</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <div v-if="form.approveStatus==2"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ </div> ++ </el-form> ++ <template #footer> ++ <span class="dialog-footer"> ++ <el-button @click="resetForm" size="default">关闭</el-button> ++ <el-button size="default" type="primary" @click="submitForm">确定</el-button> ++ </span> ++ </template> ++ </el-dialog> ++ <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> ++</template> ++<script lang="ts"> ++import { ref, defineComponent } from 'vue'; ++import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++import { Search, FullScreen } from '@element-plus/icons-vue'; ++export default defineComponent({ ++ components: { DailogSearchUserManger }, ++ setup(props, { emit }) { ++ const dialogVisible = ref(false); ++ const form = ref({ ++ workName: '', // 审批名称 ++ title: '', //审批标题 ++ approvePersonId: '', ++ approvePersonName: '', ++ approveStatus: 2, ++ approveResult: '', ++ relateType: 1, ++ relateId: '', ++ }); ++ // 提交 ++ const submitForm = () => { ++ if (titleName.value == '发起审批') { ++ goalManagementApi() ++ .getworkApproveAdd(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } else if (titleName.value == '审批') { ++ goalManagementApi() ++ .getworkApproveUpdata(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ // 关闭 ++ const resetForm = () => { ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ const titleName = ref(); ++ const typeScope = ref(); ++ const disabledT = ref(false); ++ const disabled = ref(false); ++ const formUp=ref({ ++ workName:"", ++ title:"", ++ approvePersonName:"" ++ }) ++ // 打开弹窗 ++ const openDialog = (title: string, name: string, id: number,type:number) => { ++ dialogVisible.value = true; ++ titleName.value = title; ++ form.value.relateType=type ++ if (title == '发起审批') { ++ form.value.relateId = id; ++ typeScope.value = false; ++ } else if (title == '审批'||title == '查看审批') { ++ goalManagementApi() ++ .getworkApproveDetail(id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ form.value = res.data.data; ++ form.value.approveStatus="" ++ formUp.value.workName=form.value.workName ++ formUp.value.title=form.value.title ++ formUp.value.approvePersonName=form.value.approvePersonName ++ if (form.value.approvePersonName === form.value.submitPersonName) { ++ disabled.value = false; ++ } else { ++ disabled.value = true; ++ } ++ } ++ }); ++ typeScope.value = true; ++ disabledT.value = true; ++ } ++ }; ++ // 打开用户选择弹窗 ++ const userRef = ref(); ++ const openUser = () => { ++ userRef.value.openDailog(); ++ }; ++ const onUser = (val: any) => { ++ form.value.approvePersonId = val[0].uid; ++ form.value.approvePersonName = val[0].realName; ++ }; ++ //全屏 ++ const full = ref(false); ++ const toggleFullscreen = () => { ++ if (full.value == false) { ++ full.value = true; ++ } else { ++ full.value = false; ++ } ++ }; ++ return { ++ formUp, ++ onUser, ++ dialogVisible, ++ form, ++ disabledT, ++ submitForm, ++ resetForm, ++ titleName, ++ typeScope, ++ disabled, ++ openDialog, ++ userRef, ++ openUser, ++ full, ++ toggleFullscreen, ++ Search, ++ FullScreen, ++ }; ++ }, ++}); ++</script> ++<style> ++.el-row { ++ padding-bottom: 20px; ++} ++</style> +Index: src/components/equipmentDailog/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\" draggable :title=\"titles\" width=\"60%\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" :rules=\"rules\" :disabled=\"disabled\" label-width=\"120px\" class=\"formType\">\r\n\t\t\t<el-form-item label=\"装置设施名称\" size=\"default\" prop=\"qName\">\r\n\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写装置设施名称\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施位号\" size=\"default\" prop=\"positionNum\">\r\n\t\t\t\t<el-input disabled v-model=\"form.positionNum\" placeholder=\"请填写装置设施位号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施用途\" size=\"default\" prop=\"qUsage\">\r\n\t\t\t\t<el-input v-model=\"form.qUsage\" placeholder=\"请填写装置设施用途\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施型号\" size=\"default\" prop=\"model\">\r\n\t\t\t\t<el-input v-model=\"form.model\" placeholder=\"请填写装置设施型号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"类型/类别外键\" size=\"default\" prop=\"equipmentTypeName\">\r\n\t\t\t\t<el-input v-model=\"form.equipmentTypeName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"opencategory\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<!-- <el-form-item label=\"区域名称\" size=\"default\">\r\n <el-input v-model=\"form.name\" placeholder=\"请选择\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openRegion\"></el-button>\r\n </template>\r\n </el-input>\r\n </el-form-item> -->\r\n\t\t\t<el-form-item label=\"单位部门\" size=\"default\" prop=\"departmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.departmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"设置部位\" size=\"default\" prop=\"setPart\">\r\n\t\t\t\t<el-input v-model=\"form.setPart\" placeholder=\"请填写设置部位\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生产日期\" size=\"default\" prop=\"produceTime\">\r\n\t\t\t\t<el-date-picker v-model=\"form.produceTime\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用期限(天)\" size=\"default\" prop=\"useEndDay\">\r\n\t\t\t\t<el-input v-model=\"form.useEndDay\" placeholder=\"请填写使用期限\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生命周期\" size=\"default\" prop=\"lifeCycle\">\r\n\t\t\t\t<el-select v-model=\"form.lifeCycle\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"已投用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"库存中\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"3\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"投用日期\" size=\"default\" prop=\"useDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.useDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"维修状态\" size=\"default\" prop=\"repairStatus\">\r\n\t\t\t\t<el-select v-model=\"form.repairStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"维修中\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"已修好\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用状态\" size=\"default\" prop=\"stopStatus\">\r\n\t\t\t\t<el-select v-model=\"form.stopStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"停用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"在用\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"维修\" :value=\"3\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"4\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检查日期\" size=\"default\" prop=\"previousCheckDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousCheckDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检测日期\" size=\"default\" prop=\"previousTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.previousTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次保养日期\" size=\"default\" prop=\"previousTakecareDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousTakecareDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检查日期\" size=\"default\" prop=\"nextCheckDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextCheckDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检测日期\" size=\"default\" prop=\"nextTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次保养日期\" size=\"default\" prop=\"nextTakecareDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTakecareDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人\" size=\"default\" prop=\"leadingPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.leadingPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(1)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人部门\" size=\"default\" prop=\"leadingPersonDepartmentId\">\r\n\t\t\t\t<el-tree-select\r\n\t\t\t\t\tv-model=\"form.leadingPersonDepartmentId\"\r\n\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\tcheck-strictly=\"true\"\r\n\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"供应商\" size=\"default\" prop=\"supplyName\">\r\n\t\t\t\t<el-input v-model=\"form.supplyName\" placeholder=\"请填写供应商\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用说明\" size=\"default\" prop=\"useMemo\">\r\n\t\t\t\t<el-input v-model=\"form.useMemo\" placeholder=\"请填写使用说明\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检查\" size=\"default\" prop=\"isNeedCheck\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedCheck\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查周期\" size=\"default\" prop=\"checkCycle\">\r\n\t\t\t\t<el-input v-model=\"form.checkCycle\" placeholder=\"请填写检查周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查提前提醒\" size=\"default\" prop=\"checkWarn\">\r\n\t\t\t\t<el-input v-model=\"form.checkWarn\" placeholder=\"请填写检查提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检测\" size=\"default\" prop=\"isNeedTest\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTest\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测周期\" size=\"default\" prop=\"testCycle\">\r\n\t\t\t\t<el-input v-model=\"form.testCycle\" placeholder=\"请填写检测周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测提前提醒\" size=\"default\" prop=\"testWarn\">\r\n\t\t\t\t<el-input v-model=\"form.testWarn\" placeholder=\"请填写检测提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否保养\" size=\"default\" prop=\"isNeedTakecare\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTakecare\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查内容\" size=\"default\" prop=\"checkContent\">\r\n\t\t\t\t<el-input v-model=\"form.checkContent\" placeholder=\"请填写检查内容\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责部门\" size=\"default\" prop=\"leadingDepartmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.leadingDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查指标\" size=\"default\" prop=\"checkPoint\">\r\n\t\t\t\t<el-input v-model=\"form.checkPoint\" placeholder=\"请填写检查指标\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"预警值\" size=\"default\" prop=\"alertNum\">\r\n\t\t\t\t<el-input v-model=\"form.alertNum\" placeholder=\"请填写预警值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"联锁值\" size=\"default\" prop=\"lockNum\">\r\n\t\t\t\t<el-input v-model=\"form.lockNum\" placeholder=\"请填写联锁值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用理由\" size=\"default\" prop=\"stopReason\">\r\n\t\t\t\t<el-input v-model=\"form.stopReason\" placeholder=\"请填写停用理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用后措施\" size=\"default\" prop=\"afterStopStep\">\r\n\t\t\t\t<el-input v-model=\"form.afterStopStep\" placeholder=\"请填写停用后措施\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际停用日期\" size=\"default\" prop=\"actualStopDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.actualStopDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交人\" size=\"default\" prop=\"stopSubmitPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.stopSubmitPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(2)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交日期\" size=\"default\" prop=\"stopSubmitDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.stopSubmitDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复理由\" size=\"default\" prop=\"recoveryReason\">\r\n\t\t\t\t<el-input v-model=\"form.recoveryReason\" placeholder=\"请填写恢复理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复填报日期\" size=\"default\" prop=\"recoverySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.recoverySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际恢复日期\" size=\"default\" prop=\"actualRecoveryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualRecoveryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废理由\" size=\"default\" prop=\"destoryReason\">\r\n\t\t\t\t<el-input v-model=\"form.destoryReason\" placeholder=\"请填写报废理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废填报日期\" size=\"default\" prop=\"destorySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.destorySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际报废日期\" size=\"default\" prop=\"actualDestoryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualDestoryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"设备保养\" name=\"first\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openMaintenance('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.takecareDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareMemo\" label=\"保养情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonName\" label=\"保养负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareDate\" :formatter=\"timeDate\" label=\"保养日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonDepartmentName\" label=\"保养负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备检测\" name=\"second\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openDetect('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.testDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonName\" label=\"检测人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testDate\" :formatter=\"timeDate\" label=\"检测日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonDepartmentName\" label=\"检测人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testMemo\" label=\"检测内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"检测结果\" >\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==1\">成功</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==2\">失败</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testStatus\" label=\"检测状态\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteB(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备维修\" name=\"third\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openRepair('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.repaireDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"exceptionInfo\" label=\"设施异常项\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"维修状态\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==1\">维修中</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==2\">已修好</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairMemo\" label=\"维修情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonName\" label=\"维修负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonDepartmentName\" label=\"维修负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairStartDate\" :formatter=\"timeDate\" label=\"维修开始日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairEndDate\" :formatter=\"timeDate\" label=\"维修结束日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteC(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"检查标准设置\" name=\"fourth\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openStandard('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.checkStandardeDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"indexNum\" label=\"序号\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkContent\" label=\"检查内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkTarget\" label=\"检查指标\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"unit\" label=\"单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkPart\" label=\"巡检部位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"rate\" label=\"频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteD(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"巡检记录\" size=\"default\" name=\"five\">\r\n\t\t\t\t<el-table :data=\"name\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"name\" label=\"任务编号\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"任务名称\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"点位类型\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"检查频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" :formatter=\"timeDate\" label=\"巡检时间\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"巡检人\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"保养维修标准\" name=\"six\" v-if=\"Dailogtype\">\r\n\t\t\t\t<el-upload\r\n\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\tmultiple\r\n\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t<div class=\"el-upload__tip\"></div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-upload>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<categoryDailog ref=\"categoryShow\"></categoryDailog>\r\n\t<categoryDailog ref=\"categoryShow\" @typeId=\"Tid\"></categoryDailog>\r\n\t<regionDailog ref=\"regionShow\"></regionDailog>\r\n\t<DailogSearchUser ref=\"UserShow\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t<maintenanceDailog ref=\"maintenanceShow\" @onMain=\"main\"></maintenanceDailog>\r\n\t<detectDailog ref=\"detectShow\" @onDelect=\"delect\"></detectDailog>\r\n\t<repairDailog ref=\"repairShow\" @onRepair=\"Repair\"></repairDailog>\r\n\t<standardDailog ref=\"standardShow\" @onStand=\"Stand\"></standardDailog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport categoryDailog from './categoryDailog.vue';\r\nimport regionDailog from './regionDailog.vue';\r\nimport maintenanceDailog from './maintenanceDailog.vue';\r\nimport detectDailog from './detectDailog.vue';\r\nimport repairDailog from './repairDailog.vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport standardDailog from './standardDailog.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { facilityManagementApi } from '/@/api/facilityManagement';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tsupplyName: '',\r\n\r\n\t\t\tnextTestDate: '',\r\n\r\n\t\t\tqUsage: '',\r\n\r\n\t\t\tdepartmentId: '',\r\n\r\n\t\t\tproduceTime: '',\r\n\r\n\t\t\tactualStopDate: '',\r\n\r\n\t\t\ttakecareDetailList: [],\r\n\r\n\t\t\tinfoType: '',\r\n\r\n\t\t\tleadingDepartmentId: '',\r\n\r\n\t\t\tuseEndDay: '',\r\n\r\n\t\t\tpreviousTakecareDate: '',\r\n\r\n\t\t\tpreviousCheckDate: '',\r\n\r\n\t\t\tmodel: '',\r\n\r\n\t\t\tstopStatus: '',\r\n\r\n\t\t\ttestWarn: '',\r\n\r\n\t\t\tstopSubmitDate: '',\r\n\r\n\t\t\trepairStatus: '',\r\n\r\n\t\t\ttakecareStardardeDetailList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfilePath: '123',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tnextCheckDate: '',\r\n\r\n\t\t\tcheckCycle: '',\r\n\r\n\t\t\tcheckPoint: '',\r\n\r\n\t\t\tleadingPersonId: '',\r\n\t\t\tleadingPersonName: '',\r\n\r\n\t\t\tqName: '',\r\n\r\n\t\t\tnextTakecareDate: '',\r\n\r\n\t\t\tsetPart: '',\r\n\r\n\t\t\tcheckStandardeDetailList: [],\r\n\r\n\t\t\tactualDestoryDate: '',\r\n\r\n\t\t\tisNeedTest: '',\r\n\r\n\t\t\talertNum: '',\r\n\r\n\t\t\tcheckContent: '',\r\n\r\n\t\t\tuseMemo: '',\r\n\r\n\t\t\tpreviousTestDate: '',\r\n\r\n\t\t\tisNeedTakecare: '',\r\n\r\n\t\t\tdestoryReason: '',\r\n\r\n\t\t\tcheckDetailList: [],\r\n\r\n\t\t\tpositionNum: '',\r\n\r\n\t\t\ttestCycle: '',\r\n\r\n\t\t\trecoveryReason: '',\r\n\r\n\t\t\tisNeedCheck: '',\r\n\r\n\t\t\tactualRecoveryDate: '',\r\n\r\n\t\t\tleadingPersonDepartmentId: '',\r\n\r\n\t\t\tstopReason: '',\r\n\r\n\t\t\tdestorySubmitDate: '',\r\n\r\n\t\t\ttestDetailList: [],\r\n\r\n\t\t\tcheckWarn: '',\r\n\r\n\t\t\trepaireDetailList: [],\r\n\r\n\t\t\tequipmentTypeId: '',\r\n\r\n\t\t\tuseDate: '',\r\n\r\n\t\t\trecoverySubmitDate: '',\r\n\r\n\t\t\tlockNum: '',\r\n\r\n\t\t\tstopSubmitPersonId: '',\r\n\t\t\tstopSubmitPersonName: '',\r\n\t\t\tafterStopStep: '',\r\n\r\n\t\t\tlifeCycle: '',\r\n\r\n\t\t\tdelCheckStandardeDetails: '',\r\n\r\n\t\t\tdelTakecareStardardeDetails: '',\r\n\r\n\t\t\tdelTakecareDetails: '',\r\n\r\n\t\t\tdelRepaireDetails: '',\r\n\r\n\t\t\tdelTestDetails: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst titleT = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst Dailogtype = ref(false);\r\n\t\tconst openDailog = (title: string, type: boolean, id: number, num: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitleT.value = title;\r\n\t\t\tdepartment();\r\n\t\t\tDailogtype.value = type;\r\n\t\t\tif (num == 0) {\r\n\t\t\t\ttitles.value = `${title}仪表信息`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 1) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 2) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t}\r\n\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t.getequipmentInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [],\r\n\t\t\tpositionNum: [],\r\n\t\t\tqUsage: [],\r\n\t\t\tmodel: [],\r\n\t\t\tequipmentTypeId: [],\r\n\t\t\tequipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],\r\n\t\t\tdepartmentId: [],\r\n\t\t\tsetPart: [],\r\n\t\t\tproduceTime: [],\r\n\t\t\tuseEndDay: [],\r\n\t\t\tlifeCycle: [],\r\n\t\t\tuseDate: [],\r\n\t\t\trepairStatus: [],\r\n\t\t\tstopStatus: [],\r\n\t\t\tpreviousCheckDate: [],\r\n\t\t\tpreviousTestDate: [],\r\n\t\t\tpreviousTakecareDate: [],\r\n\t\t\tnextCheckDate: [],\r\n\t\t\tnextTestDate: [],\r\n\t\t\tnextTakecareDate: [],\r\n\t\t\tleadingPersonName: [],\r\n\t\t\tleadingPersonDepartmentId: [],\r\n\t\t\tsupplyName: [],\r\n\t\t\tuseMemo: [],\r\n\t\t\tisNeedCheck: [],\r\n\t\t\tcheckCycle: [],\r\n\t\t\tcheckWarn: [],\r\n\t\t\tisNeedTest: [],\r\n\t\t\ttestCycle: [],\r\n\t\t\ttestWarn: [],\r\n\t\t\tisNeedTakecare: [],\r\n\t\t\tcheckContent: [],\r\n\t\t\tleadingDepartmentId: [],\r\n\t\t\tcheckPoint: [],\r\n\t\t\talertNum: [],\r\n\t\t\tlockNum: [],\r\n\t\t\tstopReason: [],\r\n\t\t\tafterStopStep: [],\r\n\t\t\tactualStopDate: [],\r\n\t\t\tstopSubmitPersonName: [],\r\n\t\t\tstopSubmitDate: [],\r\n\t\t\trecoveryReason: [],\r\n\t\t\trecoverySubmitDate: [],\r\n\t\t\tactualRecoveryDate: [],\r\n\t\t\tdestoryReason: [],\r\n\t\t\tdestorySubmitDate: [],\r\n\t\t\tactualDestoryDate: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tform.value.delTakecareDetails = deleteAId.value.toString();\r\n\t\t\t\t\tform.value.delTestDetails = deleteBId.value.toString();\r\n\t\t\t\t\tform.value.delRepaireDetails = deleteCId.value.toString();\r\n\t\t\t\t\tform.value.delCheckStandardeDetails = deleteDId.value.toString();\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tdelete form.value.equipmentTypeName;\r\n\t\t\t\t\tdelete form.value.departmentName;\r\n\t\t\t\t\tdelete form.value.leadingPersonDepartmentName;\r\n\t\t\t\t\tdelete form.value.leadingDepartmentName;\r\n\t\t\t\t\tif (titleT.value == '新建') {\r\n\t\t\t\t\t\tdelete form.value.id;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t\t.getequipmentInfoAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t\tdialogVisible.value = false;\r\n\t\t};\r\n\t\tconst activeName = ref('first');\r\n\t\tconst index = ref<any>();\r\n\t\tconst categoryShow = ref();\r\n\t\tconst opencategory = () => {\r\n\t\t\tcategoryShow.value.openDailog();\r\n\t\t};\r\n\t\tconst regionShow = ref();\r\n\t\tconst openRegion = () => {\r\n\t\t\tregionShow.value.openDailog();\r\n\t\t};\r\n\t\tconst UserShow = ref();\r\n\t\tconst openUser = (type: any) => {\r\n\t\t\tUserShow.value.openDailog(type);\r\n\t\t};\r\n\t\tconst maintenanceShow = ref();\r\n\t\tconst openMaintenance = (title: string, data: any) => {\r\n index.value = form.value.takecareDetailList.indexOf(data);\r\n\t\t\tmaintenanceShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst detectShow = ref();\r\n\t\tconst openDetect = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.testDetailList.indexOf(data);\r\n\t\t\tdetectShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst repairShow = ref();\r\n\t\tconst openRepair = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.repaireDetailList.indexOf(data);\r\n\t\t\trepairShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst standardShow = ref();\r\n\t\tconst openStandard = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.checkStandardeDetailList.indexOf(data);\r\n\t\t\tstandardShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst deleteAId = ref([]);\r\n\t\tconst deleteBId = ref([]);\r\n\t\tconst deleteCId = ref([]);\r\n\t\tconst deleteDId = ref([]);\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteAId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteB = (tag: any) => {\r\n\t\t\tform.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteBId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteC = (tag: any) => {\r\n\t\t\tform.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteCId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteD = (tag: any) => {\r\n\t\t\tform.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteDId.value.push(tag.id);\r\n\t\t};\r\n\t\t// 回传\r\n\t\tconst main = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.takecareDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.takecareDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst delect = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.testDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.testDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Repair = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.repaireDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.repaireDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Stand = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.checkStandardeDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.checkStandardeDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst userId = (val: any, type: number) => {\r\n\t\t\tconsole.log(val, type);\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.leadingPersonId = val.uid;\r\n\t\t\t\tform.value.leadingPersonName = val.realName;\r\n\t\t\t} else if (type == 2) {\r\n\t\t\t\tform.value.stopSubmitPersonId = val.uid;\r\n\t\t\t\tform.value.stopSubmitPersonName = val.realName;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Tid = (data: any) => {\r\n\t\t\tform.value.equipmentTypeId = data.id;\r\n\t\t\tform.value.equipmentTypeName = data.typeName;\r\n\t\t\tform.value.positionNum = data.sortNum;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\tTid,\r\n\t\t\tdeepClone,\r\n\t\t\trules,\r\n\t\t\tuserId,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tdeleteAId,\r\n\t\t\tdeleteBId,\r\n\t\t\tdeleteCId,\r\n\t\t\tdeleteDId,\r\n\t\t\tdeleteA,\r\n\t\t\tdeleteB,\r\n\t\t\tdeleteC,\r\n\t\t\tdeleteD,\r\n\t\t\tmain,\r\n\t\t\tindex,\r\n\t\t\tdelect,\r\n\t\t\tRepair,\r\n\t\t\tStand,\r\n\t\t\tresetForm,\r\n\t\t\tsubmitForm,\r\n\t\t\ttitles,\r\n\t\t\tdialogVisible,\r\n\t\t\tdisabled,\r\n\t\t\tDailogtype,\r\n\t\t\tform,\r\n\t\t\topenDailog,\r\n\t\t\tSearch,\r\n\t\t\tactiveName,\r\n\t\t\tcategoryShow,\r\n\t\t\topencategory,\r\n\t\t\tregionShow,\r\n\t\t\topenRegion,\r\n\t\t\tUserShow,\r\n\t\t\topenUser,\r\n\t\t\tmaintenanceShow,\r\n\t\t\topenMaintenance,\r\n\t\t\tdetectShow,\r\n\t\t\topenDetect,\r\n\t\t\trepairShow,\r\n\t\t\topenRepair,\r\n\t\t\tstandardShow,\r\n\t\t\topenStandard,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\ttimeDate,\r\n\t\t\truleFormRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-form-item {\r\n\twidth: 400px;\r\n}\r\n.formType:after {\r\n\tcontent: '';\r\n\twidth: 400px;\r\n}\r\n.formType {\r\n\tpadding: 20px 20px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n}\r\n.el-form .el-form-item:last-of-type {\r\n\tmargin-bottom: 22px !important;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue +--- a/src/components/equipmentDailog/Dailog.vue (revision 32e57481fc33fa98c5628fdadd41460ccef24d28) ++++ b/src/components/equipmentDailog/Dailog.vue (date 1660370067266) +@@ -324,22 +324,8 @@ + </el-table> + </el-tab-pane> + <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"></div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-tab-pane> + </el-tabs> + <template #footer> +@@ -374,8 +360,10 @@ + import { facilityManagementApi } from '/@/api/facilityManagement'; + import { goalManagementApi } from '/@/api/goalManagement'; + import { deepClone } from '/@/utils/other'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, ++ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, ++ detectDailog, repairDailog, standardDailog,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const ruleFormRef = ref<FormInstance>(); +@@ -415,9 +403,6 @@ + repairStatus: '', + + takecareStardardeDetailList: [ +- { +- filePath: '123', +- }, + ], + + nextCheckDate: '', +@@ -528,11 +513,61 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ ++ //初始化日期格式 ++ form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); ++ form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); ++ form.value.actualStopDate = timeC(form.value.actualStopDate); ++ form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); ++ form.value.nextCheckDate = timeC(form.value.nextCheckDate); ++ form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); ++ form.value.nextTestDate = timeC(form.value.nextTestDate); ++ form.value.previousCheckDate = timeC(form.value.previousCheckDate); ++ form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); ++ form.value.previousTestDate = timeC(form.value.previousTestDate); ++ form.value.produceTime = timeC(form.value.produceTime); ++ form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); ++ form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); ++ form.value.useDate = timeC(form.value.useDate); ++ ++ fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) ++ initFileListData() + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].filePath ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ filePath:fileList.value[a].fileName ++ } ++ ) ++ } ++ form.value.takecareStardardeDetailList = formFileList ++ } + const rules = reactive<FormRules>({ + qName: [], + positionNum: [], +@@ -628,6 +663,7 @@ + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; ++ fileList.value = [] + dialogVisible.value = false; + }; + const activeName = ref('first'); +@@ -665,16 +701,7 @@ + standardShow.value.openDailog(title, data); + }; + // 上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -845,6 +872,9 @@ + FullScreen, + timeDate, + ruleFormRef, ++ successUploader, ++ initFileListData, ++ timeC + }; + }, + }); diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08__Default_Changelist_.xml new file mode 100644 index 0000000..209951e --- /dev/null +++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08__Default_Changelist_.xml @@ -0,0 +1,4 @@ +<changelist name="Uncommitted_changes_before_Update_at_2022_8_13_17_08_[Default_Changelist]" date="1660381719580" recycled="true" deleted="true"> + <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_08_[Default_Changelist]/shelved.patch" /> + <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/13 17:08 [Default Changelist]" /> +</changelist> \ No newline at end of file diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14_\133Default_Changelist\135/shelved.patch" new file mode 100644 index 0000000..9be76b3 --- /dev/null +++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14_\133Default_Changelist\135/shelved.patch" @@ -0,0 +1,4289 @@ +Index: src/api/doublePreventSystem/rectify/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\n\r\nexport function hiddenRectifyApi() {\r\n return {\r\n // v1\r\n getHiddenRectifyList: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/select/getDangerRectifyPage`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n submitHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/applyReport`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n delayHiddenRectifyTime: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/timeOutRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n deleteHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/delete/deleteDangerRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n getAllHiddenRectifyList: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`,\r\n method: 'post'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/doublePreventSystem/rectify/index.ts b/src/api/doublePreventSystem/rectify/index.ts +--- a/src/api/doublePreventSystem/rectify/index.ts (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/api/doublePreventSystem/rectify/index.ts (date 1660381719130) +@@ -40,6 +40,12 @@ + url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`, + method: 'post' + }); ++ }, ++ getCodeByTime: (date: string) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL + `/prevent/dangerManage/count/byCreateDate?date=${date}`, ++ method: 'get' ++ }); + } + }; + } +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"rectifyData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>隐患状态:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.dangerStatus\" placeholder=\"隐患状态\" filterable clearable>\r\n <el-option v-for=\"item in dangerStatusList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"rectifyData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyTime\" label=\"整改期限\" min-width=\"130px\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <span>{{ scope.row.rectifyTime }}</span>\r\n <span v-if=\"scope.row.dangerStatus === 4\" class=\"overdue-img\">逾期</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患整改状态\" show-overflow-tooltip align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createByUserName\" label=\"创建人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"lastEditUserName\" label=\"最后修改人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtModitify\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('整改', scope.row)\">整改</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Edit\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('延期', scope.row)\">延期</el-button>\r\n <el-button size=\"small\" text type=\"danger\" :icon=\"Delete\" @click=\"onDelHiddenRectify(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"rectifyData.params.pageIndex\" background v-model:page-size=\"rectifyData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"rectifyData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <rectifyDialog ref=\"rectifyDialogRef\" @refreshRectify=\"initRectifyTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport rectifyDialog from './components/rectifyDialog.vue';\r\nimport { Edit, Delete, Check, View } from '@element-plus/icons-vue';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n rectifyData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'rectify',\r\n components: { rectifyDialog, Edit, Delete, View },\r\n setup() {\r\n const rectifyDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n rectifyData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: null\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initRectifyTableData = async () => {\r\n let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params);\r\n if (res.data.code === '200') {\r\n state.rectifyData.data = res.data.data;\r\n state.rectifyData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n rectifyDialogRef.value.openRectifyDialog(type, value, state.departmentList);\r\n };\r\n // 删除\r\n const onDelHiddenRectify = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该隐患整改,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await hiddenRectifyApi().deleteHiddenRectify({ id: row.id });\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '删除成功'\r\n });\r\n await initRectifyTableData();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.rectifyData.params.pageSize = val;\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.rectifyData.params.pageIndex = val;\r\n initRectifyTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initRectifyTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Edit,\r\n View,\r\n Check,\r\n Delete,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onDelHiddenRectify,\r\n onHandleCurrentChange,\r\n rectifyDialog,\r\n rectifyDialogRef,\r\n initRectifyTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n.overdue-img {\r\n position: absolute;\r\n background-color: #f56c6c;\r\n border-radius: 4px;\r\n color: #fff;\r\n display: inline-block;\r\n font-size: 12px;\r\n height: 21px;\r\n line-height: 18px;\r\n text-align: center;\r\n white-space: nowrap;\r\n border: 1px solid #fff;\r\n transform: scale(0.8);\r\n padding: 1px 3px 0 3px;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (date 1660382040515) +@@ -3,6 +3,19 @@ + <el-card shadow="hover"> + <div class="system-user-search mb15"> + <div class="basic-line"> ++ <div style="display: inline-block">整改编号:</div> ++ ++ <div style="display: inline-block"> ++ <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" v-on:input="checkDate($event)" placeholder="整改编号(前八位日期)"> </el-autocomplete> ++ <i class="el-icon-date"></i> ++ </div> ++ <!-- <div style="display: inline-block">--> ++ <!-- <el-button>--> ++ <!-- <el-date-picker value-format="YYYY-MM-DD" :disabled-date="disabledDate" v-model="dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker>--> ++ <!-- </el-button>--> ++ <!-- </div>--> ++ </div> ++ <div class="basic-line"> + <span>整改类型:</span> + <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> + <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> +@@ -18,6 +31,11 @@ + <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </div> ++ <div class="basic-line"> ++ <span>创建时间范围:</span> ++ <el-date-picker v-model="value1" type="datetimerange" range-separator="To" start-placeholder="Start date" end-placeholder="End date" /> ++ </div> ++ <i class="el-icon-date"></i> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -27,6 +45,7 @@ + </div> + <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> + <el-table-column type="index" label="序号" width="60" /> ++ <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> +@@ -72,7 +91,7 @@ + </template> + + <script lang="ts"> +-import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; ++import { toRefs, reactive, onMounted, ref, defineComponent, computed } from 'vue'; + import { ElMessageBox, ElMessage } from 'element-plus'; + import rectifyDialog from './components/rectifyDialog.vue'; + import { Edit, Delete, Check, View } from '@element-plus/icons-vue'; +@@ -94,6 +113,7 @@ + rectifyData: { + data: Array<TableData>; + total: number; ++ disabled: boolean; + loading: boolean; + params: { + pageIndex: number; +@@ -101,16 +121,24 @@ + rectifyType: number | null; + rectifyDepId: number | null; + dangerStatus: number | null; ++ serialCode: string; + }; + }; + rectifyTypeList: Array<enumType>; + dangerStatusList: Array<enumType>; + departmentList: []; ++ disabledDate: any; ++ serialCodeList: Array<type>; ++ dateTime: string; + } + interface enumType { + id: number; + name: string; + } ++interface type { ++ id: number; ++ value: number; ++} + + export default defineComponent({ + name: 'rectify', +@@ -121,16 +149,23 @@ + rectifyData: { + data: [], + total: 0, ++ disabled: true, + loading: false, + params: { + pageIndex: 1, + pageSize: 10, + rectifyType: null, + rectifyDepId: null, +- dangerStatus: null ++ dangerStatus: null, ++ serialCode: '' + } ++ }, ++ dateTime: '', ++ disabledDate: (time: any) => { ++ return time.getTime() > new Date().getTime(); + }, + departmentList: [], ++ serialCodeList: [], + rectifyTypeList: [ + { id: 1, name: '即查即改' }, + { id: 2, name: '限期整改' } +@@ -144,6 +179,87 @@ + ] + }); + ++ const querySearch = () => { ++ return state.serialCodeList.filter((item) => item.value.toString().indexOf(state.rectifyData.params.serialCode) !== -1); ++ }; ++ const handleChange = (value: string): Boolean => { ++ let year = value.substr(0, 4); ++ let month = value.substr(4, 2); ++ let day = value.substr(6, 2); ++ if (Number(year) < 1000 || Number(year) > new Date().getFullYear()) { ++ return false; ++ } ++ if (Number(month) > 12 || month === '00') { ++ return false; ++ } ++ let leapYearTab = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ let notLeapYearTab = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ if (isLeapYear(year)) { ++ const maxDay = leapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } else { ++ const maxDay = notLeapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } ++ return true; ++ }; ++ ++ const isLeapYear = (value: string) => { ++ return Number(value) % 4 === 0; ++ }; ++ ++ const checkDate = async (value: string) => { ++ if (value.length >= 8) { ++ if (handleChange(value.substr(0, 8))) { ++ let res = await hiddenRectifyApi().getCodeByTime(value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2)); ++ if (res.data.code === '200' && res.data.data > 0) { ++ let date = parseInt(value.substr(0, 8) + '0000'); ++ for (let i = 0; i < res.data.data; i++) { ++ state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ } ++ } else if (res.data.code === '200' && res.data.data === 0) { ++ ElMessage({ ++ type: 'warning', ++ message: '当天无隐患上报' ++ }); ++ } ++ } else { ++ state.rectifyData.params.serialCode = ''; ++ ElMessage({ ++ type: 'warning', ++ message: '前八位请输入正确得日期格式' ++ }); ++ } ++ } else { ++ } ++ // if (state.dateTime === '' || state.dateTime === null) { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // } else { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // let res = await hiddenRectifyApi().getCodeByTime(state.dateTime); ++ // if (res.data.code === '200' && res.data.data > 0) { ++ // state.rectifyData.disabled = false; ++ // let date = parseInt(state.dateTime.replaceAll('-', '') + '0000'); ++ // for (let i = 0; i < res.data.data; i++) { ++ // state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ // } ++ // state.rectifyData.params.serialCode = state.dateTime.replaceAll('-', ''); ++ // } else if (res.data.code === '200' && res.data.data === 0) { ++ // state.rectifyData.disabled = true; ++ // ElMessage({ ++ // type: 'warning', ++ // message: '当天无隐患上报' ++ // }); ++ // } ++ // } ++ }; ++ + // 初始化表格数据 + const initRectifyTableData = async () => { + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); +@@ -233,8 +349,10 @@ + View, + Check, + Delete, ++ querySearch, + parseNumber, + handleSearch, ++ checkDate, + onOpenDialogRef, + onHandleSizeChange, + onDelHiddenRectify, +@@ -274,4 +392,7 @@ + :deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); + } ++:deep(.el-input-group__prepend) { ++ padding: 0; ++} + </style> +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-add-menu-container\">\r\n <el-dialog :title=\"title\" v-model=\"isShowRectifyDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"rectifyForm\" :rules=\"rectifyFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改说明\" prop=\"rectifyInfo\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"rectifyForm.rectifyInfo\" placeholder=\"请输入整改说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改时间\" prop=\"applyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"rectifyForm.applyTime\" placeholder=\"请选择整改时间\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"isShowRectifyDialog = !isShowRectifyDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitRectify\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowDelayDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"delayForm\" :rules=\"delayFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"延期说明\" prop=\"timeOutDesc\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"delayForm.timeOutDesc\" placeholder=\"请输入延期说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改期限\" prop=\"rectifyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"delayForm.rectifyTime\" placeholder=\"请选择整改期限\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowDelayDialog = !isShowDelayDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitDelay\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowCheckInfoDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"checkInfoForm\" ref=\"checkFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改内容说明\" prop=\"rectifyDesc\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"textarea\" :rows=\"2\" v-model.trim=\"checkInfoForm.rectifyDesc\" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改类型\" prop=\"rectifyType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.rectifyType\" readonly>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改部门\" prop=\"rectifyDepId\">\r\n <el-cascader @change=\"achieveUserList\" :disabled=\"!disabled\" :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-add\" v-model=\"checkInfoForm.rectifyDepId\" readonly> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改责任人\" prop=\"liablePersonId\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.liablePersonId\" clearable filterable readonly>\r\n <el-option v-for=\"item in userList\" :key=\"item.uid\" :label=\"item.username\" :value=\"item.uid\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改资金\" prop=\"dangerResult\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"number\" v-model=\"checkInfoForm.cost\" readonly> </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.createByUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtCreate\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.lastEditUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtModitify\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { getUserByDepartment } from '/@/assets/methods';\r\n\r\ninterface stateType {\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n isShowRectifyDialog: Boolean;\r\n isShowDelayDialog: Boolean;\r\n isShowCheckInfoDialog: Boolean;\r\n rectifyForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyInfo: string | null;\r\n applyTime: string | null;\r\n };\r\n delayForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyTime: string | null;\r\n timeOutDesc: string | null;\r\n };\r\n title: string;\r\n departmentList: [];\r\n userList: [];\r\n rectifyTypeList: Array<rectifyTypeState>;\r\n rectifyFormRules: {};\r\n delayFormRules: {};\r\n checkInfoForm: {\r\n rectifyDepId: number | null;\r\n liablePersonId: number | null;\r\n };\r\n}\r\ninterface rectifyTypeState {\r\n regionType: string;\r\n id: number;\r\n}\r\n\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { ElMessage } from 'element-plus';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nexport default {\r\n name: 'rectifyDialog',\r\n setup(props: any, context: any) {\r\n const rectifyFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n rectifyTypeList: [],\r\n departmentList: [],\r\n userList: [],\r\n isShowCheckInfoDialog: false,\r\n checkInfoForm: {\r\n rectifyDepId: null,\r\n liablePersonId: null\r\n },\r\n isShowDelayDialog: false,\r\n isShowRectifyDialog: false,\r\n rectifyForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyInfo: null,\r\n applyTime: null\r\n },\r\n delayForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyTime: null,\r\n timeOutDesc: null\r\n },\r\n rectifyFormRules: {\r\n rectifyInfo: [{ required: true, message: '请填写整改说明', trigger: 'blur' }],\r\n applyTime: [{ required: true, message: '请选择整改时间', trigger: 'change' }]\r\n },\r\n delayFormRules: {\r\n timeOutDesc: [{ required: true, message: '请填写延期说明', trigger: 'blur' }],\r\n rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const openRectifyDialog = async (type: string, value: object, departmentList: []) => {\r\n state.departmentList = departmentList;\r\n if (type === '延期') {\r\n state.title = '延期';\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.isShowDelayDialog = true;\r\n const delayForm = JSON.parse(JSON.stringify(value));\r\n state.delayForm.id = delayForm.id;\r\n state.delayForm.dangerManagerId = delayForm.dangerManagerId;\r\n state.delayForm.timeOutDesc = null;\r\n state.delayForm.rectifyTime = null;\r\n } else if (type === '查看') {\r\n state.title = '查看';\r\n state.personTime = true;\r\n state.isShowCheckInfoDialog = true;\r\n state.checkInfoForm.rectifyDepId = JSON.parse(JSON.stringify(value)).rectifyDepId;\r\n await achieveUserList();\r\n state.checkInfoForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '整改';\r\n state.isShowRectifyDialog = true;\r\n const rectifyForm = JSON.parse(JSON.stringify(value));\r\n state.rectifyForm.id = rectifyForm.id;\r\n state.rectifyForm.dangerManagerId = rectifyForm.dangerManagerId;\r\n state.rectifyForm.rectifyInfo = null;\r\n state.rectifyForm.applyTime = null;\r\n }\r\n };\r\n\r\n //提交整改\r\n const submitRectify = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().submitHiddenRectify(state.rectifyForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '整改提交成功',\r\n duration: 2000\r\n });\r\n state.isShowRectifyDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n //提交延期\r\n const submitDelay = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().delayHiddenRectifyTime(state.delayForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '隐患延期成功',\r\n duration: 2000\r\n });\r\n state.isShowDelayDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n const achieveUserList = async () => {\r\n state.checkInfoForm.liablePersonId = null;\r\n const user: unknown = await getUserByDepartment(state.checkInfoForm.rectifyDepId);\r\n state.userList = user as [];\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n rectifyFormRef,\r\n submitDelay,\r\n achieveUserList,\r\n submitRectify,\r\n openRectifyDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (date 1660381719146) +@@ -10,7 +10,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="整改时间" prop="applyTime"> +- <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> ++ <el-date-picker type="datetime" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> + </el-form-item> + </el-col> + </el-row> +@@ -125,6 +125,8 @@ + rectifyTime: string | null; + timeOutDesc: string | null; + }; ++ disabledDate: any; ++ rangeTime: any; + title: string; + departmentList: []; + userList: []; +@@ -168,6 +170,13 @@ + rectifyInfo: null, + applyTime: null + }, ++ disabledDate: (time: any) => { ++ const r = new Date().getTime(); ++ return time.getTime() > new Date().getTime(); ++ }, ++ rangeTime: () => { ++ return '15:15:14'; ++ }, + delayForm: { + id: null, + dangerManagerId: null, +Index: src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"900px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"emergencyPlanName\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.emergencyPlanName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillAddress\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.departmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.departmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"0\"></el-option>\r\n <el-option label=\"桌面\" value=\"1\"></el-option>\r\n <el-option label=\"专项\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"drillName\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.drillName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.makingPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.drillPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"修改时间\" prop=\"updateDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.updateDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserUid\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.makingDepartmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.makingDepartmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"planUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.planUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实际到场人员\" prop=\"executeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.executeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练过程描述\" prop=\"processDesc\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.processDesc\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写演练过程描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录人\" prop=\"recordUserName\" >\r\n <el-input\r\n v-model=\"ruleForm.recordUserName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录时间\" prop=\"drillRecordDate\">\r\n <el-date-picker\r\n v-model=\"ruleForm.drillRecordDate\"\r\n class=\"w100\"\r\n type=\"datetime\"\r\n placeholder=\"选择日期时间\"\r\n :disabled=\"true\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <div class=\"el-divider--horizontal\">\r\n <div class=\"el-divider__text\">\r\n <h3>评价</h3>\r\n </div>\r\n </div>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"evaluationUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.evaluationUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"disabled\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-适宜性\" prop=\"suitable\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.suitable\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部能够执行\" value=\"1\"></el-option>\r\n <el-option label=\"全部不能够执行\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-充分性\" prop=\"sufficient\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.sufficient\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"完全满足应急要求\" value=\"1\"></el-option>\r\n <el-option label=\"不完全满足应急要求\" value=\"2\"></el-option>\r\n <el-option label=\"完全不满足应急要求\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"人员到位情况\" prop=\"arrival\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.arrival\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"迅速准确,基本按时到位\" value=\"1\"></el-option>\r\n <el-option label=\"未按时到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-现场物资\" prop=\"supplies\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.supplies\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"现场物资充分,全部有效\" value=\"1\"></el-option>\r\n <el-option label=\"现场物资不充分\" value=\"2\"></el-option>\r\n <el-option label=\"现场没有物资\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-个人防护\" prop=\"protection\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.protection\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部人员防护到位\" value=\"1\"></el-option>\r\n <el-option label=\"人员未防护到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-整体组织\" prop=\"whole\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.whole\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"协调基本顺利,能够满足要求\" value=\"1\"></el-option>\r\n <el-option label=\"协调不顺利\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-疏散组分工\" prop=\"division\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.division\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"安全,快速\" value=\"1\"></el-option>\r\n <el-option label=\"安全,不快速\" value=\"2\"></el-option>\r\n <el-option label=\"不安全,快速\" value=\"3\"></el-option>\r\n <el-option label=\"不安全,不快速\" value=\"4\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实战效果评价\" prop=\"effect\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.effect\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"基本达到目的,部分环节有待改进\" value=\"1\"></el-option>\r\n <el-option label=\"未达到目的\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-报告上级\" prop=\"report\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.report\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"报告及时\" value=\"1\"></el-option>\r\n <el-option label=\"报告不及时\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-安全部门\" prop=\"safety\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.safety\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-救援后勤部门\" prop=\"rescue\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.rescue\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-警戒撤离配合\" prop=\"evacuate\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.evacuate\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求配合\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求配合\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"是否需要修改应急预案\" prop=\"needModify\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.needModify\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"是\" :value=\"true\"></el-option>\r\n <el-option label=\"否\" :value=\"false\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"存在问题和改进措施\" prop=\"questionAndImprove\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.questionAndImprove\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写备注信息\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"修改内容\" prop=\"modifyContent\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.modifyContent\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写修改内容\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"附件列表\">\r\n <el-upload\r\n v-model:file-list=\"ruleForm.userList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button v-if=\"!disabled\" size=\"default\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\"/>\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"selectUser\"/>\r\n<!-- <RegionsDialog ref=\"openRef\"/>-->\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport {\r\n UploadUserFile,\r\n FormInstance,\r\n ElMessage\r\n} from 'element-plus'\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport UserSelections from \"/@/components/userSelections/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport {emergencyDrillEvaluationApi} from \"/@/api/contingencyManagement/emergencyDrillEvaluation\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nexport default defineComponent({\r\n name: 'approvalProgress',\r\n components: {\r\n UserSelections,\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n //定义表单\r\n const realRuleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看演练实施评价') {\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n //演练人员\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n //演练负责人员\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n //实际到场人员\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n //演练负责人(评价)\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施查看评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n };\r\n // 关闭弹窗\r\n const closeDialog = () => {\r\n isShowDialog.value = false;\r\n };\r\n // 取消\r\n const onCancel = () => {\r\n closeDialog();\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ,\r\n ]\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = [\r\n\r\n ]\r\n // 必填项提示\r\n // const rules = reactive<FormRules>({\r\n // teamName: [\r\n // {\r\n // required: true,\r\n // message: '队伍名称不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLevel: [\r\n // {\r\n // required: true,\r\n // message: '队伍级别不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLeader: [\r\n // {\r\n // required: true,\r\n // message: '队伍负责人不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // responsibleDepartment: [\r\n // {\r\n // required: true,\r\n // message: '负责人部门不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamPhone: [\r\n // {\r\n // required: true,\r\n // message: '负责人手机不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // telephone: [\r\n // {\r\n // required: true,\r\n // message: '固定电话不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // })\r\n\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n //演练负责人(评价)\r\n ruleForm.value.userList = ruleForm.value.evaluationUserList\r\n\r\n\r\n\r\n realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId\r\n realRuleForm.value.suitable=ruleForm.value.suitable\r\n realRuleForm.value.sufficient=ruleForm.value.sufficient\r\n realRuleForm.value.arrival=ruleForm.value.arrival\r\n realRuleForm.value.supplies=ruleForm.value.supplies\r\n realRuleForm.value.protection=ruleForm.value.protection\r\n realRuleForm.value.whole=ruleForm.value.whole\r\n realRuleForm.value.division=ruleForm.value.division\r\n realRuleForm.value.effect=ruleForm.value.effect\r\n realRuleForm.value.report=ruleForm.value.report\r\n realRuleForm.value.safety=ruleForm.value.safety\r\n realRuleForm.value.rescue=ruleForm.value.rescue\r\n realRuleForm.value.evacuate=ruleForm.value.evacuate\r\n realRuleForm.value.needModify=ruleForm.value.needModify\r\n realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove\r\n realRuleForm.value.modifyContent=ruleForm.value.modifyContent\r\n realRuleForm.value.fileList=ruleForm.value.fileList\r\n if(ruleForm.value.userList){\r\n for(var a = 0;a<ruleForm.value.userList.length;a++){\r\n realRuleForm.value.userList.push({\r\n userUid:ruleForm.value.userList[a].userUid,\r\n userName:ruleForm.value.userList[a].userName\r\n })\r\n }\r\n }\r\n // console.log(ruleForm.value.evaluationUserList)\r\n // ruleForm.value.userList=[]\r\n // for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){\r\n // // += res.data.data.evaluationUserList[a].userName+';'\r\n // }\r\n if (title == '演练实施评价') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n // console.log(ruleForm.value)\r\n emergencyDrillEvaluationApi()\r\n .editEmergencyDrillEvaluation(realRuleForm.value)\r\n // emergencyDrillExecuteApi()\r\n // .editEmergencyDrillExecute(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '评价成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n isShowDialog.value = false;\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n drillRecordDate: '', // 演练记录时间\r\n drillPlanId: '', //演练计划ID\r\n drillName:'',\r\n recordUserUid: '', // 记录人ID\r\n processDesc: '', // 演练过程描述\r\n userList: [\r\n {\r\n userUid: '',\r\n },\r\n {\r\n userUid: '',\r\n }\r\n ]\r\n };\r\n }\r\n }\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt=()=>{\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.drillPlanId=e.id\r\n };\r\n // 选择区域弹窗\r\n const openRef=ref()\r\n const regionsDialog=()=>{\r\n openRef.value.openDailog()\r\n }\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog(0);\r\n };\r\n\r\n const selectUser = (e) =>{\r\n ruleForm.value.evaluationUserListString=''\r\n ruleForm.value.evaluationUserList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.evaluationUserList.push(\r\n {\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.evaluationUserListString+=e[a].realName+';'\r\n }\r\n console.log(ruleForm.value.evaluationUserList)\r\n }\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n closeDialog,\r\n isShowDialog,\r\n onCancel,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n onUser,\r\n ruleFormRef,\r\n // rules,\r\n openUser,\r\n userRef,\r\n regionsDialog,\r\n openRef,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n resetForm,\r\n titles,\r\n disabled,\r\n emit,\r\n propse,\r\n department,\r\n newTreeList,\r\n selectUser,\r\n submitForm,\r\n realRuleForm\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.el-form .el-form-item{\r\n margin-bottom: 18px !important;\r\n display: flex;\r\n align-items: flex-start;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label{\r\n text-align: right;\r\n height: 100%;\r\n}\r\n.textarea{\r\n height: 90px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 90px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n.el-divider--horizontal {\r\n display: block;\r\n height: 1px;\r\n width: 100%;\r\n margin: 24px 0;\r\n background-color: #dcdfe6;\r\n position: relative;\r\n}\r\n.el-divider__text {\r\n position: absolute;\r\n background-color: #fff;\r\n padding: 0 20px;\r\n color: #303133;\r\n left: 50%;\r\n font-weight: 500;\r\n font-size: 14px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (date 1660381719152) +@@ -167,20 +167,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -368,20 +355,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="附件列表"> +- <el-upload +- v-model:file-list="ruleForm.userList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -421,12 +396,14 @@ + import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" + import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; + import {goalManagementApi} from "/@/api/goalManagement"; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'approvalProgress', + components: { + UserSelections, + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -512,6 +489,8 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施评价'){ +@@ -548,6 +527,8 @@ + } + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施查看评价'){ +@@ -584,15 +565,41 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } +- ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + } + }); + } ++ + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<ruleForm.value.planFileList.length;a++){ ++ ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName ++ } ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + }; + // 关闭弹窗 + const closeDialog = () => { +@@ -605,7 +612,7 @@ + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -663,6 +670,9 @@ + // }) + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + //演练负责人(评价) + ruleForm.value.userList = ruleForm.value.evaluationUserList + +@@ -861,7 +871,9 @@ + newTreeList, + selectUser, + submitForm, +- realRuleForm ++ realRuleForm, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -910,4 +922,4 @@ + font-weight: 500; + font-size: 14px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/router/route.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import { RouteRecordRaw } from 'vue-router';\r\n\r\nexport const dynamicRoutes: Array<RouteRecordRaw> = [\r\n {\r\n path: '/',\r\n name: '/',\r\n component: () => import('/@/layout/index.vue'),\r\n redirect: '/home',\r\n meta: {\r\n isKeepAlive: false\r\n },\r\n children: [\r\n {\r\n path: '/home',\r\n name: 'home',\r\n component: () => import('/@/views/home/index.vue'),\r\n meta: {\r\n title: '首页',\r\n isLink: '',\r\n isHide: false,\r\n isKeepAlive: true,\r\n isAffix: true,\r\n isIframe: false,\r\n roles: ['admin', 'common'],\r\n icon: 'iconfont icon-shouye'\r\n }\r\n }\r\n ]\r\n }\r\n];\r\n\r\nexport const notFoundAndNoPower = [\r\n {\r\n path: '/:path(.*)*',\r\n name: 'notFound',\r\n component: () => import('/@/views/error/404.vue'),\r\n meta: {\r\n title: 'message.staticRoutes.notFound',\r\n isHide: true\r\n }\r\n },\r\n {\r\n path: '/401',\r\n name: 'noPower',\r\n component: () => import('/@/views/error/401.vue'),\r\n meta: {\r\n title: 'message.staticRoutes.noPower',\r\n isHide: true\r\n }\r\n }\r\n];\r\n\r\nexport const staticRoutes: Array<RouteRecordRaw> = [\r\n {\r\n path: '/',\r\n name: '/',\r\n component: () => import('/@/layout/index.vue'),\r\n meta: {\r\n title: '布局界面'\r\n },\r\n children: [\r\n // 请不要往这里 `children` 中添加内容,此内容为了防止 No match found for location with path \"xxx\" 问题\r\n ...notFoundAndNoPower\r\n ]\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: () => import('/@/views/loginPage/loginPage.vue'),\r\n meta: {\r\n title: '登录'\r\n }\r\n },\r\n {\r\n path: '/homeMenu',\r\n name: 'homeMenu',\r\n component: () => import('/@/views/homeMenu/homeMenu.vue'),\r\n meta: {\r\n title: '首页',\r\n isKeepAlive: false\r\n }\r\n },\r\n {\r\n path: '/intelligentMap',\r\n name: 'intelligentMap',\r\n component: () => import('/@/views/intellectInspect/intelligentMap/index.vue'),\r\n meta: {\r\n title: '巡检路线'\r\n }\r\n },\r\n {\r\n path: '/intelligentLine',\r\n name: 'intelligentMap',\r\n component: () => import('/@/views/intellectInspect/intelligentLine/index.vue'),\r\n meta: {\r\n title: '巡检路线'\r\n }\r\n }\r\n];\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/router/route.ts b/src/router/route.ts +--- a/src/router/route.ts (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/router/route.ts (date 1660381819136) +@@ -72,9 +72,9 @@ + } + }, + { +- path: '/homeMenu', +- name: 'homeMenu', +- component: () => import('/@/views/homeMenu/homeMenu.vue'), ++ path: '/newMenu', ++ name: 'newMenu', ++ component: () => import('/@/views/newHome/index.vue'), + meta: { + title: '首页', + isKeepAlive: false +Index: src/views/contingencyManagement/panManagement/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-form :inline=\"true\" class=\"demo-form-inline\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.name\" placeholder=\"预案名称\" style=\"max-width: 215px\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select size=\"default\" v-model=\"listQuery.searchParams.type\" placeholder=\"请选择预案类型\" class=\"ml10\" style=\"max-width: 215px\">\r\n\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\"> 查询 </el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-form>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Plus /> </el-icon\r\n\t\t\t\t\t\t>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Edit /> </el-icon\r\n\t\t\t\t\t\t>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onabolishLibrary\"> 废止库 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Upload />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Download />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Refresh />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column prop=\"name\" label=\"预案名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column prop=\"type\" label=\"预案类型\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.type == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.type == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.type == 3\">专项应急预案</span>\r\n <span v-if=\"scope.row.type == 4\">其他预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"level\" label=\"预案级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.level == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.level == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.level == 3\">专项应急预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"releaseDate\" label=\"发布实施日期\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"isDialogFormVisible(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPlay /> </el-icon\r\n\t\t\t\t\t\t\t>启动\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"abolish(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPause /> </el-icon\r\n\t\t\t\t\t\t\t>废止\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<EditPen /> </el-icon\r\n\t\t\t\t\t\t\t>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 0 || scope.row.approveStatus === null\"\r\n\t\t\t\t\t\t\t@click=\"initiateApproval(scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t发起审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === true\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('修改',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === false\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('详情',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n 查看审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" v-if=\"scope.row.approveStatus === 3\" @click=\"onApprovalProcess(scope.row.id)\">\r\n\t\t\t\t\t\t\t查看审批流程\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"jumpFrom(0)\">-->\r\n\t\t\t\t\t\t<!-- <el-icon style=\"margin-right: 5px;\">-->\r\n\t\t\t\t\t\t<!-- <EditPen />-->\r\n\t\t\t\t\t\t<!-- </el-icon>修改-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"abolish(0)\">-->\r\n\t\t\t\t\t\t<!-- 发起审批-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t\t>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tclass=\"mt15\"\r\n\t\t\t\t\tbackground\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"onHandleSizeChange\"\r\n\t\t\t\t\t@current-change=\"onHandleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<AbolishLibrary ref=\"abolishRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<InitiateApproval ref=\"initiateApprovalRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<Approval ref=\"approvalRef\" @myAdd=\"onMyAdd\" />\r\n <ApprovalProcess ref=\"processRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<!-- <StartUp ref=\"startRef\" @myAdd=\"startUp\"/>-->\r\n\t\t<el-dialog v-model=\"dialogFormVisible\" width=\"30%\" title=\"启动\" :fullscreen=\"full\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" label-width=\"80px\">\r\n\t\t\t\t<el-form-item label=\"备注\">\r\n\t\t\t\t\t<el-input v-model=\"form.remark\" type=\"textarea\" autocomplete=\"off\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"dialogFormVisible = false\">取消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"onDetermine\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\n// import {useRouter} from \"vue-router\"\r\nimport type {} from // FormInstance,\r\n'element-plus';\r\nimport { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';\r\n// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';\r\nimport AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';\r\nimport ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';\r\nimport InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';\r\nimport Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';\r\n// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';\r\n\r\nexport default defineComponent({\r\n\tname: 'systemUser',\r\n\tcomponents: {\r\n\t\tOpenAdd,\r\n\t\t// StartUp,\r\n\t\tInitiateApproval,\r\n\t\tAbolishLibrary,\r\n\t\tApproval,\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tVideoPause,\r\n\t\tVideoPlay,\r\n ApprovalProcess,\r\n\t\t// UpData,\r\n\t\temergencyPlanApi,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tname: '',\r\n\t\t\t\ttype: '',\r\n\t\t\t\tabolishStatus: false,\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst onSubmit = async () => {\r\n\t\t\tlet res = await emergencyPlanApi().getEmergencyPlanList(listQuery);\r\n\t\t\tif (res.data.code === '200') {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.name = '';\r\n\t\t\tlistQuery.searchParams.type = '';\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\r\n\t\t// 上传\r\n\t\t// const upShow=ref()\r\n\t\t// const upButton=()=>{\r\n\t\t// upShow.value.openDialog()\r\n\t\t// }\r\n\t\t// 启动弹窗\r\n\t\tconst isDialogFormVisible = (data: any) => {\r\n\t\t\tdialogFormVisible.value = true;\r\n\t\t\tform.value.planId = data;\r\n\t\t};\r\n\t\tconst dialogFormVisible = ref(false);\r\n\t\tconst form = ref({\r\n\t\t\tremark: '',\r\n\t\t});\r\n\t\tconst onDetermine = () => {\r\n\t\t\tdialogFormVisible.value = false;\r\n\t\t\temergencyPlanLogApi()\r\n\t\t\t\t.addEmergencyPlanLog(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tremark: '',\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 打开新增用户弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建应急预案管理', false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tonSubmit();\r\n\t\t\t} else {\r\n\t\t\t\tonSubmit();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 打开修改应急预案管理弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看应急预案管理', row, true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改应急预案管理', row, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//打开废止库弹窗\r\n\t\tconst abolishRef = ref();\r\n\t\tconst onabolishLibrary = () => {\r\n\t\t\tabolishRef.value.openDialog();\r\n\t\t};\r\n\t\t// 废止\r\n\t\tconst abolish = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定要废止所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.EmergencyTeam(data)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\t// 删除用户\r\n\t\tconst onRowDel = (id: number) => {\r\n\t\t\tlet arr = [];\r\n\t\t\tarr.push(id);\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\tconst deleteAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeleteAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(deleteAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst onHandleSizeChange = (val: number) => {\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst onHandleCurrentChange = (val: number) => {\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\r\n\t\t// const router=useRouter()\r\n\t\t// 修改跳转\r\n\t\t// const jumpFrom=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/processForm\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批跳转\r\n\t\t// const abolish=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/abolishDialog\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批弹窗\r\n\t\tconst initiateApprovalRef = ref();\r\n\t\tconst initiateApproval = (row: object) => {\r\n\t\t\tinitiateApprovalRef.value.openDialog('发起审批',row, true);\r\n\t\t};\r\n\t\t// 审批\r\n\t\tconst approvalRef = ref();\r\n\t\tconst onApproval = (val: string,row: object,id) => {\r\n if(val=='详情'){\r\n approvalRef.value.openDialog('查看审批', row, true);\r\n } else {\r\n approvalRef.value.openDialog('审批', row, false,id);\r\n }\r\n\t\t};\r\n // 审批流程\r\n const processRef = ref();\r\n const onApprovalProcess = (row:object,id) => {\r\n processRef.value.openDialog(row,id);\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 页面加载时\r\n\t\tonMounted(() => {\r\n\t\t\tonSubmit();\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttableData,\r\n\t\t\tonSubmit,\r\n\t\t\tonOpenAdd, //新增\r\n\t\t\taddRef,\r\n\t\t\tonabolishLibrary,\r\n\t\t\tabolishRef,\r\n\t\t\tabolish,\r\n\t\t\tonRowDel,\r\n\t\t\tonHandleSizeChange,\r\n\t\t\tonHandleCurrentChange,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tlistQuery,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\tsubmitReset,\r\n\t\t\tonMounted,\r\n\t\t\tdeleteAll,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDeleteAll,\r\n\t\t\tdialogFormVisible,\r\n\t\t\tisDialogFormVisible,\r\n\t\t\tform,\r\n\t\t\temit,\r\n\t\t\tonDetermine,\r\n\t\t\tonEdit,\r\n\t\t\tinitiateApproval,\r\n\t\t\tinitiateApprovalRef,\r\n\t\t\tonApproval,\r\n\t\t\tapprovalRef,\r\n onApprovalProcess,\r\n processRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 10px;\r\n}\r\n.el-form .el-form-item {\r\n\tmargin-bottom: 0 !important;\r\n}\r\n.el-button--text {\r\n\tmargin-right: 15px;\r\n}\r\n.el-select {\r\n\twidth: 300px;\r\n}\r\n.el-input {\r\n\twidth: 300px;\r\n}\r\n.dialog-footer button:first-child {\r\n\tmargin-right: 10px;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer {\r\n\tborder-top: 1px solid #e8e8e8;\r\n\tborder-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n\tborder-bottom: 1px solid #e8e8e8;\r\n\tmargin-right: 0;\r\n\tborder-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n\tbackground-color: #f6f7fa;\r\n\tfont-weight: 400;\r\n\tcolor: #909399;\r\n}\r\n.el-table .sort-caret.ascending {\r\n\tborder-bottom-color: #c0c4cc;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue +--- a/src/views/contingencyManagement/panManagement/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/panManagement/index.vue (date 1660381719156) +@@ -23,19 +23,13 @@ + <div class="button_Line"> + <div class="button_Left"> + <el-button size="default" type="primary" @click="onOpenAdd"> +- <el-icon> +- <Plus /> </el-icon +- >新建 ++ <el-icon> <Plus /> </el-icon>新建 + </el-button> + <el-button size="default" type="warning" plain :disabled="warning"> +- <el-icon> +- <Edit /> </el-icon +- >修改 ++ <el-icon> <Edit /> </el-icon>修改 + </el-button> + <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </el-button> + </div> +@@ -61,37 +55,31 @@ + <el-table-column type="selection" width="55" /> + <el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.type == 1">综合应急预案</span> +- <span v-if="scope.row.type == 2">现场处置方案</span> +- <span v-if="scope.row.type == 3">专项应急预案</span> +- <span v-if="scope.row.type == 4">其他预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.type == 1">综合应急预案</span> ++ <span v-if="scope.row.type == 2">现场处置方案</span> ++ <span v-if="scope.row.type == 3">专项应急预案</span> ++ <span v-if="scope.row.type == 4">其他预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="level" label="预案级别" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.level == 1">综合应急预案</span> +- <span v-if="scope.row.level == 2">现场处置方案</span> +- <span v-if="scope.row.level == 3">专项应急预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.level == 1">综合应急预案</span> ++ <span v-if="scope.row.level == 2">现场处置方案</span> ++ <span v-if="scope.row.level == 3">专项应急预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="isDialogFormVisible(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPlay /> </el-icon +- >启动 ++ <el-icon style="margin-right: 5px"> <VideoPlay /> </el-icon>启动 + </el-button> + <el-button size="small" text type="primary" @click="abolish(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPause /> </el-icon +- >废止 ++ <el-icon style="margin-right: 5px"> <VideoPause /> </el-icon>废止 + </el-button> + <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <EditPen /> </el-icon +- >修改 ++ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改 + </el-button> + <el-button + size="small" +@@ -107,7 +95,7 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true" +- @click="onApproval('修改',scope.row.approveId,scope.row.id)" ++ @click="onApproval('修改', scope.row.approveId, scope.row.id)" + > + 审批 + </el-button> +@@ -116,9 +104,9 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false" +- @click="onApproval('详情',scope.row.approveId,scope.row.id)" ++ @click="onApproval('详情', scope.row.approveId, scope.row.id)" + > +- 查看审批 ++ 查看审批 + </el-button> + <el-button size="small" text type="primary" v-if="scope.row.approveStatus === 3" @click="onApprovalProcess(scope.row.id)"> + 查看审批流程 +@@ -132,9 +120,7 @@ + <!-- 发起审批--> + <!-- </el-button>--> + <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + </template> + </el-table-column> +@@ -159,7 +145,7 @@ + <AbolishLibrary ref="abolishRef" @myAdd="onMyAdd" /> + <InitiateApproval ref="initiateApprovalRef" @myAdd="onMyAdd" /> + <Approval ref="approvalRef" @myAdd="onMyAdd" /> +- <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> ++ <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> + <!-- <StartUp ref="startRef" @myAdd="startUp"/>--> + <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> +@@ -212,7 +198,7 @@ + Refresh, + VideoPause, + VideoPlay, +- ApprovalProcess, ++ ApprovalProcess, + // UpData, + emergencyPlanApi, + }, +@@ -469,22 +455,22 @@ + // 发起审批弹窗 + const initiateApprovalRef = ref(); + const initiateApproval = (row: object) => { +- initiateApprovalRef.value.openDialog('发起审批',row, true); ++ initiateApprovalRef.value.openDialog('发起审批', row, true); + }; + // 审批 + const approvalRef = ref(); +- const onApproval = (val: string,row: object,id) => { +- if(val=='详情'){ +- approvalRef.value.openDialog('查看审批', row, true); +- } else { +- approvalRef.value.openDialog('审批', row, false,id); +- } ++ const onApproval = (val: string, row: object, id) => { ++ if (val == '详情') { ++ approvalRef.value.openDialog('查看审批', row, true); ++ } else { ++ approvalRef.value.openDialog('审批', row, false, id); ++ } + }; +- // 审批流程 +- const processRef = ref(); +- const onApprovalProcess = (row:object,id) => { +- processRef.value.openDialog(row,id); +- }; ++ // 审批流程 ++ const processRef = ref(); ++ const onApprovalProcess = (row: object, id) => { ++ processRef.value.openDialog(row, id); ++ }; + + //全屏 + const full = ref(false); +@@ -535,8 +521,8 @@ + initiateApprovalRef, + onApproval, + approvalRef, +- onApprovalProcess, +- processRef, ++ onApprovalProcess, ++ processRef, + }; + }, + }); +@@ -625,4 +611,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetDecompositionYear/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title,ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\tadd,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue +--- a/src/views/goalManagement/targetDecompositionYear/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetDecompositionYear/index.vue (date 1660381719159) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="tableData.targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -103,6 +103,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"目标分解\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"formUp.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" property=\"dutyDepartmentName\" label=\"责任部门\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"value\" label=\"考核指标\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makerDepartmentName\" label=\"制定人部门\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"commitPersonName\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"Delete(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"disabled == false\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { emit } from 'process';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { DailogAdd, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tqName: '',\r\n\t\t\tindexNum: '',\r\n\t\t\tyear: '',\r\n\t\t\tvalue: '',\r\n\t\t\ttargetDivideDetailList: [],\r\n\t\t});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t\tformUp.targetDivideDetailList = form.value.targetDivideDetailList;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (val: object) => {\r\n\t\t\tform.value = val;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = formUp.targetDivideDetailList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst formUp = reactive({\r\n\t\t\ttargetId: '', //关联的目标指标/外键\r\n\t\t\tdelTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n\t\t\ttargetDivideDetailList: [], //目标指标分解列表\r\n\t\t});\r\n\r\n\t\tconst add = (val: any) => {\r\n\t\t\tconst item = deepClone(val);\r\n\t\t\tconsole.log(item)\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tformUp.targetDivideDetailList.push(item);\r\n\t\t\t} else {\r\n\t\t\t\tformUp.targetDivideDetailList[index.value] = item;\r\n\t\t\t}\r\n\r\n\t\t\t// let obj=JSON.parse(JSON.stringify(form.value))\r\n\t\t};\r\n\t\t// 新增\r\n\t\tconst submitForm = () => {\r\n\t\t\tformUp.delTargetDivideDetails = arr.value.toString();\r\n\t\t\tformUp.targetId = form.value.id;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tfor(let i=0;i<formUp.targetDivideDetailList.length;i++){\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].dutyDepartmentName\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].makerDepartmentName\r\n\t\t\t}\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDivideDetail(formUp)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('addList');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\tconst arr = ref([]);\r\n\t\t// 删除\r\n\t\tconst Delete = (data: any) => {\r\n\t\t\tformUp.targetDivideDetailList.splice(form.value.targetDivideDetailList.indexOf(data), 1);\r\n\t\t\tformUp.targetId = data.targetId;\r\n\t\t\tarr.value.push(data.id);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\t\t// 关闭\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 时间格式处理\r\n\t\t// const timeDate = (data: any) => {\r\n\t\t// \tlet result = new Date(data).getTime();\r\n\t\t// \treturn result;\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\ttimeDate,\r\n\t\t\tarr,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tonNumber,\r\n\t\t\ttargetType,\r\n\t\t\tdisabled,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tadd,\r\n\t\t\tformUp,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +--- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (date 1660381719162) +@@ -40,7 +40,7 @@ + <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" /> + <el-table-column align="center" property="value" label="考核指标" width="180" /> + <el-table-column align="center" property="makerDepartmentName" label="制定人部门" /> +- <el-table-column align="center" property="makeDate" label="制定日期" /> ++ <el-table-column align="center" property="makeDate" :formatter="timeDate" label="制定日期" /> + <el-table-column align="center" property="commitPersonName" label="上报人" /> + <el-table-column align="center" property="操作"> + <template #default="scope"> +@@ -96,12 +96,28 @@ + if (res.data.code == 200) { + form.value = res.data.data; + formUp.targetDivideDetailList = form.value.targetDivideDetailList; ++ for(let i=0;i<formUp.targetDivideDetailList.length;i++){ ++ formUp.targetDivideDetailList[i].makeDate=timeC(formUp.targetDivideDetailList[i].makeDate) ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + } + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + const onNumber = (val: object) => { + form.value = val; + }; +@@ -209,6 +225,7 @@ + // return result; + // }; + return { ++ timeC, + index, + timeDate, + arr, +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"checkData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"checkData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"checkData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"applyTime\" label=\"整改时间\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip min-width=\"150px\">\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"验收状态\" show-overflow-tooltip min-width=\"150px\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"checkAcceptPerson\" label=\"验收人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 1\" @click=\"onOpenDialogRef('验收', scope.row)\">验收</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"checkData.params.pageIndex\" background v-model:page-size=\"checkData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"checkData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <checkDialog ref=\"checkDialogRef\" @refreshCheck=\"initCheckTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport checkDialog from './components/checkDialog.vue';\r\nimport { Check, Delete, View } from '@element-plus/icons-vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { hiddenCheckApi } from '/@/api/doublePreventSystem/check';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n checkData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'check',\r\n components: { checkDialog, Check, Delete, View },\r\n setup() {\r\n const checkDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n checkData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: 1\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initCheckTableData = async () => {\r\n let res = await hiddenCheckApi().getHiddenCheckList(state.checkData.params);\r\n if (res.data.code === '200') {\r\n state.checkData.data = res.data.data;\r\n state.checkData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n checkDialogRef.value.openCheckDialog(type, value, state.departmentList);\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.checkData.params.pageSize = val;\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.checkData.params.pageIndex = val;\r\n initCheckTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initCheckTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Check,\r\n Delete,\r\n View,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n checkDialog,\r\n checkDialogRef,\r\n initCheckTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (date 1660381719127) +@@ -12,7 +12,12 @@ + <span>整改部门:</span> + <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="checkData.params.rectifyDepId"> </el-cascader> + </div> +- ++ <div class="basic-line"> ++ <span>整改状态:</span> ++ <el-select class="input-box" v-model="checkData.params.dangerStatus" placeholder="整改状态" clearable filterable> ++ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> ++ </el-select> ++ </div> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -120,10 +125,7 @@ + { id: 2, name: '限期整改' } + ], + dangerStatusList: [ +- { id: 0, name: '整改中' }, + { id: 1, name: '待验收' }, +- { id: 2, name: '延期整改' }, +- { id: 4, name: '超期未整改' }, + { id: 9, name: '已验收' } + ] + }); +Index: src/views/contingencyManagement/panManagement/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog\r\n\t\t\t:title=\"titles\"\r\n\t\t\tv-model=\"isShowDialog\"\r\n\t\t\twidth=\"50%\"\r\n\t\t\tdraggable\r\n\t\t\t:fullscreen=\"full\"\r\n\t\t\t:close-on-click-modal=\"false\"\r\n\t\t\t@close=\"resetForm(ruleFormRef)\"\r\n\t\t>\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :disabled=\"disabled\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案名称\" prop=\"name\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.name\" placeholder=\"请填写队伍名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"适用部门\" prop=\"responsibleDepartment\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"responsibleDepartment\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\t\tcheck-on-click-node\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t\t@change=\"changeDepartment\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<el-divider />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案类型\" prop=\"type\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.type\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"危险源关联\" prop=\"associatedDanger\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.associatedDanger\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"是\" :value=\"false\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"否\" :value=\"true\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案级别\" prop=\"level\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.level\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"公司级\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"分厂级\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"车间级\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写人\" prop=\"authorId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.authorName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写部门\" prop=\"authorDeptId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.authorDeptId\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发布实施日期\" prop=\"releaseDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.releaseDate\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急队伍\" prop=\"emergencyTeam\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.teamName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt(0)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\t\t:on-change=\"handleChange\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"区域名称\" prop=\"areaName\">-->\r\n\t\t\t\t\t<!-- <el-input-->\r\n\t\t\t\t\t<!-- v-model=\"ruleForm.areaName\"-->\r\n\t\t\t\t\t<!-- placeholder=\"请选择\"-->\r\n\t\t\t\t\t<!-- class=\"input-with-select\"-->\r\n\t\t\t\t\t<!-- >-->\r\n\t\t\t\t\t<!-- <template #append>-->\r\n\t\t\t\t\t<!-- <el-button :icon=\"Search\" @click=\"regionsDialog\"/>-->\r\n\t\t\t\t\t<!-- </template>-->\r\n\t\t\t\t\t<!-- </el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<CheckTemplate ref=\"Shows\" @SearchUser=\"SearchUser\" />\r\n\t\t<DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { ref, defineComponent, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst ruleForm = ref({\r\n\t\t\tname: '', // 预案名称\r\n\t\t\ttype: '', //预案类型\r\n\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\tlevel: '', // 预案级别\r\n\t\t\tauthorUid: '', // 编写人\r\n\t\t\tauthorName: '',\r\n\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\tfileList: [],\r\n\t\t\tareaList: [], //区域列表\r\n\t\t\tteamList: [],\r\n\t\t\t// teamId: '', //应急队伍\r\n\t\t\tdeptList: [],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看应急预案管理' || title == '修改应急预案管理') {\r\n\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t.seeEmergencyTeam(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\truleForm.value.teamName = ''\r\n\t\t\t\t\t\t\tresponsibleDepartment.value = []\r\n\t\t\t\t\t\t\tif(res.data.data.teamList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.teamList.length;a++){\r\n\t\t\t\t\t\t\t\t\truleForm.value.teamName+=res.data.data.teamList[a].teamName+';'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif(res.data.data.deptList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.deptList.length;a++){\r\n\r\n\t\t\t\t\t\t\t\t\tresponsibleDepartment.value.push(res.data.data.deptList[a].departmentId)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst releaseDate = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst changeDepartment = (e) => {\r\n\t\t\tvar temList = [];\r\n\t\t\tfor (var a = 0; a < e.length; a++) {\r\n\t\t\t\ttemList.push({\r\n departmentId: e[a],\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.deptList = temList;\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t};\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref([]);\r\n\t\tconst data = ref();\r\n\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\tdelete ruleForm.value.teamName\r\n\t\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t\t.addEmergencyPlan(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n delete ruleForm.value.teamName\r\n emergencyPlanApi()\r\n\t\t\t\t\t\t\t.editEmergencyTeam(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tname: '', // 预案名称\r\n\t\t\t\t\ttype: '', //预案类型\r\n\t\t\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\t\t\tlevel: '', // 预案级别\r\n\t\t\t\t\tauthorUid: '', // 编写人\r\n\t\t\t\t\tauthorName: '',\r\n\t\t\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\t// teamId: '', //应急队伍ID\r\n\t\t\t\t\tareaList: [], //区域列表\r\n\t\t\t\t\tteamList: [],\r\n\t\t\t\t\tdeptList: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\truleForm.value = {};\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (data: any) => {\r\n\t\t\tShows.value.openDailog(data);\r\n\t\t};\r\n\t\tconst SearchUser = (val: any) => {\r\n\t\t\tlet arr = [];\r\n\t\t\truleForm.value.teamList = [];\r\n\t\t\tfor (let i = 0; i < val.length; i++) {\r\n\t\t\t\tarr.push(val[i].teamName);\r\n\t\t\t\truleForm.value.teamList.push({\r\n\t\t\t\t\tteamId: val[i].id,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.teamName = arr.toString();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\t//回显\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\truleForm.value.authorUid = e[0].uid;\r\n\t\t\truleForm.value.authorName = e[0].realName;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\treleaseDate,\r\n\t\t\t// treeSelect,\r\n\t\t\t// trees,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\tSearchUser,\r\n\t\t\tsubmitForm,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tisShowDialog,\r\n\t\t\truleFormRef,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonUser,\r\n\t\t\tnewTreeList,\r\n\t\t\tchangeDepartment,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue +--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue (date 1660381719165) +@@ -106,17 +106,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> +@@ -158,13 +149,14 @@ + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; + import { goalManagementApi } from '/@/api/goalManagement'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + CheckTemplate, + DailogSearchUserManger, + RegionsDialog, ++ uploaderFile + }, + setup(prop, { emit }) { + const isShowDialog = ref(false); +@@ -211,15 +203,35 @@ + responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) + } + } +- ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const releaseDate = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ const fileList = ref([]); + //el-tree-select回显 + const propse = { + label: 'depName', +@@ -272,6 +284,9 @@ + const data = ref(); + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急预案管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -306,10 +321,9 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] +- isShowDialog.value = false; +- delete ruleForm.value.teamName +- emergencyPlanApi() ++ isShowDialog.value = false; ++ delete ruleForm.value.teamName ++ emergencyPlanApi() + .editEmergencyTeam(ruleForm.value) + .then((res) => { + if (res.data.code == 200) { +@@ -356,6 +370,7 @@ + if (!formEl) return; + formEl.resetFields(); + ruleForm.value = {}; ++ fileList.value = [] + }; + // 应急队伍弹窗 + const Shows = ref(); +@@ -429,6 +444,8 @@ + onUser, + newTreeList, + changeDepartment, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -451,4 +468,4 @@ + .el-select { + width: 100%; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetDecompositionMonth/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport search from '../targetSettings/component/search.vue';\r\nimport Dailog from '../targetDecompositionYear/component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '2', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tadd,\r\n\t\t\tlistApi,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue +--- a/src/views/goalManagement/targetDecompositionMonth/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetDecompositionMonth/index.vue (date 1660381719168) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -105,6 +105,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"handleClose(ruleFormRef)\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核标题\" size=\"default\" prop=\"title\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\" placeholder=\"请填写考核标题\"></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核日期\" size=\"default\" prop=\"examineDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.examineDate\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\" prop=\"acceptanceNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"总分\" size=\"default\" prop=\"examineTotalNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examineTotalNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核部门\" size=\"default\" prop=\"examineDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.examineDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData1\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核人\" size=\"default\" prop=\"examinePersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examinePersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(1)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"被考核部门\" size=\"default\" prop=\"beExaminedDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.beExaminedDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData2\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"被考核人\" size=\"default\" prop=\"beExaminedPersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.beExaminedPersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(0)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\" size=\"default\" prop=\"examineTemplateName\">\r\n\t\t\t\t\t\t<el-input disabled v-model=\"form.examineTemplateName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiAdd\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"考核项目\" name=\"1\">\r\n\t\t\t\t<!-- <el-button type=\"primary\" size=\"default\" @click=\"daiAdd\">新增</el-button> -->\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"考核项目\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"考核分数\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t<el-input v-model=\"scope.row.address\" type=\"textarea\"> </el-input>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t\t<!-- <el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default>\r\n\t\t\t\t\t<el-button link type=\"primary\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column> -->\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Show\"></DailogSearch>\r\n\t<DailogSearchUser ref=\"Shows\" @SearchUser=\"userId\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tbeExaminedDepartmentId: '', ////被考核部门ID/外键\r\n\t\t\tbeExaminedDepartmentName: '',\r\n\t\t\tbeExaminedPersonId: '', ////被考核人ID/外键(可能有多个,用逗号隔开)\r\n\t\t\tbeExaminedPersonName: '',\r\n\t\t\texamineDate: '', ////考核日期\r\n\t\t\texamineDepartmentId: '', ////考核部门ID/外键\r\n\t\t\texamineDepartmentName: '',\r\n\t\t\texaminePersonId: '', ////考核人ID/外键\r\n\t\t\texaminePersonName: '',\r\n\t\t\texamineTemplateId: 1, ////绩效考核模板ID/外键\r\n\t\t\texamineTemplateName: '',\r\n\t\t\texamineTotalNumber: '', ////总分\r\n\t\t\textraFile: '9', //责任书附件\r\n\t\t\titemDetail: '', ////考核项目\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tnumberDetailJson: '[{\"id\":\"123\",\"number\":\"123\"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:\"123\",\"number\":\"123\"}]\r\n\t\t\ttitle: '', ////考核标题\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdepartment();\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 验证\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\ttitle: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }],\r\n\t\t\texamineDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],\r\n\t\t\texamineDepartmentId: [{ required: true, message: '考核部门不能为空', trigger: 'blur' }],\r\n\t\t\texaminePersonName: [],\r\n\t\t\texaminePersonId: [],\r\n\t\t\tbeExaminedDepartmentId: [{ required: true, message: '被考核部门不能为空', trigger: 'blur' }],\r\n\t\t\tbeExaminedPersonName: [],\r\n\t\t\tbeExaminedPersonId: [],\r\n\t\t\texamineTemplateId: [],\r\n\t\t\texamineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }],\r\n\t\t\tmemo: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst handleClose=(formEl: FormInstance | undefined)=>{\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t}\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (type: any) => {\r\n\t\t\tShows.value.openDailog(type);\r\n\t\t};\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst userId = (val: any, type: any) => {\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.examinePersonId = val.uid;\r\n\t\t\t\tform.value.examinePersonName = val.realName;\r\n\t\t\t} else if (type == 0) {\r\n\t\t\t\tlet uid=[]\r\n\t\t\t\tlet realName=[]\r\n\t\t\t\tfor(let i=0;i<val.length;i++){\r\n\t\t\t\t\tuid.push(val[i].uid)\r\n\t\t\t\t\trealName.push(val[i].realName)\r\n\t\t\t\t}\r\n\t\t\t\tform.value.beExaminedPersonId = uid.toString();\r\n\t\t\t\tform.value.beExaminedPersonName =realName.toString();\r\n\t\t\t\tconsole.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName)\r\n\t\t\t}\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst nameData1 = (val: any) => {\r\n\t\t\tform.value.examineDepartmentName = val.depName;\r\n\t\t};\r\n\t\tconst nameData2 = (val: any) => {\r\n\t\t\tform.value.beExaminedDepartmentName = val.depName;\r\n\t\t\tconsole.log(form.value);\r\n\t\t};\r\n\t\treturn {\r\n\t\t\trules,\r\n\t\t\thandleClose,\r\n\t\t\tnameData1,\r\n\t\t\tnameData2,\r\n\t\t\truleFormRef,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tuserId,\r\n\t\t\tactiveName,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\topenDailog,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (date 1660381719172) +@@ -10,7 +10,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="考核日期" size="default" prop="examineDate"> +- <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.examineDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -72,30 +79,16 @@ + </el-row> + <el-row> + <el-col :span="24"> +- <el-form-item label="考核模板"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <el-form-item label="附件"> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="考核模板" size="default" prop="examineTemplateName"> +- <el-input disabled v-model="form.examineTemplateName"> ++ <el-input v-model="form.examineTemplateName"> + <template #append> <el-button :icon="Search" @click="daiAdd" /></template> + </el-input> + </el-form-item> +@@ -112,12 +105,12 @@ + <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> --> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" prop="date" label="考核项目" /> +- <el-table-column align="center" prop="name" label="考核内容" /> ++ <el-table :data="form.numberDetailJson" style="width: 100%"> ++ <el-table-column align="center" prop="itemDetail" label="考核项目" /> ++ <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" label="考核分数"> + <template #default="scope"> +- <el-input v-model="scope.row.address" type="textarea"> </el-input> ++ <el-input @blur="numberC" v-model.number="scope.row.number"> </el-input> + </template> + </el-table-column> + <!-- <el-table-column align="center" prop="address" label="制定日期" /> +@@ -135,7 +128,7 @@ + </span> + </template> + </el-dialog> +- <DailogSearch ref="Show"></DailogSearch> ++ <DailogSearch ref="Show" @typeDome="onType"></DailogSearch> + <DailogSearchUser ref="Shows" @SearchUser="userId"></DailogSearchUser> + </template> + <script lang="ts"> +@@ -147,8 +140,9 @@ + import { goalManagementApi } from '/@/api/goalManagement'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearchUser, DailogSearch }, ++ components: { DailogSearchUser, DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const ruleFormRef = ref<FormInstance>(); +@@ -162,13 +156,14 @@ + examineDepartmentName: '', + examinePersonId: '', ////考核人ID/外键 + examinePersonName: '', +- examineTemplateId: 1, ////绩效考核模板ID/外键 ++ examineTemplateId: '', ////绩效考核模板ID/外键 + examineTemplateName: '', + examineTotalNumber: '', ////总分 +- extraFile: '9', //责任书附件 ++ acceptanceNumber: '', ///合格分数 ++ extraFile: '', //责任书附件 + itemDetail: '', ////考核项目 + memo: '', ////备注信息 +- numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] ++ numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] + title: '', ////考核标题 + }); + const titles = ref(); +@@ -185,11 +180,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.examineDate = timeC(form.value.examineDate); ++ form.value.numberDetailJson = form.value.currentExamineDtoList; ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } ++ ++ // fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m + `:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 验证 + const rules = reactive<FormRules>({ + title: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }], +@@ -204,12 +258,39 @@ + examineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }], + memo: [], + }); ++ // 接收 ++ const onType = (data: any, val: any) => { ++ form.value.examineTotalNumber = ''; ++ form.value.examineTemplateId = data.id; ++ form.value.examineTemplateName = data.title; ++ form.value.acceptanceNumber = data.acceptanceNumber; ++ form.value.numberDetailJson = val.examineItemList; ++ }; ++ const numberC = () => { ++ let arr = 0; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ if (form.value.numberDetailJson[i].number != undefined) { ++ arr = parseInt(arr) + parseInt(form.value.numberDetailJson[i].number); ++ } else { ++ arr = parseInt(arr) + 0; ++ } ++ } ++ form.value.examineTotalNumber = arr; ++ }; + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + dialogVisible.value = false; ++ let arr = []; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ arr.push({ ++ id: form.value.numberDetailJson[i].id, ++ number: form.value.numberDetailJson[i].number, ++ }); ++ } ++ form.value.numberDetailJson = JSON.stringify(arr); + goalManagementApi() + .getexamineMngAddOrUpdate(form.value) + .then((res) => { +@@ -234,10 +315,11 @@ + dialogVisible.value = false; + formEl.resetFields(); + }; +- const handleClose=(formEl: FormInstance | undefined)=>{ ++ const handleClose = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); +- } ++ fileList.value=[] ++ }; + const activeName = ref('1'); + // 新增弹窗 + const Show = ref(); +@@ -250,16 +332,7 @@ + Shows.value.openDailog(type); + }; + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref<UploadUserFile[]>([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -284,15 +357,15 @@ + form.value.examinePersonId = val.uid; + form.value.examinePersonName = val.realName; + } else if (type == 0) { +- let uid=[] +- let realName=[] +- for(let i=0;i<val.length;i++){ +- uid.push(val[i].uid) +- realName.push(val[i].realName) ++ let uid = []; ++ let realName = []; ++ for (let i = 0; i < val.length; i++) { ++ uid.push(val[i].uid); ++ realName.push(val[i].realName); + } + form.value.beExaminedPersonId = uid.toString(); +- form.value.beExaminedPersonName =realName.toString(); +- console.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName) ++ form.value.beExaminedPersonName = realName.toString(); ++ console.log(form.value.beExaminedPersonId, form.value.beExaminedPersonName); + } + }; + //全屏 +@@ -331,6 +404,9 @@ + }; + return { + rules, ++ timeC, ++ numberC, ++ onType, + handleClose, + nameData1, + nameData2, +@@ -360,6 +436,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -368,4 +446,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"新建考核标准设定\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"标准标题\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"适用范围\" size=\"default\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.applyRange\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<div v-if=\"clickType\">\r\n\t\t\t\t<el-row>\r\n\t\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"form.setPersonId\" disabled>\r\n\t\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /></template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人部门\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"form.setPersonDepartmentId\" disabled style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone one\" value=\"shanghai\" />\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone two\" value=\"beijing\" />\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</div>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"模板分类编码\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.templateCode\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\" v-if=\"clickType\">\r\n\t\t\t\t\t<el-form-item label=\"设定日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker disabled v-model=\"form.setTimem\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增','')\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"form.examineItemList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogKhS ref=\"Show\" @onAdd=\"AddObj\"></DailogKhS>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogKhS from './DailogKhS.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogKhS },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\tsetTimem: 1658386392466,\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\ttitle: '', ////标准标题\r\n\t\t\tsetPersonId: 1, //设定人\r\n\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\tapplyRange: '', ////适用范围\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst clickType = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineTemplateDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tclickType.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 接受传值\r\n\t\tconst AddObj = (val: any) => {\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.examineItemList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.examineItemList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.examineItemList.splice(form.value.examineItemList.indexOf(tag), 1);\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateAddOrUpdate(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.examineItemList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\tdeleteA,\r\n\t\t\tAddObj,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\tclickType,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (date 1660381719174) +@@ -62,7 +62,7 @@ + </el-row> + </el-form> + <el-tabs v-model="activeName" class="demo-tabs"> +- <el-tab-pane label="目标指标分解" name="1"> ++ <el-tab-pane label="考核项目" name="1"> + <el-button type="primary" size="default" @click="daiAdd('新增','')">新增</el-button> + </el-tab-pane> + </el-tabs> +@@ -238,4 +238,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"安全考核管理\" name=\"1\">\r\n\t\t\t\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.searchParams.examineDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.currentExamineDtoList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"number\" label=\"考核分数\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column property=\"examineDate\" align=\"center\" :formatter=\"timeDate\" label=\"考核日期\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examineDepartmentName\" align=\"center\" label=\"考核部门\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examinePersonName\" label=\"考核人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"beExaminedDepartmentName\" label=\"被考核部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"examineTotalNumber\" label=\"总分\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"numberDetailJson.number\" label=\"考核结果\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"extraFile\" label=\"附件\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"考核标准设定\" name=\"2\">\r\n\t\t\t\t\t<el-form :model=\"ruleForms\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForms.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApis\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForms\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openDs('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warnings\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"dangers\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAlls\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableDatas\" style=\"width: 100%\" @selection-change=\"handleSelectionChanges\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableDatas.examineItemList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column label=\"标准标题\" property=\"title\" align=\"center\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"applyRange\" align=\"center\" label=\"适用范围\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonName\" label=\"设定人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonDepartmentName\" label=\"设定人部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setTimem\" label=\"设定日期\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"templateCode\" label=\"模板分类编码\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"acceptanceNumber\" label=\"合格分数\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDs('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openDs('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDeletes(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4s\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4s\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"totals\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChanges\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChanges\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t</div>\r\n\t\t<DailogAq ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAq>\r\n\t\t<DailogKh ref=\"openAdds\" @navAddorUpdata=\"onAddorUpdatas\"></DailogKh>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogAq from './component/DailogAq.vue';\r\nimport DailogKh from './component/DailogKh.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAq, DailogKh },\r\n\tsetup() {\r\n\t\t// 搜索条件 安全考核管理\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\texamineDepartmentId: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD= (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 切换\r\n\t\tconst activeName = ref('1');\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tif (val == '1') {\r\n\t\t\t\tlistApi();\r\n\t\t\t}else{\r\n\t\t\t\tlistApis();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 搜索条件 考核标准设定\r\n\t\tconst ruleForms = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForms = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApis = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableDatas.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4s.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4s.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotals.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApis();\r\n\t\t\tdepartment()\r\n\t\t});\r\n\t\tconst onAddorUpdatas = () => {\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableDatas = ref();\r\n\t\tconst currentPage4s = ref();\r\n\t\tconst pageSize4s = ref();\r\n\t\tconst totals = ref();\r\n\t\tconst handleSizeChanges = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForms.pageSize = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\tconst handleCurrentChanges = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForms.pageIndex = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdds = ref();\r\n\t\tconst openDs = (title: String, id: number) => {\r\n\t\t\topenAdds.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDeletes = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warnings = ref(true);\r\n\t\tconst dangers = ref(true);\r\n\t\tconst deletAlls = ref();\r\n\t\tconst handleSelectionChanges = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAlls.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarnings.value = false;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAlls = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tactiveName,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\truleForms,\r\n\t\t\tresetForms,\r\n\t\t\tlistApis,\r\n\t\t\tonAddorUpdatas,\r\n\t\t\ttableDatas,\r\n\t\t\tcurrentPage4s,\r\n\t\t\tpageSize4s,\r\n\t\t\ttotals,\r\n\t\t\thandleSizeChanges,\r\n\t\t\thandleCurrentChanges,\r\n\t\t\topenAdds,\r\n\t\t\topenDs,\r\n\t\t\tonDeletes,\r\n\t\t\twarnings,\r\n\t\t\tdangers,\r\n\t\t\tdeletAlls,\r\n\t\t\thandleSelectionChanges,\r\n\t\t\tonDeleteAlls,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 20px;\r\n}\r\n.topTitle {\r\n\tpadding: 5px 0 20px 0;\r\n\tborder-bottom: 1px solid #dedede;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue +--- a/src/views/goalManagement/performanceAppraisal/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/performanceAppraisal/index.vue (date 1660381719177) +@@ -28,9 +28,9 @@ + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableData.currentExamineDtoList" style="width: 100%"> ++ <el-table :data="scope.row.currentExamineDtoList" style="width: 100%"> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" prop="number" label="考核分数" /> +@@ -91,9 +91,9 @@ + <el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableDatas.examineItemList" style="width: 100%"> ++ <el-table :data="scope.row.examineItemList" style="width: 100%"> + <el-table-column align="center" prop="itemType" label="类型" /> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> +@@ -141,8 +141,9 @@ + import DailogAq from './component/DailogAq.vue'; + import DailogKh from './component/DailogKh.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; +-import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; ++import { ElMessageBox, ElMessage, ElButton, ElInput, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; ++import type { TabsPaneContext } from 'element-plus' + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + components: { ElButton, ElInput, DailogAq, DailogKh }, +@@ -158,6 +159,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.examineDepartmentId = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +@@ -283,8 +285,9 @@ + }; + // 切换 + const activeName = ref('1'); +- const handleClick = (val: any) => { +- if (val == '1') { ++ const handleClick = (val: TabsPaneContext) => { ++ console.log(val) ++ if (val.props.name == '1') { + listApi(); + }else{ + listApis(); +@@ -300,11 +303,12 @@ + }); + // 重置 + const resetForms = () => { +- ruleForm.searchParams.examineDepartmentId = ''; ++ ruleForms.searchParams.title = ''; ++ listApis() + }; + const listApis = () => { + goalManagementApi() +- .getexamineTemplateList(ruleForm) ++ .getexamineTemplateList(ruleForms) + .then((res) => { + if (res.data.code == 200) { + tableDatas.value = res.data.data; +Index: src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择安全目标指标\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi()\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"reset\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\" @click=\"clear\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\" width=\"70px\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"title\" label=\"标准标题\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.title }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\tlistApi()\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n // 重置\r\n\tconst reset=()=>{\r\n\t\truleForm.searchParams.title=\"\"\r\n\t\tlistApi()\r\n\t}\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\treset,\r\n\t\t\tdialogVisible,\r\n\t\t\tlistApi,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (date 1660381719180) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > + <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -64,7 +64,7 @@ + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -75,7 +75,7 @@ + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- setup() { ++ setup(props,{emit}) { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; +@@ -122,6 +122,12 @@ + ruleForm.pageIndex = val; + listApi(); + }; ++ // 提交 ++ const submitForm=()=>{ ++ dialogVisible.value = false ++ emit("typeDome",dynamicTags.value[0],list.value) ++ clear() ++ } + // 右方点击添加后显示标签 + const dynamicTags = ref(['']); + const handleClose = (tag: string) => { +@@ -129,8 +135,19 @@ + radio1.value = ''; + }; + const radio1 = ref(''); ++ const list=ref([]) + const radio = (event: any) => { +- dynamicTags.value[0] = event; ++ ++ goalManagementApi() ++ .getexamineTemplateDetail(event.id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ list.value = res.data.data; ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ dynamicTags.value[0] = event; + }; + const clear=()=>{ + dynamicTags.value=[''] +@@ -146,6 +163,8 @@ + } + }; + return { ++ submitForm, ++ list, + reset, + dialogVisible, + listApi, +Index: src/views/goalManagement/IncentiveRecording/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.personName\" placeholder=\"请选择被奖惩者\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openSearch\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"createTime\" align=\"center\" label=\"奖惩日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column label=\"奖惩类型\" align=\"center\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"personName\" align=\"center\" label=\"被奖惩者\" sortable />\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"奖惩依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearchUser ref=\"openUser\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearchUser },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tpersonId: '', ////员工\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.personId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.personId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.personId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\tconst userId = (val: any) => {\r\n\t\t\truleForm.searchParams.personId = val.uid;\r\n\t\t\truleForm.searchParams.personName = val.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\truleForm,\r\n\t\t\tuserId,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\topenAdd,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\topenSearch,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue +--- a/src/views/goalManagement/IncentiveRecording/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/IncentiveRecording/index.vue (date 1660381719184) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者"> ++ <el-input v-model="personName" placeholder="请选择被奖惩者"> + <template #append> + <el-button :icon="Search" @click="openSearch" /> + </template> +@@ -92,8 +92,10 @@ + }, + }); + // 重置 ++ const personName=ref() + const resetForm = () => { + ruleForm.searchParams.personId = ''; ++ personName.value = ''; + listApi(); + }; + const listApi = () => { +@@ -229,10 +231,11 @@ + }; + const userId = (val: any) => { + ruleForm.searchParams.personId = val.uid; +- ruleForm.searchParams.personName = val.realName; ++ personName.value = val.realName; + }; + return { + timeDate, ++ personName, + ruleForm, + userId, + resetForm, +@@ -292,4 +295,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-user-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <el-form :inline=\"true\" class=\"demo-form-inline\">\r\n <el-form-item>\r\n <el-input size=\"default\" v-model=\"listQuery.searchParams.teamName\" placeholder=\"队伍名称\"> </el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-select size=\"default\" v-model=\"listQuery.searchParams.teamLevel\" placeholder=\"请选择队伍级别\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\">\r\n 查询\r\n </el-button>\r\n <el-button size=\"default\" class=\"ml10\" @click=\"submitReset\">\r\n 重置\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class=\"button_Line\">\r\n <div class=\"button_Left\">\r\n <el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n <el-icon>\r\n <Plus />\r\n </el-icon>新建\r\n </el-button>\r\n<!-- <el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Edit />-->\r\n<!-- </el-icon>修改-->\r\n<!-- </el-button>-->\r\n <el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </div>\r\n<!-- <div class=\"button_Right\">-->\r\n<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Upload />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Download />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Refresh />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- </div>-->\r\n </div>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%\"\r\n ref=\"multipleTableRef\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column\r\n type=\"selection\"\r\n width=\"55\"\r\n />\r\n <el-table-column prop=\"teamName\" label=\"队伍名称\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"teamLevel\" label=\"队伍级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.teamLevel == 1\">公司</span>\r\n <span v-if=\"scope.row.teamLevel == 2\">分厂-车间</span>\r\n <span v-if=\"scope.row.teamLevel == 3\">工序-班组等</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"teamDesc\" label=\"队伍描述\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"principalPhone\" label=\"负责人手机\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"attachments\" label=\"相关附件\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column label=\"操作\" width=\"200\" align=\"center\" fixed=\"right\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <View />\r\n </el-icon>查看\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <EditPen />\r\n </el-icon>修改\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pages\">\r\n <el-pagination\r\n v-if=\"tableData.length == 0 ? false : true\"\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n class=\"mt15\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:currentPage=\"pageIndex\"\r\n background\r\n v-model:page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"total\"\r\n >\r\n </el-pagination>\r\n </div>\r\n </el-card>\r\n <OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n <upData ref=\"upShow\"></upData>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // toRefs,\r\n reactive,\r\n onMounted,\r\n ref,\r\n defineComponent\r\n} from 'vue';\r\nimport {\r\n ElMessageBox,\r\n ElMessage,\r\n} from 'element-plus';\r\nimport {\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n View,\r\n EditPen,\r\n} from '@element-plus/icons-vue'\r\n\r\nimport OpenAdd from '../../contingencyManagement/contingency/component/openAdd.vue'\r\nimport UpData from '../../contingencyManagement/contingency/component/upData.vue';\r\nimport {contingencyApi} from \"../../../api/contingencyManagement/contingency\";\r\n\r\nexport default defineComponent({\r\n name: 'systemUser',\r\n components: {\r\n OpenAdd,\r\n View,\r\n EditPen,\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n UpData,\r\n contingencyApi\r\n },\r\n setup() {\r\n // 列表参数\r\n const listQuery = reactive({\r\n pageIndex: 1,\r\n pageSize: 10,\r\n searchParams: {\r\n teamName: \"\",\r\n teamLevel: \"\",\r\n }\r\n })\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n // 列表数据请求\r\n const onSubmit = async () => {\r\n let res = await contingencyApi().getTeamManagementList(listQuery)\r\n if(res.data.code === '200'){\r\n tableData.value = res.data.data;\r\n pageIndex.value = res.data.pageIndex;\r\n pageSize.value = res.data.pageSize;\r\n total.value = res.data.total;\r\n }else{\r\n ElMessage({\r\n showClose: true,\r\n type:'error',\r\n message:res.data.msg\r\n })\r\n }\r\n }\r\n // 重置\r\n const submitReset = () => {\r\n listQuery.searchParams.teamName = '';\r\n listQuery.searchParams.teamLevel = '';\r\n onSubmit();\r\n };\r\n // const warning = ref(true);\r\n const danger = ref(true);\r\n const deleteAll = ref();\r\n const handleSelectionChange = (val: any) => {\r\n let valId = JSON.parse(JSON.stringify(val));\r\n let arr = [];\r\n for (let i = 0; i < valId.length; i++) {\r\n arr.push(valId[i].id);\r\n }\r\n deleteAll.value = arr;\r\n if (val.length == 1) {\r\n // warning.value = false;\r\n danger.value = false;\r\n } else if (val.length == 0) {\r\n // warning.value = true;\r\n danger.value = true;\r\n } else {\r\n // warning.value = true;\r\n danger.value = false;\r\n }\r\n };\r\n\r\n // 上传\r\n // const upShow=ref()\r\n // const upButton=()=>{\r\n // upShow.value.openDialog()\r\n // }\r\n // 打开新增应急队伍弹窗\r\n const addRef = ref();\r\n const onOpenAdd = () => {\r\n addRef.value.openDialog('新建应急队伍管理');\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: boolean) => {\r\n if (e) {\r\n onSubmit();\r\n } else {\r\n onSubmit();\r\n }\r\n };\r\n // 打开修改应急队伍弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '详情') {\r\n addRef.value.openDialog('查看应急队伍管理',row,true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍管理',row,false);\r\n }\r\n };\r\n // 删除用户\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam([data])\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n }).catch(() => {});\r\n };\r\n // 多选删除\r\n const onDeleteAll = () => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam(deleteAll.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n })\r\n .catch(() => {});\r\n };\r\n // 分页\r\n const pageIndex = ref();\r\n const pageSize = ref();\r\n const total = ref();\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n listQuery.pageSize = val;\r\n onSubmit();\r\n };\r\n const onHandleCurrentChange = (val: number) => {\r\n listQuery.pageIndex = val;\r\n onSubmit();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n onSubmit();\r\n });\r\n return {\r\n listQuery,\r\n onSubmit,\r\n // upButton,\r\n // upShow,\r\n onOpenAdd, //新增\r\n addRef,\r\n pageIndex,\r\n pageSize,\r\n total,\r\n onEdit,\r\n handleSelectionChange,\r\n submitReset,\r\n onRowDel,\r\n onMyAdd,\r\n tableData,\r\n onDeleteAll,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n deleteAll,\r\n // warning,\r\n danger,\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box{\r\n padding: 20px;\r\n background-color: #fff;\r\n}\r\n.tableForm{\r\n margin-top: 10px;\r\n}\r\n/*按钮行*/\r\n .button_Line{\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n margin-bottom: 10px;\r\n }\r\n//分页\r\n.pages{\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 15px;\r\n}\r\n.el-form .el-form-item{\r\n margin-bottom: 0px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n background-color: #f6f7fa;\r\n font-weight: 400;\r\n color: #909399;\r\n}\r\n.el-table .sort-caret.ascending{\r\n border-bottom-color: #c0c4cc;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue +--- a/src/views/contingencyManagement/contingency/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/contingency/index.vue (date 1660381719190) +@@ -79,7 +79,9 @@ + </el-table-column> + <el-table-column prop="teamDesc" label="队伍描述" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="principalPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column> +- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column prop="fileList" label="相关附件" show-overflow-tooltip sortable> ++ ++ </el-table-column> + <el-table-column label="操作" width="200" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> +@@ -179,6 +181,11 @@ + let res = await contingencyApi().getTeamManagementList(listQuery) + if(res.data.code === '200'){ + tableData.value = res.data.data; ++ for(var a = 0;a<tableData.value.length;a++){ ++ if(tableData.value[a].fileList!=null&&tableData.value[a].fileList!=''&&tableData.value[a].fileList.length!=0){ ++ tableData.value[a].fileList = tableData.value[a].fileList[0].fileName ++ } ++ } + pageIndex.value = res.data.pageIndex; + pageSize.value = res.data.pageSize; + total.value = res.data.total; +@@ -389,4 +396,4 @@ + .el-table .sort-caret.ascending{ + border-bottom-color: #c0c4cc; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"120px\"\r\n :disabled=\"disabled\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍名称\" prop=\"teamName\">\r\n <el-input v-model=\"ruleForm.teamName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍级别\" prop=\"teamLevel\">\r\n <el-select v-model=\"ruleForm.teamLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍负责人\" prop=\"principalName\">\r\n <el-input v-model=\"ruleForm.principalName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人部门\" prop=\"principalDepartmentId\">\r\n <el-tree-select v-model=\"ruleForm.principalDepartmentId\" :data=\"newTreeList\" class=\"w100\"\r\n :props=\"propse\" clearable placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人手机\" prop=\"principalPhone\">\r\n <el-input v-model=\"ruleForm.principalPhone\" placeholder=\"请填写负责人手机\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"固定电话\" prop=\"telephoneNumber\">\r\n <el-input v-model=\"ruleForm.telephoneNumber\" placeholder=\"请填写固定电话\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"队伍描述\" prop=\"teamDesc\">\r\n <el-input class=\"textarea\" v-model=\"ruleForm.teamDesc\" type=\"textarea\" maxlength=\"150\"\r\n placeholder=\"请填写队伍描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"相关附件\" prop=\"fileList\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\">点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">添加相关附件</div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n <el-tab-pane label=\"应急队伍人员\" name=\"first\" >\r\n <el-button type=\"primary\" size=\"default\" @click=\"onAddEmergencyPersonnel\" :disabled=\"disabled\">新增\r\n </el-button>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%; margin-top: 15px\"\r\n ref=\"multipleTableRef\"\r\n :header-cell-style=\"{ background: '#f6f7fa', color: '#909399' }\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-table-column prop=\"jobNumber\" label=\"人员工号\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"name\" label=\"人员名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"phone\" label=\"手机号码\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"position\" label=\"职位\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('查看应急队伍人员',scope.row.id)\">查看\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('修改应急队伍人员',scope.row.id)\"\r\n style=\"margin-right: 5px\">编辑\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onRowDel(scope.row.id)\"\r\n style=\"margin-right: 5px\">删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-col>\r\n </el-row>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"onSubmit(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <AddEmergencyPersonnel ref=\"addRef\" @myAdd=\"onMyAdd\"/>\r\n <DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\"/>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n // toRefs,\r\n } from 'vue';\r\n import {\r\n ElMessage,\r\n ElMessageBox,\r\n } from 'element-plus';\r\n\r\n import type {\r\n UploadUserFile,\r\n TabsPaneContext,\r\n FormInstance,\r\n FormRules,\r\n } from 'element-plus'\r\n\r\n import {\r\n Search,\r\n FullScreen\r\n } from '@element-plus/icons-vue'\r\n import AddEmergencyPersonnel from \"/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue\";\r\n import DailogSearchUserManger from \"/@/components/DailogSearchUserManger/index.vue\"\r\n import {contingencyApi} from \"/@/api/contingencyManagement/contingency\";\r\n import {goalManagementApi} from \"/@/api/goalManagement\";\r\n // import {releaseDrillPlanApi} from \"/@/api/releaseDrillPlan\";\r\n\r\n\r\n export default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n AddEmergencyPersonnel,\r\n DailogSearchUserManger,\r\n },\r\n setup(prop, {emit}) {\r\n const isShowDialog = ref(false);\r\n const ruleFormRef = ref<FormInstance>();\r\n const ruleForm = ref({\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalName: '',\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n const peopleInsertBtn = ref(false)\r\n const teamId = ref()\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n teamId.value = id\r\n //如果是新增 无法添加人员\r\n if(title == '新建应急队伍管理'){\r\n peopleInsertBtn.value = true\r\n }else{\r\n peopleInsertBtn.value = false\r\n }\r\n if (title == '查看应急队伍管理' || title == '修改应急队伍管理') {\r\n contingencyApi()\r\n .seeEmergencyTeam(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n listApi()\r\n }\r\n });\r\n }\r\n }\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n\r\n //定义树形下拉框\r\n const principalDepartmentId = ref()\r\n const data = ref()\r\n\r\n\r\n\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n\r\n\r\n\r\n\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog();\r\n };\r\n const onUser = (e: any) => {\r\n ruleForm.value.principalUid = e[0].uid\r\n ruleForm.value.principalName = e[0].realName\r\n };\r\n //定义tabs切换\r\n const activeName = ref('first')\r\n const handleClick = (tab: TabsPaneContext, event: Event) => {\r\n console.log(tab, event)\r\n }\r\n\r\n // 必填项提示\r\n const rules = reactive<FormRules>({\r\n teamName: [\r\n {\r\n required: true,\r\n message: '队伍名称不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n teamLevel: [\r\n {\r\n required: true,\r\n message: '队伍级别不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalUid: [\r\n {\r\n required: true,\r\n message: '队伍负责人不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalDepartmentId: [\r\n {\r\n required: true,\r\n message: '负责人部门不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalPhone: [\r\n {\r\n required: true,\r\n message: '负责人手机不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n telephoneNumber: [\r\n {\r\n required: true,\r\n message: '固定电话不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n })\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n const onSubmit = async (title: string, formEl: FormInstance | undefined) => {\r\n if (title == '新建应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .addEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n } else if (title == '修改应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .editEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n };\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n tableData.value=[]\r\n ruleForm.value = {}\r\n };\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n //添加队伍负责人弹窗\r\n const addRef = ref();\r\n const onAddEmergencyPersonnel = () => {\r\n //未添加队伍 无法修改人员\r\n if(peopleInsertBtn.value == true){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加应急队伍',\r\n type: 'warning',\r\n });\r\n }else {\r\n addRef.value.openDialog('新建应急队伍人员','',teamId.value);\r\n }\r\n };\r\n // 请求列表数据\r\n const listApi = async () => {\r\n let res = await contingencyApi().getEmergencyTeamPersonnelList(teamId.value);\r\n if (res.data.code == 200) {\r\n tableData.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: object) => {\r\n listApi();\r\n };\r\n // 打开修改弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '查看应急队伍人员') {\r\n addRef.value.openDialog('查看应急队伍人员', row,teamId.value, true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍人员', row,teamId.value, false);\r\n }\r\n };\r\n // 删除\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeamPersonnel(data)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n listApi()\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n listApi()\r\n }\r\n });\r\n })\r\n .catch(() => {\r\n });\r\n };\r\n return {\r\n openDialog,\r\n fileList,\r\n principalDepartmentId,\r\n data,\r\n activeName,\r\n handleClick,\r\n tableData,\r\n Search,\r\n resetForm,\r\n isShowDialog,\r\n ruleFormRef,\r\n ruleForm,\r\n rules,\r\n addRef,\r\n userRef,\r\n titles,\r\n disabled,\r\n propse,\r\n emit,\r\n onSubmit,\r\n openUser,\r\n onAddEmergencyPersonnel,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n onUser,\r\n onMyAdd,\r\n listApi,\r\n onEdit,\r\n onRowDel,\r\n department,\r\n peopleInsertBtn,\r\n teamId,\r\n newTreeList\r\n };\r\n },\r\n });\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .textarea {\r\n height: 168px !important;\r\n }\r\n\r\n .textarea ::v-deep .el-textarea__inner {\r\n height: 168px !important;\r\n }\r\n\r\n ::v-deep .el-table__cell {\r\n font-weight: 400;\r\n }\r\n</style>\r\n\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue +--- a/src/views/contingencyManagement/contingency/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/contingency/component/openAdd.vue (date 1660381719194) +@@ -52,17 +52,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件" prop="fileList"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -142,6 +133,7 @@ + import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" + import {contingencyApi} from "/@/api/contingencyManagement/contingency"; + import {goalManagementApi} from "/@/api/goalManagement"; ++ import uploaderFile from '/@/components/uploaderFile/index.vue'; + // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; + + +@@ -150,6 +142,7 @@ + components: { + AddEmergencyPersonnel, + DailogSearchUserManger, ++ uploaderFile + }, + setup(prop, {emit}) { + const isShowDialog = ref(false); +@@ -188,14 +181,34 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + listApi() + } + }); + } + } + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) +- ++ const fileList = ref([]) ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //定义树形下拉框 + const principalDepartmentId = ref() + const data = ref() +@@ -313,6 +326,9 @@ + } + }; + const onSubmit = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急队伍管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -346,7 +362,6 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] + isShowDialog.value = false; + contingencyApi() + .editEmergencyTeam(ruleForm.value) +@@ -390,6 +405,7 @@ + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + tableData.value=[] + ruleForm.value = {} + }; +@@ -494,7 +510,9 @@ + department, + peopleInsertBtn, + teamId, +- newTreeList ++ newTreeList, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentExpress/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.accidentName\" placeholder=\"事故名称\" style=\"max-width: 215px\" />\r\n\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"listApi\"> 查询 </el-button>\r\n\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon> <Plus /> </el-icon>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon> <Edit /> </el-icon>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" @click=\"onDeleteAll\" plain :disabled=\"danger\">\r\n\t\t\t\t\t\t<el-icon> <Delete /> </el-icon>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button @click=\"upButton\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Upload />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Download />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Refresh />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentName\" label=\"事故名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"deptName\" label=\"事故部门\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrencePlace\" label=\"发生地点\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrenceTime\" label=\"发生时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentCause\" label=\"事故原因\" show-overflow-tooltip sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='1'\">人的不安全行为</div>\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='2'\">物的不安全状态</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"createName\" label=\"创建人\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"gmtModitify\" label=\"更新时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text disabled>\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Upload /> </el-icon>上报\r\n\t\t\t\t\t\t</el-button> -->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <EditPen /> </el-icon>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <View /> </el-icon>详情\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onDelete(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Delete /> </el-icon>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<upData ref=\"upShow\"></upData>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElTable, ElMessage, ElMessageBox } from 'element-plus';\r\nimport { Plus, View, Download, Refresh, EditPen, Edit, Delete, Upload } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/accidentManagementSystem/accidentExpress/component/openAdd.vue';\r\nimport UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nexport default defineComponent({\r\n\tname: 'index',\r\n\tcomponents: {\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpData,\r\n\t\tOpenAdd,\r\n\t\tView,\r\n\t},\r\n\r\n\tsetup() {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\taccidentName: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst listApi = async () => {\r\n\t\t\tlet res = await accidentManagementSystemApi().accidentList(listQuery);\r\n\t\t\tif (res.data.code == 200) {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.accidentName = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// 打开新增弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建事故快报',false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tlistApi();\r\n\t\t\t} else {\r\n\t\t\t\tlistApi();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele([data])\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst upShow = ref();\r\n\t\tconst upButton = () => {\r\n\t\t\tupShow.value.openDialog();\r\n\t\t};\r\n\r\n\t\t// 打开修改用户弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看事故快报',row,true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改事故快报',row,false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tupButton,\r\n\t\t\tupShow,\r\n\t\t\ttableData,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonEdit,\r\n\t\t\tonOpenAdd,\r\n\t\t\taddRef,\r\n\t\t\tlistQuery,\r\n\t\t\tlistApi,\r\n\t\t\tsubmitReset,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDelete,\r\n\t\t\tdeletAll,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/index.vue b/src/views/accidentManagementSystem/accidentExpress/index.vue +--- a/src/views/accidentManagementSystem/accidentExpress/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/accidentManagementSystem/accidentExpress/index.vue (date 1660381719197) +@@ -41,7 +41,8 @@ + <el-table-column align="center" prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column align="center" prop="accidentCause" label="事故原因" show-overflow-tooltip sortable> + <template #default="scope"> + <div v-if="scope.row.accidentCause=='1'">人的不安全行为</div> +@@ -49,7 +50,8 @@ + </template> + </el-table-column> + <el-table-column align="center" prop="createName" label="创建人" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <!-- <el-button size="small" text disabled> +@@ -268,7 +270,16 @@ + addRef.value.openDialog('修改事故快报',row,false); + } + }; +- ++//格式化表格时间 ++ const dateFormat = (row,column) => { ++ // 获取单元格数据 ++ let data = row[column.property]; ++ if(data == null) { ++ return null; ++ } ++ let dt = new Date(data) ++ return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds() ++ }; + return { + upButton, + upShow, +@@ -291,6 +302,7 @@ + onDelete, + deletAll, + onDeleteAll, ++ dateFormat + }; + }, + }); +@@ -343,4 +355,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetEscalation/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"检查\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"上报\" name=\"2\"></el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"审核\" name=\"3\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column v-if=\"activeName == 1\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(0)\">检查</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDai(scope.row.targetDivideDetailList)\">记录</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 2\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(1)\">上报</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 3\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom\">待审批</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { useRouter } from 'vue-router';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\t// let targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = val.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeName = ref<any>('1');\r\n\t\t// 记录弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openDai = (data: any) => {\r\n\t\t\tShow.value.openDailog(data);\r\n\t\t};\r\n\t\t// 流程表单\r\n\t\tconst router = useRouter();\r\n\t\tconst jumpFrom = (data: any) => {\r\n\t\t\trouter.push({\r\n\t\t\t\tpath: '/processForms',\r\n\t\t\t\tquery: {\r\n\t\t\t\t\ttype: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tactiveName,\r\n\t\t\ttotal,\r\n\t\t\thandleClick,\r\n\t\t\truleForm,\r\n\t\t\tlistApi,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tresetForm,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenDai,\r\n\t\t\trouter,\r\n\t\t\tjumpFrom,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue +--- a/src/views/goalManagement/targetEscalation/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetEscalation/index.vue (date 1660381719199) +@@ -24,7 +24,6 @@ + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> + <el-tab-pane label="检查" name="1"> </el-tab-pane> + <el-tab-pane label="上报" name="2"></el-tab-pane> +- <el-tab-pane label="审核" name="3"></el-tab-pane> + </el-tabs> + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> + <el-table-column label="安全目标指标" align="center" property="qName" sortable /> +@@ -33,18 +32,18 @@ + <el-table-column property="value" label="指标值" align="center" sortable show-overflow-tooltip /> + <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip> + <template #default="scope"> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(0)">检查</el-button> +- <el-button link type="primary" size="default" :icon="View" @click="openDai(scope.row.targetDivideDetailList)">记录</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,1)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,1)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,1)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,1)" >查看审批流程</el-button> + </template> + </el-table-column> + <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(1)">上报</el-button> +- </template> +- </el-table-column> +- <el-table-column v-if="activeName == 3" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">待审批</el-button> ++ <template #default="scope"> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,2)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,2)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,2)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,2)" >查看审批流程</el-button> + </template> + </el-table-column> + </el-table> +@@ -61,17 +60,19 @@ + </div> + </div> + <Dailog ref="Show"></Dailog> ++ <TypeDailog ref="TypeD" @onType="typeAlign" /> + </div> + </template> + <script lang="ts"> + import Dailog from './component/Dailog.vue'; ++import TypeDailog from './component/TypeDailog.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; + import { useRouter } from 'vue-router'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- components: { ElButton, ElInput, Dailog }, ++ components: { ElButton, ElInput, Dailog,TypeDailog }, + setup() { + // 搜索条件 + const ruleForm = reactive({ +@@ -80,8 +81,9 @@ + searchParams: { + qName: '', ////安全目标指标 + indexNum: '', ////目标指标编号 +- targetType: '1', ////指标类型 1:年指标 2:月指标 +- divideStatus: '', ////分解状态 1:已分解 2:未分解 ++ targetType: 1, ////指标类型 1:年指标 2:月指标 ++ divideStatus: 1, ////分解状态 1:已分解 2:未分解 ++ relateType: 1, ////关联业务类型 1:目标检查 2:目标上报 + }, + }); + // 重置 +@@ -91,7 +93,7 @@ + }; + const listApi = () => { + goalManagementApi() +- .getTargetMngList(ruleForm) ++ .getworkApproveList(ruleForm) + .then((res) => { + if (res.data.code == 200) { + tableData.value = res.data.data; +@@ -106,7 +108,7 @@ + // + const handleClick = (val: any) => { + // let targetType = JSON.parse(JSON.stringify(val)); +- ruleForm.searchParams.targetType = val.paneName; ++ ruleForm.searchParams.relateType = val.paneName; + listApi(); + }; + onMounted(() => { +@@ -133,20 +135,21 @@ + const activeName = ref<any>('1'); + // 记录弹窗 + const Show = ref(); +- const openDai = (data: any) => { +- Show.value.openDailog(data); ++ const openDai = (data: any,num:number) => { ++ Show.value.openDailog(data,num); + }; +- // 流程表单 +- const router = useRouter(); +- const jumpFrom = (data: any) => { +- router.push({ +- path: '/processForms', +- query: { +- type: data, +- }, +- }); ++ // 发起审批弹窗 ++ const TypeD = ref(); ++ const TypeDailog = (title:string,name:string,id:number,type:number) => { ++ TypeD.value.openDialog(title,name,id,type); + }; ++ const typeAlign=()=>{ ++ listApi(); ++ } + return { ++ TypeD, ++ typeAlign, ++ TypeDailog, + activeName, + total, + handleClick, +@@ -161,8 +164,6 @@ + handleCurrentChange, + Show, + openDai, +- router, +- jumpFrom, + Plus, + Delete, + Upload, +@@ -195,4 +196,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/api/goalManagement/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\nexport function goalManagementApi() {\r\n return {\r\n // 目标设置、目标指标分解列表\r\n getTargetMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置详情\r\n getTargetMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标设置新增或者修改数据\r\n getTargetMngAddOrupdata: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置删除\r\n getTargetMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标指标分解-新增或者修改数据\r\n gettargetDivideDetail: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDivideDetail/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 统计\r\n getEquipmentInfo: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/equipmentInfo/statistics',\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 分页查询数据\r\n gettargetDutyfileInfoList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutyfileInfo/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 查询单条数据\r\n gettargetDutyfileInfoDetail: (params: number) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 新增或者修改数据\r\n gettargetDutyfileInfoAddorUpdata: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 删除\r\n gettargetDutyfileInfoDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 分页查询数据\r\n getrewardPunishmentStandardList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 查询单条数据\r\n getrewardPunishmentStandardDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩标准设定 新增或者修改数据\r\n getrewardPunishmentStandardaddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 删除\r\n getrewardPunishmentStandardDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 分页查询数据\r\n getrewardPunishmentList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentDetail/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 查询单条数据\r\n getrewardPunishmentDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩记录 新增或者修改数据\r\n getrewardPunishmentAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 删除\r\n getrewardPunishmentDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 分页查询数据\r\n getexamineMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 查询单条数据\r\n getexamineMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 新增或者修改数据\r\n getexamineMngAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 删除\r\n getexamineMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 分页查询数据\r\n getexamineTemplateList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineTemplate/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 查询单条数据\r\n getexamineTemplateDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 新增或者修改数据\r\n getexamineTemplateAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 删除\r\n getexamineTemplateDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 分页查询数据\r\n gettargetDutySummaryList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutySummary/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 查询单条数据\r\n gettargetDutySummaryDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标汇总 新增或者修改数据\r\n gettargetDutySummaryAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 删除\r\n gettargetDutySummaryDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/delete?ids=${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 查询单条数据\r\n gettargetExamineDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetExamine/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 新增或者修改数据\r\n gettargetExamineAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetExamine/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标检查上报 (有疑问) 新增或者修改数据 ---???\r\n getworkApproveAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 部门树\r\n getTreedepartment: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/department/list',\r\n method: 'post'\r\n });\r\n },\r\n // 人员\r\n getManName: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`,\r\n method: 'get'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts +--- a/src/api/goalManagement/index.ts (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/api/goalManagement/index.ts (date 1660381719202) +@@ -247,10 +247,50 @@ + data: params + }); + }, +- // 目标检查上报 (有疑问) 新增或者修改数据 ---??? +- getworkApproveAddOrUpdate: (params: object) => { ++ // 目标检查上报 分页查询数据 ++ getworkApproveList: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetMng/checkAndSubimt/list', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 分页查询检查记录 ++ getworkApproveListCheckData: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/page/listCheckData', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 查询单条数据 ++ getworkApproveDetail: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + `/targetDutyWorkApprove/selectOne/${params}`, ++ method: 'get' ++ }); ++ }, ++ ++ // 目标检查上报 新增数据 ++ getworkApproveAdd: (params: object) => { + return request({ +- url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove', ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/add', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 新增数据 ++ getworkApproveUpdata: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/update', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 删除 ++ getworkApproveDelete: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/delete', + method: 'post', + data: params + }); +@@ -267,6 +307,18 @@ + return request({ + url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`, + method: 'get' ++ }); ++ }, ++ beforeUploadFile(fileName1: string, fileName2: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/presign?prefixName=' + fileName1 + '&suffixName=' + fileName2, ++ method: 'get' ++ }); ++ }, ++ searchFile(fileName: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/view?obj=' + fileName, ++ method: 'get' + }); + } + }; +Index: src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" :rules=\"rules\" size=\"default\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"disabled\" placeholder=\"请填写事故名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentDepartmentId\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.occurrencePlace\" :disabled=\"disabled\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.occurrenceTime\" :disabled=\"disabled\" placeholder=\"请填写发生时间\"></el-input>-->\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人的不安全行为\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"物的不安全状态\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"是否有伤亡\" prop=\"casualties\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.casualties\" :disabled=\"disabled\" @change=\"typeChang\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t\t<el-button v-if=\"ruleForm.casualties\" type=\"primary\" style=\"margin-left: 20px\"\r\n\t\t\t\t\t\t\t\t\t :icon=\"Edit\" @click=\"openDai\" round plain />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故简要经过\" prop=\"accidentBriefProcess\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentBriefProcess\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故简要经过\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因初步分析\" prop=\"accidentCausesPreliminaryAnalysis\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentCausesPreliminaryAnalysis\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故原因初步分析\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急防范措施\" prop=\"emergencyPrecautions\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.emergencyPrecautions\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写应急防范措施\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故照片\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.fileList\" :disabled=\"disabled\"-->\r\n\t\t\t\t\t\t\t<!--type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileListDemo\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<NumberOfCasualties ref=\"ShowUser\"></NumberOfCasualties>\r\n\t\t<CheckTemplate ref=\"Shows\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent, defineEmits, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen, Edit } from '@element-plus/icons-vue';\r\nimport NumberOfCasualties from '/@/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tNumberOfCasualties,\r\n\t\tuploaderImg,\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\temergencyPrecautions: '',\r\n\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\taccidentBriefProcess: '',\r\n\t\t\tcasualties: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\toccurrenceTime: '',\r\n\t\t\toccurrencePlace: '',\r\n\t\t\taccidentDepartmentId: '',\r\n\t\t\taccidentName: '',\r\n\t\t\tfileList: [],\r\n\t\t\tid: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看事故快报' || title == '修改事故快报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.accidentScarh(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\tconst fileListDemo = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故名称不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故部门不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrencePlace: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '发生地点不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrenceTime: [{ type: 'date', required: true, message: '发生时间不能为空', trigger: 'blur' }],\r\n\t\t\taccidentCause: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcasualties: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '是否有伤亡不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentBriefProcess: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故简要经过不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentCausesPreliminaryAnalysis: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因初步分析不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\temergencyPrecautions: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '应急防范措施不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\t// 子传父\r\n\t\t// const emit=defineEmits(['myAdd'])\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.id = null;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList = [\r\n\t\t\t\t\t\t\t// {\r\n\t\t\t\t\t\t\t// \tfileUrl: 'url',\r\n\t\t\t\t\t\t\t// \tfileName: 'name',\r\n\t\t\t\t\t\t\t// },\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t}\r\n\t\t\truleForm.value = {\r\n\t\t\t\taccidentExpressId: '',\r\n\t\t\t\temergencyPrecautions: '',\r\n\t\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\t\taccidentBriefProcess: '',\r\n\t\t\t\tcasualties: '',\r\n\t\t\t\taccidentCause: '',\r\n\t\t\t\toccurrenceTime: '',\r\n\t\t\t\toccurrencePlace: '',\r\n\t\t\t\taccidentDepartmentId: '',\r\n\t\t\t\taccidentName: '',\r\n\t\t\t\tfileList: [],\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 是否有伤亡弹窗\r\n\t\tconst typeChang = () => {\r\n\t\t\tconsole.log('tag', ruleForm);\r\n\t\t};\r\n\t\tconst ShowUser = ref();\r\n\t\tconst openDai = () => {\r\n if(ruleForm.value.id==null||ruleForm.value.id==''){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加事故快报',\r\n type: 'info',\r\n });\r\n }else {\r\n ShowUser.value.openDialog(ruleForm.value.id, disabled.value);\r\n }\r\n\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tShowUser,\r\n\t\t\ttypeChang,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\tEdit,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenDai,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tcloseDialog,\r\n\t\t\tfileListDemo,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (date 1660381719223) +@@ -1,6 +1,7 @@ + <template> + <div class="system-edit-user-container"> +- <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> ++ <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" ++ destroy-on-close @close="closeDialog(ruleFormRef)"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px"> + <el-row :gutter="35"> +@@ -94,7 +95,8 @@ + <el-form-item label="事故照片" prop="fileList"> + <!--<el-input v-model="ruleForm.fileList" :disabled="disabled"--> + <!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <uploaderImg :fileList="fileListDemo"></uploaderImg> ++ <uploaderImg :fileList="fileList" :disabled="disabled" ++ :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg> + </el-form-item> + </el-col> + </el-row> +@@ -157,7 +159,7 @@ + const titles = ref(); + const disabled = ref(); + // 打开弹窗 +- const openDialog = (title: string, id: number, type: boolean) => { ++ const openDialog = async (title: string, id: number, type: boolean) => { + isShowDialog.value = true; + titles.value = title; + disabled.value = type; +@@ -167,24 +169,39 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); +- const fileListDemo = ref<UploadUserFile[]>([ +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- ]); ++ const fileList = ref([]); ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 可选择树 + const treeSelect = ref(); + +@@ -292,6 +309,9 @@ + // const emit=defineEmits(['myAdd']) + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故快报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -327,12 +347,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList = [ +- // { +- // fileUrl: 'url', +- // fileName: 'name', +- // }, +- ]; + accidentManagementSystemApi() + .accidentView(ruleForm.value) + .then((res) => { +@@ -380,6 +394,7 @@ + }; + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value = [] + console.log(ruleForm); + isShowDialog.value = false; + }; +@@ -459,7 +474,7 @@ + getTreeList, + newTreeList, + closeDialog, +- fileListDemo, ++ successUploader + }; + }, + }); +Index: src/views/goalManagement/targetEscalation/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"记录\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" label=\"序号\" type=\"index\" width=\"80\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"检查值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"检查人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"检查时间\" />\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst tableData = ref();\r\n\t\tconst openDailog = (data: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\t// console.log(data)\r\n\t\t\ttableData.value = data;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdialogVisible,\r\n\t\t\ttableData,\r\n\t\t\topenDailog,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue +--- a/src/views/goalManagement/targetEscalation/component/Dailog.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue (date 1660381719225) +@@ -1,15 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="记录" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="查看审批流程" width="50%" draggable> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" label="序号" type="index" width="80" /> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> +- <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定部门" /> +- <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="value" label="检查值" /> +- <el-table-column align="center" prop="commitPersonId" label="检查人" /> +- <el-table-column align="center" prop="makeDate" label="检查时间" /> ++ <el-table-column property="workName" label="审批人" sortable></el-table-column> ++ <el-table-column property="title" label="审批标题" sortable></el-table-column> ++ <el-table-column property="approvePersonName" label="编写人" sortable></el-table-column> ++ <el-table-column property="approveMemo" label="审批意见" sortable></el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +@@ -22,14 +18,28 @@ + <script lang="ts"> + import { defineComponent, reactive, ref } from 'vue'; + import { FullScreen } from '@element-plus/icons-vue'; ++import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + setup() { + const dialogVisible = ref(false); ++ const form = ref({ ++ pageSize: 10, ++ pageIndex: 1, ++ searchParams: { ++ relateId: '', ////检查记录ID ++ relateType:"", ++ }, ++ }); + const tableData = ref(); +- const openDailog = (data: any) => { ++ const openDailog = (data: any,type:number) => { + dialogVisible.value = true; +- // console.log(data) +- tableData.value = data; ++ form.value.searchParams.relateId=data ++ form.value.searchParams.relateType=type ++ goalManagementApi().getworkApproveListCheckData(form.value).then(res=>{ ++ if(res.data.code==200){ ++ tableData.value=res.data.data ++ } ++ }) + }; + //全屏 + const full = ref(false); +@@ -46,6 +56,7 @@ + openDailog, + full, + toggleFullscreen, ++ form, + FullScreen, + }; + }, +Index: src/views/goalManagement/Incentivestandard/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select v-model=\"ruleForm.searchParams.standardType\" size=\"default\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"奖励\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"惩罚\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\" >新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" :disabled=\"warning\" plain :icon=\"EditPen\" @click=\"openD\">修改 </el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"handleSelectionChange\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"qname\" align=\"center\" label=\"奖惩名称\" sortable />\r\n\t\t\t\t<el-table-column property=\"name\" align=\"center\" label=\"奖惩类型\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<!-- <upData ref=\"upShow\"></upData> -->\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, upData, DailogAdd },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tstandardType: '', ////奖惩类型 1:奖励 2:惩罚\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.standardType = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentStandardList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.standardType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.standardType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/Incentivestandard/index.vue b/src/views/goalManagement/Incentivestandard/index.vue +--- a/src/views/goalManagement/Incentivestandard/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/Incentivestandard/index.vue (date 1660381719228) +@@ -27,7 +27,7 @@ + <div class="btns"> + <div> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')" >新建</el-button> +- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> ++ <!-- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="handleSelectionChange">删除</el-button> + </div> + <div> +@@ -279,4 +279,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"769px\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :rules=\"rules\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人姓名\" prop=\"declareUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.declareUserName\" :disabled=\"disabled\" placeholder=\"请填写申报人姓名\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人性别\" prop=\"declareUserGender\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.declareUserGender\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">男</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">女</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人部门\" placeholder=\"请选择\" prop=\"declareDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.declareDepartmentId\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t:data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"工伤类型\" prop=\"workInjuryType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.workInjuryType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻微伤\" value=\"轻微伤\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻伤\" value=\"轻伤\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报日期\" prop=\"declareDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.declareDate\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"损失工时\" prop=\"lostTime\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.lostTime\" :disabled=\"disabled\" placeholder=\"请填写损失工时\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊医院\" prop=\"visitHospital\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitHospital\" :disabled=\"disabled\" placeholder=\"请填写就诊医院\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊结果\" prop=\"visitResult\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitResult\" :disabled=\"disabled\" placeholder=\"请填写就诊结果\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"注意事项\" prop=\"mattersNeedingAttention\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.mattersNeedingAttention\" :disabled=\"disabled\" placeholder=\"请填写注意事项\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"材料是否齐全\" prop=\"completeMaterials\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.completeMaterials\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"备注\" prop=\"remark\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.remark\" :disabled=\"disabled\" type=\"textarea\" placeholder=\"请填写备注\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"showRef\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n\treactive,\r\n\tref,\r\n\tdefineComponent,\r\n\tonMounted\r\n} from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance,FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\tdeclareUserName: '',\r\n\t\t\tdeclareUserGender: '',\r\n\t\t\tdeclareDepartmentId: '',\r\n\t\t\taccidentName:'',\r\n\t\t\taccidentExpressId: '',\r\n\t\t\tworkInjuryType: '',\r\n\t\t\tdeclareDate: '',\r\n\t\t\tlostTime: '',\r\n\t\t\tvisitHospital: '',\r\n\t\t\tvisitResult: '',\r\n\t\t\tmattersNeedingAttention: '',\r\n\t\t\tcompleteMaterials: '',\r\n\t\t\tremark: '',\r\n\t\t\tfileList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfileName: '',\r\n\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看工伤申报' || title == '修改工伤申报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentManagementSystem(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\tconst tree = [\r\n\t\t];\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\r\n\t\t];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 关闭弹窗\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdeclareUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人姓名不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareUserGender: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人性别不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人部门不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '事故名称不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tworkInjuryType: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '工伤类型不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDate: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报日期不能为空',\r\n\t\t\t\t trigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tlostTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '损失工时不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitHospital: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊医院不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitResult: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊结果不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmattersNeedingAttention: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '注意事项不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcompleteMaterials: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '材料状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tremark: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '备注不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\t// 事故名称弹窗\r\n\t\tconst showRef = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tshowRef.value.openDailog();\r\n\t\t};\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value.accidentName = item[0].accidentName\r\n\t\t\truleForm.value.occurrenceTime = item[0].occurrenceTime\r\n\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\tdelete ruleForm.value.id\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tdeclareUserName: '',\r\n\t\t\t\t\tdeclareUserGender: '',\r\n\t\t\t\t\tdeclareDepartmentId: '',\r\n\t\t\t\t\taccidentExpressId: '',\r\n\t\t\t\t\tworkInjuryType: '',\r\n\t\t\t\t\tdeclareDate: '',\r\n\t\t\t\t\tlostTime: '',\r\n\t\t\t\t\tvisitHospital: '',\r\n\t\t\t\t\tvisitResult: '',\r\n\t\t\t\t\tmattersNeedingAttention: '',\r\n\t\t\t\t\tcompleteMaterials: '',\r\n\t\t\t\t\tremark: '',\r\n\t\t\t\t\tfileList: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfileName: '',\r\n\t\t\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdaiInpt,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\ttree,\r\n\t\t\tshowRef,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tonSelectItem,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tpropse,\r\n\t\t\tcloseDialog,\r\n\t\t\tuploaderImg\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (date 1660381719232) +@@ -81,7 +81,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <uploaderImg :fileList="fileList" :name="INCIDENT_MANAGE" ++ @successUploader="successUploader" :disabled="disabled"></uploaderImg> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -184,10 +185,35 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +@@ -241,6 +267,7 @@ + // 关闭弹窗 + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value=[] + isShowDialog.value = false; + }; + // 必填项提示 +@@ -346,12 +373,14 @@ + }; + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建工伤申报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + delete ruleForm.value.id +@@ -384,7 +413,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + accidentManagementSystemApi() +@@ -491,7 +519,9 @@ + newTreeList, + propse, + closeDialog, +- uploaderImg ++ uploaderImg, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"目标考核\" width=\"70%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n <el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n </el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" type=\"index\" label=\"序号\" width=\"70\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报时间\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核结果\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核时间\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n <DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport {deepClone} from \"/@/utils/other\";\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch ,DailogAdd},\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (e: object) => {\r\n\t\t\tform.value = e;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\r\n // 新增弹窗\r\n const index=ref<any>()\r\n const Show = ref();\r\n const daiAdd = (title: string, data: any) => {\r\n // index.value = formUp.targetDivideDetailList.indexOf(data);\r\n Show.value.openDailog(title, data);\r\n };\r\n const formUp = reactive({\r\n targetId: '', //关联的目标指标/外键\r\n delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n // targetDivideDetailList: [], //目标指标分解列表\r\n });\r\n\r\n const add = (val: any) => {\r\n const item = deepClone(val)\r\n if(index.value==-1){\r\n formUp.targetDivideDetailList.push(item);\r\n }else{\r\n formUp.targetDivideDetailList[index.value] = item;\r\n }\r\n\r\n // let obj=JSON.parse(JSON.stringify(form.value))\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\ttargetType,\r\n\t\t\tonNumber,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n daiAdd,\r\n index,\r\n Show,\r\n formUp,\r\n add,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue +--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue (date 1660381719235) +@@ -1,5 +1,5 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" label-width="120px"> + <el-row> +@@ -34,27 +34,38 @@ + <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> ++ <el-table :data="formUp.examineList" style="width: 100%"> + <el-table-column align="center" type="index" label="序号" width="70" /> +- <el-table-column align="center" prop="date" label="责任部门" /> +- <el-table-column align="center" prop="name" label="考核指标" /> +- <el-table-column align="center" prop="address" label="制定部门" /> +- <el-table-column align="center" prop="address" label="制定日期" /> +- <el-table-column align="center" prop="address" label="上报值" /> +- <el-table-column align="center" prop="address" label="上报时间" /> +- <el-table-column align="center" prop="address" label="考核结果" /> +- <el-table-column align="center" prop="address" label="考核人" /> +- <el-table-column align="center" prop="address" label="考核时间" /> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> ++ <el-table-column align="center" prop="examineValue" label="考核指标" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定部门" /> ++ <el-table-column align="center" prop="makeDate" label="制定日期" /> ++ <el-table-column align="center" prop="uploadValue" label="上报值" /> ++ <el-table-column align="center" prop="uploadDate" label="上报时间" /> ++ <el-table-column align="center" prop="examineResult" label="考核结果" > ++ <template #default="scope"> ++ <div v-if="scope.row.examineResult==1"> ++ 合格 ++ </div> ++ <div v-if="scope.row.examineResult==2"> ++ 不合格 ++ </div> ++ </template> ++ </el-table-column> ++ <el-table-column align="center" prop="examinePersonName" label="考核人" /> ++ <el-table-column align="center" prop="examineDate" label="考核时间" /> + <el-table-column align="center" label="操作"> + <template #default="scope"> +- <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('查看', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('修改', scope.row)">修改</el-button> ++ <el-button link type="primary" @click="Delete(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +- <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button @click="closeDialog" size="default">关闭</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -84,15 +95,62 @@ + disabled.value = title == '查看' ? true : false; + if (title == '查看' || title == '修改') { + goalManagementApi() +- .getTargetMngDetail(id) ++ .gettargetExamineDetail(id) + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ formUp.examineList = res.data.data.examineList ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ }; ++ const closeDialog = () => { ++ form.value = {} ++ formUp.examineList = [] ++ dialogVisible.value = false ++ }; ++ const submitForm = () => { ++ // formUp.delTargetDivideDetails = arr.value.toString(); ++ // formUp.targetId = form.value.id; ++ dialogVisible.value = false; ++ for(let i=0;i<formUp.examineList.length;i++){ ++ delete formUp.examineList[i].dutyDepartmentName ++ delete formUp.examineList[i].makerDepartmentName ++ } ++ formUp.id = form.value.id ++ formUp.delIds = arr.value.toString(); ++ goalManagementApi() ++ .gettargetExamineAddOrUpdate(formUp) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('addList'); + } else { + ElMessage.error(res.data.msg); + } + }); +- } ++ form.value = { ++ qName: '', ++ indexNum: '', ++ year: '', ++ value: '', ++ examineList: [], ++ }; ++ tableData.value = []; ++ formUp.targetId = ''; ++ formUp.delTargetDivideDetails = ''; ++ formUp.examineList = []; ++ }; ++ const arr = ref([]); ++ // 删除 ++ const Delete = (data: any) => { ++ formUp.examineList.splice(form.value.examineList.indexOf(data), 1); ++ arr.value.push(data.id); + }; + const onNumber = (e: object) => { + form.value = e; +@@ -107,29 +165,30 @@ + Shows.value.openDailog(targetType.value); + }; + +- // 新增弹窗 +- const index=ref<any>() +- const Show = ref(); +- const daiAdd = (title: string, data: any) => { +- // index.value = formUp.targetDivideDetailList.indexOf(data); +- Show.value.openDailog(title, data); +- }; +- const formUp = reactive({ +- targetId: '', //关联的目标指标/外键 +- delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 +- // targetDivideDetailList: [], //目标指标分解列表 +- }); ++ // 新增弹窗 ++ const index=ref<any>() ++ const Show = ref(); ++ const daiAdd = (title: string, data: any) => { ++ index.value = formUp.examineList.indexOf(data); ++ Show.value.openDailog(title, data); ++ }; ++ const formUp = reactive({ ++ targetId: '', //关联的目标指标/外键 ++ delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 ++ examineList: [], //目标指标分解列表 ++ }); + +- const add = (val: any) => { +- const item = deepClone(val) +- if(index.value==-1){ +- formUp.targetDivideDetailList.push(item); +- }else{ +- formUp.targetDivideDetailList[index.value] = item; +- } +- +- // let obj=JSON.parse(JSON.stringify(form.value)) +- }; ++ const add = (val: any) => { ++ const item = deepClone(val) ++ if(index.value==-1){ ++ ++ formUp.examineList.push(item); ++ }else{ ++ formUp.examineList[index.value] = item; ++ } ++ console.log(formUp) ++ // let obj=JSON.parse(JSON.stringify(form.value)) ++ }; + + //全屏 + const full = ref(false); +@@ -156,11 +215,14 @@ + full, + toggleFullscreen, + FullScreen, +- daiAdd, +- index, +- Show, +- formUp, +- add, ++ daiAdd, ++ index, ++ Show, ++ formUp, ++ add, ++ closeDialog, ++ submitForm, ++ Delete + }; + }, + }); +Index: src/views/goalManagement/targetSettings/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"ruleForm.searchParams.targetType\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t<el-button type=\"danger\" :disabled=\"danger\" size=\"default\" @click=\"onDeleteAll\" :icon=\"Delete\" plain>删除</el-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(年)\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(月)\" name=\"2\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"level\" label=\"指标级别\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"completeDate\" label=\"完成期限\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"状态\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 1\">已分解</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 2\">未分解</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<dailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></dailogAdd>\r\n\t\t\t<upData ref=\"upShow\"></upData>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport dailogAdd from './component/dailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, dailogAdd, upData },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst small = ref(false);\r\n\t\tconst disabled = ref(false);\r\n\t\tconst background = ref(false);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDialog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\t// const warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\t// warning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 上传\r\n\t\t// const upShow = ref();\r\n\t\t// const upButton = () => {\r\n\t\t// \tupShow.value.openDialog();\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\thandleClick,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\t// upShow,\r\n\t\t\t// upButton,\r\n\t\t\tsmall,\r\n\t\t\tdisabled,\r\n\t\t\tbackground,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonAddorUpdata,\r\n\t\t\tonDelete,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tdeletAll,\r\n\t\t\tdanger,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue +--- a/src/views/goalManagement/targetSettings/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetSettings/index.vue (date 1660381719251) +@@ -102,6 +102,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable @close=\"resetForm(ruleFormRef)\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"责任部门\" prop=\"dutyDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.dutyDepartmentId\" check-strictly=\"true\" :data=\"data\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核指标\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.value\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"制定人部门\" prop=\"makerDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.makerDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"制定日期\" prop=\"makeDate\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"上报值\" prop=\"commitPersonName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.commitPersonName\">\r\n<!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"上报时间\" prop=\"makeDate\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n\t\t\t</el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核结果\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"考核人\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核时间\" prop=\"commitPersonName\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\"></el-col>\r\n </el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearchUser ref=\"Show\" @SearchUser=\"onUser\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive, onMounted } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser },\r\n\tsetup(props, { emit }) {\r\n\t\tconst ruleFormRef = ref<FormInstance>()\r\n\t\tconst form = ref({\r\n\t\t\tdutyDepartmentId: '', ////责任部门/外键\r\n\t\t\tmakerDepartmentId: '', ////制定人部门/外键\r\n\t\t\tcommitPersonId: '', ////上报人/外键\r\n\t\t\tcommitPersonName: '',\r\n\t\t\tvalue: '', ////考核指标值\r\n\t\t\tmakeDate: '', ////制定日期\r\n\t\t});\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst disabled = ref(false);\r\n\t\t// 开启弹窗\r\n\t\tconst titles = ref();\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst openDailog = (title: string, data: any) => {\r\n\t\t\ttitles.value = `${title}目标考核`;\r\n\t\t\tif (title == '查看') {\r\n\t\t\t\tdisabled.value = true;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else if (title == '修改') {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t}\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 开启用户弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdutyDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '责任部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakerDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定人部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '上报人不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '考核指标值不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'number',\r\n\t\t\t\t\tmessage: '考核指标值只能为数字类型',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakeDate: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonName: [],\r\n\t\t});\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\temit('onAdd', form.value);\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\t// handleClose(formEl)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\t// console.log(formEl);\r\n\t\t\tif (!formEl) return\r\n\t\t\tformEl.resetFields();\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value={}\r\n\t\t};\r\n\t\t// const handleClose = (formEl: any) => {\r\n\t\t// \tformEl.resetFields();\r\n\t\t// };\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\tconsole.log(e)\r\n\t\t\tform.value.commitPersonId = e.uid;\r\n\t\t\tform.value.commitPersonName = e.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\t// handleClose,\r\n\t\t\tform,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tShow,\r\n\t\t\topenUser,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tdata,\r\n\t\t\tonUser,\r\n\t\t\truleFormRef,\r\n\t\t\trules,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +--- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (date 1660381719254) +@@ -5,19 +5,20 @@ + <el-row> + <el-col :span="11"> + <el-form-item label="责任部门" prop="dutyDepartmentId" size="default"> +- <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核指标" prop="value" size="default"> +- <el-input v-model.number="form.value" /> ++ <el-form-item label="考核指标" prop="examineValue" size="default"> ++ <el-input v-model.number="form.examineValue" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="制定人部门" prop="makerDepartmentId" size="default"> +- <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" ++ @current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +@@ -28,29 +29,30 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="上报值" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="上报值" prop="uploadValue" size="default"> ++ <el-input v-model="form.uploadValue"> + <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="上报时间" prop="makeDate" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="上报时间" prop="uploadDate" size="default"> ++ <el-date-picker v-model="form.uploadDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核结果" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> +- <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> +- </el-input> ++ <el-form-item label="考核结果" prop="examineResult" size="default"> ++ <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%"> ++ <el-option label="合格" :value="1" /> ++ <el-option label="不合格" :value="2" /> ++ </el-select> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核人" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="考核人" prop="examinePersonName" size="default"> ++ <el-input v-model="form.examinePersonName"> + <template #append> <el-button :icon="Search" @click="openUser" /> </template> + </el-input> + </el-form-item> +@@ -58,8 +60,8 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核时间" prop="commitPersonName" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="考核时间" prop="examineDate" size="default"> ++ <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> +@@ -67,7 +69,7 @@ + </el-form> + <template #footer> + <span class="dialog-footer"> +- ++ + <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> + <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button> + </span> +@@ -87,12 +89,15 @@ + setup(props, { emit }) { + const ruleFormRef = ref<FormInstance>() + const form = ref({ +- dutyDepartmentId: '', ////责任部门/外键 +- makerDepartmentId: '', ////制定人部门/外键 +- commitPersonId: '', ////上报人/外键 +- commitPersonName: '', +- value: '', ////考核指标值 +- makeDate: '', ////制定日期 ++ "dutyDepartmentId": '', ////责任部门id/外键 ++ "examineDate": '', ////考核时间 ++ "examinePersonId": '', ////考核人ID/外键 ++ "examineResult": '', ////考核结果 1:合格 2:不合格 ++ "examineValue": '', ////考核指标 ++ "makeDate": '', ////制定日期 ++ "makerDepartmentId": '', ////制定部门/外键 ++ "uploadDate": '', ////上报时间 ++ "uploadValue": "", ////上报值 + }); + //部门 + const department = () => { +@@ -158,7 +163,7 @@ + trigger: 'blur', + }, + ], +- value: [ ++ examineValue: [ + { + required: true, + message: '考核指标值不能为空', +@@ -179,6 +184,13 @@ + ], + commitPersonName: [], + }); ++ const dutyName=(data:any)=>{ ++ form.value.dutyDepartmentName=data.depName ++ } ++ const makerDepartmentName=(data:any)=>{ ++ form.value.makerDepartmentName=data.depName ++ } ++ + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -214,8 +226,8 @@ + const data = ref(); + const onUser = (e: any) => { + console.log(e) +- form.value.commitPersonId = e.uid; +- form.value.commitPersonName = e.realName; ++ form.value.examinePersonId = e.uid; ++ form.value.examinePersonName = e.realName; + }; + return { + disabled, +@@ -238,6 +250,8 @@ + rules, + submitForm, + resetForm, ++ dutyName, ++ makerDepartmentName + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"800px\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故快报\" prop=\"accidentExpressId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.accidentDepartmentName\" class=\"input-with-select\" />-->\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"accidentDepartmentId\" :disabled=\"true\" :data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\t\t\t\t:props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"occurrencePlace\" :disabled=\"true\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故类别\" prop=\"accidentType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人员伤亡事故\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"火灾爆炸事故\" value=\"火灾爆炸事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"危险品泄露事故\" value=\"危险品泄露事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"设备事故\" value=\"设备事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"工艺事故\" value=\"工艺事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故等级\" prop=\"accidentGrade\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentGrade\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特别重大\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大\" value=\"重大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大\" value=\"较大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般\" value=\"一般\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"经济损失\" prop=\"economicLoss\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.economicLoss\" :disabled=\"disabled\" placeholder=\"请填写经济损失\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"轻伤人数\" prop=\"minorInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.minorInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写轻伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"重伤人数\" prop=\"seriousInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.seriousInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写重伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"死亡人数\" prop=\"deathNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.deathNum\" :disabled=\"disabled\" placeholder=\"请填写死亡人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" placeholder=\"请填写事故原因\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"要求报告完成期限\" prop=\"reportDeadline\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.reportDeadline\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故级别\" prop=\"accidentLevel\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentLevel\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特大事故\" value=\"特大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大事故\" value=\"重大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大事故\" value=\"较大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般事故\" value=\"一般事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故延期申请\" prop=\"accidentDelayApply\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentDelayApply\" :disabled=\"disabled\" placeholder=\"请填写事故延期申请\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(直接分析)\" prop=\"comprehensiveAnalysisDirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisDirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(直接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(间接分析)\" prop=\"comprehensiveAnalysisIndirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisIndirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(间接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"整改措施\" prop=\"rectificationMeasures\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.rectificationMeasures\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写整改措施\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故处理\" prop=\"accidentHandling\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentHandling\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写事故处理\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写人\" prop=\"fillInUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.fillInUserName\" :disabled=\"true\"\r\n\t\t\t\t\t\t\t\t\t placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写日期\" prop=\"fillInTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.fillInTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"事故照片\">-->\r\n\t\t\t\t\t<!-- <el-input v-model=\"ruleForm.describe\" type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关人员笔录\" prop=\"relevantPersonnelRecords\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.relevantPersonnelRecords\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写相关人员笔录\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故状态\" prop=\"status\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.status\" :disabled=\"statusDisabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"处理中\" :value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"已处理\" :value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故分析会议纪要\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"其他材料\" prop=\"otherMaterials\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.otherMaterials\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写其他材料\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"Shows\" />\r\n\t\t<DailogSearchUserManger @SearchUser=\"onUser\" ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent,onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\taccidentExpressId:'',\r\n\r\n\t\t\taccidentType: '',\r\n\t\t\taccidentGrade: '',\r\n\t\t\teconomicLoss: '',\r\n\t\t\tminorInjuryNum: '',\r\n\t\t\tseriousInjuryNum: '',\r\n\t\t\tdeathNum: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\treportDeadline: '',\r\n\t\t\taccidentLevel: '',\r\n\t\t\taccidentDelayApply: '',\r\n\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\trectificationMeasures: '',\r\n\t\t\taccidentHandling: '',\r\n\t\t\tfillInUserUid: '',\r\n\t\t\tfillInUserName:'',\r\n\t\t\tfillInTime: '',\r\n\t\t\trelevantPersonnelRecords: '',\r\n\t\t\totherMaterials: '',\r\n\t\t\tfileList: [],\r\n\t\t\tstatus:''\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\tconst statusDisabled = ref(true)\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif(statusDisabledFlag.value=='first'){\r\n\t\t\t\truleForm.value.status = 1\r\n\t\t\t}else if(statusDisabledFlag.value=='second'){\r\n\t\t\t\truleForm.value.status = 2\r\n\t\t\t}\r\n\t\t\tif (title == '修改事故报告') {\r\n\t\t\t\tstatusDisabled.value = false\r\n\t\t\t}else {\r\n\t\t\t\tstatusDisabled.value = true\r\n\t\t\t}\r\n\t\t\tif (title == '查看事故报告' || title == '修改事故报告') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentReport(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\taccidentName.value = res.data.data.accidentName\r\n\t\t\t\t\t\t\taccidentDepartmentId.value = res.data.data.accidentDepartmentId\r\n\t\t\t\t\t\t\toccurrencePlace.value = res.data.data.occurrencePlace\r\n\t\t\t\t\t\t\toccurrenceTime.value = res.data.data.occurrenceTime\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst onCancel = (formEl: FormInstance | undefined) => {\r\n\t\t\tresetForm(formEl);\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\t\t];\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentExpressId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '快报不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentType: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故类别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentGrade: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故等级不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\teconomicLoss: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '经济损失不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\treportDeadline: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '要求报告完成期限不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentLevel: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故级别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisDirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(直接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisIndirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(间接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\trectificationMeasures: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '整改措施不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentHandling: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故处理不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写人不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstatus: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst accidentDepartmentId = ref()\r\n\t\tconst occurrencePlace = ref()\r\n\t\tconst occurrenceTime = ref()\r\n\t\tconst accidentName = ref()\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item[0]);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\taccidentName.value = item[0].accidentName\r\n\t\t\taccidentDepartmentId.value = item[0].accidentDepartmentId\r\n\t\t\toccurrencePlace.value = item[0].occurrencePlace\r\n\t\t\toccurrenceTime.value = item[0].occurrenceTime\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\tdelete ruleForm.value.accidentDepartmentId\r\n\t\t\tdelete ruleForm.value.occurrencePlace\r\n\t\t\tdelete ruleForm.value.occurrenceTime\r\n\r\n\t\t\tif (title == '新建事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.addAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t//TODO 上传组件待定\r\n\t\t\t\t\t\truleForm.value.fileList = []\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.editAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\taccidentExpressId:'',\r\n\r\n\t\t\t\t\taccidentType: '',\r\n\t\t\t\t\taccidentGrade: '',\r\n\t\t\t\t\teconomicLoss: '',\r\n\t\t\t\t\tminorInjuryNum: '',\r\n\t\t\t\t\tseriousInjuryNum: '',\r\n\t\t\t\t\tdeathNum: '',\r\n\t\t\t\t\taccidentCause: '',\r\n\t\t\t\t\treportDeadline: '',\r\n\t\t\t\t\taccidentLevel: '',\r\n\t\t\t\t\taccidentDelayApply: '',\r\n\t\t\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\t\t\trectificationMeasures: '',\r\n\t\t\t\t\taccidentHandling: '',\r\n\t\t\t\t\tfillInUserUid: '',\r\n\t\t\t\t\tfillInUserName:'',\r\n\t\t\t\t\tfillInTime: '',\r\n\t\t\t\t\trelevantPersonnelRecords: '',\r\n\t\t\t\t\totherMaterials: '',\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\tstatus:''\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\t// ruleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value = {}\r\n\t\t\taccidentName.value = ''\r\n\t\t\taccidentDepartmentId.value = ''\r\n\t\t\toccurrencePlace.value = ''\r\n\t\t\toccurrenceTime.value = ''\r\n\t\t};\r\n\t\tconst handleChange = (val: number) => {\r\n\t\t\tconsole.log(val);\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\tconst onUser = (userItem: any) => {\r\n\t\t\truleForm.value.fillInUserUid = userItem[0].uid;\r\n\t\t\truleForm.value.fillInUserName = userItem[0].realName;\r\n\t\t};\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tonCancel,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tonUser,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\thandleChange,\r\n\t\t\tonSelectItem,\r\n\t\t\tnewTreeList,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tpropse,\r\n\t\t\tstatusDisabled,\r\n\t\t\taccidentDepartmentId,\r\n\t\t\toccurrencePlace,\r\n\t\t\toccurrenceTime,\r\n\t\t\taccidentName\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label {\r\n\theight: 100%;\r\n\ttext-align: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (date 1660381719259) +@@ -166,11 +166,11 @@ + /> + </el-form-item> + </el-col> +- <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> +- <!-- <el-form-item label="事故照片">--> +- <!-- <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <!-- </el-form-item>--> +- <!-- </el-col>--> ++ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> ++ <el-form-item label="事故照片"> ++ <uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg> ++ </el-form-item> ++ </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> + <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" +@@ -186,8 +186,9 @@ + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> +- <el-form-item label="事故分析会议纪要" prop="fileList"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <el-form-item label="事故分析会议纪要"> ++ <uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -221,6 +222,7 @@ + import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import uploaderImg from '/@/components/uploaderImg/index.vue'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources'; + import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; + import { goalManagementApi } from '/@/api/goalManagement'; +@@ -231,7 +233,8 @@ + AccidentName, + DailogSearchUserManger, + RegionsDialog, +- uploaderImg ++ uploaderImg, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false); +@@ -266,6 +269,8 @@ + const titles = ref(); + const disabled = ref(); + const statusDisabled = ref(true) ++ // 上传附件 ++ const fileList = ref([]); + // 打开弹窗 + const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => { + isShowDialog.value = true; +@@ -291,18 +296,53 @@ + accidentDepartmentId.value = res.data.data.accidentDepartmentId + occurrencePlace.value = res.data.data.occurrencePlace + occurrenceTime.value = res.data.data.occurrenceTime ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ //事故照片 ++ if(ruleForm.value.expressFileList){ ++ for(var a = 0;a<ruleForm.value.expressFileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(ruleForm.value.expressFileList[a].fileName) ++ .then((res) => { ++ ruleForm.value.expressFileList[a].url = res.data ++ console.log('ruleForm',ruleForm) ++ }) ++ } ++ }else { ++ ruleForm.value.expressFileList = [] ++ } ++ ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 取消 + const onCancel = (formEl: FormInstance | undefined) => { + resetForm(formEl); + }; + //日期选择器 + const value1 = ref(''); +- // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ + // 可选择树 + const treeSelect = ref(); + //定义树形下拉框 +@@ -423,7 +463,9 @@ + delete ruleForm.value.accidentDepartmentId + delete ruleForm.value.occurrencePlace + delete ruleForm.value.occurrenceTime +- ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故报告') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -458,7 +500,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + //TODO 上传组件待定 +- ruleForm.value.fileList = [] + isShowDialog.value = false; + accidentManagementSystemApi() + .editAccidentReport(ruleForm.value) +@@ -512,12 +553,14 @@ + }; + } + }; ++ + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); + // ruleForm.value.accidentExpressId = item[0].id + ruleForm.value = {} ++ fileList.value = [] + accidentName.value = '' + accidentDepartmentId.value = '' + occurrencePlace.value = '' +@@ -629,7 +672,9 @@ + accidentDepartmentId, + occurrencePlace, + occurrenceTime, +- accidentName ++ accidentName, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" placeholder=\"请输入目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"考核指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Dailog ref=\"openAdd\"></Dailog>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tvar arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\thandleClick,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttotal,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/index.vue b/src/views/goalManagement/safetyAssessment/index.vue +--- a/src/views/goalManagement/safetyAssessment/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/safetyAssessment/index.vue (date 1660381719262) +@@ -39,7 +39,7 @@ + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="View" @click="openD('修改', scope.row.id)">修改</el-button> +- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> ++ <!--<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>--> + </template> + </el-table-column> + </el-table> +@@ -209,4 +209,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetSettings/component/dailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"Shows\" @close=\"handleClose(ruleFormRef)\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" ref=\"ruleFormRef\" :rules=\"rules\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" prop=\"qName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" prop=\"indexNum\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" placeholder=\"请填写目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" prop=\"year\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.year\" maxlength=\"8\" placeholder=\"请填写年度\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" placeholder=\"请填写指标值\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"指标级别\" size=\"default\" prop=\"level\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.level\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t<el-option label=\"公司级\" :value=\"1\">公司级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"部门分厂级\" :value=\"2\">部门分厂级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"工段班组级\" :value=\"3\">工段班组级</el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"完成期限\" size=\"default\" prop=\"completeDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.completeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t<el-input v-model=\"form.memo\" size=\"default\" type=\"textarea\" />\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"titles == '查看目标设定' ? false : true\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue';\r\nimport screenfull from 'screenfull';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup(props, { emit }) {\r\n\t\tlet Shows = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tqName: '', //安全目标指标\r\n\t\t\tyear: '', //年度\r\n\t\t\tlevel: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttargetType: '', ////指标类型 1:年指标 2:月指标\r\n\t\t\tcompleteDate: '', ////完成期限\r\n\t\t\tdivideStatus: '2', ////分解状态 1:已分解 2:未分解\r\n\t\t\tvalue: '', ////指标值\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, value: any, id: number) => {\r\n\t\t\tShows.value = true;\r\n\t\t\ttitles.value = `${title}目标设定`;\r\n\t\t\tform.value.targetType = value;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '安全目标指标不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tindexNum: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '目标指标编号不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyear: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '年度不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '指标值不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlevel:[],\r\n\t\t\tcompleteDate:[],\r\n\t\t\tmemo:[]\r\n\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tShows.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngAddOrupdata(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tShows.value = false;\r\n\t\t};\r\n\t\tconst handleClose = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\thandleClose,\r\n\t\t\ttitles,\r\n\t\t\tShows,\r\n\t\t\tform,\r\n\t\t\tfull,\r\n\t\t\tdisabled,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\trules,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue +--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue (date 1660381719265) +@@ -38,7 +38,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="完成期限" size="default" prop="completeDate"> +- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.completeDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -56,6 +63,7 @@ + </template> + <script lang="ts"> + import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue'; ++// import { timeDate } from '/@/assets/index.ts'; + import screenfull from 'screenfull'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; +@@ -90,11 +98,25 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.completeDate = timeC(form.value.completeDate); + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { +@@ -133,10 +155,9 @@ + trigger: 'change', + }, + ], +- level:[], +- completeDate:[], +- memo:[] +- ++ level: [], ++ completeDate: [], ++ memo: [], + }); + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { +@@ -158,7 +179,7 @@ + formEl.resetFields(); + } + }); +- formEl.resetFields(); ++ formEl.resetFields(); + } else { + console.log('error submit!', fields); + } +@@ -174,9 +195,11 @@ + formEl.resetFields(); + }; + return { ++ timeC, + openDialog, + handleClose, + titles, ++ // timeDate, + Shows, + form, + full, +@@ -195,4 +218,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/components/uploaderFile/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderFile/index.vue b/src/components/uploaderFile/index.vue +new file mode 100644 +--- /dev/null (date 1660381719299) ++++ b/src/components/uploaderFile/index.vue (date 1660381719299) +@@ -0,0 +1,178 @@ ++<template> ++ <el-upload ++ v-model:file-list="fileList" ++ multiple ++ :disabled="disabled" ++ class="upload-demo" ++ :http-request="uploadSectionFile" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" ++ > ++ <el-button type="primary">点击上传</el-button> ++ <template #tip> ++ <div class="el-upload__tip"> ++ 请上传文件 ++ <!--jpg/png files with a size less than 500KB.--> ++ </div> ++ <slot name="file"> ++ ++ </slot> ++ </template> ++ </el-upload> ++ ++ <!--<el-dialog v-model="dialogVisible">--> ++ <!--<img w-full :src="dialogImageUrl" alt="Preview Image" />--> ++ <!--</el-dialog>--> ++</template> ++<script lang="ts"> ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++ ++export default defineComponent({ ++ props: { ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, ++ }, ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); ++ ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ emit('deleteFile',uploadFiles); ++ }; ++ ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ goalManagementApi() ++ .searchFile(uploadFile.fileName) ++ .then((res) => { ++ window.open(res.data, "_blank"); ++ }) ++ dialogImageUrl.value = uploadFile.url!; ++ // dialogVisible.value = true; ++ }; ++ ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] ++ } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].name=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; ++ ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; ++ ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> ++<style scoped> ++ .upload-demo{ ++ width: 100%; ++ } ++</style> +Index: src/views/goalManagement/targetEscalation/component/TypeDailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue +new file mode 100644 +--- /dev/null (date 1660381719315) ++++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue (date 1660381719315) +@@ -0,0 +1,271 @@ ++<template> ++ <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="50%" draggable :fullscreen="full" :close-on-click-modal="false"> ++ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> ++ <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> ++ <div v-if="titleName=='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="titleName!='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="typeScope"> ++ <el-row> ++ <el-col> ++ <el-form-item label="审批结果" prop="authorUid"> ++ <el-radio-group v-model="form.approveResult"> ++ <el-radio :label="0">不通过</el-radio> ++ <el-radio :label="1">通过</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="审批意见" prop="approveMemo"> ++ <el-input v-model="form.approveMemo" type="textarea" placeholder="请填写审批意见"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="是否完成" prop="complete"> ++ <el-radio-group v-model="form.approveStatus"> ++ <el-radio :label="3">是</el-radio> ++ <el-radio :label="2">否</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <div v-if="form.approveStatus==2"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ </div> ++ </el-form> ++ <template #footer> ++ <span class="dialog-footer"> ++ <el-button @click="resetForm" size="default">关闭</el-button> ++ <el-button size="default" type="primary" @click="submitForm">确定</el-button> ++ </span> ++ </template> ++ </el-dialog> ++ <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> ++</template> ++<script lang="ts"> ++import { ref, defineComponent } from 'vue'; ++import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++import { Search, FullScreen } from '@element-plus/icons-vue'; ++export default defineComponent({ ++ components: { DailogSearchUserManger }, ++ setup(props, { emit }) { ++ const dialogVisible = ref(false); ++ const form = ref({ ++ workName: '', // 审批名称 ++ title: '', //审批标题 ++ approvePersonId: '', ++ approvePersonName: '', ++ approveStatus: 2, ++ approveResult: '', ++ relateType: 1, ++ relateId: '', ++ }); ++ // 提交 ++ const submitForm = () => { ++ if (titleName.value == '发起审批') { ++ goalManagementApi() ++ .getworkApproveAdd(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } else if (titleName.value == '审批') { ++ goalManagementApi() ++ .getworkApproveUpdata(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ // 关闭 ++ const resetForm = () => { ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ const titleName = ref(); ++ const typeScope = ref(); ++ const disabledT = ref(false); ++ const disabled = ref(false); ++ const formUp=ref({ ++ workName:"", ++ title:"", ++ approvePersonName:"" ++ }) ++ // 打开弹窗 ++ const openDialog = (title: string, name: string, id: number,type:number) => { ++ dialogVisible.value = true; ++ titleName.value = title; ++ form.value.relateType=type ++ if (title == '发起审批') { ++ form.value.relateId = id; ++ typeScope.value = false; ++ } else if (title == '审批'||title == '查看审批') { ++ goalManagementApi() ++ .getworkApproveDetail(id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ form.value = res.data.data; ++ form.value.approveStatus="" ++ formUp.value.workName=form.value.workName ++ formUp.value.title=form.value.title ++ formUp.value.approvePersonName=form.value.approvePersonName ++ if (form.value.approvePersonName === form.value.submitPersonName) { ++ disabled.value = false; ++ } else { ++ disabled.value = true; ++ } ++ } ++ }); ++ typeScope.value = true; ++ disabledT.value = true; ++ } ++ }; ++ // 打开用户选择弹窗 ++ const userRef = ref(); ++ const openUser = () => { ++ userRef.value.openDailog(); ++ }; ++ const onUser = (val: any) => { ++ form.value.approvePersonId = val[0].uid; ++ form.value.approvePersonName = val[0].realName; ++ }; ++ //全屏 ++ const full = ref(false); ++ const toggleFullscreen = () => { ++ if (full.value == false) { ++ full.value = true; ++ } else { ++ full.value = false; ++ } ++ }; ++ return { ++ formUp, ++ onUser, ++ dialogVisible, ++ form, ++ disabledT, ++ submitForm, ++ resetForm, ++ titleName, ++ typeScope, ++ disabled, ++ openDialog, ++ userRef, ++ openUser, ++ full, ++ toggleFullscreen, ++ Search, ++ FullScreen, ++ }; ++ }, ++}); ++</script> ++<style> ++.el-row { ++ padding-bottom: 20px; ++} ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择岗位\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.pass\" placeholder=\"岗位名称\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"11\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"submitForm(ruleFormRef)\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm(ruleFormRef)\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"岗位名称\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[100, 200, 300, 400]\"\r\n\t\t\t\t\t:small=\"small\"\r\n\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t:background=\"background\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"400\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.id }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup(props,{emit}) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpass: '',\r\n\t\t\tcheckPass: '',\r\n\t\t});\r\n\t\t// 表格\r\n\t\tconst tableData = [\r\n\t\t\t{ id:1,\r\n\t\t\t\tdate: '2016-05-03',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid:2,\r\n\t\t\t\tdate: '2016-05-02',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\t\r\n\t\t\t\tid:3,\t\r\n\t\t\t\tdate: '2016-05-04',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\tid:4,\r\n\t\t\t\tdate: '2016-05-01',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst pageSize4 = ref(100);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\tconsole.log(`${val} items per page`);\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\tconsole.log(`current page: ${val}`);\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t\tconst submitForm=()=>{\r\n\t\t\tlet obj=JSON.parse(JSON.stringify(dynamicTags.value))\r\n\t\t\temit(\"backNum\",obj[0])\r\n\t\t\tdialogVisible.value = false\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue +--- a/src/views/goalManagement/TargetBook/component/DailogSearch.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue (date 1660381719283) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> +- <el-table-column align="center"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > ++ <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -59,7 +59,7 @@ + :disable-transitions="false" + @close="handleClose(tag)" + > +- {{ tag.id }} ++ {{ tag.date }} + </el-tag> + </div> + </el-col> +@@ -89,24 +89,24 @@ + // 表格 + const tableData = [ + { id:1, +- date: '2016-05-03', ++ date: '岗位1', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { + id:2, +- date: '2016-05-02', ++ date: '岗位2', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +- { +- id:3, +- date: '2016-05-04', ++ { ++ id:3, ++ date: '岗位3', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { id:4, +- date: '2016-05-01', ++ date: '岗位4', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +Index: src/components/uploaderImg/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-upload\r\n\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\tlist-type=\"picture-card\"\r\n\t\t\t:on-preview=\"handlePictureCardPreview\"\r\n\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t:on-success=\"successFile\"\r\n\t\t\t:on-error=\"errorFile\"\r\n\t>\r\n\t\t<el-icon><Plus /></el-icon>\r\n\t</el-upload>\r\n\r\n\t<el-dialog v-model=\"dialogVisible\">\r\n\t\t<img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\n\timport { ref,defineComponent } from 'vue'\r\n\timport { Plus } from '@element-plus/icons-vue'\r\n\timport type { UploadProps, UploadUserFile } from 'element-plus'\r\n\r\n\texport default defineComponent({\r\n\t\tprops: {\r\n\t\t\t// svg 图标组件名字\r\n\t\t\tfileList: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t},\r\n\t\t},\r\n\t\tcomponents: {\r\n\t\t\tPlus\r\n\t\t},\r\n\t\tsetup() {\r\n\r\n\t\t\tconst dialogImageUrl = ref('')\r\n\t\t\tconst dialogVisible = ref(false)\r\n\r\n\t\t\tconst handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\t\tconsole.log(uploadFile, uploadFiles)\r\n\t\t\t}\r\n\r\n\t\t\tconst handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\t\tdialogImageUrl.value = uploadFile.url!\r\n\t\t\t\tdialogVisible.value = true\r\n\t\t\t}\r\n\r\n\t\t\tconst successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(response, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\t\t\tconst errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(error, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\r\n\r\n\t\t\treturn {\r\n\t\t\t\tdialogImageUrl,\r\n\t\t\t\tdialogVisible,\r\n\t\t\t\thandleRemove,\r\n\t\t\t\thandlePictureCardPreview,\r\n\t\t\t\tsuccessFile,\r\n\t\t\t\terrorFile\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n</script> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderImg/index.vue b/src/components/uploaderImg/index.vue +--- a/src/components/uploaderImg/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/components/uploaderImg/index.vue (date 1660381719286) +@@ -1,12 +1,13 @@ + <template> + <el-upload +- v-model:file-list="fileList" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- list-type="picture-card" +- :on-preview="handlePictureCardPreview" +- :on-remove="handleRemove" +- :on-success="successFile" +- :on-error="errorFile" ++ v-model:file-list="fileList" ++ :disabled="disabled" ++ :http-request="uploadSectionFile" ++ list-type="picture-card" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" + > + <el-icon><Plus /></el-icon> + </el-upload> +@@ -16,50 +17,141 @@ + </el-dialog> + </template> + <script lang="ts"> +- import { ref,defineComponent } from 'vue' +- import { Plus } from '@element-plus/icons-vue' +- import type { UploadProps, UploadUserFile } from 'element-plus' ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; + +- export default defineComponent({ +- props: { +- // svg 图标组件名字 +- fileList: { +- type: Array, +- }, ++export default defineComponent({ ++ props: { ++ // svg 图标组件名字 ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, + }, +- components: { +- Plus +- }, +- setup() { +- +- const dialogImageUrl = ref('') +- const dialogVisible = ref(false) ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); + +- const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { +- console.log(uploadFile, uploadFiles) +- } ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ }; + +- const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { +- dialogImageUrl.value = uploadFile.url! +- dialogVisible.value = true +- } ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ dialogImageUrl.value = uploadFile.url!; ++ dialogVisible.value = true; ++ }; + +- const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(response, uploadFile,uploadFiles) +- } +- const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(error, uploadFile,uploadFiles) ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] + } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; + ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; + +- return { +- dialogImageUrl, +- dialogVisible, +- handleRemove, +- handlePictureCardPreview, +- successFile, +- errorFile +- }; +- }, +- }); +-</script> +\ No newline at end of file ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> +Index: src/views/goalManagement/TargetBook/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.jobId\" placeholder=\"请选择岗位\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openSearch\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"index\" label=\"序号\" align=\"center\" width=\"70\" />\r\n\t\t\t\t<el-table-column property=\"jobId\" align=\"center\" label=\"岗位\" sortable />\r\n\t\t\t\t<el-table-column property=\"signDate\" align=\"center\" label=\"责任书签订日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column property=\"extraFile\" align=\"center\" label=\"附件\" sortable />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" style=\"width: 300px\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearch ref=\"openUser\"></DailogSearch>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearch from './component/DailogSearch.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearch },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tjobId: '', ////岗位号/外键\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.jobId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.jobId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.jobId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\topenSearch,\r\n\t\t\ttimeDate,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue +--- a/src/views/goalManagement/TargetBook/index.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/TargetBook/index.vue (date 1660381719289) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.jobId" placeholder="请选择岗位"> ++ <el-input v-model="jobName" placeholder="请选择岗位"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> + </el-form-item> +@@ -61,7 +61,7 @@ + /> + </div> + <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd> +- <DailogSearch ref="openUser"></DailogSearch> ++ <DailogSearch ref="openUser" @backNum="IdNumber"></DailogSearch> + </div> + </div> + </template> +@@ -88,6 +88,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.jobId = ''; ++ jobName.value="" + listApi(); + }; + const listApi = () => { +@@ -116,6 +117,11 @@ + const onAddorUpdata = () => { + listApi(); + }; ++ const jobName=ref() ++ const IdNumber=(val:any)=>{ ++ ruleForm.jobId=val.id ++ jobName.value=val.date ++ } + // 表格 + const tableData = ref(); + const currentPage4 = ref(); +@@ -222,6 +228,7 @@ + openUser.value.openDailog(); + }; + return { ++ IdNumber, + ruleForm, + resetForm, + listApi, +@@ -278,4 +285,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"岗位\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.jobId\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书签订日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.signDate\" style=\"width:100%\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择日期时间\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书附件\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"IdNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\textraFile: '666', //责任书附件\r\n\t\t\tjobId: '', //岗位\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value =`${title}目标责任书`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.gettargetDutyfileInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoAddorUpdata(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\tconst IdNumber=(val:any)=>{\r\n form.value.jobId=val.id\r\n\t\t}\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tIdNumber,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\topenDailog,\r\n\t\t\tdaiInpt,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShows,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue +--- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue (date 1660381719292) +@@ -1,11 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" :disabled="disabled" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="岗位" size="default"> +- <el-input v-model="form.jobId" placeholder="请选择"> ++ <el-input v-model="form.jobName" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> + </el-form-item> +@@ -14,7 +14,7 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书签订日期" size="default"> +- <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> ++ <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> + </el-form-item> + </el-col> + </el-row> +@@ -28,22 +28,8 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -64,8 +50,9 @@ + import { ElMessage, ElMessageBox } from 'element-plus'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearch }, ++ components: { DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const form = ref({ +@@ -88,14 +75,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.signDate=timeC(form.value.signDate) ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 提交 + const submitForm = () => { + dialogVisible.value = false; ++ delete form.value.jobName + goalManagementApi() + .gettargetDutyfileInfoAddorUpdata(form.value) + .then((res) => { +@@ -127,6 +170,7 @@ + extraFile: '666', //责任书附件 + jobId: '', //岗位 + }; ++ fileList.value = [] + }; + // 安全目标指标弹窗 + const Shows = ref(); +@@ -135,17 +179,10 @@ + }; + const IdNumber=(val:any)=>{ + form.value.jobId=val.id ++ form.value.jobName=val.date + } + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, ++ const fileList = ref([ + ]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { +@@ -176,6 +213,7 @@ + } + }; + return { ++ timeC, + IdNumber, + dialogVisible, + form, +@@ -195,6 +233,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -203,4 +243,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"769px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"drillName\">\r\n <el-input v-model=\"ruleForm.drillName\" placeholder=\"请填写演练名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input v-model=\"ruleForm.drillAddress\" placeholder=\"请填写演练地点\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.departmentId\"\r\n :data=\"data\"\r\n check-strictly\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"1\"></el-option>\r\n <el-option label=\"桌面\" value=\"2\"></el-option>\r\n <el-option label=\"专项\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"planName\" >\r\n <el-input\r\n v-model=\"ruleForm.planName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.makingPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.drillPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <!--<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n <!--<el-form-item label=\"修改时间\" prop=\"gmtModitify\">-->\r\n <!--<el-date-picker v-model=\"ruleForm.gmtModitify\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserName\">\r\n <el-input v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\" disabled></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.makingDepartmentId\"\r\n check-strictly\r\n :data=\"data\"\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"userListString\" >\r\n <el-input\r\n v-model=\"ruleForm.userListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(0)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(1)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <!--<el-upload-->\r\n <!--v-model:file-list=\"fileList\"-->\r\n <!--class=\"upload-demo\"-->\r\n <!--action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"-->\r\n <!--:on-change=\"handleChange\"-->\r\n <!-->-->\r\n <!--<el-button type=\"primary\"-->\r\n <!-->点击上传</el-button>-->\r\n <!--<template #tip>-->\r\n <!--<div class=\"el-upload__tip\">-->\r\n <!--添加相关附件-->\r\n <!--</div>-->\r\n <!--</template>-->\r\n <!--</el-upload>-->\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\" />\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"SearchUser\" />\r\n <DailogSearchUser ref=\"userFZRef\" @SearchUser=\"SearchFZUser\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport type {\r\n UploadUserFile,\r\n FormInstance,\r\n} from 'element-plus'\r\nimport { ElMessage } from 'element-plus';\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport {releaseDrillPlanApi} from \"/@/api/contingencyManagement/emergencyDrillPlan\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nimport { Session } from '/@/utils/storage';\r\n\r\nexport default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingUserName: '', //计划制定人Name\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n ruleForm.value.makingUserUid = Session.get('uid');\r\n ruleForm.value.makingUserName = Session.get('realName');\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {\r\n releaseDrillPlanApi()\r\n .seeReleaseDrillPlan(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.userListString=''\r\n ruleForm.value.chargeUserListString=''\r\n for(var a = 0;a<res.data.data.userList.length;a++){\r\n if(res.data.data.userList[a].type==1){\r\n ruleForm.value.userListString += res.data.data.userList[a].userName+';'\r\n }\r\n // if(res.data.data.userList[a].type==2){\r\n // ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'\r\n // }\r\n }\r\n // alert(res.data.data.chargeUserList.length)\r\n for(var a = 0;a<res.data.data.chargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ]\r\n //部门树\r\n const department = () => {\r\n goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = ref()\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n value: 'depId',\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n // 表单提交验证必填项\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)\r\n delete ruleForm.value.planName\r\n delete ruleForm.value.chargeUserListString\r\n delete ruleForm.value.userListString\r\n delete ruleForm.value.chargeUserList\r\n delete ruleForm.value.gmtModitify\r\n if (title == '新建应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .addReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n }\r\n else if (title == '修改应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .editReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n }\r\n }\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n formEl.resetFields();\r\n };\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt = () => {\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.planId=e.id\r\n ruleForm.value.planName=e.name\r\n };\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const userFZRef = ref();\r\n //打开演练人员和演练负责人弹窗 type 0 演练人员 1 演练负责人\r\n const openUser = (type:number) => {\r\n if(type==0){\r\n userRef.value.openDailog(0);\r\n }else if(type==1){\r\n userFZRef.value.openDailog(0);\r\n }\r\n };\r\n const SearchUser = (e:any) => {\r\n console.log('演练人员',e)\r\n ruleForm.value.userListString=''\r\n ruleForm.value.userList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.userList.push(\r\n {\r\n type: 1,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.userListString+=e[a].realName+';'\r\n }\r\n\r\n };\r\n const SearchFZUser = (e:any) => {\r\n console.log('演练负责人员',e[0].userName)\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.chargeUserList=[]\r\n // ruleForm.value.chargeUserList = []\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.chargeUserList.push(\r\n {\r\n type: 2,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.chargeUserListString+=e[a].realName+';'\r\n }\r\n };\r\n // 计划定制日期\r\n const datetime = ref('');\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n isShowDialog,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n department,\r\n propse,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n ruleFormRef,\r\n submitForm,\r\n openUser,\r\n userRef,\r\n datetime,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n titles,\r\n disabled,\r\n resetForm,\r\n emit,\r\n onUser,\r\n userFZRef,\r\n SearchUser,\r\n SearchFZUser\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea{\r\n height: 168px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 168px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n//多行文本框\r\n.textarea{\r\n height: 70px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 70px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (date 1660381719295) +@@ -162,20 +162,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <!--<el-upload--> +- <!--v-model:file-list="fileList"--> +- <!--class="upload-demo"--> +- <!--action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> +- <!--:on-change="handleChange"--> +- <!-->--> +- <!--<el-button type="primary"--> +- <!-->点击上传</el-button>--> +- <!--<template #tip>--> +- <!--<div class="el-upload__tip">--> +- <!--添加相关附件--> +- <!--</div>--> +- <!--</template>--> +- <!--</el-upload>--> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -215,12 +203,13 @@ + import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan"; + import {goalManagementApi} from "/@/api/goalManagement"; + import { Session } from '/@/utils/storage'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -281,14 +270,35 @@ + for(var a = 0;a<res.data.data.chargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';' + } ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -318,6 +328,9 @@ + }); + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList) + delete ruleForm.value.planName + delete ruleForm.value.chargeUserListString +@@ -412,6 +425,7 @@ + } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; ++ fileList.value=[] + if (!formEl) return; + ruleForm.value = { + makingPlanDate: '', // 计划制定日期 +@@ -473,7 +487,6 @@ + ) + ruleForm.value.userListString+=e[a].realName+';' + } +- + }; + const SearchFZUser = (e:any) => { + console.log('演练负责人员',e[0].userName) +@@ -532,7 +545,9 @@ + onUser, + userFZRef, + SearchUser, +- SearchFZUser ++ SearchFZUser, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -573,4 +588,4 @@ + margin-right: 0; + border-radius: 4px 4px 0 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/components/equipmentDailog/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\" draggable :title=\"titles\" width=\"60%\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" :rules=\"rules\" :disabled=\"disabled\" label-width=\"120px\" class=\"formType\">\r\n\t\t\t<el-form-item label=\"装置设施名称\" size=\"default\" prop=\"qName\">\r\n\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写装置设施名称\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施位号\" size=\"default\" prop=\"positionNum\">\r\n\t\t\t\t<el-input disabled v-model=\"form.positionNum\" placeholder=\"请填写装置设施位号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施用途\" size=\"default\" prop=\"qUsage\">\r\n\t\t\t\t<el-input v-model=\"form.qUsage\" placeholder=\"请填写装置设施用途\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施型号\" size=\"default\" prop=\"model\">\r\n\t\t\t\t<el-input v-model=\"form.model\" placeholder=\"请填写装置设施型号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"类型/类别外键\" size=\"default\" prop=\"equipmentTypeName\">\r\n\t\t\t\t<el-input v-model=\"form.equipmentTypeName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"opencategory\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<!-- <el-form-item label=\"区域名称\" size=\"default\">\r\n <el-input v-model=\"form.name\" placeholder=\"请选择\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openRegion\"></el-button>\r\n </template>\r\n </el-input>\r\n </el-form-item> -->\r\n\t\t\t<el-form-item label=\"单位部门\" size=\"default\" prop=\"departmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.departmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"设置部位\" size=\"default\" prop=\"setPart\">\r\n\t\t\t\t<el-input v-model=\"form.setPart\" placeholder=\"请填写设置部位\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生产日期\" size=\"default\" prop=\"produceTime\">\r\n\t\t\t\t<el-date-picker v-model=\"form.produceTime\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用期限(天)\" size=\"default\" prop=\"useEndDay\">\r\n\t\t\t\t<el-input v-model=\"form.useEndDay\" placeholder=\"请填写使用期限\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生命周期\" size=\"default\" prop=\"lifeCycle\">\r\n\t\t\t\t<el-select v-model=\"form.lifeCycle\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"已投用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"库存中\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"3\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"投用日期\" size=\"default\" prop=\"useDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.useDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"维修状态\" size=\"default\" prop=\"repairStatus\">\r\n\t\t\t\t<el-select v-model=\"form.repairStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"维修中\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"已修好\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用状态\" size=\"default\" prop=\"stopStatus\">\r\n\t\t\t\t<el-select v-model=\"form.stopStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"停用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"在用\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"维修\" :value=\"3\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"4\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检查日期\" size=\"default\" prop=\"previousCheckDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousCheckDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检测日期\" size=\"default\" prop=\"previousTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.previousTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次保养日期\" size=\"default\" prop=\"previousTakecareDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousTakecareDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检查日期\" size=\"default\" prop=\"nextCheckDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextCheckDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检测日期\" size=\"default\" prop=\"nextTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次保养日期\" size=\"default\" prop=\"nextTakecareDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTakecareDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人\" size=\"default\" prop=\"leadingPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.leadingPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(1)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人部门\" size=\"default\" prop=\"leadingPersonDepartmentId\">\r\n\t\t\t\t<el-tree-select\r\n\t\t\t\t\tv-model=\"form.leadingPersonDepartmentId\"\r\n\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\tcheck-strictly=\"true\"\r\n\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"供应商\" size=\"default\" prop=\"supplyName\">\r\n\t\t\t\t<el-input v-model=\"form.supplyName\" placeholder=\"请填写供应商\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用说明\" size=\"default\" prop=\"useMemo\">\r\n\t\t\t\t<el-input v-model=\"form.useMemo\" placeholder=\"请填写使用说明\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检查\" size=\"default\" prop=\"isNeedCheck\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedCheck\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查周期\" size=\"default\" prop=\"checkCycle\">\r\n\t\t\t\t<el-input v-model=\"form.checkCycle\" placeholder=\"请填写检查周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查提前提醒\" size=\"default\" prop=\"checkWarn\">\r\n\t\t\t\t<el-input v-model=\"form.checkWarn\" placeholder=\"请填写检查提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检测\" size=\"default\" prop=\"isNeedTest\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTest\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测周期\" size=\"default\" prop=\"testCycle\">\r\n\t\t\t\t<el-input v-model=\"form.testCycle\" placeholder=\"请填写检测周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测提前提醒\" size=\"default\" prop=\"testWarn\">\r\n\t\t\t\t<el-input v-model=\"form.testWarn\" placeholder=\"请填写检测提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否保养\" size=\"default\" prop=\"isNeedTakecare\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTakecare\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查内容\" size=\"default\" prop=\"checkContent\">\r\n\t\t\t\t<el-input v-model=\"form.checkContent\" placeholder=\"请填写检查内容\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责部门\" size=\"default\" prop=\"leadingDepartmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.leadingDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查指标\" size=\"default\" prop=\"checkPoint\">\r\n\t\t\t\t<el-input v-model=\"form.checkPoint\" placeholder=\"请填写检查指标\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"预警值\" size=\"default\" prop=\"alertNum\">\r\n\t\t\t\t<el-input v-model=\"form.alertNum\" placeholder=\"请填写预警值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"联锁值\" size=\"default\" prop=\"lockNum\">\r\n\t\t\t\t<el-input v-model=\"form.lockNum\" placeholder=\"请填写联锁值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用理由\" size=\"default\" prop=\"stopReason\">\r\n\t\t\t\t<el-input v-model=\"form.stopReason\" placeholder=\"请填写停用理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用后措施\" size=\"default\" prop=\"afterStopStep\">\r\n\t\t\t\t<el-input v-model=\"form.afterStopStep\" placeholder=\"请填写停用后措施\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际停用日期\" size=\"default\" prop=\"actualStopDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.actualStopDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交人\" size=\"default\" prop=\"stopSubmitPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.stopSubmitPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(2)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交日期\" size=\"default\" prop=\"stopSubmitDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.stopSubmitDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复理由\" size=\"default\" prop=\"recoveryReason\">\r\n\t\t\t\t<el-input v-model=\"form.recoveryReason\" placeholder=\"请填写恢复理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复填报日期\" size=\"default\" prop=\"recoverySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.recoverySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际恢复日期\" size=\"default\" prop=\"actualRecoveryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualRecoveryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废理由\" size=\"default\" prop=\"destoryReason\">\r\n\t\t\t\t<el-input v-model=\"form.destoryReason\" placeholder=\"请填写报废理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废填报日期\" size=\"default\" prop=\"destorySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.destorySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际报废日期\" size=\"default\" prop=\"actualDestoryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualDestoryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"设备保养\" name=\"first\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openMaintenance('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.takecareDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareMemo\" label=\"保养情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonName\" label=\"保养负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareDate\" :formatter=\"timeDate\" label=\"保养日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonDepartmentName\" label=\"保养负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备检测\" name=\"second\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openDetect('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.testDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonName\" label=\"检测人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testDate\" :formatter=\"timeDate\" label=\"检测日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonDepartmentName\" label=\"检测人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testMemo\" label=\"检测内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"检测结果\" >\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==1\">成功</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==2\">失败</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testStatus\" label=\"检测状态\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteB(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备维修\" name=\"third\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openRepair('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.repaireDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"exceptionInfo\" label=\"设施异常项\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"维修状态\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==1\">维修中</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==2\">已修好</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairMemo\" label=\"维修情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonName\" label=\"维修负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonDepartmentName\" label=\"维修负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairStartDate\" :formatter=\"timeDate\" label=\"维修开始日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairEndDate\" :formatter=\"timeDate\" label=\"维修结束日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteC(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"检查标准设置\" name=\"fourth\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openStandard('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.checkStandardeDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"indexNum\" label=\"序号\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkContent\" label=\"检查内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkTarget\" label=\"检查指标\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"unit\" label=\"单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkPart\" label=\"巡检部位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"rate\" label=\"频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteD(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"巡检记录\" size=\"default\" name=\"five\">\r\n\t\t\t\t<el-table :data=\"name\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"name\" label=\"任务编号\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"任务名称\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"点位类型\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"检查频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" :formatter=\"timeDate\" label=\"巡检时间\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"巡检人\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"保养维修标准\" name=\"six\" v-if=\"Dailogtype\">\r\n\t\t\t\t<el-upload\r\n\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\tmultiple\r\n\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t<div class=\"el-upload__tip\"></div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-upload>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<categoryDailog ref=\"categoryShow\"></categoryDailog>\r\n\t<categoryDailog ref=\"categoryShow\" @typeId=\"Tid\"></categoryDailog>\r\n\t<regionDailog ref=\"regionShow\"></regionDailog>\r\n\t<DailogSearchUser ref=\"UserShow\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t<maintenanceDailog ref=\"maintenanceShow\" @onMain=\"main\"></maintenanceDailog>\r\n\t<detectDailog ref=\"detectShow\" @onDelect=\"delect\"></detectDailog>\r\n\t<repairDailog ref=\"repairShow\" @onRepair=\"Repair\"></repairDailog>\r\n\t<standardDailog ref=\"standardShow\" @onStand=\"Stand\"></standardDailog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport categoryDailog from './categoryDailog.vue';\r\nimport regionDailog from './regionDailog.vue';\r\nimport maintenanceDailog from './maintenanceDailog.vue';\r\nimport detectDailog from './detectDailog.vue';\r\nimport repairDailog from './repairDailog.vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport standardDailog from './standardDailog.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { facilityManagementApi } from '/@/api/facilityManagement';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tsupplyName: '',\r\n\r\n\t\t\tnextTestDate: '',\r\n\r\n\t\t\tqUsage: '',\r\n\r\n\t\t\tdepartmentId: '',\r\n\r\n\t\t\tproduceTime: '',\r\n\r\n\t\t\tactualStopDate: '',\r\n\r\n\t\t\ttakecareDetailList: [],\r\n\r\n\t\t\tinfoType: '',\r\n\r\n\t\t\tleadingDepartmentId: '',\r\n\r\n\t\t\tuseEndDay: '',\r\n\r\n\t\t\tpreviousTakecareDate: '',\r\n\r\n\t\t\tpreviousCheckDate: '',\r\n\r\n\t\t\tmodel: '',\r\n\r\n\t\t\tstopStatus: '',\r\n\r\n\t\t\ttestWarn: '',\r\n\r\n\t\t\tstopSubmitDate: '',\r\n\r\n\t\t\trepairStatus: '',\r\n\r\n\t\t\ttakecareStardardeDetailList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfilePath: '123',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tnextCheckDate: '',\r\n\r\n\t\t\tcheckCycle: '',\r\n\r\n\t\t\tcheckPoint: '',\r\n\r\n\t\t\tleadingPersonId: '',\r\n\t\t\tleadingPersonName: '',\r\n\r\n\t\t\tqName: '',\r\n\r\n\t\t\tnextTakecareDate: '',\r\n\r\n\t\t\tsetPart: '',\r\n\r\n\t\t\tcheckStandardeDetailList: [],\r\n\r\n\t\t\tactualDestoryDate: '',\r\n\r\n\t\t\tisNeedTest: '',\r\n\r\n\t\t\talertNum: '',\r\n\r\n\t\t\tcheckContent: '',\r\n\r\n\t\t\tuseMemo: '',\r\n\r\n\t\t\tpreviousTestDate: '',\r\n\r\n\t\t\tisNeedTakecare: '',\r\n\r\n\t\t\tdestoryReason: '',\r\n\r\n\t\t\tcheckDetailList: [],\r\n\r\n\t\t\tpositionNum: '',\r\n\r\n\t\t\ttestCycle: '',\r\n\r\n\t\t\trecoveryReason: '',\r\n\r\n\t\t\tisNeedCheck: '',\r\n\r\n\t\t\tactualRecoveryDate: '',\r\n\r\n\t\t\tleadingPersonDepartmentId: '',\r\n\r\n\t\t\tstopReason: '',\r\n\r\n\t\t\tdestorySubmitDate: '',\r\n\r\n\t\t\ttestDetailList: [],\r\n\r\n\t\t\tcheckWarn: '',\r\n\r\n\t\t\trepaireDetailList: [],\r\n\r\n\t\t\tequipmentTypeId: '',\r\n\r\n\t\t\tuseDate: '',\r\n\r\n\t\t\trecoverySubmitDate: '',\r\n\r\n\t\t\tlockNum: '',\r\n\r\n\t\t\tstopSubmitPersonId: '',\r\n\t\t\tstopSubmitPersonName: '',\r\n\t\t\tafterStopStep: '',\r\n\r\n\t\t\tlifeCycle: '',\r\n\r\n\t\t\tdelCheckStandardeDetails: '',\r\n\r\n\t\t\tdelTakecareStardardeDetails: '',\r\n\r\n\t\t\tdelTakecareDetails: '',\r\n\r\n\t\t\tdelRepaireDetails: '',\r\n\r\n\t\t\tdelTestDetails: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst titleT = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst Dailogtype = ref(false);\r\n\t\tconst openDailog = (title: string, type: boolean, id: number, num: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitleT.value = title;\r\n\t\t\tdepartment();\r\n\t\t\tDailogtype.value = type;\r\n\t\t\tif (num == 0) {\r\n\t\t\t\ttitles.value = `${title}仪表信息`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 1) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 2) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t}\r\n\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t.getequipmentInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [],\r\n\t\t\tpositionNum: [],\r\n\t\t\tqUsage: [],\r\n\t\t\tmodel: [],\r\n\t\t\tequipmentTypeId: [],\r\n\t\t\tequipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],\r\n\t\t\tdepartmentId: [],\r\n\t\t\tsetPart: [],\r\n\t\t\tproduceTime: [],\r\n\t\t\tuseEndDay: [],\r\n\t\t\tlifeCycle: [],\r\n\t\t\tuseDate: [],\r\n\t\t\trepairStatus: [],\r\n\t\t\tstopStatus: [],\r\n\t\t\tpreviousCheckDate: [],\r\n\t\t\tpreviousTestDate: [],\r\n\t\t\tpreviousTakecareDate: [],\r\n\t\t\tnextCheckDate: [],\r\n\t\t\tnextTestDate: [],\r\n\t\t\tnextTakecareDate: [],\r\n\t\t\tleadingPersonName: [],\r\n\t\t\tleadingPersonDepartmentId: [],\r\n\t\t\tsupplyName: [],\r\n\t\t\tuseMemo: [],\r\n\t\t\tisNeedCheck: [],\r\n\t\t\tcheckCycle: [],\r\n\t\t\tcheckWarn: [],\r\n\t\t\tisNeedTest: [],\r\n\t\t\ttestCycle: [],\r\n\t\t\ttestWarn: [],\r\n\t\t\tisNeedTakecare: [],\r\n\t\t\tcheckContent: [],\r\n\t\t\tleadingDepartmentId: [],\r\n\t\t\tcheckPoint: [],\r\n\t\t\talertNum: [],\r\n\t\t\tlockNum: [],\r\n\t\t\tstopReason: [],\r\n\t\t\tafterStopStep: [],\r\n\t\t\tactualStopDate: [],\r\n\t\t\tstopSubmitPersonName: [],\r\n\t\t\tstopSubmitDate: [],\r\n\t\t\trecoveryReason: [],\r\n\t\t\trecoverySubmitDate: [],\r\n\t\t\tactualRecoveryDate: [],\r\n\t\t\tdestoryReason: [],\r\n\t\t\tdestorySubmitDate: [],\r\n\t\t\tactualDestoryDate: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tform.value.delTakecareDetails = deleteAId.value.toString();\r\n\t\t\t\t\tform.value.delTestDetails = deleteBId.value.toString();\r\n\t\t\t\t\tform.value.delRepaireDetails = deleteCId.value.toString();\r\n\t\t\t\t\tform.value.delCheckStandardeDetails = deleteDId.value.toString();\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tdelete form.value.equipmentTypeName;\r\n\t\t\t\t\tdelete form.value.departmentName;\r\n\t\t\t\t\tdelete form.value.leadingPersonDepartmentName;\r\n\t\t\t\t\tdelete form.value.leadingDepartmentName;\r\n\t\t\t\t\tif (titleT.value == '新建') {\r\n\t\t\t\t\t\tdelete form.value.id;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t\t.getequipmentInfoAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t\tdialogVisible.value = false;\r\n\t\t};\r\n\t\tconst activeName = ref('first');\r\n\t\tconst index = ref<any>();\r\n\t\tconst categoryShow = ref();\r\n\t\tconst opencategory = () => {\r\n\t\t\tcategoryShow.value.openDailog();\r\n\t\t};\r\n\t\tconst regionShow = ref();\r\n\t\tconst openRegion = () => {\r\n\t\t\tregionShow.value.openDailog();\r\n\t\t};\r\n\t\tconst UserShow = ref();\r\n\t\tconst openUser = (type: any) => {\r\n\t\t\tUserShow.value.openDailog(type);\r\n\t\t};\r\n\t\tconst maintenanceShow = ref();\r\n\t\tconst openMaintenance = (title: string, data: any) => {\r\n index.value = form.value.takecareDetailList.indexOf(data);\r\n\t\t\tmaintenanceShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst detectShow = ref();\r\n\t\tconst openDetect = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.testDetailList.indexOf(data);\r\n\t\t\tdetectShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst repairShow = ref();\r\n\t\tconst openRepair = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.repaireDetailList.indexOf(data);\r\n\t\t\trepairShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst standardShow = ref();\r\n\t\tconst openStandard = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.checkStandardeDetailList.indexOf(data);\r\n\t\t\tstandardShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst deleteAId = ref([]);\r\n\t\tconst deleteBId = ref([]);\r\n\t\tconst deleteCId = ref([]);\r\n\t\tconst deleteDId = ref([]);\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteAId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteB = (tag: any) => {\r\n\t\t\tform.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteBId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteC = (tag: any) => {\r\n\t\t\tform.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteCId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteD = (tag: any) => {\r\n\t\t\tform.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteDId.value.push(tag.id);\r\n\t\t};\r\n\t\t// 回传\r\n\t\tconst main = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.takecareDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.takecareDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst delect = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.testDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.testDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Repair = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.repaireDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.repaireDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Stand = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.checkStandardeDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.checkStandardeDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst userId = (val: any, type: number) => {\r\n\t\t\tconsole.log(val, type);\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.leadingPersonId = val.uid;\r\n\t\t\t\tform.value.leadingPersonName = val.realName;\r\n\t\t\t} else if (type == 2) {\r\n\t\t\t\tform.value.stopSubmitPersonId = val.uid;\r\n\t\t\t\tform.value.stopSubmitPersonName = val.realName;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Tid = (data: any) => {\r\n\t\t\tform.value.equipmentTypeId = data.id;\r\n\t\t\tform.value.equipmentTypeName = data.typeName;\r\n\t\t\tform.value.positionNum = data.sortNum;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\tTid,\r\n\t\t\tdeepClone,\r\n\t\t\trules,\r\n\t\t\tuserId,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tdeleteAId,\r\n\t\t\tdeleteBId,\r\n\t\t\tdeleteCId,\r\n\t\t\tdeleteDId,\r\n\t\t\tdeleteA,\r\n\t\t\tdeleteB,\r\n\t\t\tdeleteC,\r\n\t\t\tdeleteD,\r\n\t\t\tmain,\r\n\t\t\tindex,\r\n\t\t\tdelect,\r\n\t\t\tRepair,\r\n\t\t\tStand,\r\n\t\t\tresetForm,\r\n\t\t\tsubmitForm,\r\n\t\t\ttitles,\r\n\t\t\tdialogVisible,\r\n\t\t\tdisabled,\r\n\t\t\tDailogtype,\r\n\t\t\tform,\r\n\t\t\topenDailog,\r\n\t\t\tSearch,\r\n\t\t\tactiveName,\r\n\t\t\tcategoryShow,\r\n\t\t\topencategory,\r\n\t\t\tregionShow,\r\n\t\t\topenRegion,\r\n\t\t\tUserShow,\r\n\t\t\topenUser,\r\n\t\t\tmaintenanceShow,\r\n\t\t\topenMaintenance,\r\n\t\t\tdetectShow,\r\n\t\t\topenDetect,\r\n\t\t\trepairShow,\r\n\t\t\topenRepair,\r\n\t\t\tstandardShow,\r\n\t\t\topenStandard,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\ttimeDate,\r\n\t\t\truleFormRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-form-item {\r\n\twidth: 400px;\r\n}\r\n.formType:after {\r\n\tcontent: '';\r\n\twidth: 400px;\r\n}\r\n.formType {\r\n\tpadding: 20px 20px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n}\r\n.el-form .el-form-item:last-of-type {\r\n\tmargin-bottom: 22px !important;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue +--- a/src/components/equipmentDailog/Dailog.vue (revision 4800905967d0fe8781304cae505d42f735851169) ++++ b/src/components/equipmentDailog/Dailog.vue (date 1660381719319) +@@ -324,22 +324,8 @@ + </el-table> + </el-tab-pane> + <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"></div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-tab-pane> + </el-tabs> + <template #footer> +@@ -374,8 +360,10 @@ + import { facilityManagementApi } from '/@/api/facilityManagement'; + import { goalManagementApi } from '/@/api/goalManagement'; + import { deepClone } from '/@/utils/other'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, ++ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, ++ detectDailog, repairDailog, standardDailog,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const ruleFormRef = ref<FormInstance>(); +@@ -415,9 +403,6 @@ + repairStatus: '', + + takecareStardardeDetailList: [ +- { +- filePath: '123', +- }, + ], + + nextCheckDate: '', +@@ -528,11 +513,61 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ ++ //初始化日期格式 ++ form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); ++ form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); ++ form.value.actualStopDate = timeC(form.value.actualStopDate); ++ form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); ++ form.value.nextCheckDate = timeC(form.value.nextCheckDate); ++ form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); ++ form.value.nextTestDate = timeC(form.value.nextTestDate); ++ form.value.previousCheckDate = timeC(form.value.previousCheckDate); ++ form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); ++ form.value.previousTestDate = timeC(form.value.previousTestDate); ++ form.value.produceTime = timeC(form.value.produceTime); ++ form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); ++ form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); ++ form.value.useDate = timeC(form.value.useDate); ++ ++ fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) ++ initFileListData() + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].filePath ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ filePath:fileList.value[a].fileName ++ } ++ ) ++ } ++ form.value.takecareStardardeDetailList = formFileList ++ } + const rules = reactive<FormRules>({ + qName: [], + positionNum: [], +@@ -628,6 +663,7 @@ + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; ++ fileList.value = [] + dialogVisible.value = false; + }; + const activeName = ref('first'); +@@ -665,16 +701,7 @@ + standardShow.value.openDailog(title, data); + }; + // 上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -845,6 +872,9 @@ + FullScreen, + timeDate, + ruleFormRef, ++ successUploader, ++ initFileListData, ++ timeC + }; + }, + }); +diff --git a/src/views/homeMenu/homeMenu.vue b/src/views/newHome/homeMenu.vue +rename from src/views/homeMenu/homeMenu.vue +rename to src/views/newHome/homeMenu.vue diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14__Default_Changelist_.xml new file mode 100644 index 0000000..2243965 --- /dev/null +++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14__Default_Changelist_.xml @@ -0,0 +1,4 @@ +<changelist name="Uncommitted_changes_before_Update_at_2022_8_13_17_14_[Default_Changelist]" date="1660382057312" recycled="true" deleted="true"> + <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_14_[Default_Changelist]/shelved.patch" /> + <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/13 17:14 [Default Changelist]" /> +</changelist> \ No newline at end of file diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48_\133Default_Changelist\135/shelved.patch" new file mode 100644 index 0000000..242a4b4 --- /dev/null +++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48_\133Default_Changelist\135/shelved.patch" @@ -0,0 +1,4357 @@ +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"checkData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"checkData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"checkData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"applyTime\" label=\"整改时间\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip min-width=\"150px\">\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"验收状态\" show-overflow-tooltip min-width=\"150px\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"checkAcceptPerson\" label=\"验收人\" show-overflow-tooltip min-width=\"150px\"></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 1\" @click=\"onOpenDialogRef('验收', scope.row)\">验收</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"checkData.params.pageIndex\" background v-model:page-size=\"checkData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"checkData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <checkDialog ref=\"checkDialogRef\" @refreshCheck=\"initCheckTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport checkDialog from './components/checkDialog.vue';\r\nimport { Check, Delete, View } from '@element-plus/icons-vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { hiddenCheckApi } from '/@/api/doublePreventSystem/check';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n checkData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'check',\r\n components: { checkDialog, Check, Delete, View },\r\n setup() {\r\n const checkDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n checkData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: 1\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initCheckTableData = async () => {\r\n let res = await hiddenCheckApi().getHiddenCheckList(state.checkData.params);\r\n if (res.data.code === '200') {\r\n state.checkData.data = res.data.data;\r\n state.checkData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n checkDialogRef.value.openCheckDialog(type, value, state.departmentList);\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.checkData.params.pageSize = val;\r\n initCheckTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.checkData.params.pageIndex = val;\r\n initCheckTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initCheckTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Check,\r\n Delete,\r\n View,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n checkDialog,\r\n checkDialogRef,\r\n initCheckTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue (date 1660384073678) +@@ -12,7 +12,12 @@ + <span>整改部门:</span> + <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="checkData.params.rectifyDepId"> </el-cascader> + </div> +- ++ <div class="basic-line"> ++ <span>整改状态:</span> ++ <el-select class="input-box" v-model="checkData.params.dangerStatus" placeholder="整改状态" clearable filterable> ++ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> ++ </el-select> ++ </div> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -22,6 +27,7 @@ + </div> + <el-table :data="checkData.data" style="width: 100%" fit highlight-current-row> + <el-table-column type="index" label="序号" width="60" /> ++ <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="applyTime" label="整改时间" show-overflow-tooltip min-width="150px"></el-table-column> +@@ -120,10 +126,7 @@ + { id: 2, name: '限期整改' } + ], + dangerStatusList: [ +- { id: 0, name: '整改中' }, + { id: 1, name: '待验收' }, +- { id: 2, name: '延期整改' }, +- { id: 4, name: '超期未整改' }, + { id: 9, name: '已验收' } + ] + }); +Index: src/api/doublePreventSystem/rectify/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\n\r\nexport function hiddenRectifyApi() {\r\n return {\r\n // v1\r\n getHiddenRectifyList: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/select/getDangerRectifyPage`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n submitHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/applyReport`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n delayHiddenRectifyTime: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/update/timeOutRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n deleteHiddenRectify: (data: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/dangerRectify/delete/deleteDangerRectify`,\r\n method: 'post',\r\n data: data\r\n });\r\n },\r\n // v1\r\n getAllHiddenRectifyList: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`,\r\n method: 'post'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/doublePreventSystem/rectify/index.ts b/src/api/doublePreventSystem/rectify/index.ts +--- a/src/api/doublePreventSystem/rectify/index.ts (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/api/doublePreventSystem/rectify/index.ts (date 1660382056617) +@@ -40,6 +40,12 @@ + url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`, + method: 'post' + }); ++ }, ++ getCodeByTime: (date: string) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL + `/prevent/dangerManage/count/byCreateDate?date=${date}`, ++ method: 'get' ++ }); + } + }; + } +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-role-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <div class=\"basic-line\">\r\n <span>整改类型:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.rectifyType\" placeholder=\"整改类型\" filterable>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>整改部门:</span>\r\n <el-cascader :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-box\" v-model=\"rectifyData.params.rectifyDepId\"> </el-cascader>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>隐患状态:</span>\r\n <el-select class=\"input-box\" v-model=\"rectifyData.params.dangerStatus\" placeholder=\"隐患状态\" filterable clearable>\r\n <el-option v-for=\"item in dangerStatusList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" v-throttle @click=\"handleSearch\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n </div>\r\n <el-table :data=\"rectifyData.data\" style=\"width: 100%\" fit highlight-current-row>\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyDesc\" label=\"整改内容说明\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"rectifyTime\" label=\"整改期限\" min-width=\"130px\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <span>{{ scope.row.rectifyTime }}</span>\r\n <span v-if=\"scope.row.dangerStatus === 4\" class=\"overdue-img\">逾期</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"rectifyType\" label=\" 整改类型\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n {{ parseNumber(scope.row.rectifyType, '整改类型') }}\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"liablePerson\" label=\"整改责任人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"cost\" label=\"整改资金\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患整改状态\" show-overflow-tooltip align=\"center\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'\">\r\n {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"createByUserName\" label=\"创建人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"lastEditUserName\" label=\"最后修改人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtModitify\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" fixed=\"right\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"View\" @click=\"onOpenDialogRef('查看', scope.row)\">查看</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Check\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('整改', scope.row)\">整改</el-button>\r\n <el-button size=\"small\" text type=\"primary\" :icon=\"Edit\" v-show=\"scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2\" @click=\"onOpenDialogRef('延期', scope.row)\">延期</el-button>\r\n <el-button size=\"small\" text type=\"danger\" :icon=\"Delete\" @click=\"onDelHiddenRectify(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"rectifyData.params.pageIndex\" background v-model:page-size=\"rectifyData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"rectifyData.total\" class=\"page-position\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <rectifyDialog ref=\"rectifyDialogRef\" @refreshRectify=\"initRectifyTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport rectifyDialog from './components/rectifyDialog.vue';\r\nimport { Edit, Delete, Check, View } from '@element-plus/icons-vue';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableData {\r\n quota: string;\r\n quotaUnit: string;\r\n quotaType: string;\r\n createUserName: string;\r\n gmtCreate: string;\r\n lastEditUserName: string;\r\n gmtModitify: string;\r\n}\r\ninterface TableDataState {\r\n rectifyData: {\r\n data: Array<TableData>;\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number;\r\n pageSize: number;\r\n rectifyType: number | null;\r\n rectifyDepId: number | null;\r\n dangerStatus: number | null;\r\n };\r\n };\r\n rectifyTypeList: Array<enumType>;\r\n dangerStatusList: Array<enumType>;\r\n departmentList: [];\r\n}\r\ninterface enumType {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'rectify',\r\n components: { rectifyDialog, Edit, Delete, View },\r\n setup() {\r\n const rectifyDialogRef = ref();\r\n const state = reactive<TableDataState>({\r\n rectifyData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n rectifyType: null,\r\n rectifyDepId: null,\r\n dangerStatus: null\r\n }\r\n },\r\n departmentList: [],\r\n rectifyTypeList: [\r\n { id: 1, name: '即查即改' },\r\n { id: 2, name: '限期整改' }\r\n ],\r\n dangerStatusList: [\r\n { id: 0, name: '整改中' },\r\n { id: 1, name: '待验收' },\r\n { id: 2, name: '延期整改' },\r\n { id: 4, name: '超期未整改' },\r\n { id: 9, name: '已验收' }\r\n ]\r\n });\r\n\r\n // 初始化表格数据\r\n const initRectifyTableData = async () => {\r\n let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params);\r\n if (res.data.code === '200') {\r\n state.rectifyData.data = res.data.data;\r\n state.rectifyData.total = res.data.count;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门列表\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 打开弹窗\r\n const onOpenDialogRef = (type: string, value: any) => {\r\n rectifyDialogRef.value.openRectifyDialog(type, value, state.departmentList);\r\n };\r\n // 删除\r\n const onDelHiddenRectify = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该隐患整改,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await hiddenRectifyApi().deleteHiddenRectify({ id: row.id });\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '删除成功'\r\n });\r\n await initRectifyTableData();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n const parseNumber = (value: string | number, type: string) => {\r\n if (type === '整改类型') {\r\n return state.rectifyTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '隐患整改状态') {\r\n return state.dangerStatusList.find((item) => item.id === value)?.name;\r\n }\r\n };\r\n\r\n const handleSearch = () => {\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.rectifyData.params.pageSize = val;\r\n initRectifyTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.rectifyData.params.pageIndex = val;\r\n initRectifyTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initRectifyTableData();\r\n getDepartmentData();\r\n });\r\n\r\n return {\r\n Edit,\r\n View,\r\n Check,\r\n Delete,\r\n parseNumber,\r\n handleSearch,\r\n onOpenDialogRef,\r\n onHandleSizeChange,\r\n onDelHiddenRectify,\r\n onHandleCurrentChange,\r\n rectifyDialog,\r\n rectifyDialogRef,\r\n initRectifyTableData,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n.overdue-img {\r\n position: absolute;\r\n background-color: #f56c6c;\r\n border-radius: 4px;\r\n color: #fff;\r\n display: inline-block;\r\n font-size: 12px;\r\n height: 21px;\r\n line-height: 18px;\r\n text-align: center;\r\n white-space: nowrap;\r\n border: 1px solid #fff;\r\n transform: scale(0.8);\r\n padding: 1px 3px 0 3px;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue (date 1660383684934) +@@ -3,6 +3,19 @@ + <el-card shadow="hover"> + <div class="system-user-search mb15"> + <div class="basic-line"> ++ <div style="display: inline-block">整改编号:</div> ++ ++ <div style="display: inline-block"> ++ <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" v-on:input="checkDate($event)" placeholder="整改编号(前八位日期)"> </el-autocomplete> ++ <i class="el-icon-date"></i> ++ </div> ++ <!-- <div style="display: inline-block">--> ++ <!-- <el-button>--> ++ <!-- <el-date-picker value-format="YYYY-MM-DD" :disabled-date="disabledDate" v-model="dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker>--> ++ <!-- </el-button>--> ++ <!-- </div>--> ++ </div> ++ <div class="basic-line"> + <span>整改类型:</span> + <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> + <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> +@@ -18,6 +31,11 @@ + <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </div> ++ <div class="basic-line"> ++ <span>创建时间范围:</span> ++ <el-date-picker v-model="dateTimeRange" @change="giveTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetimerange" range-separator="To" start-placeholder="开始时间" end-placeholder="结束时间" /> ++ </div> ++ <i class="el-icon-date"></i> + <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> + <el-icon> + <ele-Search /> +@@ -27,6 +45,7 @@ + </div> + <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> + <el-table-column type="index" label="序号" width="60" /> ++ <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> +@@ -72,7 +91,7 @@ + </template> + + <script lang="ts"> +-import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; ++import { toRefs, reactive, onMounted, ref, defineComponent, computed } from 'vue'; + import { ElMessageBox, ElMessage } from 'element-plus'; + import rectifyDialog from './components/rectifyDialog.vue'; + import { Edit, Delete, Check, View } from '@element-plus/icons-vue'; +@@ -93,7 +112,9 @@ + interface TableDataState { + rectifyData: { + data: Array<TableData>; ++ + total: number; ++ disabled: boolean; + loading: boolean; + params: { + pageIndex: number; +@@ -101,16 +122,27 @@ + rectifyType: number | null; + rectifyDepId: number | null; + dangerStatus: number | null; ++ serialCode: string; ++ startTime: string; ++ endTime: string; + }; + }; + rectifyTypeList: Array<enumType>; + dangerStatusList: Array<enumType>; + departmentList: []; ++ disabledDate: any; ++ serialCodeList: Array<type>; ++ dateTime: string; ++ dateTimeRange: Array<string>; + } + interface enumType { + id: number; + name: string; + } ++interface type { ++ id: number; ++ value: number; ++} + + export default defineComponent({ + name: 'rectify', +@@ -121,16 +153,26 @@ + rectifyData: { + data: [], + total: 0, ++ disabled: true, + loading: false, + params: { + pageIndex: 1, + pageSize: 10, + rectifyType: null, + rectifyDepId: null, +- dangerStatus: null ++ dangerStatus: null, ++ serialCode: '', ++ startTime: '', ++ endTime: '' + } ++ }, ++ dateTime: '', ++ dateTimeRange: [], ++ disabledDate: (time: any) => { ++ return time.getTime() > new Date().getTime(); + }, + departmentList: [], ++ serialCodeList: [], + rectifyTypeList: [ + { id: 1, name: '即查即改' }, + { id: 2, name: '限期整改' } +@@ -144,17 +186,129 @@ + ] + }); + ++ const giveTime = () => { ++ if (state.dateTimeRange && state.dateTimeRange !== null) { ++ state.rectifyData.params.startTime = state.dateTimeRange[0]; ++ state.rectifyData.params.endTime = state.dateTimeRange[1]; ++ } else { ++ state.rectifyData.params.startTime = ''; ++ state.rectifyData.params.endTime = ''; ++ } ++ }; ++ ++ const querySearch = () => { ++ return state.serialCodeList.filter((item) => item.value.toString().indexOf(state.rectifyData.params.serialCode) !== -1); ++ }; ++ const handleChange = (value: string): Boolean => { ++ let year = value.substr(0, 4); ++ let month = value.substr(4, 2); ++ let day = value.substr(6, 2); ++ if (Number(year) < 1000 || Number(year) > new Date().getFullYear()) { ++ return false; ++ } ++ if (Number(month) > 12 || month === '00') { ++ return false; ++ } ++ let leapYearTab = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ let notLeapYearTab = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; ++ if (isLeapYear(year)) { ++ const maxDay = leapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } else { ++ const maxDay = notLeapYearTab[Number(month) - 1]; ++ if (Number(day) > maxDay) { ++ return false; ++ } ++ } ++ return true; ++ }; ++ ++ const isLeapYear = (value: string) => { ++ return Number(value) % 4 === 0; ++ }; ++ ++ const checkDate = async (value: string) => { ++ if (value.length >= 8) { ++ if (handleChange(value.substr(0, 8))) { ++ let res = await hiddenRectifyApi().getCodeByTime(value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2)); ++ if (res.data.code === '200' && res.data.data > 0) { ++ state.serialCodeList = []; ++ let date = parseInt(value.substr(0, 8) + '0000'); ++ for (let i = 0; i < res.data.data; i++) { ++ state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ } ++ } else if (res.data.code === '200' && res.data.data === 0) { ++ ElMessage({ ++ type: 'warning', ++ message: '当天无隐患上报' ++ }); ++ } ++ } else { ++ state.rectifyData.params.serialCode = ''; ++ ElMessage({ ++ type: 'warning', ++ message: '前八位请输入正确得日期格式' ++ }); ++ } ++ } else { ++ } ++ // if (state.dateTime === '' || state.dateTime === null) { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // } else { ++ // state.serialCodeList = []; ++ // state.rectifyData.params.serialCode = ''; ++ // let res = await hiddenRectifyApi().getCodeByTime(state.dateTime); ++ // if (res.data.code === '200' && res.data.data > 0) { ++ // state.rectifyData.disabled = false; ++ // let date = parseInt(state.dateTime.replaceAll('-', '') + '0000'); ++ // for (let i = 0; i < res.data.data; i++) { ++ // state.serialCodeList.push({ value: date + 1 + i, id: i }); ++ // } ++ // state.rectifyData.params.serialCode = state.dateTime.replaceAll('-', ''); ++ // } else if (res.data.code === '200' && res.data.data === 0) { ++ // state.rectifyData.disabled = true; ++ // ElMessage({ ++ // type: 'warning', ++ // message: '当天无隐患上报' ++ // }); ++ // } ++ // } ++ }; ++ + // 初始化表格数据 + const initRectifyTableData = async () => { +- let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); +- if (res.data.code === '200') { +- state.rectifyData.data = res.data.data; +- state.rectifyData.total = res.data.count; +- } else { +- ElMessage({ +- type: 'warning', +- message: res.data.msg +- }); ++ debugger; ++ if (state.rectifyData.params.serialCode.toString().length === 0) { ++ let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); ++ if (res.data.code === '200') { ++ state.rectifyData.data = res.data.data; ++ state.rectifyData.total = res.data.count; ++ } else { ++ ElMessage({ ++ type: 'warning', ++ message: res.data.msg ++ }); ++ } ++ } else if (state.rectifyData.params.serialCode.toString().length !== 12) { ++ ElMessage({ ++ type: 'warning', ++ message: '请输入或选择正确的隐患编号' ++ }); ++ } else { ++ state.rectifyData.params.serialCode = state.rectifyData.params.serialCode.toString().substr(0, 8) + '-' + state.rectifyData.params.serialCode.toString().substr(8, 4); ++ let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); ++ if (res.data.code === '200') { ++ state.rectifyData.data = res.data.data; ++ state.rectifyData.total = res.data.count; ++ } else { ++ ElMessage({ ++ type: 'warning', ++ message: res.data.msg ++ }); ++ } + } + }; + +@@ -233,8 +387,11 @@ + View, + Check, + Delete, ++ giveTime, ++ querySearch, + parseNumber, + handleSearch, ++ checkDate, + onOpenDialogRef, + onHandleSizeChange, + onDelHiddenRectify, +@@ -274,4 +431,7 @@ + :deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); + } ++:deep(.el-input-group__prepend) { ++ padding: 0; ++} + </style> +Index: src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-add-menu-container\">\r\n <el-dialog :title=\"title\" v-model=\"isShowRectifyDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"rectifyForm\" :rules=\"rectifyFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改说明\" prop=\"rectifyInfo\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"rectifyForm.rectifyInfo\" placeholder=\"请输入整改说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改时间\" prop=\"applyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"rectifyForm.applyTime\" placeholder=\"请选择整改时间\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"isShowRectifyDialog = !isShowRectifyDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitRectify\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowDelayDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"delayForm\" :rules=\"delayFormRules\" ref=\"rectifyFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"延期说明\" prop=\"timeOutDesc\">\r\n <el-input class=\"input-add\" type=\"textarea\" :rows=\"2\" v-model.trim=\"delayForm.timeOutDesc\" placeholder=\"请输入延期说明\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改期限\" prop=\"rectifyTime\">\r\n <el-date-picker type=\"datetime\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" v-model=\"delayForm.rectifyTime\" placeholder=\"请选择整改期限\" clearable> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowDelayDialog = !isShowDelayDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitDelay\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog :title=\"title\" v-model=\"isShowCheckInfoDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"checkInfoForm\" ref=\"checkFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改内容说明\" prop=\"rectifyDesc\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"textarea\" :rows=\"2\" v-model.trim=\"checkInfoForm.rectifyDesc\" readonly></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改类型\" prop=\"rectifyType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.rectifyType\" readonly>\r\n <el-option v-for=\"item in rectifyTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改部门\" prop=\"rectifyDepId\">\r\n <el-cascader @change=\"achieveUserList\" :disabled=\"!disabled\" :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable filterable class=\"input-add\" v-model=\"checkInfoForm.rectifyDepId\" readonly> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改责任人\" prop=\"liablePersonId\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"checkInfoForm.liablePersonId\" clearable filterable readonly>\r\n <el-option v-for=\"item in userList\" :key=\"item.uid\" :label=\"item.username\" :value=\"item.uid\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"整改资金\" prop=\"dangerResult\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" type=\"number\" v-model=\"checkInfoForm.cost\" readonly> </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.createByUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtCreate\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.lastEditUserName\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"checkInfoForm.gmtModitify\" placeholder=\"请输入区域位置\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { getUserByDepartment } from '/@/assets/methods';\r\n\r\ninterface stateType {\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n isShowRectifyDialog: Boolean;\r\n isShowDelayDialog: Boolean;\r\n isShowCheckInfoDialog: Boolean;\r\n rectifyForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyInfo: string | null;\r\n applyTime: string | null;\r\n };\r\n delayForm: {\r\n id: number | null;\r\n dangerManagerId: number | null;\r\n rectifyTime: string | null;\r\n timeOutDesc: string | null;\r\n };\r\n title: string;\r\n departmentList: [];\r\n userList: [];\r\n rectifyTypeList: Array<rectifyTypeState>;\r\n rectifyFormRules: {};\r\n delayFormRules: {};\r\n checkInfoForm: {\r\n rectifyDepId: number | null;\r\n liablePersonId: number | null;\r\n };\r\n}\r\ninterface rectifyTypeState {\r\n regionType: string;\r\n id: number;\r\n}\r\n\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { ElMessage } from 'element-plus';\r\nimport { hiddenRectifyApi } from '/@/api/doublePreventSystem/rectify';\r\nexport default {\r\n name: 'rectifyDialog',\r\n setup(props: any, context: any) {\r\n const rectifyFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n rectifyTypeList: [],\r\n departmentList: [],\r\n userList: [],\r\n isShowCheckInfoDialog: false,\r\n checkInfoForm: {\r\n rectifyDepId: null,\r\n liablePersonId: null\r\n },\r\n isShowDelayDialog: false,\r\n isShowRectifyDialog: false,\r\n rectifyForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyInfo: null,\r\n applyTime: null\r\n },\r\n delayForm: {\r\n id: null,\r\n dangerManagerId: null,\r\n rectifyTime: null,\r\n timeOutDesc: null\r\n },\r\n rectifyFormRules: {\r\n rectifyInfo: [{ required: true, message: '请填写整改说明', trigger: 'blur' }],\r\n applyTime: [{ required: true, message: '请选择整改时间', trigger: 'change' }]\r\n },\r\n delayFormRules: {\r\n timeOutDesc: [{ required: true, message: '请填写延期说明', trigger: 'blur' }],\r\n rectifyTime: [{ required: true, message: '请选择整改期限', trigger: 'change' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const openRectifyDialog = async (type: string, value: object, departmentList: []) => {\r\n state.departmentList = departmentList;\r\n if (type === '延期') {\r\n state.title = '延期';\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.isShowDelayDialog = true;\r\n const delayForm = JSON.parse(JSON.stringify(value));\r\n state.delayForm.id = delayForm.id;\r\n state.delayForm.dangerManagerId = delayForm.dangerManagerId;\r\n state.delayForm.timeOutDesc = null;\r\n state.delayForm.rectifyTime = null;\r\n } else if (type === '查看') {\r\n state.title = '查看';\r\n state.personTime = true;\r\n state.isShowCheckInfoDialog = true;\r\n state.checkInfoForm.rectifyDepId = JSON.parse(JSON.stringify(value)).rectifyDepId;\r\n await achieveUserList();\r\n state.checkInfoForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '整改';\r\n state.isShowRectifyDialog = true;\r\n const rectifyForm = JSON.parse(JSON.stringify(value));\r\n state.rectifyForm.id = rectifyForm.id;\r\n state.rectifyForm.dangerManagerId = rectifyForm.dangerManagerId;\r\n state.rectifyForm.rectifyInfo = null;\r\n state.rectifyForm.applyTime = null;\r\n }\r\n };\r\n\r\n //提交整改\r\n const submitRectify = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().submitHiddenRectify(state.rectifyForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '整改提交成功',\r\n duration: 2000\r\n });\r\n state.isShowRectifyDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n //提交延期\r\n const submitDelay = async () => {\r\n rectifyFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n let res = await hiddenRectifyApi().delayHiddenRectifyTime(state.delayForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '隐患延期成功',\r\n duration: 2000\r\n });\r\n state.isShowDelayDialog = false;\r\n context.emit('refreshRectify');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n const achieveUserList = async () => {\r\n state.checkInfoForm.liablePersonId = null;\r\n const user: unknown = await getUserByDepartment(state.checkInfoForm.rectifyDepId);\r\n state.userList = user as [];\r\n };\r\n\r\n return {\r\n ...toRefs(state),\r\n rectifyFormRef,\r\n submitDelay,\r\n achieveUserList,\r\n submitRectify,\r\n openRectifyDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue (date 1660382056651) +@@ -10,7 +10,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="整改时间" prop="applyTime"> +- <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> ++ <el-date-picker type="datetime" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> + </el-form-item> + </el-col> + </el-row> +@@ -125,6 +125,8 @@ + rectifyTime: string | null; + timeOutDesc: string | null; + }; ++ disabledDate: any; ++ rangeTime: any; + title: string; + departmentList: []; + userList: []; +@@ -168,6 +170,13 @@ + rectifyInfo: null, + applyTime: null + }, ++ disabledDate: (time: any) => { ++ const r = new Date().getTime(); ++ return time.getTime() > new Date().getTime(); ++ }, ++ rangeTime: () => { ++ return '15:15:14'; ++ }, + delayForm: { + id: null, + dangerManagerId: null, +Index: src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"900px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"emergencyPlanName\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.emergencyPlanName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillAddress\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.departmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.departmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"0\"></el-option>\r\n <el-option label=\"桌面\" value=\"1\"></el-option>\r\n <el-option label=\"专项\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"drillName\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.drillName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select :disabled=\"true\" v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.makingPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.drillPlanDate\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"修改时间\" prop=\"updateDate\">\r\n <el-date-picker :disabled=\"true\" v-model=\"ruleForm.updateDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserUid\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <!--<el-tree-select-->\r\n <!--v-model=\"ruleForm.makingDepartmentId\"-->\r\n <!--:data=\"data\" class=\"w100\"-->\r\n <!--placeholder=\"请选择\"/>-->\r\n\r\n <el-tree-select :disabled=\"true\" v-model=\"ruleForm.makingDepartmentId\"\r\n :data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"planUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.planUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :disabled=\"true\" :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n :disabled=\"true\"\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实际到场人员\" prop=\"executeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.executeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练过程描述\" prop=\"processDesc\">\r\n <el-input :disabled=\"true\" v-model=\"ruleForm.processDesc\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写演练过程描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录人\" prop=\"recordUserName\" >\r\n <el-input\r\n v-model=\"ruleForm.recordUserName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"true\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练记录时间\" prop=\"drillRecordDate\">\r\n <el-date-picker\r\n v-model=\"ruleForm.drillRecordDate\"\r\n class=\"w100\"\r\n type=\"datetime\"\r\n placeholder=\"选择日期时间\"\r\n :disabled=\"true\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <div class=\"el-divider--horizontal\">\r\n <div class=\"el-divider__text\">\r\n <h3>评价</h3>\r\n </div>\r\n </div>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"evaluationUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.evaluationUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n :disabled=\"disabled\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-适宜性\" prop=\"suitable\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.suitable\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部能够执行\" value=\"1\"></el-option>\r\n <el-option label=\"全部不能够执行\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"预案评审-充分性\" prop=\"sufficient\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.sufficient\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"完全满足应急要求\" value=\"1\"></el-option>\r\n <el-option label=\"不完全满足应急要求\" value=\"2\"></el-option>\r\n <el-option label=\"完全不满足应急要求\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"人员到位情况\" prop=\"arrival\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.arrival\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"迅速准确,基本按时到位\" value=\"1\"></el-option>\r\n <el-option label=\"未按时到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-现场物资\" prop=\"supplies\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.supplies\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"现场物资充分,全部有效\" value=\"1\"></el-option>\r\n <el-option label=\"现场物资不充分\" value=\"2\"></el-option>\r\n <el-option label=\"现场没有物资\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"物资到位情况-个人防护\" prop=\"protection\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.protection\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"全部人员防护到位\" value=\"1\"></el-option>\r\n <el-option label=\"人员未防护到位\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-整体组织\" prop=\"whole\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.whole\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"协调基本顺利,能够满足要求\" value=\"1\"></el-option>\r\n <el-option label=\"协调不顺利\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"协调组织情况-疏散组分工\" prop=\"division\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.division\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"安全,快速\" value=\"1\"></el-option>\r\n <el-option label=\"安全,不快速\" value=\"2\"></el-option>\r\n <el-option label=\"不安全,快速\" value=\"3\"></el-option>\r\n <el-option label=\"不安全,不快速\" value=\"4\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"实战效果评价\" prop=\"effect\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.effect\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"基本达到目的,部分环节有待改进\" value=\"1\"></el-option>\r\n <el-option label=\"未达到目的\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-报告上级\" prop=\"report\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.report\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"报告及时\" value=\"1\"></el-option>\r\n <el-option label=\"报告不及时\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-安全部门\" prop=\"safety\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.safety\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-救援后勤部门\" prop=\"rescue\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.rescue\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求协作\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求协作\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"支援部门和协作有效性-警戒撤离配合\" prop=\"evacuate\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.evacuate\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"按要求配合\" value=\"1\"></el-option>\r\n <el-option label=\"未按要求配合\" value=\"2\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"是否需要修改应急预案\" prop=\"needModify\">\r\n <el-select :disabled=\"disabled\" v-model=\"ruleForm.needModify\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"是\" :value=\"true\"></el-option>\r\n <el-option label=\"否\" :value=\"false\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"存在问题和改进措施\" prop=\"questionAndImprove\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.questionAndImprove\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写备注信息\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"修改内容\" prop=\"modifyContent\">\r\n <el-input :disabled=\"disabled\" v-model=\"ruleForm.modifyContent\" class=\"textarea\" type=\"textarea\" placeholder=\"请填写修改内容\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"附件列表\">\r\n <el-upload\r\n v-model:file-list=\"ruleForm.userList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\"\r\n >点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">\r\n 添加相关附件\r\n </div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button v-if=\"!disabled\" size=\"default\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\"/>\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"selectUser\"/>\r\n<!-- <RegionsDialog ref=\"openRef\"/>-->\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport {\r\n UploadUserFile,\r\n FormInstance,\r\n ElMessage\r\n} from 'element-plus'\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport UserSelections from \"/@/components/userSelections/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport {emergencyDrillEvaluationApi} from \"/@/api/contingencyManagement/emergencyDrillEvaluation\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nexport default defineComponent({\r\n name: 'approvalProgress',\r\n components: {\r\n UserSelections,\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n //定义表单\r\n const realRuleForm = ref ({\r\n drillExecuteId: '',\r\n suitable: '',\r\n sufficient: '',\r\n arrival: '',\r\n supplies: '',\r\n protection: '',\r\n whole: '',\r\n division: '',\r\n effect: '',\r\n report: '',\r\n safety: '',\r\n rescue: '',\r\n evacuate: '',\r\n needModify: '',\r\n questionAndImprove: '',\r\n modifyContent: '',\r\n fileList: [\r\n ],\r\n userList: [\r\n ]\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看演练实施评价') {\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n //演练人员\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n //演练负责人员\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n //实际到场人员\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n //演练负责人(评价)\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n }\r\n });\r\n }\r\n if(title=='演练实施查看评价'){\r\n emergencyDrillEvaluationApi()\r\n .seeEmergencyDrillEvaluation(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.planUserListString=''\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.executeUserListString=''\r\n ruleForm.value.evaluationUserListString=''\r\n\r\n if(res.data.data.planUserList){\r\n for(var a = 0;a<res.data.data.planUserList.length;a++){\r\n ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.planChargeUserList){\r\n for(var a = 0;a<res.data.data.planChargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'\r\n }\r\n }\r\n\r\n if(res.data.data.executeUserList){\r\n for(var a = 0;a<res.data.data.executeUserList.length;a++){\r\n ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'\r\n }\r\n }\r\n //演练负责人(评价)\r\n if(res.data.data.evaluationUserList){\r\n for(var a = 0;a<res.data.data.evaluationUserList.length;a++){\r\n ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'\r\n }\r\n }\r\n\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n };\r\n // 关闭弹窗\r\n const closeDialog = () => {\r\n isShowDialog.value = false;\r\n };\r\n // 取消\r\n const onCancel = () => {\r\n closeDialog();\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ,\r\n ]\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = [\r\n\r\n ]\r\n // 必填项提示\r\n // const rules = reactive<FormRules>({\r\n // teamName: [\r\n // {\r\n // required: true,\r\n // message: '队伍名称不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLevel: [\r\n // {\r\n // required: true,\r\n // message: '队伍级别不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamLeader: [\r\n // {\r\n // required: true,\r\n // message: '队伍负责人不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // responsibleDepartment: [\r\n // {\r\n // required: true,\r\n // message: '负责人部门不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // teamPhone: [\r\n // {\r\n // required: true,\r\n // message: '负责人手机不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // telephone: [\r\n // {\r\n // required: true,\r\n // message: '固定电话不能为空',\r\n // trigger: 'change',\r\n // },\r\n // ],\r\n // })\r\n\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n //演练负责人(评价)\r\n ruleForm.value.userList = ruleForm.value.evaluationUserList\r\n\r\n\r\n\r\n realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId\r\n realRuleForm.value.suitable=ruleForm.value.suitable\r\n realRuleForm.value.sufficient=ruleForm.value.sufficient\r\n realRuleForm.value.arrival=ruleForm.value.arrival\r\n realRuleForm.value.supplies=ruleForm.value.supplies\r\n realRuleForm.value.protection=ruleForm.value.protection\r\n realRuleForm.value.whole=ruleForm.value.whole\r\n realRuleForm.value.division=ruleForm.value.division\r\n realRuleForm.value.effect=ruleForm.value.effect\r\n realRuleForm.value.report=ruleForm.value.report\r\n realRuleForm.value.safety=ruleForm.value.safety\r\n realRuleForm.value.rescue=ruleForm.value.rescue\r\n realRuleForm.value.evacuate=ruleForm.value.evacuate\r\n realRuleForm.value.needModify=ruleForm.value.needModify\r\n realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove\r\n realRuleForm.value.modifyContent=ruleForm.value.modifyContent\r\n realRuleForm.value.fileList=ruleForm.value.fileList\r\n if(ruleForm.value.userList){\r\n for(var a = 0;a<ruleForm.value.userList.length;a++){\r\n realRuleForm.value.userList.push({\r\n userUid:ruleForm.value.userList[a].userUid,\r\n userName:ruleForm.value.userList[a].userName\r\n })\r\n }\r\n }\r\n // console.log(ruleForm.value.evaluationUserList)\r\n // ruleForm.value.userList=[]\r\n // for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){\r\n // // += res.data.data.evaluationUserList[a].userName+';'\r\n // }\r\n if (title == '演练实施评价') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n // console.log(ruleForm.value)\r\n emergencyDrillEvaluationApi()\r\n .editEmergencyDrillEvaluation(realRuleForm.value)\r\n // emergencyDrillExecuteApi()\r\n // .editEmergencyDrillExecute(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '评价成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n isShowDialog.value = false;\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n drillRecordDate: '', // 演练记录时间\r\n drillPlanId: '', //演练计划ID\r\n drillName:'',\r\n recordUserUid: '', // 记录人ID\r\n processDesc: '', // 演练过程描述\r\n userList: [\r\n {\r\n userUid: '',\r\n },\r\n {\r\n userUid: '',\r\n }\r\n ]\r\n };\r\n }\r\n }\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt=()=>{\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.drillPlanId=e.id\r\n };\r\n // 选择区域弹窗\r\n const openRef=ref()\r\n const regionsDialog=()=>{\r\n openRef.value.openDailog()\r\n }\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog(0);\r\n };\r\n\r\n const selectUser = (e) =>{\r\n ruleForm.value.evaluationUserListString=''\r\n ruleForm.value.evaluationUserList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.evaluationUserList.push(\r\n {\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.evaluationUserListString+=e[a].realName+';'\r\n }\r\n console.log(ruleForm.value.evaluationUserList)\r\n }\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n closeDialog,\r\n isShowDialog,\r\n onCancel,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n onUser,\r\n ruleFormRef,\r\n // rules,\r\n openUser,\r\n userRef,\r\n regionsDialog,\r\n openRef,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n resetForm,\r\n titles,\r\n disabled,\r\n emit,\r\n propse,\r\n department,\r\n newTreeList,\r\n selectUser,\r\n submitForm,\r\n realRuleForm\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.el-form .el-form-item{\r\n margin-bottom: 18px !important;\r\n display: flex;\r\n align-items: flex-start;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label{\r\n text-align: right;\r\n height: 100%;\r\n}\r\n.textarea{\r\n height: 90px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 90px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n.el-divider--horizontal {\r\n display: block;\r\n height: 1px;\r\n width: 100%;\r\n margin: 24px 0;\r\n background-color: #dcdfe6;\r\n position: relative;\r\n}\r\n.el-divider__text {\r\n position: absolute;\r\n background-color: #fff;\r\n padding: 0 20px;\r\n color: #303133;\r\n left: 50%;\r\n font-weight: 500;\r\n font-size: 14px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue (date 1660382056657) +@@ -167,20 +167,7 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -368,20 +355,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="附件列表"> +- <el-upload +- v-model:file-list="ruleForm.userList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary" +- >点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"> +- 添加相关附件 +- </div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -421,12 +396,14 @@ + import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" + import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; + import {goalManagementApi} from "/@/api/goalManagement"; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'approvalProgress', + components: { + UserSelections, + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -512,6 +489,8 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施评价'){ +@@ -548,6 +527,8 @@ + } + } + } ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + }); + } + if(title=='演练实施查看评价'){ +@@ -584,15 +565,41 @@ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } + } +- ++ fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) ++ initFileListData() + } + }); + } ++ + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<ruleForm.value.planFileList.length;a++){ ++ ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName ++ } ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + }; + // 关闭弹窗 + const closeDialog = () => { +@@ -605,7 +612,7 @@ + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -663,6 +670,9 @@ + // }) + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + //演练负责人(评价) + ruleForm.value.userList = ruleForm.value.evaluationUserList + +@@ -861,7 +871,9 @@ + newTreeList, + selectUser, + submitForm, +- realRuleForm ++ realRuleForm, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -910,4 +922,4 @@ + font-weight: 500; + font-size: 14px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/router/route.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import { RouteRecordRaw } from 'vue-router';\r\n\r\nexport const dynamicRoutes: Array<RouteRecordRaw> = [\r\n {\r\n path: '/',\r\n name: '/',\r\n component: () => import('/@/layout/index.vue'),\r\n redirect: '/home',\r\n meta: {\r\n isKeepAlive: false\r\n },\r\n children: [\r\n {\r\n path: '/home',\r\n name: 'home',\r\n component: () => import('/@/views/home/index.vue'),\r\n meta: {\r\n title: '首页',\r\n isLink: '',\r\n isHide: false,\r\n isKeepAlive: true,\r\n isAffix: true,\r\n isIframe: false,\r\n roles: ['admin', 'common'],\r\n icon: 'iconfont icon-shouye'\r\n }\r\n }\r\n ]\r\n }\r\n];\r\n\r\nexport const notFoundAndNoPower = [\r\n {\r\n path: '/:path(.*)*',\r\n name: 'notFound',\r\n component: () => import('/@/views/error/404.vue'),\r\n meta: {\r\n title: 'message.staticRoutes.notFound',\r\n isHide: true\r\n }\r\n },\r\n {\r\n path: '/401',\r\n name: 'noPower',\r\n component: () => import('/@/views/error/401.vue'),\r\n meta: {\r\n title: 'message.staticRoutes.noPower',\r\n isHide: true\r\n }\r\n }\r\n];\r\n\r\nexport const staticRoutes: Array<RouteRecordRaw> = [\r\n {\r\n path: '/',\r\n name: '/',\r\n component: () => import('/@/layout/index.vue'),\r\n meta: {\r\n title: '布局界面'\r\n },\r\n children: [\r\n // 请不要往这里 `children` 中添加内容,此内容为了防止 No match found for location with path \"xxx\" 问题\r\n ...notFoundAndNoPower\r\n ]\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: () => import('/@/views/loginPage/loginPage.vue'),\r\n meta: {\r\n title: '登录'\r\n }\r\n },\r\n {\r\n path: '/homeMenu',\r\n name: 'homeMenu',\r\n component: () => import('/@/views/homeMenu/homeMenu.vue'),\r\n meta: {\r\n title: '首页',\r\n isKeepAlive: false\r\n }\r\n },\r\n {\r\n path: '/intelligentMap',\r\n name: 'intelligentMap',\r\n component: () => import('/@/views/intellectInspect/intelligentMap/index.vue'),\r\n meta: {\r\n title: '巡检路线'\r\n }\r\n },\r\n {\r\n path: '/intelligentLine',\r\n name: 'intelligentMap',\r\n component: () => import('/@/views/intellectInspect/intelligentLine/index.vue'),\r\n meta: {\r\n title: '巡检路线'\r\n }\r\n }\r\n];\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/router/route.ts b/src/router/route.ts +--- a/src/router/route.ts (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/router/route.ts (date 1660382056661) +@@ -72,9 +72,9 @@ + } + }, + { +- path: '/homeMenu', +- name: 'homeMenu', +- component: () => import('/@/views/homeMenu/homeMenu.vue'), ++ path: '/newMenu', ++ name: 'newMenu', ++ component: () => import('/@/views/newHome/index.vue'), + meta: { + title: '首页', + isKeepAlive: false +Index: src/views/contingencyManagement/panManagement/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-form :inline=\"true\" class=\"demo-form-inline\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.name\" placeholder=\"预案名称\" style=\"max-width: 215px\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select size=\"default\" v-model=\"listQuery.searchParams.type\" placeholder=\"请选择预案类型\" class=\"ml10\" style=\"max-width: 215px\">\r\n\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\"> 查询 </el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-form>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Plus /> </el-icon\r\n\t\t\t\t\t\t>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Edit /> </el-icon\r\n\t\t\t\t\t\t>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onabolishLibrary\"> 废止库 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Upload />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Download />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t<!-- <el-button size=\"default\">-->\r\n\t\t\t\t\t<!-- <el-icon>-->\r\n\t\t\t\t\t<!-- <Refresh />-->\r\n\t\t\t\t\t<!-- </el-icon>-->\r\n\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column prop=\"name\" label=\"预案名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column prop=\"type\" label=\"预案类型\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.type == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.type == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.type == 3\">专项应急预案</span>\r\n <span v-if=\"scope.row.type == 4\">其他预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"level\" label=\"预案级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.level == 1\">综合应急预案</span>\r\n <span v-if=\"scope.row.level == 2\">现场处置方案</span>\r\n <span v-if=\"scope.row.level == 3\">专项应急预案</span>\r\n </template>\r\n </el-table-column>\r\n\t\t\t\t<el-table-column prop=\"releaseDate\" label=\"发布实施日期\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"isDialogFormVisible(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPlay /> </el-icon\r\n\t\t\t\t\t\t\t>启动\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"abolish(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<VideoPause /> </el-icon\r\n\t\t\t\t\t\t\t>废止\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\">\r\n\t\t\t\t\t\t\t\t<EditPen /> </el-icon\r\n\t\t\t\t\t\t\t>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 0 || scope.row.approveStatus === null\"\r\n\t\t\t\t\t\t\t@click=\"initiateApproval(scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t发起审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === true\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('修改',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\ttext\r\n\t\t\t\t\t\t\ttype=\"primary\"\r\n\t\t\t\t\t\t\tv-if=\"scope.row.approveStatus === 2 && scope.row.checkApprove === false\"\r\n\t\t\t\t\t\t\t@click=\"onApproval('详情',scope.row.approveId,scope.row.id)\"\r\n\t\t\t\t\t\t>\r\n 查看审批\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" v-if=\"scope.row.approveStatus === 3\" @click=\"onApprovalProcess(scope.row.id)\">\r\n\t\t\t\t\t\t\t查看审批流程\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"jumpFrom(0)\">-->\r\n\t\t\t\t\t\t<!-- <el-icon style=\"margin-right: 5px;\">-->\r\n\t\t\t\t\t\t<!-- <EditPen />-->\r\n\t\t\t\t\t\t<!-- </el-icon>修改-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text type=\"primary\" @click=\"abolish(0)\">-->\r\n\t\t\t\t\t\t<!-- 发起审批-->\r\n\t\t\t\t\t\t<!-- </el-button>-->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t\t<Delete /> </el-icon\r\n\t\t\t\t\t\t\t>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tclass=\"mt15\"\r\n\t\t\t\t\tbackground\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"onHandleSizeChange\"\r\n\t\t\t\t\t@current-change=\"onHandleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<AbolishLibrary ref=\"abolishRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<InitiateApproval ref=\"initiateApprovalRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<Approval ref=\"approvalRef\" @myAdd=\"onMyAdd\" />\r\n <ApprovalProcess ref=\"processRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<!-- <StartUp ref=\"startRef\" @myAdd=\"startUp\"/>-->\r\n\t\t<el-dialog v-model=\"dialogFormVisible\" width=\"30%\" title=\"启动\" :fullscreen=\"full\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" label-width=\"80px\">\r\n\t\t\t\t<el-form-item label=\"备注\">\r\n\t\t\t\t\t<el-input v-model=\"form.remark\" type=\"textarea\" autocomplete=\"off\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"dialogFormVisible = false\">取消</el-button>\r\n\t\t\t\t\t<el-button type=\"primary\" @click=\"onDetermine\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\n// import {useRouter} from \"vue-router\"\r\nimport type {} from // FormInstance,\r\n'element-plus';\r\nimport { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue';\r\n// import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue';\r\nimport AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue';\r\nimport ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue';\r\nimport InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue';\r\nimport Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue';\r\n// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog';\r\n\r\nexport default defineComponent({\r\n\tname: 'systemUser',\r\n\tcomponents: {\r\n\t\tOpenAdd,\r\n\t\t// StartUp,\r\n\t\tInitiateApproval,\r\n\t\tAbolishLibrary,\r\n\t\tApproval,\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tVideoPause,\r\n\t\tVideoPlay,\r\n ApprovalProcess,\r\n\t\t// UpData,\r\n\t\temergencyPlanApi,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tname: '',\r\n\t\t\t\ttype: '',\r\n\t\t\t\tabolishStatus: false,\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst onSubmit = async () => {\r\n\t\t\tlet res = await emergencyPlanApi().getEmergencyPlanList(listQuery);\r\n\t\t\tif (res.data.code === '200') {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.name = '';\r\n\t\t\tlistQuery.searchParams.type = '';\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\r\n\t\t// 上传\r\n\t\t// const upShow=ref()\r\n\t\t// const upButton=()=>{\r\n\t\t// upShow.value.openDialog()\r\n\t\t// }\r\n\t\t// 启动弹窗\r\n\t\tconst isDialogFormVisible = (data: any) => {\r\n\t\t\tdialogFormVisible.value = true;\r\n\t\t\tform.value.planId = data;\r\n\t\t};\r\n\t\tconst dialogFormVisible = ref(false);\r\n\t\tconst form = ref({\r\n\t\t\tremark: '',\r\n\t\t});\r\n\t\tconst onDetermine = () => {\r\n\t\t\tdialogFormVisible.value = false;\r\n\t\t\temergencyPlanLogApi()\r\n\t\t\t\t.addEmergencyPlanLog(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tremark: '',\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 打开新增用户弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建应急预案管理', false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tonSubmit();\r\n\t\t\t} else {\r\n\t\t\t\tonSubmit();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 打开修改应急预案管理弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看应急预案管理', row, true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改应急预案管理', row, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//打开废止库弹窗\r\n\t\tconst abolishRef = ref();\r\n\t\tconst onabolishLibrary = () => {\r\n\t\t\tabolishRef.value.openDialog();\r\n\t\t};\r\n\t\t// 废止\r\n\t\tconst abolish = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定要废止所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.EmergencyTeam(data)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\t// 删除用户\r\n\t\tconst onRowDel = (id: number) => {\r\n\t\t\tlet arr = [];\r\n\t\t\tarr.push(id);\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确认',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\r\n\t\tconst deleteAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeleteAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t.deleteEmergencyTeam(deleteAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tonSubmit();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst onHandleSizeChange = (val: number) => {\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst onHandleCurrentChange = (val: number) => {\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tonSubmit();\r\n\t\t};\r\n\r\n\t\t// const router=useRouter()\r\n\t\t// 修改跳转\r\n\t\t// const jumpFrom=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/processForm\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批跳转\r\n\t\t// const abolish=(data:string)=>{\r\n\t\t// router.push({\r\n\t\t// path:\"/abolishDialog\",\r\n\t\t// query:{\r\n\t\t// type:data\r\n\t\t// }\r\n\t\t// })\r\n\t\t// }\r\n\t\t// 发起审批弹窗\r\n\t\tconst initiateApprovalRef = ref();\r\n\t\tconst initiateApproval = (row: object) => {\r\n\t\t\tinitiateApprovalRef.value.openDialog('发起审批',row, true);\r\n\t\t};\r\n\t\t// 审批\r\n\t\tconst approvalRef = ref();\r\n\t\tconst onApproval = (val: string,row: object,id) => {\r\n if(val=='详情'){\r\n approvalRef.value.openDialog('查看审批', row, true);\r\n } else {\r\n approvalRef.value.openDialog('审批', row, false,id);\r\n }\r\n\t\t};\r\n // 审批流程\r\n const processRef = ref();\r\n const onApprovalProcess = (row:object,id) => {\r\n processRef.value.openDialog(row,id);\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 页面加载时\r\n\t\tonMounted(() => {\r\n\t\t\tonSubmit();\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttableData,\r\n\t\t\tonSubmit,\r\n\t\t\tonOpenAdd, //新增\r\n\t\t\taddRef,\r\n\t\t\tonabolishLibrary,\r\n\t\t\tabolishRef,\r\n\t\t\tabolish,\r\n\t\t\tonRowDel,\r\n\t\t\tonHandleSizeChange,\r\n\t\t\tonHandleCurrentChange,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tlistQuery,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\tsubmitReset,\r\n\t\t\tonMounted,\r\n\t\t\tdeleteAll,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDeleteAll,\r\n\t\t\tdialogFormVisible,\r\n\t\t\tisDialogFormVisible,\r\n\t\t\tform,\r\n\t\t\temit,\r\n\t\t\tonDetermine,\r\n\t\t\tonEdit,\r\n\t\t\tinitiateApproval,\r\n\t\t\tinitiateApprovalRef,\r\n\t\t\tonApproval,\r\n\t\t\tapprovalRef,\r\n onApprovalProcess,\r\n processRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 10px;\r\n}\r\n.el-form .el-form-item {\r\n\tmargin-bottom: 0 !important;\r\n}\r\n.el-button--text {\r\n\tmargin-right: 15px;\r\n}\r\n.el-select {\r\n\twidth: 300px;\r\n}\r\n.el-input {\r\n\twidth: 300px;\r\n}\r\n.dialog-footer button:first-child {\r\n\tmargin-right: 10px;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer {\r\n\tborder-top: 1px solid #e8e8e8;\r\n\tborder-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n\tborder-bottom: 1px solid #e8e8e8;\r\n\tmargin-right: 0;\r\n\tborder-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n\tbackground-color: #f6f7fa;\r\n\tfont-weight: 400;\r\n\tcolor: #909399;\r\n}\r\n.el-table .sort-caret.ascending {\r\n\tborder-bottom-color: #c0c4cc;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue +--- a/src/views/contingencyManagement/panManagement/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/panManagement/index.vue (date 1660382056669) +@@ -23,19 +23,13 @@ + <div class="button_Line"> + <div class="button_Left"> + <el-button size="default" type="primary" @click="onOpenAdd"> +- <el-icon> +- <Plus /> </el-icon +- >新建 ++ <el-icon> <Plus /> </el-icon>新建 + </el-button> + <el-button size="default" type="warning" plain :disabled="warning"> +- <el-icon> +- <Edit /> </el-icon +- >修改 ++ <el-icon> <Edit /> </el-icon>修改 + </el-button> + <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </el-button> + </div> +@@ -61,37 +55,31 @@ + <el-table-column type="selection" width="55" /> + <el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.type == 1">综合应急预案</span> +- <span v-if="scope.row.type == 2">现场处置方案</span> +- <span v-if="scope.row.type == 3">专项应急预案</span> +- <span v-if="scope.row.type == 4">其他预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.type == 1">综合应急预案</span> ++ <span v-if="scope.row.type == 2">现场处置方案</span> ++ <span v-if="scope.row.type == 3">专项应急预案</span> ++ <span v-if="scope.row.type == 4">其他预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="level" label="预案级别" show-overflow-tooltip sortable> +- <template #default="scope"> +- <span v-if="scope.row.level == 1">综合应急预案</span> +- <span v-if="scope.row.level == 2">现场处置方案</span> +- <span v-if="scope.row.level == 3">专项应急预案</span> +- </template> +- </el-table-column> ++ <template #default="scope"> ++ <span v-if="scope.row.level == 1">综合应急预案</span> ++ <span v-if="scope.row.level == 2">现场处置方案</span> ++ <span v-if="scope.row.level == 3">专项应急预案</span> ++ </template> ++ </el-table-column> + <el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="isDialogFormVisible(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPlay /> </el-icon +- >启动 ++ <el-icon style="margin-right: 5px"> <VideoPlay /> </el-icon>启动 + </el-button> + <el-button size="small" text type="primary" @click="abolish(scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <VideoPause /> </el-icon +- >废止 ++ <el-icon style="margin-right: 5px"> <VideoPause /> </el-icon>废止 + </el-button> + <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)"> +- <el-icon style="margin-right: 5px"> +- <EditPen /> </el-icon +- >修改 ++ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改 + </el-button> + <el-button + size="small" +@@ -107,7 +95,7 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true" +- @click="onApproval('修改',scope.row.approveId,scope.row.id)" ++ @click="onApproval('修改', scope.row.approveId, scope.row.id)" + > + 审批 + </el-button> +@@ -116,9 +104,9 @@ + text + type="primary" + v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false" +- @click="onApproval('详情',scope.row.approveId,scope.row.id)" ++ @click="onApproval('详情', scope.row.approveId, scope.row.id)" + > +- 查看审批 ++ 查看审批 + </el-button> + <el-button size="small" text type="primary" v-if="scope.row.approveStatus === 3" @click="onApprovalProcess(scope.row.id)"> + 查看审批流程 +@@ -132,9 +120,7 @@ + <!-- 发起审批--> + <!-- </el-button>--> + <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> +- <el-icon> +- <Delete /> </el-icon +- >删除 ++ <el-icon> <Delete /> </el-icon>删除 + </el-button> + </template> + </el-table-column> +@@ -159,7 +145,7 @@ + <AbolishLibrary ref="abolishRef" @myAdd="onMyAdd" /> + <InitiateApproval ref="initiateApprovalRef" @myAdd="onMyAdd" /> + <Approval ref="approvalRef" @myAdd="onMyAdd" /> +- <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> ++ <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> + <!-- <StartUp ref="startRef" @myAdd="startUp"/>--> + <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> +@@ -212,7 +198,7 @@ + Refresh, + VideoPause, + VideoPlay, +- ApprovalProcess, ++ ApprovalProcess, + // UpData, + emergencyPlanApi, + }, +@@ -469,22 +455,22 @@ + // 发起审批弹窗 + const initiateApprovalRef = ref(); + const initiateApproval = (row: object) => { +- initiateApprovalRef.value.openDialog('发起审批',row, true); ++ initiateApprovalRef.value.openDialog('发起审批', row, true); + }; + // 审批 + const approvalRef = ref(); +- const onApproval = (val: string,row: object,id) => { +- if(val=='详情'){ +- approvalRef.value.openDialog('查看审批', row, true); +- } else { +- approvalRef.value.openDialog('审批', row, false,id); +- } ++ const onApproval = (val: string, row: object, id) => { ++ if (val == '详情') { ++ approvalRef.value.openDialog('查看审批', row, true); ++ } else { ++ approvalRef.value.openDialog('审批', row, false, id); ++ } + }; +- // 审批流程 +- const processRef = ref(); +- const onApprovalProcess = (row:object,id) => { +- processRef.value.openDialog(row,id); +- }; ++ // 审批流程 ++ const processRef = ref(); ++ const onApprovalProcess = (row: object, id) => { ++ processRef.value.openDialog(row, id); ++ }; + + //全屏 + const full = ref(false); +@@ -535,8 +521,8 @@ + initiateApprovalRef, + onApproval, + approvalRef, +- onApprovalProcess, +- processRef, ++ onApprovalProcess, ++ processRef, + }; + }, + }); +@@ -625,4 +611,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetDecompositionYear/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title,ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\tadd,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue +--- a/src/views/goalManagement/targetDecompositionYear/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetDecompositionYear/index.vue (date 1660382056673) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="tableData.targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -103,6 +103,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/components/uploaderFile/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderFile/index.vue b/src/components/uploaderFile/index.vue +new file mode 100644 +--- /dev/null (date 1660382056805) ++++ b/src/components/uploaderFile/index.vue (date 1660382056805) +@@ -0,0 +1,178 @@ ++<template> ++ <el-upload ++ v-model:file-list="fileList" ++ multiple ++ :disabled="disabled" ++ class="upload-demo" ++ :http-request="uploadSectionFile" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" ++ > ++ <el-button type="primary">点击上传</el-button> ++ <template #tip> ++ <div class="el-upload__tip"> ++ 请上传文件 ++ <!--jpg/png files with a size less than 500KB.--> ++ </div> ++ <slot name="file"> ++ ++ </slot> ++ </template> ++ </el-upload> ++ ++ <!--<el-dialog v-model="dialogVisible">--> ++ <!--<img w-full :src="dialogImageUrl" alt="Preview Image" />--> ++ <!--</el-dialog>--> ++</template> ++<script lang="ts"> ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++ ++export default defineComponent({ ++ props: { ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, ++ }, ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); ++ ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ emit('deleteFile',uploadFiles); ++ }; ++ ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ goalManagementApi() ++ .searchFile(uploadFile.fileName) ++ .then((res) => { ++ window.open(res.data, "_blank"); ++ }) ++ dialogImageUrl.value = uploadFile.url!; ++ // dialogVisible.value = true; ++ }; ++ ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] ++ } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].name=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; ++ ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; ++ ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> ++<style scoped> ++ .upload-demo{ ++ width: 100%; ++ } ++</style> +Index: src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"目标分解\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"formUp.targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" property=\"dutyDepartmentName\" label=\"责任部门\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"value\" label=\"考核指标\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makerDepartmentName\" label=\"制定人部门\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"commitPersonName\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" property=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link :disabled=\"disabled\" type=\"primary\" @click=\"Delete(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"disabled == false\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { emit } from 'process';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { DailogAdd, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tqName: '',\r\n\t\t\tindexNum: '',\r\n\t\t\tyear: '',\r\n\t\t\tvalue: '',\r\n\t\t\ttargetDivideDetailList: [],\r\n\t\t});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t\tformUp.targetDivideDetailList = form.value.targetDivideDetailList;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (val: object) => {\r\n\t\t\tform.value = val;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = formUp.targetDivideDetailList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst formUp = reactive({\r\n\t\t\ttargetId: '', //关联的目标指标/外键\r\n\t\t\tdelTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n\t\t\ttargetDivideDetailList: [], //目标指标分解列表\r\n\t\t});\r\n\r\n\t\tconst add = (val: any) => {\r\n\t\t\tconst item = deepClone(val);\r\n\t\t\tconsole.log(item)\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tformUp.targetDivideDetailList.push(item);\r\n\t\t\t} else {\r\n\t\t\t\tformUp.targetDivideDetailList[index.value] = item;\r\n\t\t\t}\r\n\r\n\t\t\t// let obj=JSON.parse(JSON.stringify(form.value))\r\n\t\t};\r\n\t\t// 新增\r\n\t\tconst submitForm = () => {\r\n\t\t\tformUp.delTargetDivideDetails = arr.value.toString();\r\n\t\t\tformUp.targetId = form.value.id;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tfor(let i=0;i<formUp.targetDivideDetailList.length;i++){\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].dutyDepartmentName\r\n\t\t\t\tdelete formUp.targetDivideDetailList[i].makerDepartmentName\r\n\t\t\t}\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDivideDetail(formUp)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('addList');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\tconst arr = ref([]);\r\n\t\t// 删除\r\n\t\tconst Delete = (data: any) => {\r\n\t\t\tformUp.targetDivideDetailList.splice(form.value.targetDivideDetailList.indexOf(data), 1);\r\n\t\t\tformUp.targetId = data.targetId;\r\n\t\t\tarr.value.push(data.id);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\t\t// 关闭\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tqName: '',\r\n\t\t\t\tindexNum: '',\r\n\t\t\t\tyear: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\ttargetDivideDetailList: [],\r\n\t\t\t};\r\n\t\t\ttableData.value = [];\r\n\t\t\tformUp.targetId = '';\r\n\t\t\tformUp.delTargetDivideDetails = '';\r\n\t\t\tformUp.targetDivideDetailList = [];\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 时间格式处理\r\n\t\t// const timeDate = (data: any) => {\r\n\t\t// \tlet result = new Date(data).getTime();\r\n\t\t// \treturn result;\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\ttimeDate,\r\n\t\t\tarr,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tonNumber,\r\n\t\t\ttargetType,\r\n\t\t\tdisabled,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tadd,\r\n\t\t\tformUp,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +--- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue (date 1660382056676) +@@ -40,7 +40,7 @@ + <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" /> + <el-table-column align="center" property="value" label="考核指标" width="180" /> + <el-table-column align="center" property="makerDepartmentName" label="制定人部门" /> +- <el-table-column align="center" property="makeDate" label="制定日期" /> ++ <el-table-column align="center" property="makeDate" :formatter="timeDate" label="制定日期" /> + <el-table-column align="center" property="commitPersonName" label="上报人" /> + <el-table-column align="center" property="操作"> + <template #default="scope"> +@@ -96,12 +96,28 @@ + if (res.data.code == 200) { + form.value = res.data.data; + formUp.targetDivideDetailList = form.value.targetDivideDetailList; ++ for(let i=0;i<formUp.targetDivideDetailList.length;i++){ ++ formUp.targetDivideDetailList[i].makeDate=timeC(formUp.targetDivideDetailList[i].makeDate) ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + } + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + const onNumber = (val: object) => { + form.value = val; + }; +@@ -209,6 +225,7 @@ + // return result; + // }; + return { ++ timeC, + index, + timeDate, + arr, +Index: src/views/contingencyManagement/panManagement/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog\r\n\t\t\t:title=\"titles\"\r\n\t\t\tv-model=\"isShowDialog\"\r\n\t\t\twidth=\"50%\"\r\n\t\t\tdraggable\r\n\t\t\t:fullscreen=\"full\"\r\n\t\t\t:close-on-click-modal=\"false\"\r\n\t\t\t@close=\"resetForm(ruleFormRef)\"\r\n\t\t>\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :disabled=\"disabled\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案名称\" prop=\"name\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.name\" placeholder=\"请填写队伍名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"适用部门\" prop=\"responsibleDepartment\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"responsibleDepartment\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\t\tcheck-on-click-node\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t\t@change=\"changeDepartment\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<el-divider />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案类型\" prop=\"type\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.type\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"综合应急预案\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"现场处置方案\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"专项应急预案\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"其他预案\" value=\"4\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"危险源关联\" prop=\"associatedDanger\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.associatedDanger\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"是\" :value=\"false\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"否\" :value=\"true\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"预案级别\" prop=\"level\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.level\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"公司级\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"分厂级\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"车间级\" value=\"3\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写人\" prop=\"authorId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.authorName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"编写部门\" prop=\"authorDeptId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.authorDeptId\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\tclearable\r\n\t\t\t\t\t\t\t\t:render-after-expand=\"false\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发布实施日期\" prop=\"releaseDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.releaseDate\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急队伍\" prop=\"emergencyTeam\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.teamName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt(0)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\t\t:on-change=\"handleChange\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"区域名称\" prop=\"areaName\">-->\r\n\t\t\t\t\t<!-- <el-input-->\r\n\t\t\t\t\t<!-- v-model=\"ruleForm.areaName\"-->\r\n\t\t\t\t\t<!-- placeholder=\"请选择\"-->\r\n\t\t\t\t\t<!-- class=\"input-with-select\"-->\r\n\t\t\t\t\t<!-- >-->\r\n\t\t\t\t\t<!-- <template #append>-->\r\n\t\t\t\t\t<!-- <el-button :icon=\"Search\" @click=\"regionsDialog\"/>-->\r\n\t\t\t\t\t<!-- </template>-->\r\n\t\t\t\t\t<!-- </el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<CheckTemplate ref=\"Shows\" @SearchUser=\"SearchUser\" />\r\n\t\t<DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { ref, defineComponent, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t},\r\n\tsetup(prop, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst ruleForm = ref({\r\n\t\t\tname: '', // 预案名称\r\n\t\t\ttype: '', //预案类型\r\n\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\tlevel: '', // 预案级别\r\n\t\t\tauthorUid: '', // 编写人\r\n\t\t\tauthorName: '',\r\n\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\tfileList: [],\r\n\t\t\tareaList: [], //区域列表\r\n\t\t\tteamList: [],\r\n\t\t\t// teamId: '', //应急队伍\r\n\t\t\tdeptList: [],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看应急预案管理' || title == '修改应急预案管理') {\r\n\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t.seeEmergencyTeam(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\truleForm.value.teamName = ''\r\n\t\t\t\t\t\t\tresponsibleDepartment.value = []\r\n\t\t\t\t\t\t\tif(res.data.data.teamList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.teamList.length;a++){\r\n\t\t\t\t\t\t\t\t\truleForm.value.teamName+=res.data.data.teamList[a].teamName+';'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif(res.data.data.deptList){\r\n\t\t\t\t\t\t\t\tfor(var a = 0;a<res.data.data.deptList.length;a++){\r\n\r\n\t\t\t\t\t\t\t\t\tresponsibleDepartment.value.push(res.data.data.deptList[a].departmentId)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst releaseDate = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst changeDepartment = (e) => {\r\n\t\t\tvar temList = [];\r\n\t\t\tfor (var a = 0; a < e.length; a++) {\r\n\t\t\t\ttemList.push({\r\n departmentId: e[a],\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.deptList = temList;\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t};\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref([]);\r\n\t\tconst data = ref();\r\n\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\tdelete ruleForm.value.teamName\r\n\t\t\t\t\t\temergencyPlanApi()\r\n\t\t\t\t\t\t\t.addEmergencyPlan(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改应急预案管理') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n delete ruleForm.value.teamName\r\n emergencyPlanApi()\r\n\t\t\t\t\t\t\t.editEmergencyTeam(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tname: '', // 预案名称\r\n\t\t\t\t\ttype: '', //预案类型\r\n\t\t\t\t\tassociatedDanger: '', // 危险源关联\r\n\t\t\t\t\tlevel: '', // 预案级别\r\n\t\t\t\t\tauthorUid: '', // 编写人\r\n\t\t\t\t\tauthorName: '',\r\n\t\t\t\t\tauthorDeptId: '', // 编写部门\r\n\t\t\t\t\treleaseDate: '', // 发布实施日期\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\t// teamId: '', //应急队伍ID\r\n\t\t\t\t\tareaList: [], //区域列表\r\n\t\t\t\t\tteamList: [],\r\n\t\t\t\t\tdeptList: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\truleForm.value = {};\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (data: any) => {\r\n\t\t\tShows.value.openDailog(data);\r\n\t\t};\r\n\t\tconst SearchUser = (val: any) => {\r\n\t\t\tlet arr = [];\r\n\t\t\truleForm.value.teamList = [];\r\n\t\t\tfor (let i = 0; i < val.length; i++) {\r\n\t\t\t\tarr.push(val[i].teamName);\r\n\t\t\t\truleForm.value.teamList.push({\r\n\t\t\t\t\tteamId: val[i].id,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\truleForm.value.teamName = arr.toString();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\t//回显\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\truleForm.value.authorUid = e[0].uid;\r\n\t\t\truleForm.value.authorName = e[0].realName;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\treleaseDate,\r\n\t\t\t// treeSelect,\r\n\t\t\t// trees,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\tSearchUser,\r\n\t\t\tsubmitForm,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tisShowDialog,\r\n\t\t\truleFormRef,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonUser,\r\n\t\t\tnewTreeList,\r\n\t\t\tchangeDepartment,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue +--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue (date 1660382056683) +@@ -106,17 +106,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> +@@ -158,13 +149,14 @@ + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; + import { goalManagementApi } from '/@/api/goalManagement'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + CheckTemplate, + DailogSearchUserManger, + RegionsDialog, ++ uploaderFile + }, + setup(prop, { emit }) { + const isShowDialog = ref(false); +@@ -211,15 +203,35 @@ + responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) + } + } +- ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const releaseDate = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ const fileList = ref([]); + //el-tree-select回显 + const propse = { + label: 'depName', +@@ -272,6 +284,9 @@ + const data = ref(); + + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急预案管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -306,10 +321,9 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] +- isShowDialog.value = false; +- delete ruleForm.value.teamName +- emergencyPlanApi() ++ isShowDialog.value = false; ++ delete ruleForm.value.teamName ++ emergencyPlanApi() + .editEmergencyTeam(ruleForm.value) + .then((res) => { + if (res.data.code == 200) { +@@ -356,6 +370,7 @@ + if (!formEl) return; + formEl.resetFields(); + ruleForm.value = {}; ++ fileList.value = [] + }; + // 应急队伍弹窗 + const Shows = ref(); +@@ -429,6 +444,8 @@ + onUser, + newTreeList, + changeDepartment, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -451,4 +468,4 @@ + .el-select { + width: 100%; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetEscalation/component/TypeDailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue +new file mode 100644 +--- /dev/null (date 1660382056825) ++++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue (date 1660382056825) +@@ -0,0 +1,271 @@ ++<template> ++ <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="50%" draggable :fullscreen="full" :close-on-click-modal="false"> ++ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> ++ <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> ++ <div v-if="titleName=='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="titleName!='发起审批'"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ <div v-if="typeScope"> ++ <el-row> ++ <el-col> ++ <el-form-item label="审批结果" prop="authorUid"> ++ <el-radio-group v-model="form.approveResult"> ++ <el-radio :label="0">不通过</el-radio> ++ <el-radio :label="1">通过</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="审批意见" prop="approveMemo"> ++ <el-input v-model="form.approveMemo" type="textarea" placeholder="请填写审批意见"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="24"> ++ <el-form-item label="是否完成" prop="complete"> ++ <el-radio-group v-model="form.approveStatus"> ++ <el-radio :label="3">是</el-radio> ++ <el-radio :label="2">否</el-radio> ++ </el-radio-group> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <div v-if="form.approveStatus==2"> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批名称" prop="workName" size="default"> ++ <el-input v-model="form.workName" placeholder="请填写名称"></el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"> ++ <el-form-item label="审批标题" prop="title" size="default"> ++ <el-input v-model="form.title" placeholder="请填写标题"></el-input> ++ </el-form-item> ++ </el-col> ++ </el-row> ++ <el-row> ++ <el-col :span="11"> ++ <el-form-item label="审批人" prop="approvePersonId" size="default"> ++ <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> ++ <template #append> ++ <el-button :icon="Search" @click="openUser" /> ++ </template> ++ </el-input> ++ </el-form-item> ++ </el-col> ++ <el-col :span="11" :offset="2"></el-col> ++ </el-row> ++ </div> ++ </div> ++ </el-form> ++ <template #footer> ++ <span class="dialog-footer"> ++ <el-button @click="resetForm" size="default">关闭</el-button> ++ <el-button size="default" type="primary" @click="submitForm">确定</el-button> ++ </span> ++ </template> ++ </el-dialog> ++ <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> ++</template> ++<script lang="ts"> ++import { ref, defineComponent } from 'vue'; ++import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; ++import { Search, FullScreen } from '@element-plus/icons-vue'; ++export default defineComponent({ ++ components: { DailogSearchUserManger }, ++ setup(props, { emit }) { ++ const dialogVisible = ref(false); ++ const form = ref({ ++ workName: '', // 审批名称 ++ title: '', //审批标题 ++ approvePersonId: '', ++ approvePersonName: '', ++ approveStatus: 2, ++ approveResult: '', ++ relateType: 1, ++ relateId: '', ++ }); ++ // 提交 ++ const submitForm = () => { ++ if (titleName.value == '发起审批') { ++ goalManagementApi() ++ .getworkApproveAdd(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } else if (titleName.value == '审批') { ++ goalManagementApi() ++ .getworkApproveUpdata(form.value) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ showClose: true, ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('onType'); ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ // 关闭 ++ const resetForm = () => { ++ dialogVisible.value = false; ++ disabled.value = false; ++ disabledT.value = false; ++ form.value={} ++ formUp.value={} ++ }; ++ const titleName = ref(); ++ const typeScope = ref(); ++ const disabledT = ref(false); ++ const disabled = ref(false); ++ const formUp=ref({ ++ workName:"", ++ title:"", ++ approvePersonName:"" ++ }) ++ // 打开弹窗 ++ const openDialog = (title: string, name: string, id: number,type:number) => { ++ dialogVisible.value = true; ++ titleName.value = title; ++ form.value.relateType=type ++ if (title == '发起审批') { ++ form.value.relateId = id; ++ typeScope.value = false; ++ } else if (title == '审批'||title == '查看审批') { ++ goalManagementApi() ++ .getworkApproveDetail(id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ form.value = res.data.data; ++ form.value.approveStatus="" ++ formUp.value.workName=form.value.workName ++ formUp.value.title=form.value.title ++ formUp.value.approvePersonName=form.value.approvePersonName ++ if (form.value.approvePersonName === form.value.submitPersonName) { ++ disabled.value = false; ++ } else { ++ disabled.value = true; ++ } ++ } ++ }); ++ typeScope.value = true; ++ disabledT.value = true; ++ } ++ }; ++ // 打开用户选择弹窗 ++ const userRef = ref(); ++ const openUser = () => { ++ userRef.value.openDailog(); ++ }; ++ const onUser = (val: any) => { ++ form.value.approvePersonId = val[0].uid; ++ form.value.approvePersonName = val[0].realName; ++ }; ++ //全屏 ++ const full = ref(false); ++ const toggleFullscreen = () => { ++ if (full.value == false) { ++ full.value = true; ++ } else { ++ full.value = false; ++ } ++ }; ++ return { ++ formUp, ++ onUser, ++ dialogVisible, ++ form, ++ disabledT, ++ submitForm, ++ resetForm, ++ titleName, ++ typeScope, ++ disabled, ++ openDialog, ++ userRef, ++ openUser, ++ full, ++ toggleFullscreen, ++ Search, ++ FullScreen, ++ }; ++ }, ++}); ++</script> ++<style> ++.el-row { ++ padding-bottom: 20px; ++} ++</style> +Index: src/views/goalManagement/targetDecompositionMonth/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" type=\"warning\" :disabled=\"warning\" :icon=\"EditPen\" plain>修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t<el-tabs v-model=\"activeNames\">\r\n\t\t\t\t\t\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"targetDivideDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定人部门\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"上报人\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</el-tab-pane>\r\n\t\t\t\t\t\t\t</el-tabs>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"small\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\" @addList=\"add\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport search from '../targetSettings/component/search.vue';\r\nimport Dailog from '../targetDecompositionYear/component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '2', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 下方导航与表格\r\n\t\tconst tableData = ref([]);\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeNames = ref('1');\r\n\t\t// 打开弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\tShow.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\tconst add=()=>{\r\n\t\t\tlistApi()\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tadd,\r\n\t\t\tlistApi,\r\n\t\t\tresetForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\truleForm,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenD,\r\n\t\t\tactiveNames,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue +--- a/src/views/goalManagement/targetDecompositionMonth/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetDecompositionMonth/index.vue (date 1660382056698) +@@ -23,7 +23,7 @@ + <div class="minCenter"> + <div class="btns"> + <div> +- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> ++ <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> + <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> + </div> +@@ -32,16 +32,16 @@ + <el-table-column label="序号" align="center" type="index" width="70" /> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> + <el-tabs v-model="activeNames"> + <el-tab-pane label="目标指标分解" name="1"> +- <el-table :data="targetDivideDetailList" style="width: 100%"> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> ++ <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="commitPersonId" label="上报人" /> ++ <el-table-column align="center" prop="commitPersonName" label="上报人" /> + </el-table> + </el-tab-pane> + </el-tabs> +@@ -105,6 +105,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"handleClose(ruleFormRef)\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核标题\" size=\"default\" prop=\"title\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\" placeholder=\"请填写考核标题\"></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核日期\" size=\"default\" prop=\"examineDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.examineDate\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\" prop=\"acceptanceNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"总分\" size=\"default\" prop=\"examineTotalNumber\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examineTotalNumber\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核部门\" size=\"default\" prop=\"examineDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.examineDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData1\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核人\" size=\"default\" prop=\"examinePersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.examinePersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(1)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"被考核部门\" size=\"default\" prop=\"beExaminedDepartmentId\">\r\n\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\tv-model=\"form.beExaminedDepartmentId\"\r\n\t\t\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\t\t\t@node-click=\"nameData2\"\r\n\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\tcheck-strictly\r\n\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"被考核人\" size=\"default\" prop=\"beExaminedPersonName\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.beExaminedPersonName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt(0)\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"考核模板\" size=\"default\" prop=\"examineTemplateName\">\r\n\t\t\t\t\t\t<el-input disabled v-model=\"form.examineTemplateName\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiAdd\" /></template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"考核项目\" name=\"1\">\r\n\t\t\t\t<!-- <el-button type=\"primary\" size=\"default\" @click=\"daiAdd\">新增</el-button> -->\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"考核项目\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"考核分数\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t<el-input v-model=\"scope.row.address\" type=\"textarea\"> </el-input>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t\t<!-- <el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报人\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default>\r\n\t\t\t\t\t<el-button link type=\"primary\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column> -->\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Show\"></DailogSearch>\r\n\t<DailogSearchUser ref=\"Shows\" @SearchUser=\"userId\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser, DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tbeExaminedDepartmentId: '', ////被考核部门ID/外键\r\n\t\t\tbeExaminedDepartmentName: '',\r\n\t\t\tbeExaminedPersonId: '', ////被考核人ID/外键(可能有多个,用逗号隔开)\r\n\t\t\tbeExaminedPersonName: '',\r\n\t\t\texamineDate: '', ////考核日期\r\n\t\t\texamineDepartmentId: '', ////考核部门ID/外键\r\n\t\t\texamineDepartmentName: '',\r\n\t\t\texaminePersonId: '', ////考核人ID/外键\r\n\t\t\texaminePersonName: '',\r\n\t\t\texamineTemplateId: 1, ////绩效考核模板ID/外键\r\n\t\t\texamineTemplateName: '',\r\n\t\t\texamineTotalNumber: '', ////总分\r\n\t\t\textraFile: '9', //责任书附件\r\n\t\t\titemDetail: '', ////考核项目\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tnumberDetailJson: '[{\"id\":\"123\",\"number\":\"123\"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:\"123\",\"number\":\"123\"}]\r\n\t\t\ttitle: '', ////考核标题\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdepartment();\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 验证\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\ttitle: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }],\r\n\t\t\texamineDate: [{ required: true, message: '考核日期不能为空', trigger: 'blur' }],\r\n\t\t\texamineDepartmentId: [{ required: true, message: '考核部门不能为空', trigger: 'blur' }],\r\n\t\t\texaminePersonName: [],\r\n\t\t\texaminePersonId: [],\r\n\t\t\tbeExaminedDepartmentId: [{ required: true, message: '被考核部门不能为空', trigger: 'blur' }],\r\n\t\t\tbeExaminedPersonName: [],\r\n\t\t\tbeExaminedPersonId: [],\r\n\t\t\texamineTemplateId: [],\r\n\t\t\texamineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }],\r\n\t\t\tmemo: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst handleClose=(formEl: FormInstance | undefined)=>{\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t}\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = (type: any) => {\r\n\t\t\tShows.value.openDailog(type);\r\n\t\t};\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst userId = (val: any, type: any) => {\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.examinePersonId = val.uid;\r\n\t\t\t\tform.value.examinePersonName = val.realName;\r\n\t\t\t} else if (type == 0) {\r\n\t\t\t\tlet uid=[]\r\n\t\t\t\tlet realName=[]\r\n\t\t\t\tfor(let i=0;i<val.length;i++){\r\n\t\t\t\t\tuid.push(val[i].uid)\r\n\t\t\t\t\trealName.push(val[i].realName)\r\n\t\t\t\t}\r\n\t\t\t\tform.value.beExaminedPersonId = uid.toString();\r\n\t\t\t\tform.value.beExaminedPersonName =realName.toString();\r\n\t\t\t\tconsole.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName)\r\n\t\t\t}\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst nameData1 = (val: any) => {\r\n\t\t\tform.value.examineDepartmentName = val.depName;\r\n\t\t};\r\n\t\tconst nameData2 = (val: any) => {\r\n\t\t\tform.value.beExaminedDepartmentName = val.depName;\r\n\t\t\tconsole.log(form.value);\r\n\t\t};\r\n\t\treturn {\r\n\t\t\trules,\r\n\t\t\thandleClose,\r\n\t\t\tnameData1,\r\n\t\t\tnameData2,\r\n\t\t\truleFormRef,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tuserId,\r\n\t\t\tactiveName,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\topenDailog,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue (date 1660382056702) +@@ -10,7 +10,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="考核日期" size="default" prop="examineDate"> +- <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.examineDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -72,30 +79,16 @@ + </el-row> + <el-row> + <el-col :span="24"> +- <el-form-item label="考核模板"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <el-form-item label="附件"> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="考核模板" size="default" prop="examineTemplateName"> +- <el-input disabled v-model="form.examineTemplateName"> ++ <el-input v-model="form.examineTemplateName"> + <template #append> <el-button :icon="Search" @click="daiAdd" /></template> + </el-input> + </el-form-item> +@@ -112,12 +105,12 @@ + <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> --> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" prop="date" label="考核项目" /> +- <el-table-column align="center" prop="name" label="考核内容" /> ++ <el-table :data="form.numberDetailJson" style="width: 100%"> ++ <el-table-column align="center" prop="itemDetail" label="考核项目" /> ++ <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" label="考核分数"> + <template #default="scope"> +- <el-input v-model="scope.row.address" type="textarea"> </el-input> ++ <el-input @blur="numberC" v-model.number="scope.row.number"> </el-input> + </template> + </el-table-column> + <!-- <el-table-column align="center" prop="address" label="制定日期" /> +@@ -135,7 +128,7 @@ + </span> + </template> + </el-dialog> +- <DailogSearch ref="Show"></DailogSearch> ++ <DailogSearch ref="Show" @typeDome="onType"></DailogSearch> + <DailogSearchUser ref="Shows" @SearchUser="userId"></DailogSearchUser> + </template> + <script lang="ts"> +@@ -147,8 +140,9 @@ + import { goalManagementApi } from '/@/api/goalManagement'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearchUser, DailogSearch }, ++ components: { DailogSearchUser, DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const ruleFormRef = ref<FormInstance>(); +@@ -162,13 +156,14 @@ + examineDepartmentName: '', + examinePersonId: '', ////考核人ID/外键 + examinePersonName: '', +- examineTemplateId: 1, ////绩效考核模板ID/外键 ++ examineTemplateId: '', ////绩效考核模板ID/外键 + examineTemplateName: '', + examineTotalNumber: '', ////总分 +- extraFile: '9', //责任书附件 ++ acceptanceNumber: '', ///合格分数 ++ extraFile: '', //责任书附件 + itemDetail: '', ////考核项目 + memo: '', ////备注信息 +- numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] ++ numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] + title: '', ////考核标题 + }); + const titles = ref(); +@@ -185,11 +180,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.examineDate = timeC(form.value.examineDate); ++ form.value.numberDetailJson = form.value.currentExamineDtoList; ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } ++ ++ // fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m + `:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 验证 + const rules = reactive<FormRules>({ + title: [{ required: true, message: '考核标题不能为空', trigger: 'blur' }], +@@ -204,12 +258,39 @@ + examineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }], + memo: [], + }); ++ // 接收 ++ const onType = (data: any, val: any) => { ++ form.value.examineTotalNumber = ''; ++ form.value.examineTemplateId = data.id; ++ form.value.examineTemplateName = data.title; ++ form.value.acceptanceNumber = data.acceptanceNumber; ++ form.value.numberDetailJson = val.examineItemList; ++ }; ++ const numberC = () => { ++ let arr = 0; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ if (form.value.numberDetailJson[i].number != undefined) { ++ arr = parseInt(arr) + parseInt(form.value.numberDetailJson[i].number); ++ } else { ++ arr = parseInt(arr) + 0; ++ } ++ } ++ form.value.examineTotalNumber = arr; ++ }; + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + dialogVisible.value = false; ++ let arr = []; ++ for (let i = 0; i < form.value.numberDetailJson.length; i++) { ++ arr.push({ ++ id: form.value.numberDetailJson[i].id, ++ number: form.value.numberDetailJson[i].number, ++ }); ++ } ++ form.value.numberDetailJson = JSON.stringify(arr); + goalManagementApi() + .getexamineMngAddOrUpdate(form.value) + .then((res) => { +@@ -234,10 +315,11 @@ + dialogVisible.value = false; + formEl.resetFields(); + }; +- const handleClose=(formEl: FormInstance | undefined)=>{ ++ const handleClose = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); +- } ++ fileList.value=[] ++ }; + const activeName = ref('1'); + // 新增弹窗 + const Show = ref(); +@@ -250,16 +332,7 @@ + Shows.value.openDailog(type); + }; + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref<UploadUserFile[]>([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -284,15 +357,15 @@ + form.value.examinePersonId = val.uid; + form.value.examinePersonName = val.realName; + } else if (type == 0) { +- let uid=[] +- let realName=[] +- for(let i=0;i<val.length;i++){ +- uid.push(val[i].uid) +- realName.push(val[i].realName) ++ let uid = []; ++ let realName = []; ++ for (let i = 0; i < val.length; i++) { ++ uid.push(val[i].uid); ++ realName.push(val[i].realName); + } + form.value.beExaminedPersonId = uid.toString(); +- form.value.beExaminedPersonName =realName.toString(); +- console.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName) ++ form.value.beExaminedPersonName = realName.toString(); ++ console.log(form.value.beExaminedPersonId, form.value.beExaminedPersonName); + } + }; + //全屏 +@@ -331,6 +404,9 @@ + }; + return { + rules, ++ timeC, ++ numberC, ++ onType, + handleClose, + nameData1, + nameData2, +@@ -360,6 +436,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -368,4 +446,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" title=\"新建考核标准设定\" width=\"60%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"标准标题\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.title\"> </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"适用范围\" size=\"default\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.applyRange\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"安全生产xxx\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<div v-if=\"clickType\">\r\n\t\t\t\t<el-row>\r\n\t\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"form.setPersonId\" disabled>\r\n\t\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /></template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t\t<el-form-item label=\"设定人部门\" size=\"default\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"form.setPersonDepartmentId\" disabled style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone one\" value=\"shanghai\" />\r\n\t\t\t\t\t\t\t\t<el-option label=\"Zone two\" value=\"beijing\" />\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</div>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"模板分类编码\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.templateCode\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"合格分数\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.acceptanceNumber\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\" v-if=\"clickType\">\r\n\t\t\t\t\t<el-form-item label=\"设定日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker disabled v-model=\"form.setTimem\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增','')\">新增</el-button>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"form.examineItemList\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" width=\"180\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('查看', scope.row)\">查看</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\">删除</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogKhS ref=\"Show\" @onAdd=\"AddObj\"></DailogKhS>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogKhS from './DailogKhS.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogKhS },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\tsetTimem: 1658386392466,\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\ttitle: '', ////标准标题\r\n\t\t\tsetPersonId: 1, //设定人\r\n\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\tapplyRange: '', ////适用范围\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst clickType = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = `${title}安全考核管理`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getexamineTemplateDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tclickType.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 接受传值\r\n\t\tconst AddObj = (val: any) => {\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.examineItemList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.examineItemList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.examineItemList.splice(form.value.examineItemList.indexOf(tag), 1);\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateAddOrUpdate(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\texamineItemList: [], //考核项目列表\r\n\t\t\t\tsetTimem: 1658386392466,\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\ttemplateCode: '', ////模板分类编码\r\n\t\t\t\ttitle: '', ////标准标题\r\n\t\t\t\tsetPersonId: 1, //设定人\r\n\t\t\t\tacceptanceNumber: '', ////合格分数\r\n\t\t\t\tsetPersonDepartmentId: 2, //设定人部门\r\n\t\t\t\tapplyRange: '', ////适用范围\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst activeName = ref('1');\r\n\t\t// 新增弹窗\r\n\t\tconst index = ref<any>();\r\n\t\tconst Show = ref();\r\n\t\tconst daiAdd = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.examineItemList.indexOf(data);\r\n\t\t\tShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tindex,\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\tdeleteA,\r\n\t\t\tAddObj,\r\n\t\t\topenDailog,\r\n\t\t\tactiveName,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShow,\r\n\t\t\tdaiAdd,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\tclickType,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue (date 1660382056705) +@@ -62,7 +62,7 @@ + </el-row> + </el-form> + <el-tabs v-model="activeName" class="demo-tabs"> +- <el-tab-pane label="目标指标分解" name="1"> ++ <el-tab-pane label="考核项目" name="1"> + <el-button type="primary" size="default" @click="daiAdd('新增','')">新增</el-button> + </el-tab-pane> + </el-tabs> +@@ -238,4 +238,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/performanceAppraisal/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"安全考核管理\" name=\"1\">\r\n\t\t\t\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.searchParams.examineDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableData.currentExamineDtoList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"number\" label=\"考核分数\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column property=\"examineDate\" align=\"center\" :formatter=\"timeDate\" label=\"考核日期\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examineDepartmentName\" align=\"center\" label=\"考核部门\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"examinePersonName\" label=\"考核人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"beExaminedDepartmentName\" label=\"被考核部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"examineTotalNumber\" label=\"总分\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"numberDetailJson.number\" label=\"考核结果\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"extraFile\" label=\"附件\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"考核标准设定\" name=\"2\">\r\n\t\t\t\t\t<el-form :model=\"ruleForms\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForms.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApis\">查询</el-button>\r\n\t\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForms\">重置</el-button>\r\n\t\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t</el-row>\r\n\t\t\t\t\t</el-form>\r\n\t\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openDs('新建')\">新建</el-button>\r\n\t\t\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warnings\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t\t\t<el-button size=\"default\" :disabled=\"dangers\" type=\"danger\" plain :icon=\"Delete\" @click=\"onDeleteAlls\">删除</el-button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableDatas\" style=\"width: 100%\" @selection-change=\"handleSelectionChanges\">\r\n\t\t\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t\t\t<el-table-column type=\"expand\">\r\n\t\t\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t\t\t<div class=\"tableC\">\r\n\t\t\t\t\t\t\t\t\t<el-table :data=\"tableDatas.examineItemList\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemType\" label=\"类型\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"itemDetail\" label=\"考核项目\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"content\" label=\"考核内容\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"judgeStandard\" label=\"评定标准\" />\r\n\t\t\t\t\t\t\t\t\t\t<el-table-column align=\"center\" prop=\"memo\" label=\"考核说明\" />\r\n\t\t\t\t\t\t\t\t\t</el-table>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t\t<el-table-column label=\"标准标题\" property=\"title\" align=\"center\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"applyRange\" align=\"center\" label=\"适用范围\" sortable />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonName\" label=\"设定人\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setPersonDepartmentName\" label=\"设定人部门\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"setTimem\" label=\"设定日期\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"templateCode\" label=\"模板分类编码\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column property=\"acceptanceNumber\" label=\"合格分数\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"250px\">\r\n\t\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDs('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openDs('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDeletes(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t</el-table>\r\n\t\t\t\t\t<div class=\"pages\">\r\n\t\t\t\t\t\t<el-pagination\r\n\t\t\t\t\t\t\tv-model:currentPage=\"currentPage4s\"\r\n\t\t\t\t\t\t\tv-model:page-size=\"pageSize4s\"\r\n\t\t\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t\t\t:total=\"totals\"\r\n\t\t\t\t\t\t\t@size-change=\"handleSizeChanges\"\r\n\t\t\t\t\t\t\t@current-change=\"handleCurrentChanges\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t</div>\r\n\t\t<DailogAq ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAq>\r\n\t\t<DailogKh ref=\"openAdds\" @navAddorUpdata=\"onAddorUpdatas\"></DailogKh>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogAq from './component/DailogAq.vue';\r\nimport DailogKh from './component/DailogKh.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAq, DailogKh },\r\n\tsetup() {\r\n\t\t// 搜索条件 安全考核管理\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\texamineDepartmentId: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD= (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 切换\r\n\t\tconst activeName = ref('1');\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tif (val == '1') {\r\n\t\t\t\tlistApi();\r\n\t\t\t}else{\r\n\t\t\t\tlistApis();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 搜索条件 考核标准设定\r\n\t\tconst ruleForms = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForms = () => {\r\n\t\t\truleForm.searchParams.examineDepartmentId = '';\r\n\t\t};\r\n\t\tconst listApis = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableDatas.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4s.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4s.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotals.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApis();\r\n\t\t\tdepartment()\r\n\t\t});\r\n\t\tconst onAddorUpdatas = () => {\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableDatas = ref();\r\n\t\tconst currentPage4s = ref();\r\n\t\tconst pageSize4s = ref();\r\n\t\tconst totals = ref();\r\n\t\tconst handleSizeChanges = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForms.pageSize = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\tconst handleCurrentChanges = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForms.pageIndex = val;\r\n\t\t\tlistApis();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdds = ref();\r\n\t\tconst openDs = (title: String, id: number) => {\r\n\t\t\topenAdds.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDeletes = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warnings = ref(true);\r\n\t\tconst dangers = ref(true);\r\n\t\tconst deletAlls = ref();\r\n\t\tconst handleSelectionChanges = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAlls.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarnings.value = false;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarnings.value = true;\r\n\t\t\t\tdangers.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAlls = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getexamineTemplateDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApis();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tactiveName,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\truleForms,\r\n\t\t\tresetForms,\r\n\t\t\tlistApis,\r\n\t\t\tonAddorUpdatas,\r\n\t\t\ttableDatas,\r\n\t\t\tcurrentPage4s,\r\n\t\t\tpageSize4s,\r\n\t\t\ttotals,\r\n\t\t\thandleSizeChanges,\r\n\t\t\thandleCurrentChanges,\r\n\t\t\topenAdds,\r\n\t\t\topenDs,\r\n\t\t\tonDeletes,\r\n\t\t\twarnings,\r\n\t\t\tdangers,\r\n\t\t\tdeletAlls,\r\n\t\t\thandleSelectionChanges,\r\n\t\t\tonDeleteAlls,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 20px;\r\n}\r\n.topTitle {\r\n\tpadding: 5px 0 20px 0;\r\n\tborder-bottom: 1px solid #dedede;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n.tableC {\r\n\tmargin: 0 10%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue +--- a/src/views/goalManagement/performanceAppraisal/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/performanceAppraisal/index.vue (date 1660382056709) +@@ -28,9 +28,9 @@ + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableData.currentExamineDtoList" style="width: 100%"> ++ <el-table :data="scope.row.currentExamineDtoList" style="width: 100%"> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> + <el-table-column align="center" prop="number" label="考核分数" /> +@@ -91,9 +91,9 @@ + <el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="expand"> +- <template #default> ++ <template #default="scope"> + <div class="tableC"> +- <el-table :data="tableDatas.examineItemList" style="width: 100%"> ++ <el-table :data="scope.row.examineItemList" style="width: 100%"> + <el-table-column align="center" prop="itemType" label="类型" /> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> +@@ -141,8 +141,9 @@ + import DailogAq from './component/DailogAq.vue'; + import DailogKh from './component/DailogKh.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; +-import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; ++import { ElMessageBox, ElMessage, ElButton, ElInput, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; ++import type { TabsPaneContext } from 'element-plus' + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + components: { ElButton, ElInput, DailogAq, DailogKh }, +@@ -158,6 +159,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.examineDepartmentId = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +@@ -283,8 +285,9 @@ + }; + // 切换 + const activeName = ref('1'); +- const handleClick = (val: any) => { +- if (val == '1') { ++ const handleClick = (val: TabsPaneContext) => { ++ console.log(val) ++ if (val.props.name == '1') { + listApi(); + }else{ + listApis(); +@@ -300,11 +303,12 @@ + }); + // 重置 + const resetForms = () => { +- ruleForm.searchParams.examineDepartmentId = ''; ++ ruleForms.searchParams.title = ''; ++ listApis() + }; + const listApis = () => { + goalManagementApi() +- .getexamineTemplateList(ruleForm) ++ .getexamineTemplateList(ruleForms) + .then((res) => { + if (res.data.code == 200) { + tableDatas.value = res.data.data; +Index: src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择安全目标指标\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.title\" placeholder=\"标准标题\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi()\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"reset\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\" @click=\"clear\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\" width=\"70px\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"title\" label=\"标准标题\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.title }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\tlistApi()\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\ttitle: '', //标准标题\r\n\t\t\t},\r\n\t\t});\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getexamineTemplateList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n // 重置\r\n\tconst reset=()=>{\r\n\t\truleForm.searchParams.title=\"\"\r\n\t\tlistApi()\r\n\t}\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\treset,\r\n\t\t\tdialogVisible,\r\n\t\t\tlistApi,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +--- a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue (date 1660382056711) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > + <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -64,7 +64,7 @@ + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -75,7 +75,7 @@ + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- setup() { ++ setup(props,{emit}) { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; +@@ -122,6 +122,12 @@ + ruleForm.pageIndex = val; + listApi(); + }; ++ // 提交 ++ const submitForm=()=>{ ++ dialogVisible.value = false ++ emit("typeDome",dynamicTags.value[0],list.value) ++ clear() ++ } + // 右方点击添加后显示标签 + const dynamicTags = ref(['']); + const handleClose = (tag: string) => { +@@ -129,8 +135,19 @@ + radio1.value = ''; + }; + const radio1 = ref(''); ++ const list=ref([]) + const radio = (event: any) => { +- dynamicTags.value[0] = event; ++ ++ goalManagementApi() ++ .getexamineTemplateDetail(event.id) ++ .then((res) => { ++ if (res.data.code == 200) { ++ list.value = res.data.data; ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ dynamicTags.value[0] = event; + }; + const clear=()=>{ + dynamicTags.value=[''] +@@ -146,6 +163,8 @@ + } + }; + return { ++ submitForm, ++ list, + reset, + dialogVisible, + listApi, +Index: src/views/goalManagement/IncentiveRecording/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.personName\" placeholder=\"请选择被奖惩者\">\r\n\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openSearch\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button> -->\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除 </el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"createTime\" align=\"center\" label=\"奖惩日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column label=\"奖惩类型\" align=\"center\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"personName\" align=\"center\" label=\"被奖惩者\" sortable />\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"奖惩依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearchUser ref=\"openUser\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearchUser },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tpersonId: '', ////员工\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.personId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.personId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.personId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\tconst userId = (val: any) => {\r\n\t\t\truleForm.searchParams.personId = val.uid;\r\n\t\t\truleForm.searchParams.personName = val.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\truleForm,\r\n\t\t\tuserId,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\topenAdd,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\topenSearch,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue +--- a/src/views/goalManagement/IncentiveRecording/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/IncentiveRecording/index.vue (date 1660382056715) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者"> ++ <el-input v-model="personName" placeholder="请选择被奖惩者"> + <template #append> + <el-button :icon="Search" @click="openSearch" /> + </template> +@@ -92,8 +92,10 @@ + }, + }); + // 重置 ++ const personName=ref() + const resetForm = () => { + ruleForm.searchParams.personId = ''; ++ personName.value = ''; + listApi(); + }; + const listApi = () => { +@@ -229,10 +231,11 @@ + }; + const userId = (val: any) => { + ruleForm.searchParams.personId = val.uid; +- ruleForm.searchParams.personName = val.realName; ++ personName.value = val.realName; + }; + return { + timeDate, ++ personName, + ruleForm, + userId, + resetForm, +@@ -292,4 +295,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-user-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <el-form :inline=\"true\" class=\"demo-form-inline\">\r\n <el-form-item>\r\n <el-input size=\"default\" v-model=\"listQuery.searchParams.teamName\" placeholder=\"队伍名称\"> </el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-select size=\"default\" v-model=\"listQuery.searchParams.teamLevel\" placeholder=\"请选择队伍级别\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"onSubmit\">\r\n 查询\r\n </el-button>\r\n <el-button size=\"default\" class=\"ml10\" @click=\"submitReset\">\r\n 重置\r\n </el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <div class=\"button_Line\">\r\n <div class=\"button_Left\">\r\n <el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n <el-icon>\r\n <Plus />\r\n </el-icon>新建\r\n </el-button>\r\n<!-- <el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Edit />-->\r\n<!-- </el-icon>修改-->\r\n<!-- </el-button>-->\r\n <el-button size=\"default\" type=\"danger\" plain :disabled=\"danger\" @click=\"onDeleteAll\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </div>\r\n<!-- <div class=\"button_Right\">-->\r\n<!-- <el-button size=\"default\" @click=\"upButton\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Upload />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Download />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- <el-button size=\"default\">-->\r\n<!-- <el-icon>-->\r\n<!-- <Refresh />-->\r\n<!-- </el-icon>-->\r\n<!-- </el-button>-->\r\n<!-- </div>-->\r\n </div>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%\"\r\n ref=\"multipleTableRef\"\r\n @selection-change=\"handleSelectionChange\"\r\n >\r\n <el-table-column\r\n type=\"selection\"\r\n width=\"55\"\r\n />\r\n <el-table-column prop=\"teamName\" label=\"队伍名称\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"teamLevel\" label=\"队伍级别\" show-overflow-tooltip sortable>\r\n <template #default=\"scope\">\r\n <span v-if=\"scope.row.teamLevel == 1\">公司</span>\r\n <span v-if=\"scope.row.teamLevel == 2\">分厂-车间</span>\r\n <span v-if=\"scope.row.teamLevel == 3\">工序-班组等</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"teamDesc\" label=\"队伍描述\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"principalPhone\" label=\"负责人手机\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column prop=\"attachments\" label=\"相关附件\" show-overflow-tooltip sortable></el-table-column>\r\n <el-table-column label=\"操作\" width=\"200\" align=\"center\" fixed=\"right\">\r\n <template #default=\"scope\">\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <View />\r\n </el-icon>查看\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改',scope.row.id)\">\r\n <el-icon style=\"margin-right: 5px;\">\r\n <EditPen />\r\n </el-icon>修改\r\n </el-button>\r\n <el-button size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row.id)\">\r\n <el-icon>\r\n <Delete />\r\n </el-icon>删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pages\">\r\n <el-pagination\r\n v-if=\"tableData.length == 0 ? false : true\"\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n class=\"mt15\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:currentPage=\"pageIndex\"\r\n background\r\n v-model:page-size=\"pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"total\"\r\n >\r\n </el-pagination>\r\n </div>\r\n </el-card>\r\n <OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n <upData ref=\"upShow\"></upData>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // toRefs,\r\n reactive,\r\n onMounted,\r\n ref,\r\n defineComponent\r\n} from 'vue';\r\nimport {\r\n ElMessageBox,\r\n ElMessage,\r\n} from 'element-plus';\r\nimport {\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n View,\r\n EditPen,\r\n} from '@element-plus/icons-vue'\r\n\r\nimport OpenAdd from '../../contingencyManagement/contingency/component/openAdd.vue'\r\nimport UpData from '../../contingencyManagement/contingency/component/upData.vue';\r\nimport {contingencyApi} from \"../../../api/contingencyManagement/contingency\";\r\n\r\nexport default defineComponent({\r\n name: 'systemUser',\r\n components: {\r\n OpenAdd,\r\n View,\r\n EditPen,\r\n Plus,\r\n Delete,\r\n // Upload,\r\n // Download,\r\n // Refresh,\r\n UpData,\r\n contingencyApi\r\n },\r\n setup() {\r\n // 列表参数\r\n const listQuery = reactive({\r\n pageIndex: 1,\r\n pageSize: 10,\r\n searchParams: {\r\n teamName: \"\",\r\n teamLevel: \"\",\r\n }\r\n })\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n // 列表数据请求\r\n const onSubmit = async () => {\r\n let res = await contingencyApi().getTeamManagementList(listQuery)\r\n if(res.data.code === '200'){\r\n tableData.value = res.data.data;\r\n pageIndex.value = res.data.pageIndex;\r\n pageSize.value = res.data.pageSize;\r\n total.value = res.data.total;\r\n }else{\r\n ElMessage({\r\n showClose: true,\r\n type:'error',\r\n message:res.data.msg\r\n })\r\n }\r\n }\r\n // 重置\r\n const submitReset = () => {\r\n listQuery.searchParams.teamName = '';\r\n listQuery.searchParams.teamLevel = '';\r\n onSubmit();\r\n };\r\n // const warning = ref(true);\r\n const danger = ref(true);\r\n const deleteAll = ref();\r\n const handleSelectionChange = (val: any) => {\r\n let valId = JSON.parse(JSON.stringify(val));\r\n let arr = [];\r\n for (let i = 0; i < valId.length; i++) {\r\n arr.push(valId[i].id);\r\n }\r\n deleteAll.value = arr;\r\n if (val.length == 1) {\r\n // warning.value = false;\r\n danger.value = false;\r\n } else if (val.length == 0) {\r\n // warning.value = true;\r\n danger.value = true;\r\n } else {\r\n // warning.value = true;\r\n danger.value = false;\r\n }\r\n };\r\n\r\n // 上传\r\n // const upShow=ref()\r\n // const upButton=()=>{\r\n // upShow.value.openDialog()\r\n // }\r\n // 打开新增应急队伍弹窗\r\n const addRef = ref();\r\n const onOpenAdd = () => {\r\n addRef.value.openDialog('新建应急队伍管理');\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: boolean) => {\r\n if (e) {\r\n onSubmit();\r\n } else {\r\n onSubmit();\r\n }\r\n };\r\n // 打开修改应急队伍弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '详情') {\r\n addRef.value.openDialog('查看应急队伍管理',row,true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍管理',row,false);\r\n }\r\n };\r\n // 删除用户\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam([data])\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n }).catch(() => {});\r\n };\r\n // 多选删除\r\n const onDeleteAll = () => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeam(deleteAll.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n onSubmit();\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n onSubmit();\r\n }\r\n });\r\n })\r\n .catch(() => {});\r\n };\r\n // 分页\r\n const pageIndex = ref();\r\n const pageSize = ref();\r\n const total = ref();\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n listQuery.pageSize = val;\r\n onSubmit();\r\n };\r\n const onHandleCurrentChange = (val: number) => {\r\n listQuery.pageIndex = val;\r\n onSubmit();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n onSubmit();\r\n });\r\n return {\r\n listQuery,\r\n onSubmit,\r\n // upButton,\r\n // upShow,\r\n onOpenAdd, //新增\r\n addRef,\r\n pageIndex,\r\n pageSize,\r\n total,\r\n onEdit,\r\n handleSelectionChange,\r\n submitReset,\r\n onRowDel,\r\n onMyAdd,\r\n tableData,\r\n onDeleteAll,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n deleteAll,\r\n // warning,\r\n danger,\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box{\r\n padding: 20px;\r\n background-color: #fff;\r\n}\r\n.tableForm{\r\n margin-top: 10px;\r\n}\r\n/*按钮行*/\r\n .button_Line{\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n margin-bottom: 10px;\r\n }\r\n//分页\r\n.pages{\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 15px;\r\n}\r\n.el-form .el-form-item{\r\n margin-bottom: 0px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n//表头\r\n::v-deep .el-table th.el-table__cell {\r\n background-color: #f6f7fa;\r\n font-weight: 400;\r\n color: #909399;\r\n}\r\n.el-table .sort-caret.ascending{\r\n border-bottom-color: #c0c4cc;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue +--- a/src/views/contingencyManagement/contingency/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/contingency/index.vue (date 1660382056717) +@@ -79,7 +79,9 @@ + </el-table-column> + <el-table-column prop="teamDesc" label="队伍描述" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="principalPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column> +- <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column prop="fileList" label="相关附件" show-overflow-tooltip sortable> ++ ++ </el-table-column> + <el-table-column label="操作" width="200" align="center" fixed="right"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> +@@ -179,6 +181,11 @@ + let res = await contingencyApi().getTeamManagementList(listQuery) + if(res.data.code === '200'){ + tableData.value = res.data.data; ++ for(var a = 0;a<tableData.value.length;a++){ ++ if(tableData.value[a].fileList!=null&&tableData.value[a].fileList!=''&&tableData.value[a].fileList.length!=0){ ++ tableData.value[a].fileList = tableData.value[a].fileList[0].fileName ++ } ++ } + pageIndex.value = res.data.pageIndex; + pageSize.value = res.data.pageSize; + total.value = res.data.total; +@@ -389,4 +396,4 @@ + .el-table .sort-caret.ascending{ + border-bottom-color: #c0c4cc; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/contingency/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"120px\"\r\n :disabled=\"disabled\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍名称\" prop=\"teamName\">\r\n <el-input v-model=\"ruleForm.teamName\" placeholder=\"请填写队伍名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍级别\" prop=\"teamLevel\">\r\n <el-select v-model=\"ruleForm.teamLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司\" value=\"1\"></el-option>\r\n <el-option label=\"分厂-车间\" value=\"2\"></el-option>\r\n <el-option label=\"工序-班组等\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"队伍负责人\" prop=\"principalName\">\r\n <el-input v-model=\"ruleForm.principalName\" placeholder=\"请选择\" class=\"input-with-select\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人部门\" prop=\"principalDepartmentId\">\r\n <el-tree-select v-model=\"ruleForm.principalDepartmentId\" :data=\"newTreeList\" class=\"w100\"\r\n :props=\"propse\" clearable placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"负责人手机\" prop=\"principalPhone\">\r\n <el-input v-model=\"ruleForm.principalPhone\" placeholder=\"请填写负责人手机\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"固定电话\" prop=\"telephoneNumber\">\r\n <el-input v-model=\"ruleForm.telephoneNumber\" placeholder=\"请填写固定电话\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"队伍描述\" prop=\"teamDesc\">\r\n <el-input class=\"textarea\" v-model=\"ruleForm.teamDesc\" type=\"textarea\" maxlength=\"150\"\r\n placeholder=\"请填写队伍描述\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"相关附件\" prop=\"fileList\">\r\n <el-upload\r\n v-model:file-list=\"fileList\"\r\n class=\"upload-demo\"\r\n action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n :on-change=\"handleChange\"\r\n >\r\n <el-button type=\"primary\">点击上传</el-button>\r\n <template #tip>\r\n <div class=\"el-upload__tip\">添加相关附件</div>\r\n </template>\r\n </el-upload>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n <el-tab-pane label=\"应急队伍人员\" name=\"first\" >\r\n <el-button type=\"primary\" size=\"default\" @click=\"onAddEmergencyPersonnel\" :disabled=\"disabled\">新增\r\n </el-button>\r\n <el-table\r\n :data=\"tableData\"\r\n style=\"width: 100%; margin-top: 15px\"\r\n ref=\"multipleTableRef\"\r\n :header-cell-style=\"{ background: '#f6f7fa', color: '#909399' }\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-table-column prop=\"jobNumber\" label=\"人员工号\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"name\" label=\"人员名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"phone\" label=\"手机号码\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"position\" label=\"职位\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"250\" align=\"center\">\r\n <template #default=\"scope\">\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('查看应急队伍人员',scope.row.id)\">查看\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onEdit('修改应急队伍人员',scope.row.id)\"\r\n style=\"margin-right: 5px\">编辑\r\n </el-button>\r\n <el-button :disabled=\"disabled\" size=\"small\" @click=\"onRowDel(scope.row.id)\"\r\n style=\"margin-right: 5px\">删除\r\n </el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </el-col>\r\n </el-row>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"onSubmit(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <AddEmergencyPersonnel ref=\"addRef\" @myAdd=\"onMyAdd\"/>\r\n <DailogSearchUserManger ref=\"userRef\" @SearchUser=\"onUser\"/>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import {\r\n reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n // toRefs,\r\n } from 'vue';\r\n import {\r\n ElMessage,\r\n ElMessageBox,\r\n } from 'element-plus';\r\n\r\n import type {\r\n UploadUserFile,\r\n TabsPaneContext,\r\n FormInstance,\r\n FormRules,\r\n } from 'element-plus'\r\n\r\n import {\r\n Search,\r\n FullScreen\r\n } from '@element-plus/icons-vue'\r\n import AddEmergencyPersonnel from \"/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue\";\r\n import DailogSearchUserManger from \"/@/components/DailogSearchUserManger/index.vue\"\r\n import {contingencyApi} from \"/@/api/contingencyManagement/contingency\";\r\n import {goalManagementApi} from \"/@/api/goalManagement\";\r\n // import {releaseDrillPlanApi} from \"/@/api/releaseDrillPlan\";\r\n\r\n\r\n export default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n AddEmergencyPersonnel,\r\n DailogSearchUserManger,\r\n },\r\n setup(prop, {emit}) {\r\n const isShowDialog = ref(false);\r\n const ruleFormRef = ref<FormInstance>();\r\n const ruleForm = ref({\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalName: '',\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n const peopleInsertBtn = ref(false)\r\n const teamId = ref()\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n teamId.value = id\r\n //如果是新增 无法添加人员\r\n if(title == '新建应急队伍管理'){\r\n peopleInsertBtn.value = true\r\n }else{\r\n peopleInsertBtn.value = false\r\n }\r\n if (title == '查看应急队伍管理' || title == '修改应急队伍管理') {\r\n contingencyApi()\r\n .seeEmergencyTeam(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n listApi()\r\n }\r\n });\r\n }\r\n }\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n\r\n //定义树形下拉框\r\n const principalDepartmentId = ref()\r\n const data = ref()\r\n\r\n\r\n\r\n //el-tree-select回显\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n };\r\n const newTreeList = [];\r\n //得到部门树\r\n const department = async () => {\r\n await goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n getTreeList(res.data.data, newTreeList);\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n // 递归树状数据且修改字段名\r\n const getTreeList = (treeList, newTreeList) => {\r\n treeList.map((c) => {\r\n let tempData = {\r\n depName: c.depName,\r\n value: c.depId,\r\n children: [],\r\n };\r\n if (c.children && c.children.length > 0) {\r\n tempData.children = [];\r\n getTreeList(c.children, tempData.children);\r\n }\r\n newTreeList.push(tempData);\r\n });\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n\r\n\r\n\r\n\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const openUser = () => {\r\n userRef.value.openDailog();\r\n };\r\n const onUser = (e: any) => {\r\n ruleForm.value.principalUid = e[0].uid\r\n ruleForm.value.principalName = e[0].realName\r\n };\r\n //定义tabs切换\r\n const activeName = ref('first')\r\n const handleClick = (tab: TabsPaneContext, event: Event) => {\r\n console.log(tab, event)\r\n }\r\n\r\n // 必填项提示\r\n const rules = reactive<FormRules>({\r\n teamName: [\r\n {\r\n required: true,\r\n message: '队伍名称不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n teamLevel: [\r\n {\r\n required: true,\r\n message: '队伍级别不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalUid: [\r\n {\r\n required: true,\r\n message: '队伍负责人不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalDepartmentId: [\r\n {\r\n required: true,\r\n message: '负责人部门不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n principalPhone: [\r\n {\r\n required: true,\r\n message: '负责人手机不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n telephoneNumber: [\r\n {\r\n required: true,\r\n message: '固定电话不能为空',\r\n trigger: 'change',\r\n },\r\n ],\r\n })\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n const onSubmit = async (title: string, formEl: FormInstance | undefined) => {\r\n if (title == '新建应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .addEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n } else if (title == '修改应急队伍管理') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n ruleForm.value.fileList=[]\r\n isShowDialog.value = false;\r\n contingencyApi()\r\n .editEmergencyTeam(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n teamName: '', // 队伍名称\r\n teamLevel: '', // 队伍级别\r\n principalUid: '', // 队伍负责人\r\n principalDepartmentId: '', //负责人部门\r\n principalPhone: '', // 负责人手机\r\n telephoneNumber: '', // 固定电话\r\n teamDesc: '', //队伍描述\r\n fileList: [],\r\n memberList: []\r\n };\r\n }\r\n };\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n formEl.resetFields();\r\n tableData.value=[]\r\n ruleForm.value = {}\r\n };\r\n // 定义表格数据\r\n const tableData = ref([]);\r\n //添加队伍负责人弹窗\r\n const addRef = ref();\r\n const onAddEmergencyPersonnel = () => {\r\n //未添加队伍 无法修改人员\r\n if(peopleInsertBtn.value == true){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加应急队伍',\r\n type: 'warning',\r\n });\r\n }else {\r\n addRef.value.openDialog('新建应急队伍人员','',teamId.value);\r\n }\r\n };\r\n // 请求列表数据\r\n const listApi = async () => {\r\n let res = await contingencyApi().getEmergencyTeamPersonnelList(teamId.value);\r\n if (res.data.code == 200) {\r\n tableData.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n };\r\n // 新增后刷新\r\n const onMyAdd = (e: object) => {\r\n listApi();\r\n };\r\n // 打开修改弹窗\r\n const onEdit = (val: string, row: object) => {\r\n if (val == '查看应急队伍人员') {\r\n addRef.value.openDialog('查看应急队伍人员', row,teamId.value, true);\r\n } else {\r\n addRef.value.openDialog('修改应急队伍人员', row,teamId.value, false);\r\n }\r\n };\r\n // 删除\r\n const onRowDel = (data: any) => {\r\n ElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n }).then(() => {\r\n contingencyApi()\r\n .deleteEmergencyTeamPersonnel(data)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n listApi()\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n listApi()\r\n }\r\n });\r\n })\r\n .catch(() => {\r\n });\r\n };\r\n return {\r\n openDialog,\r\n fileList,\r\n principalDepartmentId,\r\n data,\r\n activeName,\r\n handleClick,\r\n tableData,\r\n Search,\r\n resetForm,\r\n isShowDialog,\r\n ruleFormRef,\r\n ruleForm,\r\n rules,\r\n addRef,\r\n userRef,\r\n titles,\r\n disabled,\r\n propse,\r\n emit,\r\n onSubmit,\r\n openUser,\r\n onAddEmergencyPersonnel,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n onUser,\r\n onMyAdd,\r\n listApi,\r\n onEdit,\r\n onRowDel,\r\n department,\r\n peopleInsertBtn,\r\n teamId,\r\n newTreeList\r\n };\r\n },\r\n });\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .textarea {\r\n height: 168px !important;\r\n }\r\n\r\n .textarea ::v-deep .el-textarea__inner {\r\n height: 168px !important;\r\n }\r\n\r\n ::v-deep .el-table__cell {\r\n font-weight: 400;\r\n }\r\n</style>\r\n\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue +--- a/src/views/contingencyManagement/contingency/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/contingency/component/openAdd.vue (date 1660382056730) +@@ -52,17 +52,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件" prop="fileList"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- :on-change="handleChange" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -142,6 +133,7 @@ + import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" + import {contingencyApi} from "/@/api/contingencyManagement/contingency"; + import {goalManagementApi} from "/@/api/goalManagement"; ++ import uploaderFile from '/@/components/uploaderFile/index.vue'; + // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; + + +@@ -150,6 +142,7 @@ + components: { + AddEmergencyPersonnel, + DailogSearchUserManger, ++ uploaderFile + }, + setup(prop, {emit}) { + const isShowDialog = ref(false); +@@ -188,14 +181,34 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + listApi() + } + }); + } + } + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) +- ++ const fileList = ref([]) ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //定义树形下拉框 + const principalDepartmentId = ref() + const data = ref() +@@ -313,6 +326,9 @@ + } + }; + const onSubmit = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建应急队伍管理') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -346,7 +362,6 @@ + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { +- ruleForm.value.fileList=[] + isShowDialog.value = false; + contingencyApi() + .editEmergencyTeam(ruleForm.value) +@@ -390,6 +405,7 @@ + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); ++ fileList.value = [] + tableData.value=[] + ruleForm.value = {} + }; +@@ -494,7 +510,9 @@ + department, + peopleInsertBtn, + teamId, +- newTreeList ++ newTreeList, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentExpress/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-user-container\">\r\n\t\t<el-card shadow=\"hover\">\r\n\t\t\t<div class=\"system-user-search mb15\">\r\n\t\t\t\t<el-input size=\"default\" v-model=\"listQuery.searchParams.accidentName\" placeholder=\"事故名称\" style=\"max-width: 215px\" />\r\n\t\t\t\t<el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"listApi\"> 查询 </el-button>\r\n\t\t\t\t<el-button size=\"default\" class=\"ml10\" @click=\"submitReset\"> 重置 </el-button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"button_Line\">\r\n\t\t\t\t<div class=\"button_Left\">\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"onOpenAdd\">\r\n\t\t\t\t\t\t<el-icon> <Plus /> </el-icon>新建\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" plain :disabled=\"warning\">\r\n\t\t\t\t\t\t<el-icon> <Edit /> </el-icon>修改\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" @click=\"onDeleteAll\" plain :disabled=\"danger\">\r\n\t\t\t\t\t\t<el-icon> <Delete /> </el-icon>删除\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"button_Right\">\r\n\t\t\t\t\t<!-- <el-button @click=\"upButton\">\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Upload />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Download />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button>\r\n\t\t\t\t\t<el-button>\r\n\t\t\t\t\t\t<el-icon>\r\n\t\t\t\t\t\t\t<Refresh />\r\n\t\t\t\t\t\t</el-icon>\r\n\t\t\t\t\t</el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table :data=\"tableData\" style=\"width: 100%\" ref=\"multipleTableRef\" @selection-change=\"handleSelectionChange\">\r\n\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"55\" />\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentName\" label=\"事故名称\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"deptName\" label=\"事故部门\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrencePlace\" label=\"发生地点\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"occurrenceTime\" label=\"发生时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"accidentCause\" label=\"事故原因\" show-overflow-tooltip sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='1'\">人的不安全行为</div>\r\n\t\t\t\t\t\t<div v-if=\"scope.row.accidentCause=='2'\">物的不安全状态</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"createName\" label=\"创建人\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column align=\"center\" prop=\"gmtModitify\" label=\"更新时间\" show-overflow-tooltip sortable></el-table-column>\r\n\t\t\t\t<el-table-column label=\"操作\" width=\"260\" align=\"center\" fixed=\"right\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<!-- <el-button size=\"small\" text disabled>\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Upload /> </el-icon>上报\r\n\t\t\t\t\t\t</el-button> -->\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('修改', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <EditPen /> </el-icon>修改\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onEdit('详情', scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <View /> </el-icon>详情\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t\t<el-button size=\"small\" text type=\"primary\" @click=\"onDelete(scope.row.id)\">\r\n\t\t\t\t\t\t\t<el-icon style=\"margin-right: 5px\"> <Delete /> </el-icon>删除\r\n\t\t\t\t\t\t</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-if=\"tableData.length == 0 ? false : true\"\r\n\t\t\t\t\tv-model:currentPage=\"pageIndex\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30]\"\r\n\t\t\t\t\t:pager-count=\"5\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</el-card>\r\n\t\t<OpenAdd ref=\"addRef\" @myAdd=\"onMyAdd\" />\r\n\t\t<upData ref=\"upShow\"></upData>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElTable, ElMessage, ElMessageBox } from 'element-plus';\r\nimport { Plus, View, Download, Refresh, EditPen, Edit, Delete, Upload } from '@element-plus/icons-vue';\r\nimport OpenAdd from '/@/views/accidentManagementSystem/accidentExpress/component/openAdd.vue';\r\nimport UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nexport default defineComponent({\r\n\tname: 'index',\r\n\tcomponents: {\r\n\t\tEditPen,\r\n\t\tPlus,\r\n\t\tUpload,\r\n\t\tDownload,\r\n\t\tRefresh,\r\n\t\tEdit,\r\n\t\tDelete,\r\n\t\tUpData,\r\n\t\tOpenAdd,\r\n\t\tView,\r\n\t},\r\n\r\n\tsetup() {\r\n\t\t// 列表参数\r\n\t\tconst listQuery = reactive({\r\n\t\t\tpageIndex: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tsearchParams: {\r\n\t\t\t\taccidentName: '',\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 定义表格数据\r\n\t\tconst tableData = ref([]);\r\n\t\t// 列表数据请求\r\n\t\tconst listApi = async () => {\r\n\t\t\tlet res = await accidentManagementSystemApi().accidentList(listQuery);\r\n\t\t\tif (res.data.code == 200) {\r\n\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\tpageIndex.value = res.data.pageIndex;\r\n\t\t\t\tpageSize.value = res.data.pageSize;\r\n\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t} else {\r\n\t\t\t\tElMessage({\r\n\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst submitReset = () => {\r\n\t\t\tlistQuery.searchParams.accidentName = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页\r\n\t\tconst pageIndex = ref();\r\n\t\tconst pageSize = ref();\r\n\t\tconst total = ref();\r\n\t\t// 分页改变\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\tlistQuery.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 分页未改变\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\tlistQuery.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// 打开新增弹窗\r\n\t\tconst addRef = ref();\r\n\t\tconst onOpenAdd = () => {\r\n\t\t\taddRef.value.openDialog('新建事故快报',false);\r\n\t\t};\r\n\t\t// 新增后刷新\r\n\t\tconst onMyAdd = (e: boolean) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tlistApi();\r\n\t\t\t} else {\r\n\t\t\t\tlistApi();\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (data: any) => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele([data])\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 多选删除\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', '提示', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t.accidentDele(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {});\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst upShow = ref();\r\n\t\tconst upButton = () => {\r\n\t\t\tupShow.value.openDialog();\r\n\t\t};\r\n\r\n\t\t// 打开修改用户弹窗\r\n\t\tconst onEdit = (val: string, row: object) => {\r\n\t\t\tif (val == '详情') {\r\n\t\t\t\taddRef.value.openDialog('查看事故快报',row,true);\r\n\t\t\t} else {\r\n\t\t\t\taddRef.value.openDialog('修改事故快报',row,false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tupButton,\r\n\t\t\tupShow,\r\n\t\t\ttableData,\r\n\t\t\tpageIndex,\r\n\t\t\tpageSize,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonEdit,\r\n\t\t\tonOpenAdd,\r\n\t\t\taddRef,\r\n\t\t\tlistQuery,\r\n\t\t\tlistApi,\r\n\t\t\tsubmitReset,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonMyAdd,\r\n\t\t\tonDelete,\r\n\t\t\tdeletAll,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.table_Box {\r\n\tpadding: 20px;\r\n\tbackground-color: #fff;\r\n}\r\n.tableForm {\r\n\tmargin-top: 10px;\r\n}\r\n/*按钮行*/\r\n.button_Line {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tjustify-content: space-between;\r\n}\r\n//分页\r\n.pages {\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tmargin-top: 15px;\r\n}\r\n::v-deep .el-pagination .el-pager li {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination .el-pager li.is-active {\r\n\tbackground-color: #409eff;\r\n\tcolor: #fff;\r\n}\r\n::v-deep .el-pagination .btn-prev {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n\tcolor: #c0c4cc;\r\n}\r\n::v-deep .el-pagination .btn-next {\r\n\tmargin: 0 5px;\r\n\tbackground-color: #f4f4f5;\r\n\tcolor: #606266;\r\n\tmin-width: 30px;\r\n\tborder-radius: 2px;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/index.vue b/src/views/accidentManagementSystem/accidentExpress/index.vue +--- a/src/views/accidentManagementSystem/accidentExpress/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/accidentManagementSystem/accidentExpress/index.vue (date 1660382056734) +@@ -41,7 +41,8 @@ + <el-table-column align="center" prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column align="center" prop="accidentCause" label="事故原因" show-overflow-tooltip sortable> + <template #default="scope"> + <div v-if="scope.row.accidentCause=='1'">人的不安全行为</div> +@@ -49,7 +50,8 @@ + </template> + </el-table-column> + <el-table-column align="center" prop="createName" label="创建人" show-overflow-tooltip sortable></el-table-column> +- <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable></el-table-column> ++ <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable ++ :formatter="dateFormat"></el-table-column> + <el-table-column label="操作" width="260" align="center" fixed="right"> + <template #default="scope"> + <!-- <el-button size="small" text disabled> +@@ -268,7 +270,16 @@ + addRef.value.openDialog('修改事故快报',row,false); + } + }; +- ++//格式化表格时间 ++ const dateFormat = (row,column) => { ++ // 获取单元格数据 ++ let data = row[column.property]; ++ if(data == null) { ++ return null; ++ } ++ let dt = new Date(data) ++ return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds() ++ }; + return { + upButton, + upShow, +@@ -291,6 +302,7 @@ + onDelete, + deletAll, + onDeleteAll, ++ dateFormat + }; + }, + }); +@@ -343,4 +355,4 @@ + min-width: 30px; + border-radius: 2px; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetEscalation/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<el-tab-pane label=\"检查\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"上报\" name=\"2\"></el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"审核\" name=\"3\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column v-if=\"activeName == 1\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(0)\">检查</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openDai(scope.row.targetDivideDetailList)\">记录</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 2\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom(1)\">上报</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column v-if=\"activeName == 3\" label=\"操作\" align=\"center\" show-overflow-tooltip>\r\n\t\t\t\t\t<template #default>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"jumpFrom\">待审批</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Dailog ref=\"Show\"></Dailog>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport { useRouter } from 'vue-router';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\t// let targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = val.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst activeName = ref<any>('1');\r\n\t\t// 记录弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openDai = (data: any) => {\r\n\t\t\tShow.value.openDailog(data);\r\n\t\t};\r\n\t\t// 流程表单\r\n\t\tconst router = useRouter();\r\n\t\tconst jumpFrom = (data: any) => {\r\n\t\t\trouter.push({\r\n\t\t\t\tpath: '/processForms',\r\n\t\t\t\tquery: {\r\n\t\t\t\t\ttype: data,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tactiveName,\r\n\t\t\ttotal,\r\n\t\t\thandleClick,\r\n\t\t\truleForm,\r\n\t\t\tlistApi,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tresetForm,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tShow,\r\n\t\t\topenDai,\r\n\t\t\trouter,\r\n\t\t\tjumpFrom,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue +--- a/src/views/goalManagement/targetEscalation/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetEscalation/index.vue (date 1660382056737) +@@ -24,7 +24,6 @@ + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> + <el-tab-pane label="检查" name="1"> </el-tab-pane> + <el-tab-pane label="上报" name="2"></el-tab-pane> +- <el-tab-pane label="审核" name="3"></el-tab-pane> + </el-tabs> + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> + <el-table-column label="安全目标指标" align="center" property="qName" sortable /> +@@ -33,18 +32,18 @@ + <el-table-column property="value" label="指标值" align="center" sortable show-overflow-tooltip /> + <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip> + <template #default="scope"> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(0)">检查</el-button> +- <el-button link type="primary" size="default" :icon="View" @click="openDai(scope.row.targetDivideDetailList)">记录</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,1)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,1)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,1)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,1)" >查看审批流程</el-button> + </template> + </el-table-column> + <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(1)">上报</el-button> +- </template> +- </el-table-column> +- <el-table-column v-if="activeName == 3" label="操作" align="center" show-overflow-tooltip> +- <template #default> +- <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">待审批</el-button> ++ <template #default="scope"> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,2)">发起审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,2)">审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,2)">查看审批</el-button> ++ <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,2)" >查看审批流程</el-button> + </template> + </el-table-column> + </el-table> +@@ -61,17 +60,19 @@ + </div> + </div> + <Dailog ref="Show"></Dailog> ++ <TypeDailog ref="TypeD" @onType="typeAlign" /> + </div> + </template> + <script lang="ts"> + import Dailog from './component/Dailog.vue'; ++import TypeDailog from './component/TypeDailog.vue'; + import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; + import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; + import { useRouter } from 'vue-router'; + import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ +- components: { ElButton, ElInput, Dailog }, ++ components: { ElButton, ElInput, Dailog,TypeDailog }, + setup() { + // 搜索条件 + const ruleForm = reactive({ +@@ -80,8 +81,9 @@ + searchParams: { + qName: '', ////安全目标指标 + indexNum: '', ////目标指标编号 +- targetType: '1', ////指标类型 1:年指标 2:月指标 +- divideStatus: '', ////分解状态 1:已分解 2:未分解 ++ targetType: 1, ////指标类型 1:年指标 2:月指标 ++ divideStatus: 1, ////分解状态 1:已分解 2:未分解 ++ relateType: 1, ////关联业务类型 1:目标检查 2:目标上报 + }, + }); + // 重置 +@@ -91,7 +93,7 @@ + }; + const listApi = () => { + goalManagementApi() +- .getTargetMngList(ruleForm) ++ .getworkApproveList(ruleForm) + .then((res) => { + if (res.data.code == 200) { + tableData.value = res.data.data; +@@ -106,7 +108,7 @@ + // + const handleClick = (val: any) => { + // let targetType = JSON.parse(JSON.stringify(val)); +- ruleForm.searchParams.targetType = val.paneName; ++ ruleForm.searchParams.relateType = val.paneName; + listApi(); + }; + onMounted(() => { +@@ -133,20 +135,21 @@ + const activeName = ref<any>('1'); + // 记录弹窗 + const Show = ref(); +- const openDai = (data: any) => { +- Show.value.openDailog(data); ++ const openDai = (data: any,num:number) => { ++ Show.value.openDailog(data,num); + }; +- // 流程表单 +- const router = useRouter(); +- const jumpFrom = (data: any) => { +- router.push({ +- path: '/processForms', +- query: { +- type: data, +- }, +- }); ++ // 发起审批弹窗 ++ const TypeD = ref(); ++ const TypeDailog = (title:string,name:string,id:number,type:number) => { ++ TypeD.value.openDialog(title,name,id,type); + }; ++ const typeAlign=()=>{ ++ listApi(); ++ } + return { ++ TypeD, ++ typeAlign, ++ TypeDailog, + activeName, + total, + handleClick, +@@ -161,8 +164,6 @@ + handleCurrentChange, + Show, + openDai, +- router, +- jumpFrom, + Plus, + Delete, + Upload, +@@ -195,4 +196,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/api/goalManagement/index.ts +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+>import request from '/@/utils/request';\r\nexport function goalManagementApi() {\r\n return {\r\n // 目标设置、目标指标分解列表\r\n getTargetMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置详情\r\n getTargetMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标设置新增或者修改数据\r\n getTargetMngAddOrupdata: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetMng/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标设置删除\r\n getTargetMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标指标分解-新增或者修改数据\r\n gettargetDivideDetail: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDivideDetail/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 统计\r\n getEquipmentInfo: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/equipmentInfo/statistics',\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 分页查询数据\r\n gettargetDutyfileInfoList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutyfileInfo/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 查询单条数据\r\n gettargetDutyfileInfoDetail: (params: number) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标责任书 新增或者修改数据\r\n gettargetDutyfileInfoAddorUpdata: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标责任书 删除\r\n gettargetDutyfileInfoDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutyfileInfo/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 分页查询数据\r\n getrewardPunishmentStandardList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 查询单条数据\r\n getrewardPunishmentStandardDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩标准设定 新增或者修改数据\r\n getrewardPunishmentStandardaddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentStandard/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩标准设定 删除\r\n getrewardPunishmentStandardDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentStandard/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 分页查询数据\r\n getrewardPunishmentList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/rewardPunishmentDetail/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 查询单条数据\r\n getrewardPunishmentDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 奖惩记录 新增或者修改数据\r\n getrewardPunishmentAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 奖惩记录 删除\r\n getrewardPunishmentDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/rewardPunishmentDetail/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 分页查询数据\r\n getexamineMngList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineMng/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 查询单条数据\r\n getexamineMngDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 新增或者修改数据\r\n getexamineMngAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 安全考核管理 删除\r\n getexamineMngDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineMng/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 分页查询数据\r\n getexamineTemplateList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/examineTemplate/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 查询单条数据\r\n getexamineTemplateDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 新增或者修改数据\r\n getexamineTemplateAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 绩效考核管理 考核标准设定 删除\r\n getexamineTemplateDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/examineTemplate/delete`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 分页查询数据\r\n gettargetDutySummaryList: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetDutySummary/page/list',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 查询单条数据\r\n gettargetDutySummaryDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 目标汇总 新增或者修改数据\r\n gettargetDutySummaryAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/addOrUpdate`,\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标汇总 删除\r\n gettargetDutySummaryDelete: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetDutySummary/delete?ids=${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 查询单条数据\r\n gettargetExamineDetail: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/targetExamine/selectOne/${params}`,\r\n method: 'get'\r\n });\r\n },\r\n // 安全目标考核 新增或者修改数据\r\n gettargetExamineAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/targetExamine/addOrUpdate',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 目标检查上报 (有疑问) 新增或者修改数据 ---???\r\n getworkApproveAddOrUpdate: (params: object) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove',\r\n method: 'post',\r\n data: params\r\n });\r\n },\r\n // 部门树\r\n getTreedepartment: () => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + '/department/list',\r\n method: 'post'\r\n });\r\n },\r\n // 人员\r\n getManName: (params: any) => {\r\n return request({\r\n url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`,\r\n method: 'get'\r\n });\r\n }\r\n };\r\n}\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts +--- a/src/api/goalManagement/index.ts (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/api/goalManagement/index.ts (date 1660382056740) +@@ -247,10 +247,50 @@ + data: params + }); + }, +- // 目标检查上报 (有疑问) 新增或者修改数据 ---??? +- getworkApproveAddOrUpdate: (params: object) => { ++ // 目标检查上报 分页查询数据 ++ getworkApproveList: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetMng/checkAndSubimt/list', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 分页查询检查记录 ++ getworkApproveListCheckData: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/page/listCheckData', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 查询单条数据 ++ getworkApproveDetail: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + `/targetDutyWorkApprove/selectOne/${params}`, ++ method: 'get' ++ }); ++ }, ++ ++ // 目标检查上报 新增数据 ++ getworkApproveAdd: (params: object) => { + return request({ +- url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove', ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/add', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 新增数据 ++ getworkApproveUpdata: (params: object) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/update', ++ method: 'post', ++ data: params ++ }); ++ }, ++ // 目标检查上报 删除 ++ getworkApproveDelete: (params: any) => { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/delete', + method: 'post', + data: params + }); +@@ -267,6 +307,18 @@ + return request({ + url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`, + method: 'get' ++ }); ++ }, ++ beforeUploadFile(fileName1: string, fileName2: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/presign?prefixName=' + fileName1 + '&suffixName=' + fileName2, ++ method: 'get' ++ }); ++ }, ++ searchFile(fileName: string) { ++ return request({ ++ url: import.meta.env.VITE_API_URL_OUT + '/minio/file/view?obj=' + fileName, ++ method: 'get' + }); + } + }; +Index: src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"50%\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" :rules=\"rules\" size=\"default\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"disabled\" placeholder=\"请填写事故名称\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentDepartmentId\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\t\t\t\t:data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.occurrencePlace\" :disabled=\"disabled\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.occurrenceTime\" :disabled=\"disabled\" placeholder=\"请填写发生时间\"></el-input>-->\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人的不安全行为\" value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"物的不安全状态\" value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"是否有伤亡\" prop=\"casualties\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.casualties\" :disabled=\"disabled\" @change=\"typeChang\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t\t<el-button v-if=\"ruleForm.casualties\" type=\"primary\" style=\"margin-left: 20px\"\r\n\t\t\t\t\t\t\t\t\t :icon=\"Edit\" @click=\"openDai\" round plain />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故简要经过\" prop=\"accidentBriefProcess\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentBriefProcess\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故简要经过\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因初步分析\" prop=\"accidentCausesPreliminaryAnalysis\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.accidentCausesPreliminaryAnalysis\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写事故原因初步分析\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"应急防范措施\" prop=\"emergencyPrecautions\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.emergencyPrecautions\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写应急防范措施\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故照片\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.fileList\" :disabled=\"disabled\"-->\r\n\t\t\t\t\t\t\t<!--type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileListDemo\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\"\r\n @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<NumberOfCasualties ref=\"ShowUser\"></NumberOfCasualties>\r\n\t\t<CheckTemplate ref=\"Shows\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent, defineEmits, onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen, Edit } from '@element-plus/icons-vue';\r\nimport NumberOfCasualties from '/@/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport CheckTemplate from '/@/components/checkTemplate/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tCheckTemplate,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tNumberOfCasualties,\r\n\t\tuploaderImg,\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\temergencyPrecautions: '',\r\n\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\taccidentBriefProcess: '',\r\n\t\t\tcasualties: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\toccurrenceTime: '',\r\n\t\t\toccurrencePlace: '',\r\n\t\t\taccidentDepartmentId: '',\r\n\t\t\taccidentName: '',\r\n\t\t\tfileList: [],\r\n\t\t\tid: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看事故快报' || title == '修改事故快报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.accidentScarh(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\tconst fileListDemo = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'food.jpeg',\r\n\t\t\t\turl: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',\r\n\t\t\t},\r\n\t\t]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故名称不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故部门不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrencePlace: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '发生地点不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\toccurrenceTime: [{ type: 'date', required: true, message: '发生时间不能为空', trigger: 'blur' }],\r\n\t\t\taccidentCause: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcasualties: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '是否有伤亡不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentBriefProcess: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故简要经过不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentCausesPreliminaryAnalysis: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故原因初步分析不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\temergencyPrecautions: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '应急防范措施不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\t// 子传父\r\n\t\t// const emit=defineEmits(['myAdd'])\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.id = null;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故快报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList = [\r\n\t\t\t\t\t\t\t// {\r\n\t\t\t\t\t\t\t// \tfileUrl: 'url',\r\n\t\t\t\t\t\t\t// \tfileName: 'name',\r\n\t\t\t\t\t\t\t// },\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.accidentView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t}\r\n\t\t\truleForm.value = {\r\n\t\t\t\taccidentExpressId: '',\r\n\t\t\t\temergencyPrecautions: '',\r\n\t\t\t\taccidentCausesPreliminaryAnalysis: '',\r\n\t\t\t\taccidentBriefProcess: '',\r\n\t\t\t\tcasualties: '',\r\n\t\t\t\taccidentCause: '',\r\n\t\t\t\toccurrenceTime: '',\r\n\t\t\t\toccurrencePlace: '',\r\n\t\t\t\taccidentDepartmentId: '',\r\n\t\t\t\taccidentName: '',\r\n\t\t\t\tfileList: [],\r\n\t\t\t};\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tconsole.log(ruleForm);\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 是否有伤亡弹窗\r\n\t\tconst typeChang = () => {\r\n\t\t\tconsole.log('tag', ruleForm);\r\n\t\t};\r\n\t\tconst ShowUser = ref();\r\n\t\tconst openDai = () => {\r\n if(ruleForm.value.id==null||ruleForm.value.id==''){\r\n ElMessage({\r\n showClose: true,\r\n message: '请先添加事故快报',\r\n type: 'info',\r\n });\r\n }else {\r\n ShowUser.value.openDialog(ruleForm.value.id, disabled.value);\r\n }\r\n\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tShowUser,\r\n\t\t\ttypeChang,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\tEdit,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenDai,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tcloseDialog,\r\n\t\t\tfileListDemo,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue (date 1660382056743) +@@ -1,6 +1,7 @@ + <template> + <div class="system-edit-user-container"> +- <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> ++ <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" ++ destroy-on-close @close="closeDialog(ruleFormRef)"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px"> + <el-row :gutter="35"> +@@ -94,7 +95,8 @@ + <el-form-item label="事故照片" prop="fileList"> + <!--<el-input v-model="ruleForm.fileList" :disabled="disabled"--> + <!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <uploaderImg :fileList="fileListDemo"></uploaderImg> ++ <uploaderImg :fileList="fileList" :disabled="disabled" ++ :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg> + </el-form-item> + </el-col> + </el-row> +@@ -157,7 +159,7 @@ + const titles = ref(); + const disabled = ref(); + // 打开弹窗 +- const openDialog = (title: string, id: number, type: boolean) => { ++ const openDialog = async (title: string, id: number, type: boolean) => { + isShowDialog.value = true; + titles.value = title; + disabled.value = type; +@@ -167,24 +169,39 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); +- const fileListDemo = ref<UploadUserFile[]>([ +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- { +- name: 'food.jpeg', +- url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', +- }, +- ]); ++ const fileList = ref([]); ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 可选择树 + const treeSelect = ref(); + +@@ -292,6 +309,9 @@ + // const emit=defineEmits(['myAdd']) + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故快报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -327,12 +347,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList = [ +- // { +- // fileUrl: 'url', +- // fileName: 'name', +- // }, +- ]; + accidentManagementSystemApi() + .accidentView(ruleForm.value) + .then((res) => { +@@ -380,6 +394,7 @@ + }; + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value = [] + console.log(ruleForm); + isShowDialog.value = false; + }; +@@ -459,7 +474,7 @@ + getTreeList, + newTreeList, + closeDialog, +- fileListDemo, ++ successUploader + }; + }, + }); +Index: src/views/goalManagement/targetEscalation/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"记录\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" label=\"序号\" type=\"index\" width=\"80\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"dutyDepartmentId\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makerDepartmentId\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"value\" label=\"检查值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"commitPersonId\" label=\"检查人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"makeDate\" label=\"检查时间\" />\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst tableData = ref();\r\n\t\tconst openDailog = (data: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\t// console.log(data)\r\n\t\t\ttableData.value = data;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdialogVisible,\r\n\t\t\ttableData,\r\n\t\t\topenDailog,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue +--- a/src/views/goalManagement/targetEscalation/component/Dailog.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue (date 1660382056760) +@@ -1,15 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="记录" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="查看审批流程" width="50%" draggable> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-table :data="tableData" style="width: 100%"> +- <el-table-column align="center" label="序号" type="index" width="80" /> +- <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> +- <el-table-column align="center" prop="value" label="考核指标" /> +- <el-table-column align="center" prop="makerDepartmentId" label="制定部门" /> +- <el-table-column align="center" prop="makeDate" label="制定日期" /> +- <el-table-column align="center" prop="value" label="检查值" /> +- <el-table-column align="center" prop="commitPersonId" label="检查人" /> +- <el-table-column align="center" prop="makeDate" label="检查时间" /> ++ <el-table-column property="workName" label="审批人" sortable></el-table-column> ++ <el-table-column property="title" label="审批标题" sortable></el-table-column> ++ <el-table-column property="approvePersonName" label="编写人" sortable></el-table-column> ++ <el-table-column property="approveMemo" label="审批意见" sortable></el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +@@ -22,14 +18,28 @@ + <script lang="ts"> + import { defineComponent, reactive, ref } from 'vue'; + import { FullScreen } from '@element-plus/icons-vue'; ++import { goalManagementApi } from '/@/api/goalManagement'; + export default defineComponent({ + setup() { + const dialogVisible = ref(false); ++ const form = ref({ ++ pageSize: 10, ++ pageIndex: 1, ++ searchParams: { ++ relateId: '', ////检查记录ID ++ relateType:"", ++ }, ++ }); + const tableData = ref(); +- const openDailog = (data: any) => { ++ const openDailog = (data: any,type:number) => { + dialogVisible.value = true; +- // console.log(data) +- tableData.value = data; ++ form.value.searchParams.relateId=data ++ form.value.searchParams.relateType=type ++ goalManagementApi().getworkApproveListCheckData(form.value).then(res=>{ ++ if(res.data.code==200){ ++ tableData.value=res.data.data ++ } ++ }) + }; + //全屏 + const full = ref(false); +@@ -46,6 +56,7 @@ + openDailog, + full, + toggleFullscreen, ++ form, + FullScreen, + }; + }, +Index: src/views/goalManagement/Incentivestandard/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-select v-model=\"ruleForm.searchParams.standardType\" size=\"default\" style=\"width: 100%\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<el-option label=\"奖励\" value=\"1\" />\r\n\t\t\t\t\t\t\t<el-option label=\"惩罚\" value=\"2\" />\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\" >新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"warning\" :disabled=\"warning\" plain :icon=\"EditPen\" @click=\"openD\">修改 </el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"danger\" :disabled=\"danger\" :icon=\"Delete\" plain @click=\"handleSelectionChange\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column property=\"qname\" align=\"center\" label=\"奖惩名称\" sortable />\r\n\t\t\t\t<el-table-column property=\"name\" align=\"center\" label=\"奖惩类型\" sortable>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 1\">奖励</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.standardType == 2\">惩罚</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"content\" label=\"奖惩内容\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"reason\" label=\"依据\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看 </el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除 </el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<!-- <upData ref=\"upShow\"></upData> -->\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, upData, DailogAdd },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tstandardType: '', ////奖惩类型 1:奖励 2:惩罚\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.standardType = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getrewardPunishmentStandardList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.standardType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.standardType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr;\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getrewardPunishmentStandardDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/Incentivestandard/index.vue b/src/views/goalManagement/Incentivestandard/index.vue +--- a/src/views/goalManagement/Incentivestandard/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/Incentivestandard/index.vue (date 1660382056764) +@@ -27,7 +27,7 @@ + <div class="btns"> + <div> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')" >新建</el-button> +- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> ++ <!-- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> --> + <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="handleSelectionChange">删除</el-button> + </div> + <div> +@@ -279,4 +279,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"769px\" draggable :fullscreen=\"full\" @close=\"closeDialog(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" label-width=\"120px\" :rules=\"rules\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人姓名\" prop=\"declareUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.declareUserName\" :disabled=\"disabled\" placeholder=\"请填写申报人姓名\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人性别\" prop=\"declareUserGender\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.declareUserGender\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">男</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">女</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报人部门\" placeholder=\"请选择\" prop=\"declareDepartmentId\">\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"ruleForm.declareDepartmentId\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t:data=\"newTreeList\" :props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故名称\" prop=\"accidentName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"工伤类型\" prop=\"workInjuryType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.workInjuryType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻微伤\" value=\"轻微伤\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"轻伤\" value=\"轻伤\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"申报日期\" prop=\"declareDate\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.declareDate\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"损失工时\" prop=\"lostTime\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.lostTime\" :disabled=\"disabled\" placeholder=\"请填写损失工时\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊医院\" prop=\"visitHospital\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitHospital\" :disabled=\"disabled\" placeholder=\"请填写就诊医院\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"就诊结果\" prop=\"visitResult\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.visitResult\" :disabled=\"disabled\" placeholder=\"请填写就诊结果\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关附件\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"注意事项\" prop=\"mattersNeedingAttention\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.mattersNeedingAttention\" :disabled=\"disabled\" placeholder=\"请填写注意事项\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"材料是否齐全\" prop=\"completeMaterials\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"ruleForm.completeMaterials\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"false\">否</el-radio>\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"true\">是</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"备注\" prop=\"remark\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.remark\" :disabled=\"disabled\" type=\"textarea\" placeholder=\"请填写备注\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"showRef\" />\r\n\t\t<userSelections ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n\treactive,\r\n\tref,\r\n\tdefineComponent,\r\n\tonMounted\r\n} from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance,FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport UserSelections from '/@/components/userSelections/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tUserSelections,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\tdeclareUserName: '',\r\n\t\t\tdeclareUserGender: '',\r\n\t\t\tdeclareDepartmentId: '',\r\n\t\t\taccidentName:'',\r\n\t\t\taccidentExpressId: '',\r\n\t\t\tworkInjuryType: '',\r\n\t\t\tdeclareDate: '',\r\n\t\t\tlostTime: '',\r\n\t\t\tvisitHospital: '',\r\n\t\t\tvisitResult: '',\r\n\t\t\tmattersNeedingAttention: '',\r\n\t\t\tcompleteMaterials: '',\r\n\t\t\tremark: '',\r\n\t\t\tfileList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfileName: '',\r\n\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif (title == '查看工伤申报' || title == '修改工伤申报') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentManagementSystem(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\tconst tree = [\r\n\t\t];\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\r\n\t\t];\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t// 关闭弹窗\r\n\t\tconst closeDialog = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t\tisShowDialog.value = false;\r\n\t\t};\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdeclareUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人姓名不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareUserGender: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人性别不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报人部门不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\taccidentName: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '事故名称不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tworkInjuryType: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '工伤类型不能为空',\r\n\t\t\t\t trigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tdeclareDate: [\r\n\t\t\t\t{\r\n\t\t\t\t required: true,\r\n\t\t\t\t message: '申报日期不能为空',\r\n\t\t\t\t trigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t ],\r\n\t\t\tlostTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '损失工时不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitHospital: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊医院不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvisitResult: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '就诊结果不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmattersNeedingAttention: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '注意事项不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcompleteMaterials: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '材料状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tremark: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '备注不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\t// 事故名称弹窗\r\n\t\tconst showRef = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tshowRef.value.openDailog();\r\n\t\t};\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value.accidentName = item[0].accidentName\r\n\t\t\truleForm.value.occurrenceTime = item[0].occurrenceTime\r\n\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tif (title == '新建工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\tdelete ruleForm.value.id\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workAdd(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改工伤申报') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\truleForm.value.fileList=[]\r\n\t\t\t\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\t\t\t\tdelete ruleForm.value.occurrenceTime\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.workView(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\tdeclareUserName: '',\r\n\t\t\t\t\tdeclareUserGender: '',\r\n\t\t\t\t\tdeclareDepartmentId: '',\r\n\t\t\t\t\taccidentExpressId: '',\r\n\t\t\t\t\tworkInjuryType: '',\r\n\t\t\t\t\tdeclareDate: '',\r\n\t\t\t\t\tlostTime: '',\r\n\t\t\t\t\tvisitHospital: '',\r\n\t\t\t\t\tvisitResult: '',\r\n\t\t\t\t\tmattersNeedingAttention: '',\r\n\t\t\t\t\tcompleteMaterials: '',\r\n\t\t\t\t\tremark: '',\r\n\t\t\t\t\tfileList: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfileName: '',\r\n\t\t\t\t\t\t\tfileUrl: '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDialog();\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdaiInpt,\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\ttree,\r\n\t\t\tshowRef,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\tonSelectItem,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tnewTreeList,\r\n\t\t\tpropse,\r\n\t\t\tcloseDialog,\r\n\t\t\tuploaderImg\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue (date 1660382056767) +@@ -81,7 +81,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="相关附件"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <uploaderImg :fileList="fileList" :name="INCIDENT_MANAGE" ++ @successUploader="successUploader" :disabled="disabled"></uploaderImg> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -184,10 +185,35 @@ + .then((res) => { + if (res.data.code == 200) { + ruleForm.value = res.data.data; ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ await goalManagementApi() ++ .searchFile(fileList.value[a].fileName) ++ .then((res) => { ++ fileList.value[a].url = res.data ++ }) ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref(''); + // 上传附件 +@@ -241,6 +267,7 @@ + // 关闭弹窗 + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); ++ fileList.value=[] + isShowDialog.value = false; + }; + // 必填项提示 +@@ -346,12 +373,14 @@ + }; + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建工伤申报') { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + delete ruleForm.value.id +@@ -384,7 +413,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + isShowDialog.value = false; +- ruleForm.value.fileList=[] + delete ruleForm.value.accidentName + delete ruleForm.value.occurrenceTime + accidentManagementSystemApi() +@@ -491,7 +519,9 @@ + newTreeList, + propse, + closeDialog, +- uploaderImg ++ uploaderImg, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/component/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"目标考核\" width=\"70%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" :disabled=\"disabled\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.year\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" disabled />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t<el-tab-pane label=\"目标指标分解\" name=\"1\">\r\n <el-button type=\"primary\" size=\"default\" @click=\"daiAdd('新增')\" :disabled=\"disabled\">新增</el-button>\r\n </el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<el-table :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t<el-table-column align=\"center\" type=\"index\" label=\"序号\" width=\"70\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"责任部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"name\" label=\"考核指标\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定部门\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"制定日期\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报值\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"上报时间\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核结果\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核人\" />\r\n\t\t\t<el-table-column align=\"center\" prop=\"address\" label=\"考核时间\" />\r\n\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t<el-button link type=\"primary\" @click=\"daiAdd('修改', scope.row)\">查看</el-button>\r\n\t\t\t\t</template>\r\n\t\t\t</el-table-column>\r\n\t\t</el-table>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"dialogVisible = false\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"onNumber\"></DailogSearch>\r\n <DailogAdd ref=\"Show\" @onAdd=\"add\"></DailogAdd>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';\r\nimport DailogAdd from './DailogAdd.vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport {deepClone} from \"/@/utils/other\";\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch ,DailogAdd},\r\n\tsetup() {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({});\r\n\t\tconst targetType = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst titles = ref();\r\n\t\tconst openDailog = (title: string, type: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\ttargetType.value = type;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改') {\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onNumber = (e: object) => {\r\n\t\t\tform.value = e;\r\n\t\t};\r\n\t\t// 导航\r\n\t\tconst activeName = ref('1');\r\n\t\t// 表格\r\n\t\tconst tableData = ref([]);\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog(targetType.value);\r\n\t\t};\r\n\r\n // 新增弹窗\r\n const index=ref<any>()\r\n const Show = ref();\r\n const daiAdd = (title: string, data: any) => {\r\n // index.value = formUp.targetDivideDetailList.indexOf(data);\r\n Show.value.openDailog(title, data);\r\n };\r\n const formUp = reactive({\r\n targetId: '', //关联的目标指标/外键\r\n delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开\r\n // targetDivideDetailList: [], //目标指标分解列表\r\n });\r\n\r\n const add = (val: any) => {\r\n const item = deepClone(val)\r\n if(index.value==-1){\r\n formUp.targetDivideDetailList.push(item);\r\n }else{\r\n formUp.targetDivideDetailList[index.value] = item;\r\n }\r\n\r\n // let obj=JSON.parse(JSON.stringify(form.value))\r\n };\r\n\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tform,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\ttargetType,\r\n\t\t\tonNumber,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\tactiveName,\r\n\t\t\ttableData,\r\n\t\t\tShows,\r\n\t\t\tdaiInpt,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n daiAdd,\r\n index,\r\n Show,\r\n formUp,\r\n add,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue +--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue (date 1660382056770) +@@ -1,5 +1,5 @@ + <template> +- <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable> ++ <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" label-width="120px"> + <el-row> +@@ -34,27 +34,38 @@ + <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button> + </el-tab-pane> + </el-tabs> +- <el-table :data="tableData" style="width: 100%"> ++ <el-table :data="formUp.examineList" style="width: 100%"> + <el-table-column align="center" type="index" label="序号" width="70" /> +- <el-table-column align="center" prop="date" label="责任部门" /> +- <el-table-column align="center" prop="name" label="考核指标" /> +- <el-table-column align="center" prop="address" label="制定部门" /> +- <el-table-column align="center" prop="address" label="制定日期" /> +- <el-table-column align="center" prop="address" label="上报值" /> +- <el-table-column align="center" prop="address" label="上报时间" /> +- <el-table-column align="center" prop="address" label="考核结果" /> +- <el-table-column align="center" prop="address" label="考核人" /> +- <el-table-column align="center" prop="address" label="考核时间" /> ++ <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> ++ <el-table-column align="center" prop="examineValue" label="考核指标" /> ++ <el-table-column align="center" prop="makerDepartmentName" label="制定部门" /> ++ <el-table-column align="center" prop="makeDate" label="制定日期" /> ++ <el-table-column align="center" prop="uploadValue" label="上报值" /> ++ <el-table-column align="center" prop="uploadDate" label="上报时间" /> ++ <el-table-column align="center" prop="examineResult" label="考核结果" > ++ <template #default="scope"> ++ <div v-if="scope.row.examineResult==1"> ++ 合格 ++ </div> ++ <div v-if="scope.row.examineResult==2"> ++ 不合格 ++ </div> ++ </template> ++ </el-table-column> ++ <el-table-column align="center" prop="examinePersonName" label="考核人" /> ++ <el-table-column align="center" prop="examineDate" label="考核时间" /> + <el-table-column align="center" label="操作"> + <template #default="scope"> +- <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('查看', scope.row)">查看</el-button> ++ <el-button link type="primary" @click="daiAdd('修改', scope.row)">修改</el-button> ++ <el-button link type="primary" @click="Delete(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + <template #footer> + <span class="dialog-footer"> +- <el-button @click="dialogVisible = false" size="default">关闭</el-button> +- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> ++ <el-button @click="closeDialog" size="default">关闭</el-button> ++ <el-button type="primary" @click="submitForm" size="default">确定</el-button> + </span> + </template> + </el-dialog> +@@ -84,15 +95,62 @@ + disabled.value = title == '查看' ? true : false; + if (title == '查看' || title == '修改') { + goalManagementApi() +- .getTargetMngDetail(id) ++ .gettargetExamineDetail(id) + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ formUp.examineList = res.data.data.examineList ++ } else { ++ ElMessage.error(res.data.msg); ++ } ++ }); ++ } ++ }; ++ const closeDialog = () => { ++ form.value = {} ++ formUp.examineList = [] ++ dialogVisible.value = false ++ }; ++ const submitForm = () => { ++ // formUp.delTargetDivideDetails = arr.value.toString(); ++ // formUp.targetId = form.value.id; ++ dialogVisible.value = false; ++ for(let i=0;i<formUp.examineList.length;i++){ ++ delete formUp.examineList[i].dutyDepartmentName ++ delete formUp.examineList[i].makerDepartmentName ++ } ++ formUp.id = form.value.id ++ formUp.delIds = arr.value.toString(); ++ goalManagementApi() ++ .gettargetExamineAddOrUpdate(formUp) ++ .then((res) => { ++ if (res.data.code == 200) { ++ ElMessage({ ++ message: res.data.msg, ++ type: 'success', ++ }); ++ emit('addList'); + } else { + ElMessage.error(res.data.msg); + } + }); +- } ++ form.value = { ++ qName: '', ++ indexNum: '', ++ year: '', ++ value: '', ++ examineList: [], ++ }; ++ tableData.value = []; ++ formUp.targetId = ''; ++ formUp.delTargetDivideDetails = ''; ++ formUp.examineList = []; ++ }; ++ const arr = ref([]); ++ // 删除 ++ const Delete = (data: any) => { ++ formUp.examineList.splice(form.value.examineList.indexOf(data), 1); ++ arr.value.push(data.id); + }; + const onNumber = (e: object) => { + form.value = e; +@@ -107,29 +165,30 @@ + Shows.value.openDailog(targetType.value); + }; + +- // 新增弹窗 +- const index=ref<any>() +- const Show = ref(); +- const daiAdd = (title: string, data: any) => { +- // index.value = formUp.targetDivideDetailList.indexOf(data); +- Show.value.openDailog(title, data); +- }; +- const formUp = reactive({ +- targetId: '', //关联的目标指标/外键 +- delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 +- // targetDivideDetailList: [], //目标指标分解列表 +- }); ++ // 新增弹窗 ++ const index=ref<any>() ++ const Show = ref(); ++ const daiAdd = (title: string, data: any) => { ++ index.value = formUp.examineList.indexOf(data); ++ Show.value.openDailog(title, data); ++ }; ++ const formUp = reactive({ ++ targetId: '', //关联的目标指标/外键 ++ delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 ++ examineList: [], //目标指标分解列表 ++ }); + +- const add = (val: any) => { +- const item = deepClone(val) +- if(index.value==-1){ +- formUp.targetDivideDetailList.push(item); +- }else{ +- formUp.targetDivideDetailList[index.value] = item; +- } +- +- // let obj=JSON.parse(JSON.stringify(form.value)) +- }; ++ const add = (val: any) => { ++ const item = deepClone(val) ++ if(index.value==-1){ ++ ++ formUp.examineList.push(item); ++ }else{ ++ formUp.examineList[index.value] = item; ++ } ++ console.log(formUp) ++ // let obj=JSON.parse(JSON.stringify(form.value)) ++ }; + + //全屏 + const full = ref(false); +@@ -156,11 +215,14 @@ + full, + toggleFullscreen, + FullScreen, +- daiAdd, +- index, +- Show, +- formUp, +- add, ++ daiAdd, ++ index, ++ Show, ++ formUp, ++ add, ++ closeDialog, ++ submitForm, ++ Delete + }; + }, + }); +Index: src/views/goalManagement/targetSettings/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.qName\" size=\"default\" placeholder=\"安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" size=\"default\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"16\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<el-tabs v-model=\"ruleForm.searchParams.targetType\" class=\"demo-tabs\" @tab-click=\"handleClick\">\r\n\t\t\t\t<div class=\"btns\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t\t<el-button type=\"danger\" :disabled=\"danger\" size=\"default\" @click=\"onDeleteAll\" :icon=\"Delete\" plain>删除</el-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Upload\" @click=\"upButton\"></el-button>\r\n <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(年)\" name=\"1\"> </el-tab-pane>\r\n\t\t\t\t<el-tab-pane label=\"目标定制(月)\" name=\"2\"></el-tab-pane>\r\n\t\t\t</el-tabs>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"目标指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"level\" label=\"指标级别\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"completeDate\" label=\"完成期限\" align=\"center\" :formatter=\"timeDate\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"状态\" align=\"center\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 1\">已分解</span>\r\n\t\t\t\t\t\t<span v-if=\"scope.row.divideStatus == 2\">未分解</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<dailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></dailogAdd>\r\n\t\t\t<upData ref=\"upShow\"></upData>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport dailogAdd from './component/dailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport upData from '../../../components/updata/updata.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, dailogAdd, upData },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst small = ref(false);\r\n\t\tconst disabled = ref(false);\r\n\t\tconst background = ref(false);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDialog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\t// const warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\t// warning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\t// warning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 上传\r\n\t\t// const upShow = ref();\r\n\t\t// const upButton = () => {\r\n\t\t// \tupShow.value.openDialog();\r\n\t\t// };\r\n\t\treturn {\r\n\t\t\ttimeDate,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\thandleClick,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\t// upShow,\r\n\t\t\t// upButton,\r\n\t\t\tsmall,\r\n\t\t\tdisabled,\r\n\t\t\tbackground,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tonAddorUpdata,\r\n\t\t\tonDelete,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tdeletAll,\r\n\t\t\tdanger,\r\n\t\t\tonDeleteAll,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 0px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue +--- a/src/views/goalManagement/targetSettings/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetSettings/index.vue (date 1660382056773) +@@ -102,6 +102,7 @@ + const resetForm = () => { + ruleForm.searchParams.qName = ''; + ruleForm.searchParams.indexNum = ''; ++ listApi() + }; + const listApi = () => { + goalManagementApi() +Index: src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable @close=\"resetForm(ruleFormRef)\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\" ref=\"ruleFormRef\" :rules=\"rules\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"责任部门\" prop=\"dutyDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.dutyDepartmentId\" check-strictly=\"true\" :data=\"data\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"考核指标\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.value\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"制定人部门\" prop=\"makerDepartmentId\" size=\"default\">\r\n\t\t\t\t\t\t<el-tree-select v-model=\"form.makerDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"制定日期\" prop=\"makeDate\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"上报值\" prop=\"commitPersonName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.commitPersonName\">\r\n<!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"上报时间\" prop=\"makeDate\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n\t\t\t</el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核结果\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <!--\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>-->\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\">\r\n <el-form-item label=\"考核人\" prop=\"commitPersonName\" size=\"default\">\r\n <el-input v-model=\"form.commitPersonName\">\r\n <template #append> <el-button :icon=\"Search\" @click=\"openUser\" /> </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-row>\r\n <el-col :span=\"11\">\r\n <el-form-item label=\"考核时间\" prop=\"commitPersonName\" size=\"default\">\r\n <el-date-picker v-model=\"form.makeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"11\" :offset=\"2\"></el-col>\r\n </el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearchUser ref=\"Show\" @SearchUser=\"onUser\"></DailogSearchUser>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive, onMounted } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearchUser },\r\n\tsetup(props, { emit }) {\r\n\t\tconst ruleFormRef = ref<FormInstance>()\r\n\t\tconst form = ref({\r\n\t\t\tdutyDepartmentId: '', ////责任部门/外键\r\n\t\t\tmakerDepartmentId: '', ////制定人部门/外键\r\n\t\t\tcommitPersonId: '', ////上报人/外键\r\n\t\t\tcommitPersonName: '',\r\n\t\t\tvalue: '', ////考核指标值\r\n\t\t\tmakeDate: '', ////制定日期\r\n\t\t});\r\n\t\t//部门\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\tconst disabled = ref(false);\r\n\t\t// 开启弹窗\r\n\t\tconst titles = ref();\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst openDailog = (title: string, data: any) => {\r\n\t\t\ttitles.value = `${title}目标考核`;\r\n\t\t\tif (title == '查看') {\r\n\t\t\t\tdisabled.value = true;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else if (title == '修改') {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t\tform.value = data;\r\n\t\t\t} else {\r\n\t\t\t\tdisabled.value = false;\r\n\t\t\t}\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 开启用户弹窗\r\n\t\tconst Show = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tShow.value.openDailog();\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tdutyDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '责任部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakerDepartmentId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定人部门不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '上报人不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '考核指标值不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'number',\r\n\t\t\t\t\tmessage: '考核指标值只能为数字类型',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmakeDate: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '制定日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcommitPersonName: [],\r\n\t\t});\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\temit('onAdd', form.value);\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\t// handleClose(formEl)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\t// console.log(formEl);\r\n\t\t\tif (!formEl) return\r\n\t\t\tformEl.resetFields();\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value={}\r\n\t\t};\r\n\t\t// const handleClose = (formEl: any) => {\r\n\t\t// \tformEl.resetFields();\r\n\t\t// };\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\tconst onUser = (e: any) => {\r\n\t\t\tconsole.log(e)\r\n\t\t\tform.value.commitPersonId = e.uid;\r\n\t\t\tform.value.commitPersonName = e.realName;\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\t// handleClose,\r\n\t\t\tform,\r\n\t\t\tpropse,\r\n\t\t\tdepartment,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\tShow,\r\n\t\t\topenUser,\r\n\t\t\tSearch,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tdata,\r\n\t\t\tonUser,\r\n\t\t\truleFormRef,\r\n\t\t\trules,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +--- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue (date 1660382056793) +@@ -5,19 +5,20 @@ + <el-row> + <el-col :span="11"> + <el-form-item label="责任部门" prop="dutyDepartmentId" size="default"> +- <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核指标" prop="value" size="default"> +- <el-input v-model.number="form.value" /> ++ <el-form-item label="考核指标" prop="examineValue" size="default"> ++ <el-input v-model.number="form.examineValue" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="制定人部门" prop="makerDepartmentId" size="default"> +- <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> ++ <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" ++ @current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +@@ -28,29 +29,30 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="上报值" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="上报值" prop="uploadValue" size="default"> ++ <el-input v-model="form.uploadValue"> + <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="上报时间" prop="makeDate" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="上报时间" prop="uploadDate" size="default"> ++ <el-date-picker v-model="form.uploadDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核结果" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> +- <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> +- </el-input> ++ <el-form-item label="考核结果" prop="examineResult" size="default"> ++ <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%"> ++ <el-option label="合格" :value="1" /> ++ <el-option label="不合格" :value="2" /> ++ </el-select> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> +- <el-form-item label="考核人" prop="commitPersonName" size="default"> +- <el-input v-model="form.commitPersonName"> ++ <el-form-item label="考核人" prop="examinePersonName" size="default"> ++ <el-input v-model="form.examinePersonName"> + <template #append> <el-button :icon="Search" @click="openUser" /> </template> + </el-input> + </el-form-item> +@@ -58,8 +60,8 @@ + </el-row> + <el-row> + <el-col :span="11"> +- <el-form-item label="考核时间" prop="commitPersonName" size="default"> +- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-form-item label="考核时间" prop="examineDate" size="default"> ++ <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> +@@ -67,7 +69,7 @@ + </el-form> + <template #footer> + <span class="dialog-footer"> +- ++ + <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> + <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button> + </span> +@@ -87,12 +89,15 @@ + setup(props, { emit }) { + const ruleFormRef = ref<FormInstance>() + const form = ref({ +- dutyDepartmentId: '', ////责任部门/外键 +- makerDepartmentId: '', ////制定人部门/外键 +- commitPersonId: '', ////上报人/外键 +- commitPersonName: '', +- value: '', ////考核指标值 +- makeDate: '', ////制定日期 ++ "dutyDepartmentId": '', ////责任部门id/外键 ++ "examineDate": '', ////考核时间 ++ "examinePersonId": '', ////考核人ID/外键 ++ "examineResult": '', ////考核结果 1:合格 2:不合格 ++ "examineValue": '', ////考核指标 ++ "makeDate": '', ////制定日期 ++ "makerDepartmentId": '', ////制定部门/外键 ++ "uploadDate": '', ////上报时间 ++ "uploadValue": "", ////上报值 + }); + //部门 + const department = () => { +@@ -158,7 +163,7 @@ + trigger: 'blur', + }, + ], +- value: [ ++ examineValue: [ + { + required: true, + message: '考核指标值不能为空', +@@ -179,6 +184,13 @@ + ], + commitPersonName: [], + }); ++ const dutyName=(data:any)=>{ ++ form.value.dutyDepartmentName=data.depName ++ } ++ const makerDepartmentName=(data:any)=>{ ++ form.value.makerDepartmentName=data.depName ++ } ++ + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -214,8 +226,8 @@ + const data = ref(); + const onUser = (e: any) => { + console.log(e) +- form.value.commitPersonId = e.uid; +- form.value.commitPersonName = e.realName; ++ form.value.examinePersonId = e.uid; ++ form.value.examinePersonName = e.realName; + }; + return { + disabled, +@@ -238,6 +250,8 @@ + rules, + submitForm, + resetForm, ++ dutyName, ++ makerDepartmentName + }; + }, + }); +Index: src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div class=\"system-edit-user-container\">\r\n\t\t<el-dialog :title=\"titles\" v-model=\"isShowDialog\" width=\"800px\" draggable :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\">\r\n\t\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" size=\"default\" :rules=\"rules\" label-width=\"140px\">\r\n\t\t\t\t<el-row :gutter=\"35\">\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故快报\" prop=\"accidentExpressId\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"accidentName\" :disabled=\"true\" placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"daiInpt\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故部门\" placeholder=\"请选择\" prop=\"accidentDepartmentId\">\r\n\t\t\t\t\t\t\t<!--<el-input v-model=\"ruleForm.accidentDepartmentName\" class=\"input-with-select\" />-->\r\n\t\t\t\t\t\t\t<el-tree-select v-model=\"accidentDepartmentId\" :disabled=\"true\" :data=\"newTreeList\"\r\n\t\t\t\t\t\t\t\t\t\t\t:props=\"propse\" class=\"w100\" placeholder=\"请选择\" />\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故发生地点\" prop=\"occurrencePlace\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"occurrencePlace\" :disabled=\"true\" placeholder=\"请填写发生地点\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"发生时间\" prop=\"occurrenceTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"occurrenceTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"true\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故类别\" prop=\"accidentType\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentType\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"人员伤亡事故\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"火灾爆炸事故\" value=\"火灾爆炸事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"危险品泄露事故\" value=\"危险品泄露事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"设备事故\" value=\"设备事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"工艺事故\" value=\"工艺事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故等级\" prop=\"accidentGrade\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentGrade\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特别重大\" value=\"人员伤亡事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大\" value=\"重大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大\" value=\"较大\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般\" value=\"一般\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"经济损失\" prop=\"economicLoss\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.economicLoss\" :disabled=\"disabled\" placeholder=\"请填写经济损失\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"轻伤人数\" prop=\"minorInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.minorInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写轻伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"重伤人数\" prop=\"seriousInjuryNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.seriousInjuryNum\" :disabled=\"disabled\" placeholder=\"请填写重伤人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"死亡人数\" prop=\"deathNum\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.deathNum\" :disabled=\"disabled\" placeholder=\"请填写死亡人数\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故原因\" prop=\"accidentCause\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentCause\" :disabled=\"disabled\" placeholder=\"请填写事故原因\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"要求报告完成期限\" prop=\"reportDeadline\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.reportDeadline\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故级别\" prop=\"accidentLevel\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.accidentLevel\" :disabled=\"disabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"特大事故\" value=\"特大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"重大事故\" value=\"重大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"较大事故\" value=\"较大事故\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"一般事故\" value=\"一般事故\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故延期申请\" prop=\"accidentDelayApply\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentDelayApply\" :disabled=\"disabled\" placeholder=\"请填写事故延期申请\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(直接分析)\" prop=\"comprehensiveAnalysisDirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisDirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(直接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"原因综合分析(间接分析)\" prop=\"comprehensiveAnalysisIndirect\">\r\n\t\t\t\t\t\t\t<el-input\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.comprehensiveAnalysisIndirect\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"textarea\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"请填写原因综合分析(间接分析)\"\r\n\t\t\t\t\t\t\t\tmaxlength=\"150\"\r\n\t\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"整改措施\" prop=\"rectificationMeasures\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.rectificationMeasures\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写整改措施\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故处理\" prop=\"accidentHandling\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.accidentHandling\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写事故处理\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写人\" prop=\"fillInUserName\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.fillInUserName\" :disabled=\"true\"\r\n\t\t\t\t\t\t\t\t\t placeholder=\"请选择\" class=\"input-with-select\">\r\n\t\t\t\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"填写日期\" prop=\"fillInTime\">\r\n\t\t\t\t\t\t\t<el-date-picker\r\n\t\t\t\t\t\t\t\tv-model=\"ruleForm.fillInTime\"\r\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<!-- <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">-->\r\n\t\t\t\t\t<!-- <el-form-item label=\"事故照片\">-->\r\n\t\t\t\t\t<!-- <el-input v-model=\"ruleForm.describe\" type=\"textarea\" placeholder=\"请填写应急防范措施\" maxlength=\"150\"></el-input>-->\r\n\t\t\t\t\t<!-- </el-form-item>-->\r\n\t\t\t\t\t<!-- </el-col>-->\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"相关人员笔录\" prop=\"relevantPersonnelRecords\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.relevantPersonnelRecords\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写相关人员笔录\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故状态\" prop=\"status\">\r\n\t\t\t\t\t\t\t<el-select v-model=\"ruleForm.status\" :disabled=\"statusDisabled\" class=\"w100\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t\t<el-option label=\"处理中\" :value=\"1\"></el-option>\r\n\t\t\t\t\t\t\t\t<el-option label=\"已处理\" :value=\"2\"></el-option>\r\n\t\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"事故分析会议纪要\" prop=\"fileList\">\r\n\t\t\t\t\t\t\t<uploaderImg :fileList=\"fileList\" :disabled=\"disabled\"></uploaderImg>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n\t\t\t\t\t\t<el-form-item label=\"其他材料\" prop=\"otherMaterials\">\r\n\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.otherMaterials\" :disabled=\"disabled\"\r\n\t\t\t\t\t\t\t\t\t type=\"textarea\" placeholder=\"请填写其他材料\" maxlength=\"150\"></el-input>\r\n\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t</el-col>\r\n\t\t\t\t</el-row>\r\n\t\t\t</el-form>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" v-if=\"disabled == true ? false : true\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</el-dialog>\r\n\t\t<AccidentName @selectItem=\"onSelectItem\" ref=\"Shows\" />\r\n\t\t<DailogSearchUserManger @SearchUser=\"onUser\" ref=\"userRef\" />\r\n\t\t<RegionsDialog ref=\"openRef\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, ref, defineComponent,onMounted } from 'vue';\r\n\r\nimport type { UploadUserFile, FormInstance, FormRules } from 'element-plus';\r\nimport { ElMessage } from 'element-plus';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue';\r\nimport AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';\r\nimport RegionsDialog from '/@/components/regionsDialog/index.vue';\r\nimport uploaderImg from '/@/components/uploaderImg/index.vue';\r\nimport { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';\r\nimport { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\n\r\nexport default defineComponent({\r\n\tname: 'openAdd',\r\n\tcomponents: {\r\n\t\tAccidentName,\r\n\t\tDailogSearchUserManger,\r\n\t\tRegionsDialog,\r\n\t\tuploaderImg\r\n\t},\r\n\tsetup(props, { emit }) {\r\n\t\tconst isShowDialog = ref(false);\r\n\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\t//定义表单\r\n\t\tconst ruleForm = ref({\r\n\t\t\taccidentExpressId:'',\r\n\r\n\t\t\taccidentType: '',\r\n\t\t\taccidentGrade: '',\r\n\t\t\teconomicLoss: '',\r\n\t\t\tminorInjuryNum: '',\r\n\t\t\tseriousInjuryNum: '',\r\n\t\t\tdeathNum: '',\r\n\t\t\taccidentCause: '',\r\n\t\t\treportDeadline: '',\r\n\t\t\taccidentLevel: '',\r\n\t\t\taccidentDelayApply: '',\r\n\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\trectificationMeasures: '',\r\n\t\t\taccidentHandling: '',\r\n\t\t\tfillInUserUid: '',\r\n\t\t\tfillInUserName:'',\r\n\t\t\tfillInTime: '',\r\n\t\t\trelevantPersonnelRecords: '',\r\n\t\t\totherMaterials: '',\r\n\t\t\tfileList: [],\r\n\t\t\tstatus:''\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref();\r\n\t\tconst statusDisabled = ref(true)\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => {\r\n\t\t\tisShowDialog.value = true;\r\n\t\t\ttitles.value = title;\r\n\t\t\tdisabled.value = type;\r\n\t\t\tif(statusDisabledFlag.value=='first'){\r\n\t\t\t\truleForm.value.status = 1\r\n\t\t\t}else if(statusDisabledFlag.value=='second'){\r\n\t\t\t\truleForm.value.status = 2\r\n\t\t\t}\r\n\t\t\tif (title == '修改事故报告') {\r\n\t\t\t\tstatusDisabled.value = false\r\n\t\t\t}else {\r\n\t\t\t\tstatusDisabled.value = true\r\n\t\t\t}\r\n\t\t\tif (title == '查看事故报告' || title == '修改事故报告') {\r\n\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t.seeAccidentReport(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\truleForm.value = res.data.data;\r\n\t\t\t\t\t\t\taccidentName.value = res.data.data.accidentName\r\n\t\t\t\t\t\t\taccidentDepartmentId.value = res.data.data.accidentDepartmentId\r\n\t\t\t\t\t\t\toccurrencePlace.value = res.data.data.occurrencePlace\r\n\t\t\t\t\t\t\toccurrenceTime.value = res.data.data.occurrenceTime\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst onCancel = (formEl: FormInstance | undefined) => {\r\n\t\t\tresetForm(formEl);\r\n\t\t};\r\n\t\t//日期选择器\r\n\t\tconst value1 = ref('');\r\n\t\t// 上传附件\r\n\t\tconst fileList = ref<UploadUserFile[]>([]);\r\n\t\t// 可选择树\r\n\t\tconst treeSelect = ref();\r\n\t\t//定义树形下拉框\r\n\t\tconst responsibleDepartment = ref();\r\n\t\tconst data = [\r\n\t\t];\r\n\t\t// 必填项提示\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\taccidentExpressId: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '快报不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentType: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故类别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentGrade: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故等级不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\teconomicLoss: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '经济损失不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\treportDeadline: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '要求报告完成期限不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentLevel: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故级别不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisDirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(直接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcomprehensiveAnalysisIndirect: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '原因综合分析(间接分析)不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\trectificationMeasures: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '整改措施不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\taccidentHandling: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故处理不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInUserName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写人不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tfillInTime: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'date',\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '填写日期不能为空',\r\n\t\t\t\t\ttrigger: 'blur',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstatus: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '事故状态不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t\tconst accidentDepartmentId = ref()\r\n\t\tconst occurrencePlace = ref()\r\n\t\tconst occurrenceTime = ref()\r\n\t\tconst accidentName = ref()\r\n\t\t//事故快报回填\r\n\t\tconst onSelectItem = (item: any) => {\r\n\t\t\tconsole.log('item', item[0]);\r\n\t\t\truleForm.value.accidentExpressId = item[0].id\r\n\t\t\taccidentName.value = item[0].accidentName\r\n\t\t\taccidentDepartmentId.value = item[0].accidentDepartmentId\r\n\t\t\toccurrencePlace.value = item[0].occurrencePlace\r\n\t\t\toccurrenceTime.value = item[0].occurrenceTime\r\n\t\t};\r\n\t\t// 表单提交验证必填项\r\n\t\tconst submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n\t\t\tdelete ruleForm.value.accidentName\r\n\t\t\tdelete ruleForm.value.accidentDepartmentId\r\n\t\t\tdelete ruleForm.value.occurrencePlace\r\n\t\t\tdelete ruleForm.value.occurrenceTime\r\n\r\n\t\t\tif (title == '新建事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.addAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else if (title == '修改事故报告') {\r\n\t\t\t\tif (!formEl) return;\r\n\t\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t//TODO 上传组件待定\r\n\t\t\t\t\t\truleForm.value.fileList = []\r\n\t\t\t\t\t\tisShowDialog.value = false;\r\n\t\t\t\t\t\taccidentManagementSystemApi()\r\n\t\t\t\t\t\t\t.editAccidentReport(ruleForm.value)\r\n\t\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: '修改成功',\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\t\tshowClose: true,\r\n\t\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\temit('myAdd', true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tformEl.resetFields();\r\n\t\t\t\truleForm.value = {\r\n\t\t\t\t\taccidentExpressId:'',\r\n\r\n\t\t\t\t\taccidentType: '',\r\n\t\t\t\t\taccidentGrade: '',\r\n\t\t\t\t\teconomicLoss: '',\r\n\t\t\t\t\tminorInjuryNum: '',\r\n\t\t\t\t\tseriousInjuryNum: '',\r\n\t\t\t\t\tdeathNum: '',\r\n\t\t\t\t\taccidentCause: '',\r\n\t\t\t\t\treportDeadline: '',\r\n\t\t\t\t\taccidentLevel: '',\r\n\t\t\t\t\taccidentDelayApply: '',\r\n\t\t\t\t\tcomprehensiveAnalysisDirect: '',\r\n\t\t\t\t\tcomprehensiveAnalysisIndirect: '',\r\n\t\t\t\t\trectificationMeasures: '',\r\n\t\t\t\t\taccidentHandling: '',\r\n\t\t\t\t\tfillInUserUid: '',\r\n\t\t\t\t\tfillInUserName:'',\r\n\t\t\t\t\tfillInTime: '',\r\n\t\t\t\t\trelevantPersonnelRecords: '',\r\n\t\t\t\t\totherMaterials: '',\r\n\t\t\t\t\tfileList: [],\r\n\t\t\t\t\tstatus:''\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tisShowDialog.value = false;\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\t// ruleForm.value.accidentExpressId = item[0].id\r\n\t\t\truleForm.value = {}\r\n\t\t\taccidentName.value = ''\r\n\t\t\taccidentDepartmentId.value = ''\r\n\t\t\toccurrencePlace.value = ''\r\n\t\t\toccurrenceTime.value = ''\r\n\t\t};\r\n\t\tconst handleChange = (val: number) => {\r\n\t\t\tconsole.log(val);\r\n\t\t};\r\n\t\t// 应急队伍弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\t// 选择区域弹窗\r\n\t\tconst openRef = ref();\r\n\t\tconst regionsDialog = () => {\r\n\t\t\topenRef.value.openDailog();\r\n\t\t};\r\n\t\t// 打开用户选择弹窗\r\n\t\tconst userRef = ref();\r\n\t\tconst openUser = () => {\r\n\t\t\tuserRef.value.openDailog();\r\n\t\t};\r\n\t\tconst onUser = (userItem: any) => {\r\n\t\t\truleForm.value.fillInUserUid = userItem[0].uid;\r\n\t\t\truleForm.value.fillInUserName = userItem[0].realName;\r\n\t\t};\r\n\t\t//el-tree-select回显\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t};\r\n\t\tconst newTreeList = [];\r\n\t\t//得到部门树\r\n\t\tconst department = async () => {\r\n\t\t\tawait goalManagementApi()\r\n\t\t\t\t\t.getTreedepartment()\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t\t\tgetTreeList(res.data.data, newTreeList);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 递归树状数据且修改字段名\r\n\t\tconst getTreeList = (treeList, newTreeList) => {\r\n\t\t\ttreeList.map((c) => {\r\n\t\t\t\tlet tempData = {\r\n\t\t\t\t\tdepName: c.depName,\r\n\t\t\t\t\tvalue: c.depId,\r\n\t\t\t\t\tchildren: [],\r\n\t\t\t\t};\r\n\t\t\t\tif (c.children && c.children.length > 0) {\r\n\t\t\t\t\ttempData.children = [];\r\n\t\t\t\t\tgetTreeList(c.children, tempData.children);\r\n\t\t\t\t}\r\n\t\t\t\tnewTreeList.push(tempData);\r\n\t\t\t});\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tdepartment();\r\n\t\t});\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\tisShowDialog,\r\n\t\t\tonCancel,\r\n\t\t\tfileList,\r\n\t\t\tresponsibleDepartment,\r\n\t\t\tdata,\r\n\t\t\tSearch,\r\n\t\t\truleForm,\r\n\t\t\tvalue1,\r\n\t\t\ttreeSelect,\r\n\t\t\tdaiInpt,\r\n\t\t\tShows,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\trules,\r\n\t\t\topenUser,\r\n\t\t\tuserRef,\r\n\t\t\tregionsDialog,\r\n\t\t\topenRef,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\tfull,\r\n\t\t\tonUser,\r\n\t\t\tresetForm,\r\n\t\t\ttitles,\r\n\t\t\tdisabled,\r\n\t\t\temit,\r\n\t\t\thandleChange,\r\n\t\t\tonSelectItem,\r\n\t\t\tnewTreeList,\r\n\t\t\tdepartment,\r\n\t\t\tgetTreeList,\r\n\t\t\tpropse,\r\n\t\t\tstatusDisabled,\r\n\t\t\taccidentDepartmentId,\r\n\t\t\toccurrencePlace,\r\n\t\t\toccurrenceTime,\r\n\t\t\taccidentName\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea {\r\n\theight: 168px !important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner {\r\n\theight: 168px !important;\r\n}\r\n::v-deep .el-table__cell {\r\n\tfont-weight: 400;\r\n}\r\n.el-divider--horizontal {\r\n\theight: 0;\r\n\tmargin: 0;\r\n\tborder-top: transparent;\r\n}\r\n.el-select {\r\n\twidth: 100%;\r\n}\r\n::v-deep .el-form-item--default .el-form-item__label {\r\n\theight: 100%;\r\n\ttext-align: right;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue (date 1660382056798) +@@ -166,11 +166,11 @@ + /> + </el-form-item> + </el-col> +- <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> +- <!-- <el-form-item label="事故照片">--> +- <!-- <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> +- <!-- </el-form-item>--> +- <!-- </el-col>--> ++ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> ++ <el-form-item label="事故照片"> ++ <uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg> ++ </el-form-item> ++ </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> + <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" +@@ -186,8 +186,9 @@ + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> +- <el-form-item label="事故分析会议纪要" prop="fileList"> +- <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> ++ <el-form-item label="事故分析会议纪要"> ++ <uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> +@@ -221,6 +222,7 @@ + import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; + import RegionsDialog from '/@/components/regionsDialog/index.vue'; + import uploaderImg from '/@/components/uploaderImg/index.vue'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources'; + import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; + import { goalManagementApi } from '/@/api/goalManagement'; +@@ -231,7 +233,8 @@ + AccidentName, + DailogSearchUserManger, + RegionsDialog, +- uploaderImg ++ uploaderImg, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false); +@@ -266,6 +269,8 @@ + const titles = ref(); + const disabled = ref(); + const statusDisabled = ref(true) ++ // 上传附件 ++ const fileList = ref([]); + // 打开弹窗 + const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => { + isShowDialog.value = true; +@@ -291,18 +296,53 @@ + accidentDepartmentId.value = res.data.data.accidentDepartmentId + occurrencePlace.value = res.data.data.occurrencePlace + occurrenceTime.value = res.data.data.occurrenceTime ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ //事故照片 ++ if(ruleForm.value.expressFileList){ ++ for(var a = 0;a<ruleForm.value.expressFileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(ruleForm.value.expressFileList[a].fileName) ++ .then((res) => { ++ ruleForm.value.expressFileList[a].url = res.data ++ console.log('ruleForm',ruleForm) ++ }) ++ } ++ }else { ++ ruleForm.value.expressFileList = [] ++ } ++ ++ // 事故分析会议纪要 ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + // 取消 + const onCancel = (formEl: FormInstance | undefined) => { + resetForm(formEl); + }; + //日期选择器 + const value1 = ref(''); +- // 上传附件 +- const fileList = ref<UploadUserFile[]>([]); ++ + // 可选择树 + const treeSelect = ref(); + //定义树形下拉框 +@@ -423,7 +463,9 @@ + delete ruleForm.value.accidentDepartmentId + delete ruleForm.value.occurrencePlace + delete ruleForm.value.occurrenceTime +- ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + if (title == '新建事故报告') { + if (!formEl) return; + await formEl.validate((valid, fields) => { +@@ -458,7 +500,6 @@ + await formEl.validate((valid, fields) => { + if (valid) { + //TODO 上传组件待定 +- ruleForm.value.fileList = [] + isShowDialog.value = false; + accidentManagementSystemApi() + .editAccidentReport(ruleForm.value) +@@ -512,12 +553,14 @@ + }; + } + }; ++ + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; + if (!formEl) return; + formEl.resetFields(); + // ruleForm.value.accidentExpressId = item[0].id + ruleForm.value = {} ++ fileList.value = [] + accidentName.value = '' + accidentDepartmentId.value = '' + occurrencePlace.value = '' +@@ -629,7 +672,9 @@ + accidentDepartmentId, + occurrencePlace, + occurrenceTime, +- accidentName ++ accidentName, ++ successUploader, ++ initFileListData + }; + }, + }); +Index: src/views/goalManagement/safetyAssessment/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.indexNum\" placeholder=\"请输入目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column label=\"序号\" align=\"center\" type=\"index\" width=\"70\" />\r\n\t\t\t\t<el-table-column label=\"安全目标指标\" align=\"center\" property=\"qName\" sortable />\r\n\t\t\t\t<el-table-column property=\"indexNum\" align=\"center\" label=\"考核指标编号\" sortable />\r\n\t\t\t\t<el-table-column property=\"year\" label=\"年度\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column property=\"value\" label=\"指标值\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" width=\"300\" sortable show-overflow-tooltip>\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Dailog ref=\"openAdd\"></Dailog>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport Dailog from './component/Dailog.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, Dailog },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tqName: '', ////安全目标指标\r\n\t\t\t\tindexNum: '', ////目标指标编号\r\n\t\t\t\ttargetType: '1', ////指标类型 1:年指标 2:月指标\r\n\t\t\t\tdivideStatus: '', ////分解状态 1:已分解 2:未分解\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.qName = '';\r\n\t\t\truleForm.searchParams.indexNum = '';\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTargetMngList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.targetType = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tvar arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.targetType, id);\r\n\t\t};\r\n\r\n\t\treturn {\r\n\t\t\tlistApi,\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\thandleClick,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttotal,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/safetyAssessment/index.vue b/src/views/goalManagement/safetyAssessment/index.vue +--- a/src/views/goalManagement/safetyAssessment/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/safetyAssessment/index.vue (date 1660382056800) +@@ -39,7 +39,7 @@ + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="View" @click="openD('修改', scope.row.id)">修改</el-button> +- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> ++ <!--<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>--> + </template> + </el-table-column> + </el-table> +@@ -209,4 +209,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/targetSettings/component/dailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"Shows\" @close=\"handleClose(ruleFormRef)\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" ref=\"ruleFormRef\" :rules=\"rules\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"安全目标指标\" prop=\"qName\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写安全目标指标\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"目标指标编号\" prop=\"indexNum\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.indexNum\" placeholder=\"请填写目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"年度\" prop=\"year\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model.number=\"form.year\" maxlength=\"8\" placeholder=\"请填写年度\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"指标值\" prop=\"value\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.value\" placeholder=\"请填写指标值\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"11\">\r\n\t\t\t\t\t<el-form-item label=\"指标级别\" size=\"default\" prop=\"level\">\r\n\t\t\t\t\t\t<el-select v-model=\"form.level\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t\t\t<el-option label=\"公司级\" :value=\"1\">公司级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"部门分厂级\" :value=\"2\">部门分厂级</el-option>\r\n\t\t\t\t\t\t\t<el-option label=\"工段班组级\" :value=\"3\">工段班组级</el-option>\r\n\t\t\t\t\t\t</el-select>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<el-col :span=\"11\" :offset=\"2\">\r\n\t\t\t\t\t<el-form-item label=\"完成期限\" size=\"default\" prop=\"completeDate\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.completeDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择\" style=\"width: 100%\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-form-item label=\"备注信息\" prop=\"memo\">\r\n\t\t\t\t<el-input v-model=\"form.memo\" size=\"default\" type=\"textarea\" />\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" v-if=\"titles == '查看目标设定' ? false : true\" @click=\"submitForm(ruleFormRef)\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue';\r\nimport screenfull from 'screenfull';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';\r\nimport type { FormInstance, FormRules } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, Search, FullScreen } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tsetup(props, { emit }) {\r\n\t\tlet Shows = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tqName: '', //安全目标指标\r\n\t\t\tyear: '', //年度\r\n\t\t\tlevel: '', ////指标级别 1:公司级 2:部门分厂级 3:工段班组级\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\ttargetType: '', ////指标类型 1:年指标 2:月指标\r\n\t\t\tcompleteDate: '', ////完成期限\r\n\t\t\tdivideStatus: '2', ////分解状态 1:已分解 2:未分解\r\n\t\t\tvalue: '', ////指标值\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDialog = (title: string, value: any, id: number) => {\r\n\t\t\tShows.value = true;\r\n\t\t\ttitles.value = `${title}目标设定`;\r\n\t\t\tform.value.targetType = value;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.getTargetMngDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '安全目标指标不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tindexNum: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '目标指标编号不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyear: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '年度不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tvalue: [\r\n\t\t\t\t{\r\n\t\t\t\t\trequired: true,\r\n\t\t\t\t\tmessage: '指标值不能为空',\r\n\t\t\t\t\ttrigger: 'change',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlevel:[],\r\n\t\t\tcompleteDate:[],\r\n\t\t\tmemo:[]\r\n\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tShows.value = false;\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.getTargetMngAddOrupdata(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tformEl.resetFields();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('error submit!', fields);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tShows.value = false;\r\n\t\t};\r\n\t\tconst handleClose = (formEl: FormInstance | undefined) => {\r\n\t\t\tformEl.resetFields();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\topenDialog,\r\n\t\t\thandleClose,\r\n\t\t\ttitles,\r\n\t\t\tShows,\r\n\t\t\tform,\r\n\t\t\tfull,\r\n\t\t\tdisabled,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\trules,\r\n\t\t\truleFormRef,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue +--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue (date 1660382056803) +@@ -38,7 +38,14 @@ + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="完成期限" size="default" prop="completeDate"> +- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> ++ <el-date-picker ++ v-model="form.completeDate" ++ format="YYYY-MM-DD HH:mm:ss" ++ value-format="YYYY-MM-DD HH:mm:ss" ++ type="datetime" ++ placeholder="请选择" ++ style="width: 100%" ++ /> + </el-form-item> + </el-col> + </el-row> +@@ -56,6 +63,7 @@ + </template> + <script lang="ts"> + import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue'; ++// import { timeDate } from '/@/assets/index.ts'; + import screenfull from 'screenfull'; + import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus'; + import type { FormInstance, FormRules } from 'element-plus'; +@@ -90,11 +98,25 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.completeDate = timeC(form.value.completeDate); + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { +@@ -133,10 +155,9 @@ + trigger: 'change', + }, + ], +- level:[], +- completeDate:[], +- memo:[] +- ++ level: [], ++ completeDate: [], ++ memo: [], + }); + // 提交 + const submitForm = async (formEl: FormInstance | undefined) => { +@@ -158,7 +179,7 @@ + formEl.resetFields(); + } + }); +- formEl.resetFields(); ++ formEl.resetFields(); + } else { + console.log('error submit!', fields); + } +@@ -174,9 +195,11 @@ + formEl.resetFields(); + }; + return { ++ timeC, + openDialog, + handleClose, + titles, ++ // timeDate, + Shows, + form, + full, +@@ -195,4 +218,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogSearch.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" title=\"选择岗位\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-row>\r\n\t\t\t<el-col :span=\"17\">\r\n\t\t\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon>\r\n\t\t\t\t\t<el-row>\r\n\t\t\t\t\t\t<el-col :span=\"12\">\r\n\t\t\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t\t\t<el-input v-model=\"ruleForm.pass\" placeholder=\"岗位名称\" />\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t\t<!-- <el-col :span=\"6\" :offset=\"1\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col> -->\r\n\t\t\t\t\t\t<el-col :span=\"11\" :offset=\"1\">\r\n\t\t\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"submitForm(ruleFormRef)\">查询</el-button>\r\n\t\t\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm(ruleFormRef)\">重置</el-button>\r\n\t\t\t\t\t\t\t</el-form-item>\r\n\t\t\t\t\t\t</el-col>\r\n\t\t\t\t\t</el-row>\r\n\t\t\t\t</el-form>\r\n\t\t\t\t<el-button size=\"default\" :icon=\"Delete\">清除选择</el-button>\r\n\t\t\t\t<el-table :data=\"tableData\" style=\"width: 100%; margin-top: 20px\" @cell-click=\"radio\">\r\n\t\t\t\t\t<el-table-column align=\"center\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-radio-group v-model=\"radio1\">\r\n\t\t\t\t\t\t\t\t<el-radio :label=\"scope.row.id\" size=\"large\">{{ null }}</el-radio>\r\n\t\t\t\t\t\t\t</el-radio-group>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"date\" label=\"岗位名称\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tstyle=\"padding: 20px 0; border-bottom: 1px solid #dedede\"\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[100, 200, 300, 400]\"\r\n\t\t\t\t\t:small=\"small\"\r\n\t\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t\t:background=\"background\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"400\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</el-col>\r\n\t\t\t<el-col :span=\"7\">\r\n\t\t\t<div v-if=\"dynamicTags[0]==''?false:true\">\r\n\t\t\t\t<el-tag\r\n\t\t\t\t\tv-for=\"tag in dynamicTags\"\r\n\t\t\t\t\t:key=\"tag\"\r\n\t\t\t\t\tclass=\"mx-1\"\r\n\t\t\t\t\tstyle=\"margin: 5px\"\r\n\t\t\t\t\tclosable\r\n\t\t\t\t\t:disable-transitions=\"false\"\r\n\t\t\t\t\t@close=\"handleClose(tag)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ tag.id }}\r\n\t\t\t\t</el-tag>\r\n\t\t\t\t</div>\r\n\t\t\t</el-col>\r\n\t\t</el-row>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"dialogVisible = false\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, reactive, ref } from 'vue';\r\nimport { Delete, FullScreen } from '@element-plus/icons-vue';\r\nexport default defineComponent({\r\n\tsetup(props,{emit}) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst openDailog = () => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t};\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpass: '',\r\n\t\t\tcheckPass: '',\r\n\t\t});\r\n\t\t// 表格\r\n\t\tconst tableData = [\r\n\t\t\t{ id:1,\r\n\t\t\t\tdate: '2016-05-03',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid:2,\r\n\t\t\t\tdate: '2016-05-02',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\t\r\n\t\t\t\tid:3,\t\r\n\t\t\t\tdate: '2016-05-04',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t\t{\tid:4,\r\n\t\t\t\tdate: '2016-05-01',\r\n\t\t\t\tname: 'Tom',\r\n\t\t\t\taddress: 'No. 189, Grove St, Los Angeles',\r\n\t\t\t},\r\n\t\t];\r\n\t\tconst pageSize4 = ref(100);\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\tconsole.log(`${val} items per page`);\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\tconsole.log(`current page: ${val}`);\r\n\t\t};\r\n\t\t// 右方点击添加后显示标签\r\n\t\tconst dynamicTags = ref(['']);\r\n\t\tconst handleClose = (tag: string) => {\r\n\t\t\tdynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);\r\n\t\t\tradio1.value = '';\r\n\t\t};\r\n\t\tconst radio1 = ref('');\r\n\t\tconst radio = (event: any) => {\r\n\t\t\tdynamicTags.value[0] = event;\r\n\t\t};\r\n\t\tconst clear=()=>{\r\n\t\t\tdynamicTags.value=['']\r\n\t\t\tradio1.value=\"\"\r\n\t\t}\r\n\t\t\tconst submitForm=()=>{\r\n\t\t\tlet obj=JSON.parse(JSON.stringify(dynamicTags.value))\r\n\t\t\temit(\"backNum\",obj[0])\r\n\t\t\tdialogVisible.value = false\r\n\t\t}\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tradio1,\r\n\t\t\tradio,\r\n\t\t\tclear,\r\n\t\t\tdialogVisible,\r\n\t\t\topenDailog,\r\n\t\t\truleForm,\r\n\t\t\ttableData,\r\n\t\t\tpageSize4,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\tdynamicTags,\r\n\t\t\thandleClose,\r\n\t\t\tsubmitForm,\r\n\t\t\tDelete,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue +--- a/src/views/goalManagement/TargetBook/component/DailogSearch.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue (date 1660382056829) +@@ -24,11 +24,11 @@ + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> +- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> +- <el-table-column align="center"> ++ <el-table :data="tableData" style="width: 100%; margin-top: 20px" > ++ <el-table-column align="center" width="70px"> + <template #default="scope"> + <el-radio-group v-model="radio1"> +- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> ++ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> + </el-radio-group> + </template> + </el-table-column> +@@ -59,7 +59,7 @@ + :disable-transitions="false" + @close="handleClose(tag)" + > +- {{ tag.id }} ++ {{ tag.date }} + </el-tag> + </div> + </el-col> +@@ -89,24 +89,24 @@ + // 表格 + const tableData = [ + { id:1, +- date: '2016-05-03', ++ date: '岗位1', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { + id:2, +- date: '2016-05-02', ++ date: '岗位2', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +- { +- id:3, +- date: '2016-05-04', ++ { ++ id:3, ++ date: '岗位3', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + { id:4, +- date: '2016-05-01', ++ date: '岗位4', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, +Index: src/components/uploaderImg/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-upload\r\n\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\tlist-type=\"picture-card\"\r\n\t\t\t:on-preview=\"handlePictureCardPreview\"\r\n\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t:on-success=\"successFile\"\r\n\t\t\t:on-error=\"errorFile\"\r\n\t>\r\n\t\t<el-icon><Plus /></el-icon>\r\n\t</el-upload>\r\n\r\n\t<el-dialog v-model=\"dialogVisible\">\r\n\t\t<img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\r\n\t</el-dialog>\r\n</template>\r\n<script lang=\"ts\">\r\n\timport { ref,defineComponent } from 'vue'\r\n\timport { Plus } from '@element-plus/icons-vue'\r\n\timport type { UploadProps, UploadUserFile } from 'element-plus'\r\n\r\n\texport default defineComponent({\r\n\t\tprops: {\r\n\t\t\t// svg 图标组件名字\r\n\t\t\tfileList: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t},\r\n\t\t},\r\n\t\tcomponents: {\r\n\t\t\tPlus\r\n\t\t},\r\n\t\tsetup() {\r\n\r\n\t\t\tconst dialogImageUrl = ref('')\r\n\t\t\tconst dialogVisible = ref(false)\r\n\r\n\t\t\tconst handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\t\tconsole.log(uploadFile, uploadFiles)\r\n\t\t\t}\r\n\r\n\t\t\tconst handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\t\tdialogImageUrl.value = uploadFile.url!\r\n\t\t\t\tdialogVisible.value = true\r\n\t\t\t}\r\n\r\n\t\t\tconst successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(response, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\t\t\tconst errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => {\r\n\t\t\t\tconsole.log(error, uploadFile,uploadFiles)\r\n\t\t\t}\r\n\r\n\r\n\t\t\treturn {\r\n\t\t\t\tdialogImageUrl,\r\n\t\t\t\tdialogVisible,\r\n\t\t\t\thandleRemove,\r\n\t\t\t\thandlePictureCardPreview,\r\n\t\t\t\tsuccessFile,\r\n\t\t\t\terrorFile\r\n\t\t\t};\r\n\t\t},\r\n\t});\r\n</script> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/uploaderImg/index.vue b/src/components/uploaderImg/index.vue +--- a/src/components/uploaderImg/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/components/uploaderImg/index.vue (date 1660382056833) +@@ -1,12 +1,13 @@ + <template> + <el-upload +- v-model:file-list="fileList" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- list-type="picture-card" +- :on-preview="handlePictureCardPreview" +- :on-remove="handleRemove" +- :on-success="successFile" +- :on-error="errorFile" ++ v-model:file-list="fileList" ++ :disabled="disabled" ++ :http-request="uploadSectionFile" ++ list-type="picture-card" ++ :on-preview="handlePictureCardPreview" ++ :on-remove="handleRemove" ++ :on-success="successFile" ++ :on-error="errorFile" + > + <el-icon><Plus /></el-icon> + </el-upload> +@@ -16,50 +17,141 @@ + </el-dialog> + </template> + <script lang="ts"> +- import { ref,defineComponent } from 'vue' +- import { Plus } from '@element-plus/icons-vue' +- import type { UploadProps, UploadUserFile } from 'element-plus' ++import axios from 'axios'; ++import { ref, defineComponent,onMounted,watch } from 'vue'; ++import { Plus } from '@element-plus/icons-vue'; ++import type { UploadProps, UploadUserFile } from 'element-plus'; ++import { ElMessage } from 'element-plus'; ++import { goalManagementApi } from '/@/api/goalManagement'; + +- export default defineComponent({ +- props: { +- // svg 图标组件名字 +- fileList: { +- type: Array, +- }, ++export default defineComponent({ ++ props: { ++ // svg 图标组件名字 ++ fileList: { ++ type: Array, ++ }, ++ disabled: { ++ type: Boolean, ++ default: () => false, + }, +- components: { +- Plus +- }, +- setup() { +- +- const dialogImageUrl = ref('') +- const dialogVisible = ref(false) ++ systemName: { ++ type: String, ++ default: () => '', ++ }, ++ }, ++ components: { ++ Plus, ++ }, ++ setup(props, { emit }) { ++ const dialogImageUrl = ref(''); ++ const dialogVisible = ref(false); + +- const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { +- console.log(uploadFile, uploadFiles) +- } ++ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { ++ console.log(uploadFile, uploadFiles); ++ }; + +- const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { +- dialogImageUrl.value = uploadFile.url! +- dialogVisible.value = true +- } ++ const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { ++ dialogImageUrl.value = uploadFile.url!; ++ dialogVisible.value = true; ++ }; + +- const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(response, uploadFile,uploadFiles) +- } +- const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { +- console.log(error, uploadFile,uploadFiles) ++ const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(response, uploadFile, uploadFiles); ++ }; ++ const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { ++ console.log(error, uploadFile, uploadFiles); ++ }; ++ watch(props.fileList, (val) => { ++ viewList.value = val ++ // searchFile() ++ }); ++ onMounted(() => { ++ if(props.fileList){ ++ viewList.value = props.fileList ++ // searchFile() ++ }else { ++ viewList.value = [] + } ++ ++ }); ++ const newFileList = ref([]) ++ const viewList = ref([]) ++ const searchFile = async () => { ++ for(var a = 0;a<props.fileList.length;a++){ ++ await goalManagementApi() ++ .searchFile(props.fileList[a].fileName) ++ .then((res) => { ++ props.fileList[a].url = res.data ++ }) ++ } ++ }; ++ const uploadSectionFile = (param) => { ++ let form = new FormData(); ++ form.append('file', param.file); ++ //组装文件名(传入后缀名) ++ var fileName1 = getFileName(param.file.type.split('/')[1], 1); ++ var fileName2 = getFileName(param.file.type.split('/')[1], 2); ++ goalManagementApi() ++ .beforeUploadFile(fileName1, fileName2) ++ .then((res) => { ++ // 转换形式 ++ const reader = new FileReader(); ++ reader.readAsArrayBuffer(param.file); ++ // 上传图片 ++ reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 ++ axios.put(res.data.uploadUrl, reader.result, ++ { ++ header: ++ { "Content-Type": "multipart/form-data" } ++ } ++ ) ++ .then(res1 => ++ { ++ props.fileList[props.fileList.length-1].fileName=res.data.fileName ++ props.fileList[props.fileList.length-1].fileUrl='' ++ emit('successUploader',props.fileList); ++ ElMessage({ ++ showClose: true, ++ message: '上传成功', ++ type: 'success', ++ }); ++ }) ++ }; ++ }); ++ }; ++ const getFileName = (suffix, type) => { ++ var projectName = props.systemName; ++ var date = getNowDate(); ++ var fileName1 = projectName + '/' + date + '_'; ++ var fileName2 = '.' + suffix; ++ if (type == 1) { ++ return fileName1; ++ } else if (type == 2) { ++ return fileName2; ++ } ++ return ''; ++ }; + ++ //获取当前年月日 ++ const getNowDate = () => { ++ var a = new Date().getTime(); //获取到当前时间戳 ++ var now = new Date(a); //创建一个指定的日期对象 ++ var year = now.getFullYear(); //年份 ++ var month = now.getMonth() + 1; //月份(0-11) ++ var date = now.getDate(); //天数(1到31) ++ return year + '-' + month + '-' + date; ++ }; + +- return { +- dialogImageUrl, +- dialogVisible, +- handleRemove, +- handlePictureCardPreview, +- successFile, +- errorFile +- }; +- }, +- }); +-</script> +\ No newline at end of file ++ return { ++ dialogImageUrl, ++ dialogVisible, ++ handleRemove, ++ handlePictureCardPreview, ++ successFile, ++ errorFile, ++ uploadSectionFile, ++ viewList ++ }; ++ }, ++}); ++</script> +Index: src/views/goalManagement/TargetBook/index.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<div>\r\n\t\t<el-form ref=\"ruleFormRef\" :model=\"ruleForm\" status-icon label-width=\"20px\" class=\"topTitle\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"ruleForm.searchParams.jobId\" placeholder=\"请选择岗位\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"openSearch\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t\t<!-- <el-col :span=\"4\">\r\n\t\t\t\t<el-form-item>\r\n\t\t\t\t\t<el-input v-model=\"ruleForm.checkPass\" placeholder=\"目标指标编号\" />\r\n\t\t\t\t</el-form-item>\r\n\t\t\t</el-col> -->\r\n\t\t\t\t<el-col :span=\"4\">\r\n\t\t\t\t\t<el-form-item>\r\n\t\t\t\t\t\t<el-button size=\"default\" type=\"primary\" @click=\"listApi\">查询</el-button>\r\n\t\t\t\t\t\t<el-button size=\"default\" @click=\"resetForm\">重置</el-button>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<div class=\"minCenter\">\r\n\t\t\t<div class=\"btns\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<el-button size=\"default\" type=\"primary\" :icon=\"Plus\" @click=\"openD('新建')\">新建</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"warning\" type=\"warning\" plain :icon=\"EditPen\">修改</el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :disabled=\"danger\" type=\"danger\" :icon=\"Delete\" plain @click=\"onDeleteAll\">删除</el-button>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!-- <el-button size=\"default\" :icon=\"Download\"></el-button>\r\n\t\t\t\t\t<el-button size=\"default\" :icon=\"Refresh\"></el-button> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<el-table ref=\"multipleTableRef\" :data=\"tableData\" @selection-change=\"handleSelectionChange\" style=\"width: 100%\">\r\n\t\t\t\t<el-table-column type=\"selection\" align=\"center\" width=\"55\" />\r\n\t\t\t\t<el-table-column type=\"index\" label=\"序号\" align=\"center\" width=\"70\" />\r\n\t\t\t\t<el-table-column property=\"jobId\" align=\"center\" label=\"岗位\" sortable />\r\n\t\t\t\t<el-table-column property=\"signDate\" align=\"center\" label=\"责任书签订日期\" :formatter=\"timeDate\" sortable />\r\n\t\t\t\t<el-table-column property=\"extraFile\" align=\"center\" label=\"附件\" sortable />\r\n\t\t\t\t<el-table-column property=\"memo\" label=\"备注信息\" align=\"center\" sortable show-overflow-tooltip />\r\n\t\t\t\t<el-table-column label=\"操作\" align=\"center\" style=\"width: 300px\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"View\" @click=\"openD('查看', scope.row.id)\">查看</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"EditPen\" @click=\"openD('修改', scope.row.id)\">修改</el-button>\r\n\t\t\t\t\t\t<el-button link type=\"primary\" size=\"default\" :icon=\"Delete\" @click=\"onDelete(scope.row.id)\">删除</el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-table-column>\r\n\t\t\t</el-table>\r\n\t\t\t<div class=\"pages\">\r\n\t\t\t\t<el-pagination\r\n\t\t\t\t\tv-model:currentPage=\"currentPage4\"\r\n\t\t\t\t\tv-model:page-size=\"pageSize4\"\r\n\t\t\t\t\t:page-sizes=\"[10, 20, 30, 40]\"\r\n\t\t\t\t\tlayout=\"total, sizes, prev, pager, next, jumper\"\r\n\t\t\t\t\t:total=\"total\"\r\n\t\t\t\t\t@size-change=\"handleSizeChange\"\r\n\t\t\t\t\t@current-change=\"handleCurrentChange\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<DailogAdd ref=\"openAdd\" @navAddorUpdata=\"onAddorUpdata\"></DailogAdd>\r\n\t\t\t<DailogSearch ref=\"openUser\"></DailogSearch>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\">\r\nimport DailogAdd from './component/DailogAdd.vue';\r\nimport {timeDate} from '/@/assets/index.ts'\r\nimport DailogSearch from './component/DailogSearch.vue';\r\nimport { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';\r\nimport { Plus, Delete, Upload, Download, Refresh, View, EditPen, Search } from '@element-plus/icons-vue';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';\r\nexport default defineComponent({\r\n\tcomponents: { ElButton, ElInput, DailogAdd, DailogSearch },\r\n\tsetup() {\r\n\t\t// 搜索条件\r\n\t\tconst ruleForm = reactive({\r\n\t\t\tpageSize: 10,\r\n\t\t\tpageIndex: 1,\r\n\t\t\tsearchParams: {\r\n\t\t\t\tjobId: '', ////岗位号/外键\r\n\t\t\t},\r\n\t\t});\r\n\t\t// 重置\r\n\t\tconst resetForm = () => {\r\n\t\t\truleForm.searchParams.jobId = '';\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst listApi = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoList(ruleForm)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\ttableData.value = res.data.data;\r\n\t\t\t\t\t\tcurrentPage4.value = res.data.pageIndex;\r\n\t\t\t\t\t\tpageSize4.value = res.data.pageSize;\r\n\t\t\t\t\t\ttotal.value = res.data.total;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t//\r\n\t\tconst handleClick = (val: any) => {\r\n\t\t\tlet targetType = JSON.parse(JSON.stringify(val));\r\n\t\t\truleForm.searchParams.jobId = targetType.paneName;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tonMounted(() => {\r\n\t\t\tlistApi();\r\n\t\t});\r\n\t\tconst onAddorUpdata = () => {\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 表格\r\n\t\tconst tableData = ref();\r\n\t\tconst currentPage4 = ref();\r\n\t\tconst pageSize4 = ref();\r\n\t\tconst total = ref();\r\n\t\tconst handleSizeChange = (val: number) => {\r\n\t\t\t// console.log(`${val} items per page`);\r\n\t\t\truleForm.pageSize = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\tconst handleCurrentChange = (val: number) => {\r\n\t\t\t// console.log(`current page: ${val}`);\r\n\t\t\truleForm.pageIndex = val;\r\n\t\t\tlistApi();\r\n\t\t};\r\n\t\t// 弹窗\r\n\t\tconst openAdd = ref();\r\n\t\tconst openD = (title: String, id: number) => {\r\n\t\t\topenAdd.value.openDailog(title, ruleForm.searchParams.jobId, id);\r\n\t\t};\r\n\t\t// 删除\r\n\t\tconst onDelete = (id: number) => {\r\n\t\t\tlet arr=[]\r\n\t\t\tarr.push(id)\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(arr)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\ttype: 'info',\r\n\t\t\t\t\t\tmessage: 'Delete canceled',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t};\r\n\t\t// 批量删除\r\n\t\tconst warning = ref(true);\r\n\t\tconst danger = ref(true);\r\n\t\tconst deletAll = ref();\r\n\t\tconst handleSelectionChange = (val: any) => {\r\n\t\t\tlet valId = JSON.parse(JSON.stringify(val));\r\n\t\t\tlet arr = [];\r\n\t\t\tfor (let i = 0; i < valId.length; i++) {\r\n\t\t\t\tarr.push(valId[i].id);\r\n\t\t\t}\r\n\t\t\tdeletAll.value = arr\r\n\t\t\tif (val.length == 1) {\r\n\t\t\t\twarning.value = false;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t} else if (val.length == 0) {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = true;\r\n\t\t\t} else {\r\n\t\t\t\twarning.value = true;\r\n\t\t\t\tdanger.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst onDeleteAll = () => {\r\n\t\t\tElMessageBox.confirm('确定删除所选项吗?', 'Warning', {\r\n\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t\t.gettargetDutyfileInfoDelete(deletAll.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tlistApi();\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() => {\r\n\t\t\t\t\t// ElMessage({\r\n\t\t\t\t\t// \ttype: 'info',\r\n\t\t\t\t\t// \tmessage: 'Delete canceled',\r\n\t\t\t\t\t// });\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst openUser = ref();\r\n\t\tconst openSearch = () => {\r\n\t\t\topenUser.value.openDailog();\r\n\t\t};\r\n\t\treturn {\r\n\t\t\truleForm,\r\n\t\t\tresetForm,\r\n\t\t\tlistApi,\r\n\t\t\thandleClick,\r\n\t\t\tonAddorUpdata,\r\n\t\t\ttableData,\r\n\t\t\tcurrentPage4,\r\n\t\t\tpageSize4,\r\n\t\t\ttotal,\r\n\t\t\thandleSizeChange,\r\n\t\t\thandleCurrentChange,\r\n\t\t\topenAdd,\r\n\t\t\topenD,\r\n\t\t\tonDelete,\r\n\t\t\twarning,\r\n\t\t\tdanger,\r\n\t\t\tdeletAll,\r\n\t\t\thandleSelectionChange,\r\n\t\t\tonDeleteAll,\r\n\t\t\topenUser,\r\n\t\t\topenSearch,\r\n\t\t\ttimeDate,\r\n\t\t\tPlus,\r\n\t\t\tDelete,\r\n\t\t\tUpload,\r\n\t\t\tDownload,\r\n\t\t\tRefresh,\r\n\t\t\tView,\r\n\t\t\tEditPen,\r\n\t\t\tSearch,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.minCenter {\r\n\twidth: 100%;\r\n\tbackground-color: #fff;\r\n\tmargin-top: 10px;\r\n\tpadding: 0 20px;\r\n}\r\n.topTitle {\r\n\tbackground-color: #fff;\r\n\tpadding: 20px 0px 20px 0px;\r\n\tmargin-bottom: 10px;\r\n}\r\n.btns {\r\n\tpadding: 10px 0px 10px 0px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n}\r\n.pages {\r\n\tpadding: 20px 0;\r\n\tdisplay: flex;\r\n\tjustify-content: right;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue +--- a/src/views/goalManagement/TargetBook/index.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/TargetBook/index.vue (date 1660382056837) +@@ -4,7 +4,7 @@ + <el-row> + <el-col :span="4"> + <el-form-item size="default"> +- <el-input v-model="ruleForm.searchParams.jobId" placeholder="请选择岗位"> ++ <el-input v-model="jobName" placeholder="请选择岗位"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> + </el-form-item> +@@ -61,7 +61,7 @@ + /> + </div> + <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd> +- <DailogSearch ref="openUser"></DailogSearch> ++ <DailogSearch ref="openUser" @backNum="IdNumber"></DailogSearch> + </div> + </div> + </template> +@@ -88,6 +88,7 @@ + // 重置 + const resetForm = () => { + ruleForm.searchParams.jobId = ''; ++ jobName.value="" + listApi(); + }; + const listApi = () => { +@@ -116,6 +117,11 @@ + const onAddorUpdata = () => { + listApi(); + }; ++ const jobName=ref() ++ const IdNumber=(val:any)=>{ ++ ruleForm.jobId=val.id ++ jobName.value=val.date ++ } + // 表格 + const tableData = ref(); + const currentPage4 = ref(); +@@ -222,6 +228,7 @@ + openUser.value.openDailog(); + }; + return { ++ IdNumber, + ruleForm, + resetForm, + listApi, +@@ -278,4 +285,4 @@ + display: flex; + justify-content: right; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/goalManagement/TargetBook/component/DailogAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :before-close=\"resetForm\" :fullscreen=\"full\" :title=\"titles\" width=\"50%\" draggable>\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" :disabled=\"disabled\" label-width=\"120px\">\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"岗位\" size=\"default\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.jobId\" placeholder=\"请选择\">\r\n\t\t\t\t\t\t\t<template #append> <el-button :icon=\"Search\" @click=\"daiInpt\" /> </template\r\n\t\t\t\t\t\t></el-input>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书签订日期\" size=\"default\">\r\n\t\t\t\t\t\t<el-date-picker v-model=\"form.signDate\" style=\"width:100%\" format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"请选择日期时间\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"备注信息\">\r\n\t\t\t\t\t\t<el-input v-model=\"form.memo\" type=\"textarea\" />\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t\t<el-row>\r\n\t\t\t\t<el-col :span=\"24\">\r\n\t\t\t\t\t<el-form-item label=\"责任书附件\">\r\n\t\t\t\t\t\t<el-upload\r\n\t\t\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t\t\t<div class=\"el-upload__tip\">添加相关附件</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</el-upload>\r\n\t\t\t\t\t</el-form-item>\r\n\t\t\t\t</el-col>\r\n\t\t\t</el-row>\r\n\t\t</el-form>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm\" size=\"default\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm\" size=\"default\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<DailogSearch ref=\"Shows\" @backNum=\"IdNumber\"></DailogSearch>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport DailogSearch from './DailogSearch.vue';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nexport default defineComponent({\r\n\tcomponents: { DailogSearch },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref<boolean>(false);\r\n\t\tconst form = ref({\r\n\t\t\tindexNum: '', //目标指标编号\r\n\t\t\tmemo: '', ////备注信息\r\n\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\textraFile: '666', //责任书附件\r\n\t\t\tjobId: '', //岗位\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\t// 打开弹窗\r\n\t\tconst openDailog = (title: string, value: any, id: number) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitles.value =`${title}目标责任书`;\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tgoalManagementApi()\r\n\t\t\t\t\t.gettargetDutyfileInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\t// 提交\r\n\t\tconst submitForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.gettargetDutyfileInfoAddorUpdata(form.value)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = () => {\r\n\t\t\tdialogVisible.value = false;\r\n\t\t\tform.value = {\r\n\t\t\t\tindexNum: '', //目标指标编号\r\n\t\t\t\tmemo: '', ////备注信息\r\n\t\t\t\tsignDate: '', //责任书签订日期\r\n\t\t\t\textraFile: '666', //责任书附件\r\n\t\t\t\tjobId: '', //岗位\r\n\t\t\t};\r\n\t\t};\r\n\t\t// 安全目标指标弹窗\r\n\t\tconst Shows = ref();\r\n\t\tconst daiInpt = () => {\r\n\t\t\tShows.value.openDailog();\r\n\t\t};\r\n\t\tconst IdNumber=(val:any)=>{\r\n form.value.jobId=val.id\r\n\t\t}\r\n\t\t// 点击上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tIdNumber,\r\n\t\t\tdialogVisible,\r\n\t\t\tform,\r\n\t\t\tdisabled,\r\n\t\t\ttitles,\r\n\t\t\topenDailog,\r\n\t\t\tdaiInpt,\r\n\t\t\tsubmitForm,\r\n\t\t\tresetForm,\r\n\t\t\tShows,\r\n\t\t\tSearch,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-row {\r\n\tpadding: 0 0 20px 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue +--- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue (date 1660382056855) +@@ -1,11 +1,11 @@ + <template> +- <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable> ++ <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form :model="form" :disabled="disabled" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="岗位" size="default"> +- <el-input v-model="form.jobId" placeholder="请选择"> ++ <el-input v-model="form.jobName" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> + </el-form-item> +@@ -14,7 +14,7 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书签订日期" size="default"> +- <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> ++ <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> + </el-form-item> + </el-col> + </el-row> +@@ -28,22 +28,8 @@ + <el-row> + <el-col :span="24"> + <el-form-item label="责任书附件"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip">添加相关附件</div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" ++ @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -64,8 +50,9 @@ + import { ElMessage, ElMessageBox } from 'element-plus'; + import type { UploadProps, UploadUserFile } from 'element-plus'; + import { goalManagementApi } from '/@/api/goalManagement'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { DailogSearch }, ++ components: { DailogSearch,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref<boolean>(false); + const form = ref({ +@@ -88,14 +75,70 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ form.value.signDate=timeC(form.value.signDate) ++ ++ ++ if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ ++ var extraFileList = res.data.data.extraFile.split(',') ++ for(var a = 0;a<extraFileList.length;a++){ ++ fileList.value.push( ++ { ++ name:extraFileList[a] ++ } ++ ) ++ } ++ }else { ++ fileList.value = [] ++ } + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ console.log('successUploader',list) ++ fileList.value = list ++ var formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList+=fileList.value[a].name ++ }else { ++ formFileList+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const deleteFile = (list) =>{ ++ console.log('deleteFile',list) ++ fileList.value = list ++ const formFileList = '' ++ for(var a = 0;a<fileList.value.length;a++){ ++ if(a==fileList.value.length-1){ ++ formFileList.value+=fileList.value[a].name ++ }else { ++ formFileList.value+=fileList.value[a].name+',' ++ } ++ } ++ form.value.extraFile = formFileList ++ } ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; + // 提交 + const submitForm = () => { + dialogVisible.value = false; ++ delete form.value.jobName + goalManagementApi() + .gettargetDutyfileInfoAddorUpdata(form.value) + .then((res) => { +@@ -127,6 +170,7 @@ + extraFile: '666', //责任书附件 + jobId: '', //岗位 + }; ++ fileList.value = [] + }; + // 安全目标指标弹窗 + const Shows = ref(); +@@ -135,17 +179,10 @@ + }; + const IdNumber=(val:any)=>{ + form.value.jobId=val.id ++ form.value.jobName=val.date + } + // 点击上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, ++ const fileList = ref([ + ]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { +@@ -176,6 +213,7 @@ + } + }; + return { ++ timeC, + IdNumber, + dialogVisible, + form, +@@ -195,6 +233,8 @@ + full, + toggleFullscreen, + FullScreen, ++ successUploader, ++ deleteFile + }; + }, + }); +@@ -203,4 +243,4 @@ + .el-row { + padding: 0 0 20px 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n <div class=\"system-edit-user-container\">\r\n <el-dialog\r\n :title=\"titles\"\r\n v-model=\"isShowDialog\"\r\n width=\"769px\"\r\n draggable\r\n :fullscreen=\"full\"\r\n @close=\"resetForm(ruleFormRef)\"\r\n >\r\n <el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n <el-form\r\n ref=\"ruleFormRef\"\r\n :model=\"ruleForm\"\r\n size=\"default\"\r\n label-width=\"120px\"\r\n :disabled=\"disabled\"\r\n >\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练名称\" prop=\"drillName\">\r\n <el-input v-model=\"ruleForm.drillName\" placeholder=\"请填写演练名称\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练地点\" prop=\"drillAddress\">\r\n <el-input v-model=\"ruleForm.drillAddress\" placeholder=\"请填写演练地点\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"主办部门\" placeholder=\"请选择\" prop=\"departmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.departmentId\"\r\n :data=\"data\"\r\n check-strictly\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练方式\" prop=\"drillWay\">\r\n <el-select v-model=\"ruleForm.drillWay\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"综合\" value=\"1\"></el-option>\r\n <el-option label=\"桌面\" value=\"2\"></el-option>\r\n <el-option label=\"专项\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"应急预案\" prop=\"planName\" >\r\n <el-input\r\n v-model=\"ruleForm.planName\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"daiInpt\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练级别\" prop=\"drillLevel\">\r\n <el-select v-model=\"ruleForm.drillLevel\" class=\"w100\" placeholder=\"请选择\">\r\n <el-option label=\"公司级\" value=\"1\"></el-option>\r\n <el-option label=\"分厂级\" value=\"2\"></el-option>\r\n <el-option label=\"车间级\" value=\"3\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制日期\" prop=\"makingPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.makingPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划演练日期\" prop=\"drillPlanDate\">\r\n <el-date-picker v-model=\"ruleForm.drillPlanDate\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n </el-form-item>\r\n </el-col>\r\n <!--<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n <!--<el-form-item label=\"修改时间\" prop=\"gmtModitify\">-->\r\n <!--<el-date-picker v-model=\"ruleForm.gmtModitify\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"计划定制人\" prop=\"makingUserName\">\r\n <el-input v-model=\"ruleForm.makingUserName\" placeholder=\"请填写计划定制人\" disabled></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"制定部门\" prop=\"makingDepartmentId\">\r\n <el-tree-select\r\n v-model=\"ruleForm.makingDepartmentId\"\r\n check-strictly\r\n :data=\"data\"\r\n class=\"w100\"\r\n :props=\"propse\"\r\n clearable\r\n placeholder=\"请选择\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练人员\" prop=\"userListString\" >\r\n <el-input\r\n v-model=\"ruleForm.userListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(0)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"演练目的\" prop=\"purpose\">\r\n <el-input\r\n v-model=\"ruleForm.purpose\"\r\n placeholder=\"请填写演练目的\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练负责人\" prop=\"chargeUserListString\" >\r\n <el-input\r\n v-model=\"ruleForm.chargeUserListString\"\r\n placeholder=\"请选择\"\r\n class=\"input-with-select\"\r\n >\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openUser(1)\"/>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"保险措施\" prop=\"insuranceMeasures\">\r\n <el-input v-model=\"ruleForm.insuranceMeasures\" placeholder=\"请填写保险措施\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"演练经费\" prop=\"drillExpense\">\r\n <el-input v-model=\"ruleForm.drillExpense\" placeholder=\"请填写演练经费\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"备注信息\" prop=\"remark\">\r\n <el-input\r\n v-model=\"ruleForm.remark\"\r\n placeholder=\"请填写备注信息\"\r\n class=\"input-with-select textarea\"\r\n type=\"textarea\"\r\n >\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" style=\"margin-bottom: 0!important;\">\r\n <el-form-item label=\"预案附件\">\r\n <!--<el-upload-->\r\n <!--v-model:file-list=\"fileList\"-->\r\n <!--class=\"upload-demo\"-->\r\n <!--action=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"-->\r\n <!--:on-change=\"handleChange\"-->\r\n <!-->-->\r\n <!--<el-button type=\"primary\"-->\r\n <!-->点击上传</el-button>-->\r\n <!--<template #tip>-->\r\n <!--<div class=\"el-upload__tip\">-->\r\n <!--添加相关附件-->\r\n <!--</div>-->\r\n <!--</template>-->\r\n <!--</el-upload>-->\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n\t\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\" size=\"default\">关闭</el-button>\r\n <el-button size=\"default\" v-if=\"disabled == true ? false : true\" type=\"primary\" @click=\"submitForm(titles, ruleFormRef)\">确定</el-button>\r\n\t\t\t\t</span>\r\n </template>\r\n </el-dialog>\r\n <RegionsDialog ref=\"Shows\" @SearchUser=\"onUser\" />\r\n <DailogSearchUser ref=\"userRef\" @SearchUser=\"SearchUser\" />\r\n <DailogSearchUser ref=\"userFZRef\" @SearchUser=\"SearchFZUser\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n // reactive,\r\n ref,\r\n defineComponent,\r\n onMounted,\r\n} from 'vue';\r\n\r\nimport type {\r\n UploadUserFile,\r\n FormInstance,\r\n} from 'element-plus'\r\nimport { ElMessage } from 'element-plus';\r\nimport {\r\n Search,\r\n FullScreen\r\n} from '@element-plus/icons-vue'\r\nimport DailogSearchUser from \"/@/components/DailogSearchUser/index.vue\"\r\nimport RegionsDialog from \"/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue\"\r\nimport {releaseDrillPlanApi} from \"/@/api/contingencyManagement/emergencyDrillPlan\";\r\nimport {goalManagementApi} from \"/@/api/goalManagement\";\r\nimport { Session } from '/@/utils/storage';\r\n\r\nexport default defineComponent({\r\n name: 'openAdd',\r\n components: {\r\n RegionsDialog,\r\n DailogSearchUser\r\n },\r\n setup(props, { emit }) {\r\n const isShowDialog = ref(false)\r\n\r\n const ruleFormRef = ref<FormInstance>()\r\n //定义表单\r\n const ruleForm = ref ({\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingUserName: '', //计划制定人Name\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n });\r\n const titles = ref();\r\n const disabled = ref();\r\n // 打开弹窗\r\n const openDialog = (title: string, id: number, type: boolean) => {\r\n ruleForm.value.makingUserUid = Session.get('uid');\r\n ruleForm.value.makingUserName = Session.get('realName');\r\n isShowDialog.value = true;\r\n titles.value = title;\r\n disabled.value = type;\r\n if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {\r\n releaseDrillPlanApi()\r\n .seeReleaseDrillPlan(id)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ruleForm.value = res.data.data;\r\n ruleForm.value.userListString=''\r\n ruleForm.value.chargeUserListString=''\r\n for(var a = 0;a<res.data.data.userList.length;a++){\r\n if(res.data.data.userList[a].type==1){\r\n ruleForm.value.userListString += res.data.data.userList[a].userName+';'\r\n }\r\n // if(res.data.data.userList[a].type==2){\r\n // ruleForm.value.chargeUserListString += res.data.data.userList[a].userName+';'\r\n // }\r\n }\r\n // alert(res.data.data.chargeUserList.length)\r\n for(var a = 0;a<res.data.data.chargeUserList.length;a++){\r\n ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';'\r\n }\r\n }\r\n });\r\n }\r\n };\r\n //日期选择器\r\n const value1 = ref('')\r\n // 上传附件\r\n const fileList = ref<UploadUserFile[]>([])\r\n // 可选择树\r\n const treeSelect = ref()\r\n const tree = [\r\n ]\r\n //部门树\r\n const department = () => {\r\n goalManagementApi()\r\n .getTreedepartment()\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n data.value = res.data.data;\r\n } else {\r\n ElMessage.error(res.data.msg);\r\n }\r\n });\r\n };\r\n //定义树形下拉框\r\n const responsibleDepartment = ref()\r\n const data = ref()\r\n const propse = {\r\n label: 'depName',\r\n children: 'children',\r\n value: 'depId',\r\n };\r\n onMounted(() => {\r\n department();\r\n });\r\n // 表单提交验证必填项\r\n const submitForm = async (title: string, formEl: FormInstance | undefined) => {\r\n ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)\r\n delete ruleForm.value.planName\r\n delete ruleForm.value.chargeUserListString\r\n delete ruleForm.value.userListString\r\n delete ruleForm.value.chargeUserList\r\n delete ruleForm.value.gmtModitify\r\n if (title == '新建应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .addReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n }\r\n else if (title == '修改应急演练计划发布') {\r\n if (!formEl) return;\r\n await formEl.validate((valid, fields) => {\r\n if (valid) {\r\n isShowDialog.value = false;\r\n releaseDrillPlanApi()\r\n .editReleaseDrillPlan(ruleForm.value)\r\n .then((res) => {\r\n if (res.data.code == 200) {\r\n ElMessage({\r\n showClose: true,\r\n message: '修改成功',\r\n type: 'success',\r\n });\r\n emit('myAdd', true);\r\n } else {\r\n ElMessage({\r\n showClose: true,\r\n message: res.data.msg,\r\n type: 'error',\r\n });\r\n emit('myAdd', true);\r\n }\r\n formEl.resetFields();\r\n });\r\n } else {\r\n console.log('error submit!', fields);\r\n }\r\n });\r\n formEl.resetFields();\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n }\r\n }\r\n const resetForm = (formEl: FormInstance | undefined) => {\r\n isShowDialog.value = false;\r\n if (!formEl) return;\r\n ruleForm.value = {\r\n makingPlanDate: '', // 计划制定日期\r\n drillPlanDate: '', //计划演练日期\r\n makingUserUid: '', //计划制定人ID\r\n makingDepartmentId: '', // 计划制定部门ID\r\n planId: '', // 应急预案ID\r\n planName: '', // 应急预案name\r\n departmentId: '', // 主办部门ID\r\n drillExpense: '', // 演练经费\r\n drillLevel: '', //演练级别\r\n drillAddress: '', //演练地点\r\n drillName: '', // 演练名称\r\n drillWay: '', // 演练方式\r\n insuranceMeasures: '', // 保险措施\r\n remark: '', // 备注\r\n purpose: '', // 演练目的\r\n fileList: [\r\n ],\r\n userList: [\r\n ],\r\n chargeUserList:[],\r\n userListString:'',//演练人员字段(回填使用)\r\n chargeUserListString:'',//演练负责人字段(回填使用)\r\n };\r\n formEl.resetFields();\r\n };\r\n // 应急队伍弹窗\r\n const Shows=ref()\r\n const daiInpt = () => {\r\n Shows.value.openDailog()\r\n }\r\n const onUser = (e:any) => {\r\n ruleForm.value.planId=e.id\r\n ruleForm.value.planName=e.name\r\n };\r\n // 打开用户选择弹窗\r\n const userRef = ref();\r\n const userFZRef = ref();\r\n //打开演练人员和演练负责人弹窗 type 0 演练人员 1 演练负责人\r\n const openUser = (type:number) => {\r\n if(type==0){\r\n userRef.value.openDailog(0);\r\n }else if(type==1){\r\n userFZRef.value.openDailog(0);\r\n }\r\n };\r\n const SearchUser = (e:any) => {\r\n console.log('演练人员',e)\r\n ruleForm.value.userListString=''\r\n ruleForm.value.userList=[]\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.userList.push(\r\n {\r\n type: 1,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.userListString+=e[a].realName+';'\r\n }\r\n\r\n };\r\n const SearchFZUser = (e:any) => {\r\n console.log('演练负责人员',e[0].userName)\r\n ruleForm.value.chargeUserListString=''\r\n ruleForm.value.chargeUserList=[]\r\n // ruleForm.value.chargeUserList = []\r\n for(var a = 0;a<e.length;a++){\r\n ruleForm.value.chargeUserList.push(\r\n {\r\n type: 2,\r\n userName: e[a].realName,\r\n userUid: e[a].uid,\r\n }\r\n )\r\n ruleForm.value.chargeUserListString+=e[a].realName+';'\r\n }\r\n };\r\n // 计划定制日期\r\n const datetime = ref('');\r\n //全屏\r\n const full = ref(false);\r\n const toggleFullscreen = () => {\r\n if (full.value == false) {\r\n full.value = true;\r\n } else {\r\n full.value = false;\r\n }\r\n };\r\n return {\r\n openDialog,\r\n isShowDialog,\r\n fileList,\r\n responsibleDepartment,\r\n data,\r\n department,\r\n propse,\r\n Search,\r\n ruleForm,\r\n value1,\r\n treeSelect,\r\n tree,\r\n daiInpt,\r\n Shows,\r\n ruleFormRef,\r\n submitForm,\r\n openUser,\r\n userRef,\r\n datetime,\r\n toggleFullscreen,\r\n FullScreen,\r\n full,\r\n titles,\r\n disabled,\r\n resetForm,\r\n emit,\r\n onUser,\r\n userFZRef,\r\n SearchUser,\r\n SearchFZUser\r\n };\r\n },\r\n});\r\n</script>\r\n<style scoped lang=\"scss\">\r\n.textarea{\r\n height: 168px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 168px!important;\r\n}\r\n::v-deep .el-table__cell {\r\n font-weight: 400;\r\n}\r\n.el-divider--horizontal{\r\n height: 0;\r\n margin: 0;\r\n border-top: transparent;\r\n}\r\n.el-select{\r\n width: 100%;\r\n}\r\n//多行文本框\r\n.textarea{\r\n height: 70px!important;\r\n}\r\n.textarea ::v-deep .el-textarea__inner{\r\n height: 70px!important;\r\n}\r\n//弹窗底部边框线\r\n::v-deep .el-dialog__footer{\r\n border-top: 1px solid #e8e8e8;\r\n border-radius: 0 0 4px 4px;\r\n}\r\n//弹窗顶部边框线\r\n::v-deep .el-dialog__header {\r\n border-bottom: 1px solid #e8e8e8;\r\n margin-right: 0;\r\n border-radius: 4px 4px 0 0;\r\n}\r\n</style> +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue (date 1660382056859) +@@ -162,20 +162,8 @@ + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> + <el-form-item label="预案附件"> +- <!--<el-upload--> +- <!--v-model:file-list="fileList"--> +- <!--class="upload-demo"--> +- <!--action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> +- <!--:on-change="handleChange"--> +- <!-->--> +- <!--<el-button type="primary"--> +- <!-->点击上传</el-button>--> +- <!--<template #tip>--> +- <!--<div class="el-upload__tip">--> +- <!--添加相关附件--> +- <!--</div>--> +- <!--</template>--> +- <!--</el-upload>--> ++ <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-form-item> + </el-col> + </el-row> +@@ -215,12 +203,13 @@ + import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan"; + import {goalManagementApi} from "/@/api/goalManagement"; + import { Session } from '/@/utils/storage'; +- ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ + name: 'openAdd', + components: { + RegionsDialog, +- DailogSearchUser ++ DailogSearchUser, ++ uploaderFile + }, + setup(props, { emit }) { + const isShowDialog = ref(false) +@@ -281,14 +270,35 @@ + for(var a = 0;a<res.data.data.chargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';' + } ++ fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) ++ initFileListData() + } + }); + } + }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].fileName ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ fileName:fileList.value[a].fileName, ++ fileUrl:'' ++ } ++ ) ++ } ++ ruleForm.value.fileList = formFileList ++ } + //日期选择器 + const value1 = ref('') + // 上传附件 +- const fileList = ref<UploadUserFile[]>([]) ++ const fileList = ref([]) + // 可选择树 + const treeSelect = ref() + const tree = [ +@@ -318,6 +328,9 @@ + }); + // 表单提交验证必填项 + const submitForm = async (title: string, formEl: FormInstance | undefined) => { ++ if(!ruleForm.value.fileList){ ++ ruleForm.value.fileList = [] ++ } + ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList) + delete ruleForm.value.planName + delete ruleForm.value.chargeUserListString +@@ -412,6 +425,7 @@ + } + const resetForm = (formEl: FormInstance | undefined) => { + isShowDialog.value = false; ++ fileList.value=[] + if (!formEl) return; + ruleForm.value = { + makingPlanDate: '', // 计划制定日期 +@@ -473,7 +487,6 @@ + ) + ruleForm.value.userListString+=e[a].realName+';' + } +- + }; + const SearchFZUser = (e:any) => { + console.log('演练负责人员',e[0].userName) +@@ -532,7 +545,9 @@ + onUser, + userFZRef, + SearchUser, +- SearchFZUser ++ SearchFZUser, ++ successUploader, ++ initFileListData + }; + }, + }); +@@ -573,4 +588,4 @@ + margin-right: 0; + border-radius: 4px 4px 0 0; + } +-</style> +\ No newline at end of file ++</style> +Index: src/components/equipmentDailog/Dailog.vue +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP +<+><template>\r\n\t<el-dialog v-model=\"dialogVisible\" :fullscreen=\"full\" @close=\"resetForm(ruleFormRef)\" draggable :title=\"titles\" width=\"60%\">\r\n\t\t<el-button @click=\"toggleFullscreen\" size=\"small\" class=\"pot\" :icon=\"FullScreen\"></el-button>\r\n\t\t<el-form :model=\"form\" ref=\"ruleFormRef\" :rules=\"rules\" :disabled=\"disabled\" label-width=\"120px\" class=\"formType\">\r\n\t\t\t<el-form-item label=\"装置设施名称\" size=\"default\" prop=\"qName\">\r\n\t\t\t\t<el-input v-model=\"form.qName\" placeholder=\"请填写装置设施名称\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施位号\" size=\"default\" prop=\"positionNum\">\r\n\t\t\t\t<el-input disabled v-model=\"form.positionNum\" placeholder=\"请填写装置设施位号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施用途\" size=\"default\" prop=\"qUsage\">\r\n\t\t\t\t<el-input v-model=\"form.qUsage\" placeholder=\"请填写装置设施用途\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"装置设施型号\" size=\"default\" prop=\"model\">\r\n\t\t\t\t<el-input v-model=\"form.model\" placeholder=\"请填写装置设施型号\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"类型/类别外键\" size=\"default\" prop=\"equipmentTypeName\">\r\n\t\t\t\t<el-input v-model=\"form.equipmentTypeName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"opencategory\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<!-- <el-form-item label=\"区域名称\" size=\"default\">\r\n <el-input v-model=\"form.name\" placeholder=\"请选择\">\r\n <template #append>\r\n <el-button :icon=\"Search\" @click=\"openRegion\"></el-button>\r\n </template>\r\n </el-input>\r\n </el-form-item> -->\r\n\t\t\t<el-form-item label=\"单位部门\" size=\"default\" prop=\"departmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.departmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"设置部位\" size=\"default\" prop=\"setPart\">\r\n\t\t\t\t<el-input v-model=\"form.setPart\" placeholder=\"请填写设置部位\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生产日期\" size=\"default\" prop=\"produceTime\">\r\n\t\t\t\t<el-date-picker v-model=\"form.produceTime\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用期限(天)\" size=\"default\" prop=\"useEndDay\">\r\n\t\t\t\t<el-input v-model=\"form.useEndDay\" placeholder=\"请填写使用期限\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"生命周期\" size=\"default\" prop=\"lifeCycle\">\r\n\t\t\t\t<el-select v-model=\"form.lifeCycle\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"已投用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"库存中\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"3\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"投用日期\" size=\"default\" prop=\"useDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.useDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"维修状态\" size=\"default\" prop=\"repairStatus\">\r\n\t\t\t\t<el-select v-model=\"form.repairStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"维修中\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"已修好\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用状态\" size=\"default\" prop=\"stopStatus\">\r\n\t\t\t\t<el-select v-model=\"form.stopStatus\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"停用\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"在用\" :value=\"2\" />\r\n\t\t\t\t\t<el-option label=\"维修\" :value=\"3\" />\r\n\t\t\t\t\t<el-option label=\"报废\" :value=\"4\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检查日期\" size=\"default\" prop=\"previousCheckDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousCheckDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次检测日期\" size=\"default\" prop=\"previousTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.previousTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"上次保养日期\" size=\"default\" prop=\"previousTakecareDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.previousTakecareDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检查日期\" size=\"default\" prop=\"nextCheckDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextCheckDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次检测日期\" size=\"default\" prop=\"nextTestDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTestDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"下次保养日期\" size=\"default\" prop=\"nextTakecareDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.nextTakecareDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人\" size=\"default\" prop=\"leadingPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.leadingPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(1)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责人部门\" size=\"default\" prop=\"leadingPersonDepartmentId\">\r\n\t\t\t\t<el-tree-select\r\n\t\t\t\t\tv-model=\"form.leadingPersonDepartmentId\"\r\n\t\t\t\t\t:data=\"data\"\r\n\t\t\t\t\tcheck-strictly=\"true\"\r\n\t\t\t\t\tclass=\"w100\"\r\n\t\t\t\t\t:props=\"propse\"\r\n\t\t\t\t\tplaceholder=\"请选择\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"供应商\" size=\"default\" prop=\"supplyName\">\r\n\t\t\t\t<el-input v-model=\"form.supplyName\" placeholder=\"请填写供应商\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"使用说明\" size=\"default\" prop=\"useMemo\">\r\n\t\t\t\t<el-input v-model=\"form.useMemo\" placeholder=\"请填写使用说明\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检查\" size=\"default\" prop=\"isNeedCheck\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedCheck\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查周期\" size=\"default\" prop=\"checkCycle\">\r\n\t\t\t\t<el-input v-model=\"form.checkCycle\" placeholder=\"请填写检查周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查提前提醒\" size=\"default\" prop=\"checkWarn\">\r\n\t\t\t\t<el-input v-model=\"form.checkWarn\" placeholder=\"请填写检查提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否检测\" size=\"default\" prop=\"isNeedTest\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTest\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测周期\" size=\"default\" prop=\"testCycle\">\r\n\t\t\t\t<el-input v-model=\"form.testCycle\" placeholder=\"请填写检测周期\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检测提前提醒\" size=\"default\" prop=\"testWarn\">\r\n\t\t\t\t<el-input v-model=\"form.testWarn\" placeholder=\"请填写检测提前提醒\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"是否保养\" size=\"default\" prop=\"isNeedTakecare\">\r\n\t\t\t\t<el-select v-model=\"form.isNeedTakecare\" placeholder=\"请选择\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-option label=\"是\" :value=\"1\" />\r\n\t\t\t\t\t<el-option label=\"否\" :value=\"2\" />\r\n\t\t\t\t</el-select>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查内容\" size=\"default\" prop=\"checkContent\">\r\n\t\t\t\t<el-input v-model=\"form.checkContent\" placeholder=\"请填写检查内容\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"负责部门\" size=\"default\" prop=\"leadingDepartmentId\">\r\n\t\t\t\t<el-tree-select v-model=\"form.leadingDepartmentId\" :data=\"data\" check-strictly=\"true\" class=\"w100\" :props=\"propse\" placeholder=\"请选择\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"检查指标\" size=\"default\" prop=\"checkPoint\">\r\n\t\t\t\t<el-input v-model=\"form.checkPoint\" placeholder=\"请填写检查指标\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"预警值\" size=\"default\" prop=\"alertNum\">\r\n\t\t\t\t<el-input v-model=\"form.alertNum\" placeholder=\"请填写预警值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"联锁值\" size=\"default\" prop=\"lockNum\">\r\n\t\t\t\t<el-input v-model=\"form.lockNum\" placeholder=\"请填写联锁值\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用理由\" size=\"default\" prop=\"stopReason\">\r\n\t\t\t\t<el-input v-model=\"form.stopReason\" placeholder=\"请填写停用理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用后措施\" size=\"default\" prop=\"afterStopStep\">\r\n\t\t\t\t<el-input v-model=\"form.afterStopStep\" placeholder=\"请填写停用后措施\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际停用日期\" size=\"default\" prop=\"actualStopDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.actualStopDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交人\" size=\"default\" prop=\"stopSubmitPersonName\">\r\n\t\t\t\t<el-input v-model=\"form.stopSubmitPersonName\" placeholder=\"请选择\">\r\n\t\t\t\t\t<template #append>\r\n\t\t\t\t\t\t<el-button :icon=\"Search\" @click=\"openUser(2)\"></el-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-input>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"停用提交日期\" size=\"default\" prop=\"stopSubmitDate\">\r\n\t\t\t\t<el-date-picker v-model=\"form.stopSubmitDate\" format=\"YYYY-MM-DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\" style=\"width: 100%\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复理由\" size=\"default\" prop=\"recoveryReason\">\r\n\t\t\t\t<el-input v-model=\"form.recoveryReason\" placeholder=\"请填写恢复理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"恢复填报日期\" size=\"default\" prop=\"recoverySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.recoverySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际恢复日期\" size=\"default\" prop=\"actualRecoveryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualRecoveryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废理由\" size=\"default\" prop=\"destoryReason\">\r\n\t\t\t\t<el-input v-model=\"form.destoryReason\" placeholder=\"请填写报废理由\" />\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"报废填报日期\" size=\"default\" prop=\"destorySubmitDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.destorySubmitDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t\t<el-form-item label=\"实际报废日期\" size=\"default\" prop=\"actualDestoryDate\">\r\n\t\t\t\t<el-date-picker\r\n\t\t\t\t\tv-model=\"form.actualDestoryDate\"\r\n\t\t\t\t\tformat=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\tvalue-format=\"YYYY-MM-DD HH:mm:ss\"\r\n\t\t\t\t\ttype=\"datetime\"\r\n\t\t\t\t\tplaceholder=\"选择日期时间\"\r\n\t\t\t\t\tstyle=\"width: 100%\"\r\n\t\t\t\t/>\r\n\t\t\t</el-form-item>\r\n\t\t</el-form>\r\n\t\t<el-tabs v-model=\"activeName\" class=\"demo-tabs\">\r\n\t\t\t<el-tab-pane label=\"设备保养\" name=\"first\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openMaintenance('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.takecareDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareMemo\" label=\"保养情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonName\" label=\"保养负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"takecareDate\" :formatter=\"timeDate\" label=\"保养日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"leadingPersonDepartmentName\" label=\"保养负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openMaintenance('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteA(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备检测\" name=\"second\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openDetect('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.testDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonName\" label=\"检测人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testDate\" :formatter=\"timeDate\" label=\"检测日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testPersonDepartmentName\" label=\"检测人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testMemo\" label=\"检测内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"检测结果\" >\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==1\">成功</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.testResult==2\">失败</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"testStatus\" label=\"检测状态\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openDetect('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteB(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"设备维修\" name=\"third\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openRepair('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.repaireDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"exceptionInfo\" label=\"设施异常项\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"维修状态\">\r\n\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==1\">维修中</span>\r\n\t\t\t\t\t\t\t<span v-if=\"scope.row.repairStatus==2\">已修好</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairMemo\" label=\"维修情况\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonName\" label=\"维修负责人\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairPersonDepartmentName\" label=\"维修负责人单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairStartDate\" :formatter=\"timeDate\" label=\"维修开始日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"repairEndDate\" :formatter=\"timeDate\" label=\"维修结束日期\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openRepair('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteC(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"检查标准设置\" name=\"fourth\">\r\n\t\t\t\t<el-button type=\"primary\" size=\"default\" :disabled=\"disabled\" @click=\"openStandard('新增', '')\">新增</el-button>\r\n\t\t\t\t<el-table :data=\"form.checkStandardeDetailList\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"indexNum\" label=\"序号\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkContent\" label=\"检查内容\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkTarget\" label=\"检查指标\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"unit\" label=\"单位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"checkPart\" label=\"巡检部位\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" prop=\"rate\" label=\"频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" label=\"操作\">\r\n\t\t\t\t\t\t<template #default=\"scope\">\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('查看', scope.row)\" size=\"small\">查看</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"openStandard('修改', scope.row)\" size=\"small\">修改</el-button>\r\n\t\t\t\t\t\t\t<el-button link type=\"primary\" @click=\"deleteD(scope.row)\" size=\"small\">删除</el-button>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</el-table-column>\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"巡检记录\" size=\"default\" name=\"five\">\r\n\t\t\t\t<el-table :data=\"name\" style=\"width: 100%\">\r\n\t\t\t\t\t<el-table-column align=\"center\" type=\"selection\" width=\"75\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"name\" label=\"任务编号\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"任务名称\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"点位类型\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"检查频次\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" :formatter=\"timeDate\" label=\"巡检时间\" />\r\n\t\t\t\t\t<el-table-column align=\"center\" sortable prop=\"address\" label=\"巡检人\" />\r\n\t\t\t\t</el-table>\r\n\t\t\t</el-tab-pane>\r\n\t\t\t<el-tab-pane label=\"保养维修标准\" name=\"six\" v-if=\"Dailogtype\">\r\n\t\t\t\t<el-upload\r\n\t\t\t\t\tv-model:file-list=\"fileList\"\r\n\t\t\t\t\tclass=\"upload-demo\"\r\n\t\t\t\t\taction=\"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15\"\r\n\t\t\t\t\tmultiple\r\n\t\t\t\t\t:on-preview=\"handlePreview\"\r\n\t\t\t\t\t:on-remove=\"handleRemove\"\r\n\t\t\t\t\t:before-remove=\"beforeRemove\"\r\n\t\t\t\t\t:limit=\"3\"\r\n\t\t\t\t\t:on-exceed=\"handleExceed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<el-button type=\"primary\">点击上传</el-button>\r\n\t\t\t\t\t<template #tip>\r\n\t\t\t\t\t\t<div class=\"el-upload__tip\"></div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</el-upload>\r\n\t\t\t</el-tab-pane>\r\n\t\t</el-tabs>\r\n\t\t<template #footer>\r\n\t\t\t<span class=\"dialog-footer\">\r\n\t\t\t\t<el-button @click=\"resetForm(ruleFormRef)\">关闭</el-button>\r\n\t\t\t\t<el-button type=\"primary\" @click=\"submitForm(ruleFormRef)\">确定</el-button>\r\n\t\t\t</span>\r\n\t\t</template>\r\n\t</el-dialog>\r\n\t<categoryDailog ref=\"categoryShow\"></categoryDailog>\r\n\t<categoryDailog ref=\"categoryShow\" @typeId=\"Tid\"></categoryDailog>\r\n\t<regionDailog ref=\"regionShow\"></regionDailog>\r\n\t<DailogSearchUser ref=\"UserShow\" @SearchUser=\"userId\"></DailogSearchUser>\r\n\t<maintenanceDailog ref=\"maintenanceShow\" @onMain=\"main\"></maintenanceDailog>\r\n\t<detectDailog ref=\"detectShow\" @onDelect=\"delect\"></detectDailog>\r\n\t<repairDailog ref=\"repairShow\" @onRepair=\"Repair\"></repairDailog>\r\n\t<standardDailog ref=\"standardShow\" @onStand=\"Stand\"></standardDailog>\r\n</template>\r\n<script lang=\"ts\">\r\nimport { defineComponent, ref, reactive } from 'vue';\r\nimport { Search, FullScreen } from '@element-plus/icons-vue';\r\nimport categoryDailog from './categoryDailog.vue';\r\nimport regionDailog from './regionDailog.vue';\r\nimport maintenanceDailog from './maintenanceDailog.vue';\r\nimport detectDailog from './detectDailog.vue';\r\nimport repairDailog from './repairDailog.vue';\r\nimport { timeDate } from '/@/assets/index.ts';\r\nimport standardDailog from './standardDailog.vue';\r\nimport DailogSearchUser from '/@/components/DailogSearchUser/index.vue';\r\nimport { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus';\r\nimport type { UploadProps, UploadUserFile } from 'element-plus';\r\nimport { facilityManagementApi } from '/@/api/facilityManagement';\r\nimport { goalManagementApi } from '/@/api/goalManagement';\r\nimport { deepClone } from '/@/utils/other';\r\nexport default defineComponent({\r\n\tcomponents: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },\r\n\tsetup(props, { emit }) {\r\n\t\tconst dialogVisible = ref(false);\r\n\t\tconst ruleFormRef = ref<FormInstance>();\r\n\t\tconst form = ref({\r\n\t\t\tsupplyName: '',\r\n\r\n\t\t\tnextTestDate: '',\r\n\r\n\t\t\tqUsage: '',\r\n\r\n\t\t\tdepartmentId: '',\r\n\r\n\t\t\tproduceTime: '',\r\n\r\n\t\t\tactualStopDate: '',\r\n\r\n\t\t\ttakecareDetailList: [],\r\n\r\n\t\t\tinfoType: '',\r\n\r\n\t\t\tleadingDepartmentId: '',\r\n\r\n\t\t\tuseEndDay: '',\r\n\r\n\t\t\tpreviousTakecareDate: '',\r\n\r\n\t\t\tpreviousCheckDate: '',\r\n\r\n\t\t\tmodel: '',\r\n\r\n\t\t\tstopStatus: '',\r\n\r\n\t\t\ttestWarn: '',\r\n\r\n\t\t\tstopSubmitDate: '',\r\n\r\n\t\t\trepairStatus: '',\r\n\r\n\t\t\ttakecareStardardeDetailList: [\r\n\t\t\t\t{\r\n\t\t\t\t\tfilePath: '123',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\r\n\t\t\tnextCheckDate: '',\r\n\r\n\t\t\tcheckCycle: '',\r\n\r\n\t\t\tcheckPoint: '',\r\n\r\n\t\t\tleadingPersonId: '',\r\n\t\t\tleadingPersonName: '',\r\n\r\n\t\t\tqName: '',\r\n\r\n\t\t\tnextTakecareDate: '',\r\n\r\n\t\t\tsetPart: '',\r\n\r\n\t\t\tcheckStandardeDetailList: [],\r\n\r\n\t\t\tactualDestoryDate: '',\r\n\r\n\t\t\tisNeedTest: '',\r\n\r\n\t\t\talertNum: '',\r\n\r\n\t\t\tcheckContent: '',\r\n\r\n\t\t\tuseMemo: '',\r\n\r\n\t\t\tpreviousTestDate: '',\r\n\r\n\t\t\tisNeedTakecare: '',\r\n\r\n\t\t\tdestoryReason: '',\r\n\r\n\t\t\tcheckDetailList: [],\r\n\r\n\t\t\tpositionNum: '',\r\n\r\n\t\t\ttestCycle: '',\r\n\r\n\t\t\trecoveryReason: '',\r\n\r\n\t\t\tisNeedCheck: '',\r\n\r\n\t\t\tactualRecoveryDate: '',\r\n\r\n\t\t\tleadingPersonDepartmentId: '',\r\n\r\n\t\t\tstopReason: '',\r\n\r\n\t\t\tdestorySubmitDate: '',\r\n\r\n\t\t\ttestDetailList: [],\r\n\r\n\t\t\tcheckWarn: '',\r\n\r\n\t\t\trepaireDetailList: [],\r\n\r\n\t\t\tequipmentTypeId: '',\r\n\r\n\t\t\tuseDate: '',\r\n\r\n\t\t\trecoverySubmitDate: '',\r\n\r\n\t\t\tlockNum: '',\r\n\r\n\t\t\tstopSubmitPersonId: '',\r\n\t\t\tstopSubmitPersonName: '',\r\n\t\t\tafterStopStep: '',\r\n\r\n\t\t\tlifeCycle: '',\r\n\r\n\t\t\tdelCheckStandardeDetails: '',\r\n\r\n\t\t\tdelTakecareStardardeDetails: '',\r\n\r\n\t\t\tdelTakecareDetails: '',\r\n\r\n\t\t\tdelRepaireDetails: '',\r\n\r\n\t\t\tdelTestDetails: '',\r\n\t\t});\r\n\t\tconst titles = ref();\r\n\t\tconst titleT = ref();\r\n\t\tconst disabled = ref(false);\r\n\t\tconst Dailogtype = ref(false);\r\n\t\tconst openDailog = (title: string, type: boolean, id: number, num: any) => {\r\n\t\t\tdialogVisible.value = true;\r\n\t\t\ttitleT.value = title;\r\n\t\t\tdepartment();\r\n\t\t\tDailogtype.value = type;\r\n\t\t\tif (num == 0) {\r\n\t\t\t\ttitles.value = `${title}仪表信息`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 1) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t} else if (num == 2) {\r\n\t\t\t\ttitles.value = `${title}设备设施`;\r\n\t\t\t\tform.value.infoType = num;\r\n\t\t\t}\r\n\r\n\t\t\tdisabled.value = title == '查看' ? true : false;\r\n\t\t\tif (title == '查看' || title == '修改')\r\n\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t.getequipmentInfoDetail(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\tform.value = res.data.data;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t};\r\n\t\tconst rules = reactive<FormRules>({\r\n\t\t\tqName: [],\r\n\t\t\tpositionNum: [],\r\n\t\t\tqUsage: [],\r\n\t\t\tmodel: [],\r\n\t\t\tequipmentTypeId: [],\r\n\t\t\tequipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],\r\n\t\t\tdepartmentId: [],\r\n\t\t\tsetPart: [],\r\n\t\t\tproduceTime: [],\r\n\t\t\tuseEndDay: [],\r\n\t\t\tlifeCycle: [],\r\n\t\t\tuseDate: [],\r\n\t\t\trepairStatus: [],\r\n\t\t\tstopStatus: [],\r\n\t\t\tpreviousCheckDate: [],\r\n\t\t\tpreviousTestDate: [],\r\n\t\t\tpreviousTakecareDate: [],\r\n\t\t\tnextCheckDate: [],\r\n\t\t\tnextTestDate: [],\r\n\t\t\tnextTakecareDate: [],\r\n\t\t\tleadingPersonName: [],\r\n\t\t\tleadingPersonDepartmentId: [],\r\n\t\t\tsupplyName: [],\r\n\t\t\tuseMemo: [],\r\n\t\t\tisNeedCheck: [],\r\n\t\t\tcheckCycle: [],\r\n\t\t\tcheckWarn: [],\r\n\t\t\tisNeedTest: [],\r\n\t\t\ttestCycle: [],\r\n\t\t\ttestWarn: [],\r\n\t\t\tisNeedTakecare: [],\r\n\t\t\tcheckContent: [],\r\n\t\t\tleadingDepartmentId: [],\r\n\t\t\tcheckPoint: [],\r\n\t\t\talertNum: [],\r\n\t\t\tlockNum: [],\r\n\t\t\tstopReason: [],\r\n\t\t\tafterStopStep: [],\r\n\t\t\tactualStopDate: [],\r\n\t\t\tstopSubmitPersonName: [],\r\n\t\t\tstopSubmitDate: [],\r\n\t\t\trecoveryReason: [],\r\n\t\t\trecoverySubmitDate: [],\r\n\t\t\tactualRecoveryDate: [],\r\n\t\t\tdestoryReason: [],\r\n\t\t\tdestorySubmitDate: [],\r\n\t\t\tactualDestoryDate: [],\r\n\t\t});\r\n\t\t// 提交\r\n\t\tconst submitForm = async (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tawait formEl.validate((valid, fields) => {\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tform.value.delTakecareDetails = deleteAId.value.toString();\r\n\t\t\t\t\tform.value.delTestDetails = deleteBId.value.toString();\r\n\t\t\t\t\tform.value.delRepaireDetails = deleteCId.value.toString();\r\n\t\t\t\t\tform.value.delCheckStandardeDetails = deleteDId.value.toString();\r\n\t\t\t\t\tdialogVisible.value = false;\r\n\t\t\t\t\tdelete form.value.equipmentTypeName;\r\n\t\t\t\t\tdelete form.value.departmentName;\r\n\t\t\t\t\tdelete form.value.leadingPersonDepartmentName;\r\n\t\t\t\t\tdelete form.value.leadingDepartmentName;\r\n\t\t\t\t\tif (titleT.value == '新建') {\r\n\t\t\t\t\t\tdelete form.value.id;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfacilityManagementApi()\r\n\t\t\t\t\t\t.getequipmentInfoAddOrUpdate(form.value)\r\n\t\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\t\t\tElMessage({\r\n\t\t\t\t\t\t\t\t\tmessage: res.data.msg,\r\n\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\temit('navAddorUpdata');\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t};\r\n\t\t// 取消\r\n\t\tconst resetForm = (formEl: FormInstance | undefined) => {\r\n\t\t\tif (!formEl) return;\r\n\t\t\tformEl.resetFields();\r\n\t\t\tform.value.takecareDetailList = [];\r\n\t\t\tform.value.testDetailList = [];\r\n\t\t\tform.value.repaireDetailList = [];\r\n\t\t\tform.value.checkStandardeDetailList = [];\r\n\t\t\tdialogVisible.value = false;\r\n\t\t};\r\n\t\tconst activeName = ref('first');\r\n\t\tconst index = ref<any>();\r\n\t\tconst categoryShow = ref();\r\n\t\tconst opencategory = () => {\r\n\t\t\tcategoryShow.value.openDailog();\r\n\t\t};\r\n\t\tconst regionShow = ref();\r\n\t\tconst openRegion = () => {\r\n\t\t\tregionShow.value.openDailog();\r\n\t\t};\r\n\t\tconst UserShow = ref();\r\n\t\tconst openUser = (type: any) => {\r\n\t\t\tUserShow.value.openDailog(type);\r\n\t\t};\r\n\t\tconst maintenanceShow = ref();\r\n\t\tconst openMaintenance = (title: string, data: any) => {\r\n index.value = form.value.takecareDetailList.indexOf(data);\r\n\t\t\tmaintenanceShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst detectShow = ref();\r\n\t\tconst openDetect = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.testDetailList.indexOf(data);\r\n\t\t\tdetectShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst repairShow = ref();\r\n\t\tconst openRepair = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.repaireDetailList.indexOf(data);\r\n\t\t\trepairShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\tconst standardShow = ref();\r\n\t\tconst openStandard = (title: string, data: any) => {\r\n\t\t\tindex.value = form.value.checkStandardeDetailList.indexOf(data);\r\n\t\t\tstandardShow.value.openDailog(title, data);\r\n\t\t};\r\n\t\t// 上传\r\n\t\tconst fileList = ref<UploadUserFile[]>([\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'element-plus-logo2.svg',\r\n\t\t\t\turl: 'https://element-plus.org/images/element-plus-logo.svg',\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tconst handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {\r\n\t\t\tconsole.log(file, uploadFiles);\r\n\t\t};\r\n\r\n\t\tconst handlePreview: UploadProps['onPreview'] = (uploadFile) => {\r\n\t\t\tconsole.log(uploadFile);\r\n\t\t};\r\n\r\n\t\tconst handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {\r\n\t\t\tElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);\r\n\t\t};\r\n\r\n\t\tconst beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {\r\n\t\t\treturn ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(\r\n\t\t\t\t() => true,\r\n\t\t\t\t() => false\r\n\t\t\t);\r\n\t\t};\r\n\t\tconst deleteAId = ref([]);\r\n\t\tconst deleteBId = ref([]);\r\n\t\tconst deleteCId = ref([]);\r\n\t\tconst deleteDId = ref([]);\r\n\t\t// 删除\r\n\t\tconst deleteA = (tag: any) => {\r\n\t\t\tform.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteAId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteB = (tag: any) => {\r\n\t\t\tform.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteBId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteC = (tag: any) => {\r\n\t\t\tform.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteCId.value.push(tag.id);\r\n\t\t};\r\n\t\tconst deleteD = (tag: any) => {\r\n\t\t\tform.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);\r\n\t\t\tdeleteDId.value.push(tag.id);\r\n\t\t};\r\n\t\t// 回传\r\n\t\tconst main = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.takecareDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.takecareDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst delect = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.testDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.testDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Repair = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.repaireDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.repaireDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Stand = (data: any) => {\r\n\t\t\tconst val = deepClone(data);\r\n\t\t\tif (index.value == -1) {\r\n\t\t\t\tform.value.checkStandardeDetailList.push(val);\r\n\t\t\t} else {\r\n\t\t\t\tform.value.checkStandardeDetailList[index.value] = val;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst userId = (val: any, type: number) => {\r\n\t\t\tconsole.log(val, type);\r\n\t\t\tif (type == 1) {\r\n\t\t\t\tform.value.leadingPersonId = val.uid;\r\n\t\t\t\tform.value.leadingPersonName = val.realName;\r\n\t\t\t} else if (type == 2) {\r\n\t\t\t\tform.value.stopSubmitPersonId = val.uid;\r\n\t\t\t\tform.value.stopSubmitPersonName = val.realName;\r\n\t\t\t}\r\n\t\t};\r\n\t\tconst Tid = (data: any) => {\r\n\t\t\tform.value.equipmentTypeId = data.id;\r\n\t\t\tform.value.equipmentTypeName = data.typeName;\r\n\t\t\tform.value.positionNum = data.sortNum;\r\n\t\t};\r\n\t\t//全屏\r\n\t\tconst full = ref(false);\r\n\t\tconst toggleFullscreen = () => {\r\n\t\t\tif (full.value == false) {\r\n\t\t\t\tfull.value = true;\r\n\t\t\t} else {\r\n\t\t\t\tfull.value = false;\r\n\t\t\t}\r\n\t\t};\r\n\t\t//部门树\r\n\t\tconst department = () => {\r\n\t\t\tgoalManagementApi()\r\n\t\t\t\t.getTreedepartment()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data.code == 200) {\r\n\t\t\t\t\t\tdata.value = res.data.data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tElMessage.error(res.data.msg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\t\tconst propse = {\r\n\t\t\tlabel: 'depName',\r\n\t\t\tchildren: 'children',\r\n\t\t\tvalue: 'depId',\r\n\t\t};\r\n\t\tconst data = ref();\r\n\t\treturn {\r\n\t\t\tTid,\r\n\t\t\tdeepClone,\r\n\t\t\trules,\r\n\t\t\tuserId,\r\n\t\t\tdepartment,\r\n\t\t\tpropse,\r\n\t\t\tdata,\r\n\t\t\tdeleteAId,\r\n\t\t\tdeleteBId,\r\n\t\t\tdeleteCId,\r\n\t\t\tdeleteDId,\r\n\t\t\tdeleteA,\r\n\t\t\tdeleteB,\r\n\t\t\tdeleteC,\r\n\t\t\tdeleteD,\r\n\t\t\tmain,\r\n\t\t\tindex,\r\n\t\t\tdelect,\r\n\t\t\tRepair,\r\n\t\t\tStand,\r\n\t\t\tresetForm,\r\n\t\t\tsubmitForm,\r\n\t\t\ttitles,\r\n\t\t\tdialogVisible,\r\n\t\t\tdisabled,\r\n\t\t\tDailogtype,\r\n\t\t\tform,\r\n\t\t\topenDailog,\r\n\t\t\tSearch,\r\n\t\t\tactiveName,\r\n\t\t\tcategoryShow,\r\n\t\t\topencategory,\r\n\t\t\tregionShow,\r\n\t\t\topenRegion,\r\n\t\t\tUserShow,\r\n\t\t\topenUser,\r\n\t\t\tmaintenanceShow,\r\n\t\t\topenMaintenance,\r\n\t\t\tdetectShow,\r\n\t\t\topenDetect,\r\n\t\t\trepairShow,\r\n\t\t\topenRepair,\r\n\t\t\tstandardShow,\r\n\t\t\topenStandard,\r\n\t\t\tfileList,\r\n\t\t\thandleRemove,\r\n\t\t\thandlePreview,\r\n\t\t\thandleExceed,\r\n\t\t\tbeforeRemove,\r\n\t\t\tfull,\r\n\t\t\ttoggleFullscreen,\r\n\t\t\tFullScreen,\r\n\t\t\ttimeDate,\r\n\t\t\truleFormRef,\r\n\t\t};\r\n\t},\r\n});\r\n</script>\r\n<style scoped>\r\n.el-form-item {\r\n\twidth: 400px;\r\n}\r\n.formType:after {\r\n\tcontent: '';\r\n\twidth: 400px;\r\n}\r\n.formType {\r\n\tpadding: 20px 20px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n}\r\n.el-form .el-form-item:last-of-type {\r\n\tmargin-bottom: 22px !important;\r\n}\r\n</style>\r\n +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue +--- a/src/components/equipmentDailog/Dailog.vue (revision 98e38073c372501331f1f399854d9e9690da979c) ++++ b/src/components/equipmentDailog/Dailog.vue (date 1660382056864) +@@ -324,22 +324,8 @@ + </el-table> + </el-tab-pane> + <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> +- <el-upload +- v-model:file-list="fileList" +- class="upload-demo" +- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" +- multiple +- :on-preview="handlePreview" +- :on-remove="handleRemove" +- :before-remove="beforeRemove" +- :limit="3" +- :on-exceed="handleExceed" +- > +- <el-button type="primary">点击上传</el-button> +- <template #tip> +- <div class="el-upload__tip"></div> +- </template> +- </el-upload> ++ <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" ++ @successUploader="successUploader"></uploaderFile> + </el-tab-pane> + </el-tabs> + <template #footer> +@@ -374,8 +360,10 @@ + import { facilityManagementApi } from '/@/api/facilityManagement'; + import { goalManagementApi } from '/@/api/goalManagement'; + import { deepClone } from '/@/utils/other'; ++import uploaderFile from '/@/components/uploaderFile/index.vue'; + export default defineComponent({ +- components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, ++ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, ++ detectDailog, repairDailog, standardDailog,uploaderFile }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const ruleFormRef = ref<FormInstance>(); +@@ -415,9 +403,6 @@ + repairStatus: '', + + takecareStardardeDetailList: [ +- { +- filePath: '123', +- }, + ], + + nextCheckDate: '', +@@ -528,11 +513,61 @@ + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; ++ ++ //初始化日期格式 ++ form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); ++ form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); ++ form.value.actualStopDate = timeC(form.value.actualStopDate); ++ form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); ++ form.value.nextCheckDate = timeC(form.value.nextCheckDate); ++ form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); ++ form.value.nextTestDate = timeC(form.value.nextTestDate); ++ form.value.previousCheckDate = timeC(form.value.previousCheckDate); ++ form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); ++ form.value.previousTestDate = timeC(form.value.previousTestDate); ++ form.value.produceTime = timeC(form.value.produceTime); ++ form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); ++ form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); ++ form.value.useDate = timeC(form.value.useDate); ++ ++ fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) ++ initFileListData() + } else { + ElMessage.error(res.data.msg); + } + }); + }; ++ const timeC = (timestamp: any) => { ++ let a = new Date(timestamp).getTime(); ++ const date = new Date(a); ++ const Y = date.getFullYear() + '-'; ++ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; ++ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; ++ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; ++ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); ++ const s = date.getSeconds(); // 秒 ++ const dateString = Y + M + D + h + m +`:${s}`; ++ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 ++ return dateString; ++ }; ++ const initFileListData = async () => { ++ for(var a = 0;a<fileList.value.length;a++){ ++ fileList.value[a].name = fileList.value[a].filePath ++ } ++ } ++ // 上传成功组装数据 ++ const successUploader = (list) =>{ ++ fileList.value = list ++ const formFileList = [] ++ for(var a = 0;a<fileList.value.length;a++){ ++ formFileList.push( ++ { ++ filePath:fileList.value[a].fileName ++ } ++ ) ++ } ++ form.value.takecareStardardeDetailList = formFileList ++ } + const rules = reactive<FormRules>({ + qName: [], + positionNum: [], +@@ -628,6 +663,7 @@ + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; ++ fileList.value = [] + dialogVisible.value = false; + }; + const activeName = ref('first'); +@@ -665,16 +701,7 @@ + standardShow.value.openDailog(title, data); + }; + // 上传 +- const fileList = ref<UploadUserFile[]>([ +- { +- name: 'element-plus-logo.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- { +- name: 'element-plus-logo2.svg', +- url: 'https://element-plus.org/images/element-plus-logo.svg', +- }, +- ]); ++ const fileList = ref([]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); +@@ -845,6 +872,9 @@ + FullScreen, + timeDate, + ruleFormRef, ++ successUploader, ++ initFileListData, ++ timeC + }; + }, + }); +diff --git a/src/views/homeMenu/homeMenu.vue b/src/views/newHome/homeMenu.vue +rename from src/views/homeMenu/homeMenu.vue +rename to src/views/newHome/homeMenu.vue diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48__Default_Changelist_.xml new file mode 100644 index 0000000..dbc0aad --- /dev/null +++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48__Default_Changelist_.xml @@ -0,0 +1,4 @@ +<changelist name="Uncommitted_changes_before_Update_at_2022_8_13_17_48_[Default_Changelist]" date="1660384095921" recycled="true" deleted="true"> + <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_13_17_48_[Default_Changelist]/shelved.patch" /> + <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/13 17:48 [Default Changelist]" /> +</changelist> \ No newline at end of file diff --git a/src/api/doublePreventSystem/rectify/index.ts b/src/api/doublePreventSystem/rectify/index.ts index eb04e43..30f1466 100644 --- a/src/api/doublePreventSystem/rectify/index.ts +++ b/src/api/doublePreventSystem/rectify/index.ts @@ -40,6 +40,12 @@ url: import.meta.env.VITE_API_URL + `/prevent/device/select/listDevices`, method: 'post' }); + }, + getCodeByTime: (date: string) => { + return request({ + url: import.meta.env.VITE_API_URL + `/prevent/dangerManage/count/byCreateDate?date=${date}`, + method: 'get' + }); } }; } diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts index 45e866b..1aec912 100644 --- a/src/api/goalManagement/index.ts +++ b/src/api/goalManagement/index.ts @@ -247,10 +247,50 @@ data: params }); }, - // 目标检查上报 (有疑问) 新增或者修改数据 ---??? - getworkApproveAddOrUpdate: (params: object) => { + // 目标检查上报 分页查询数据 + getworkApproveList: (params: object) => { return request({ - url: import.meta.env.VITE_API_URL_OUT + '/workApprove/submitApprove', + url: import.meta.env.VITE_API_URL_OUT + '/targetMng/checkAndSubimt/list', + method: 'post', + data: params + }); + }, + // 目标检查上报 分页查询检查记录 + getworkApproveListCheckData: (params: object) => { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/page/listCheckData', + method: 'post', + data: params + }); + }, + // 目标检查上报 查询单条数据 + getworkApproveDetail: (params: any) => { + return request({ + url: import.meta.env.VITE_API_URL_OUT + `/targetDutyWorkApprove/selectOne/${params}`, + method: 'get' + }); + }, + + // 目标检查上报 新增数据 + getworkApproveAdd: (params: object) => { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/add', + method: 'post', + data: params + }); + }, + // 目标检查上报 新增数据 + getworkApproveUpdata: (params: object) => { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/update', + method: 'post', + data: params + }); + }, + // 目标检查上报 删除 + getworkApproveDelete: (params: any) => { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/targetDutyWorkApprove/delete', method: 'post', data: params }); @@ -268,6 +308,18 @@ url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`, method: 'get' }); + }, + beforeUploadFile(fileName1: string, fileName2: string) { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/minio/file/presign?prefixName=' + fileName1 + '&suffixName=' + fileName2, + method: 'get' + }); + }, + searchFile(fileName: string) { + return request({ + url: import.meta.env.VITE_API_URL_OUT + '/minio/file/view?obj=' + fileName, + method: 'get' + }); } }; } diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue index c75400c..230d038 100644 --- a/src/components/equipmentDailog/Dailog.vue +++ b/src/components/equipmentDailog/Dailog.vue @@ -324,22 +324,8 @@ </el-table> </el-tab-pane> <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - multiple - :on-preview="handlePreview" - :on-remove="handleRemove" - :before-remove="beforeRemove" - :limit="3" - :on-exceed="handleExceed" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip"></div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-tab-pane> </el-tabs> <template #footer> @@ -374,8 +360,10 @@ import { facilityManagementApi } from '/@/api/facilityManagement'; import { goalManagementApi } from '/@/api/goalManagement'; import { deepClone } from '/@/utils/other'; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ - components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, + components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, + detectDailog, repairDailog, standardDailog,uploaderFile }, setup(props, { emit }) { const dialogVisible = ref(false); const ruleFormRef = ref<FormInstance>(); @@ -415,9 +403,6 @@ repairStatus: '', takecareStardardeDetailList: [ - { - filePath: '123', - }, ], nextCheckDate: '', @@ -528,11 +513,61 @@ .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + + //初始化日期格式 + form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); + form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); + form.value.actualStopDate = timeC(form.value.actualStopDate); + form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); + form.value.nextCheckDate = timeC(form.value.nextCheckDate); + form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); + form.value.nextTestDate = timeC(form.value.nextTestDate); + form.value.previousCheckDate = timeC(form.value.previousCheckDate); + form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); + form.value.previousTestDate = timeC(form.value.previousTestDate); + form.value.produceTime = timeC(form.value.produceTime); + form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); + form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); + form.value.useDate = timeC(form.value.useDate); + + fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) + initFileListData() } else { ElMessage.error(res.data.msg); } }); }; + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m +`:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; + }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].filePath + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + filePath:fileList.value[a].fileName + } + ) + } + form.value.takecareStardardeDetailList = formFileList + } const rules = reactive<FormRules>({ qName: [], positionNum: [], @@ -628,6 +663,7 @@ form.value.testDetailList = []; form.value.repaireDetailList = []; form.value.checkStandardeDetailList = []; + fileList.value = [] dialogVisible.value = false; }; const activeName = ref('first'); @@ -665,16 +701,7 @@ standardShow.value.openDailog(title, data); }; // 上传 - const fileList = ref<UploadUserFile[]>([ - { - name: 'element-plus-logo.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - { - name: 'element-plus-logo2.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - ]); + const fileList = ref([]); const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { console.log(file, uploadFiles); @@ -845,6 +872,9 @@ FullScreen, timeDate, ruleFormRef, + successUploader, + initFileListData, + timeC }; }, }); diff --git a/src/components/uploaderFile/index.vue b/src/components/uploaderFile/index.vue new file mode 100644 index 0000000..3434a5e --- /dev/null +++ b/src/components/uploaderFile/index.vue @@ -0,0 +1,178 @@ +<template> + <el-upload + v-model:file-list="fileList" + multiple + :disabled="disabled" + class="upload-demo" + :http-request="uploadSectionFile" + :on-preview="handlePictureCardPreview" + :on-remove="handleRemove" + :on-success="successFile" + :on-error="errorFile" + > + <el-button type="primary">点击上传</el-button> + <template #tip> + <div class="el-upload__tip"> + 请上传文件 + <!--jpg/png files with a size less than 500KB.--> + </div> + <slot name="file"> + + </slot> + </template> + </el-upload> + + <!--<el-dialog v-model="dialogVisible">--> + <!--<img w-full :src="dialogImageUrl" alt="Preview Image" />--> + <!--</el-dialog>--> +</template> +<script lang="ts"> +import axios from 'axios'; +import { ref, defineComponent,onMounted,watch } from 'vue'; +import { Plus } from '@element-plus/icons-vue'; +import type { UploadProps, UploadUserFile } from 'element-plus'; +import { ElMessage } from 'element-plus'; +import { goalManagementApi } from '/@/api/goalManagement'; + +export default defineComponent({ + props: { + fileList: { + type: Array, + }, + disabled: { + type: Boolean, + default: () => false, + }, + systemName: { + type: String, + default: () => '', + }, + }, + components: { + Plus, + }, + setup(props, { emit }) { + const dialogImageUrl = ref(''); + const dialogVisible = ref(false); + + const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { + console.log(uploadFile, uploadFiles); + emit('deleteFile',uploadFiles); + }; + + const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { + goalManagementApi() + .searchFile(uploadFile.fileName) + .then((res) => { + window.open(res.data, "_blank"); + }) + dialogImageUrl.value = uploadFile.url!; + // dialogVisible.value = true; + }; + + const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { + console.log(response, uploadFile, uploadFiles); + }; + const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { + console.log(error, uploadFile, uploadFiles); + }; + watch(props.fileList, (val) => { + viewList.value = val + // searchFile() + }); + onMounted(() => { + if(props.fileList){ + viewList.value = props.fileList + // searchFile() + }else { + viewList.value = [] + } + + }); + const newFileList = ref([]) + const viewList = ref([]) + const searchFile = async () => { + for(var a = 0;a<props.fileList.length;a++){ + await goalManagementApi() + .searchFile(props.fileList[a].fileName) + .then((res) => { + props.fileList[a].url = res.data + }) + } + }; + const uploadSectionFile = (param) => { + let form = new FormData(); + form.append('file', param.file); + //组装文件名(传入后缀名) + var fileName1 = getFileName(param.file.type.split('/')[1], 1); + var fileName2 = getFileName(param.file.type.split('/')[1], 2); + goalManagementApi() + .beforeUploadFile(fileName1, fileName2) + .then((res) => { + // 转换形式 + const reader = new FileReader(); + reader.readAsArrayBuffer(param.file); + // 上传图片 + reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 + axios.put(res.data.uploadUrl, reader.result, + { + header: + { "Content-Type": "multipart/form-data" } + } + ) + .then(res1 => + { + props.fileList[props.fileList.length-1].fileName=res.data.fileName + props.fileList[props.fileList.length-1].name=res.data.fileName + props.fileList[props.fileList.length-1].fileUrl='' + emit('successUploader',props.fileList); + ElMessage({ + showClose: true, + message: '上传成功', + type: 'success', + }); + }) + }; + }); + }; + const getFileName = (suffix, type) => { + var projectName = props.systemName; + var date = getNowDate(); + var fileName1 = projectName + '/' + date + '_'; + var fileName2 = '.' + suffix; + if (type == 1) { + return fileName1; + } else if (type == 2) { + return fileName2; + } + return ''; + }; + + //获取当前年月日 + const getNowDate = () => { + var a = new Date().getTime(); //获取到当前时间戳 + var now = new Date(a); //创建一个指定的日期对象 + var year = now.getFullYear(); //年份 + var month = now.getMonth() + 1; //月份(0-11) + var date = now.getDate(); //天数(1到31) + return year + '-' + month + '-' + date; + }; + + return { + dialogImageUrl, + dialogVisible, + handleRemove, + handlePictureCardPreview, + successFile, + errorFile, + uploadSectionFile, + viewList + }; + }, +}); +</script> +<style scoped> + .upload-demo{ + width: 100%; + } +</style> diff --git a/src/components/uploaderImg/index.vue b/src/components/uploaderImg/index.vue index b769025..c30fad0 100644 --- a/src/components/uploaderImg/index.vue +++ b/src/components/uploaderImg/index.vue @@ -1,12 +1,13 @@ <template> <el-upload - v-model:file-list="fileList" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - list-type="picture-card" - :on-preview="handlePictureCardPreview" - :on-remove="handleRemove" - :on-success="successFile" - :on-error="errorFile" + v-model:file-list="fileList" + :disabled="disabled" + :http-request="uploadSectionFile" + list-type="picture-card" + :on-preview="handlePictureCardPreview" + :on-remove="handleRemove" + :on-success="successFile" + :on-error="errorFile" > <el-icon><Plus /></el-icon> </el-upload> @@ -16,50 +17,141 @@ </el-dialog> </template> <script lang="ts"> - import { ref,defineComponent } from 'vue' - import { Plus } from '@element-plus/icons-vue' - import type { UploadProps, UploadUserFile } from 'element-plus' +import axios from 'axios'; +import { ref, defineComponent,onMounted,watch } from 'vue'; +import { Plus } from '@element-plus/icons-vue'; +import type { UploadProps, UploadUserFile } from 'element-plus'; +import { ElMessage } from 'element-plus'; +import { goalManagementApi } from '/@/api/goalManagement'; - export default defineComponent({ - props: { - // svg 图标组件名字 - fileList: { - type: Array, - }, +export default defineComponent({ + props: { + // svg 图标组件名字 + fileList: { + type: Array, }, - components: { - Plus + disabled: { + type: Boolean, + default: () => false, }, - setup() { - - const dialogImageUrl = ref('') - const dialogVisible = ref(false) - - const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { - console.log(uploadFile, uploadFiles) - } - - const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { - dialogImageUrl.value = uploadFile.url! - dialogVisible.value = true - } - - const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { - console.log(response, uploadFile,uploadFiles) - } - const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { - console.log(error, uploadFile,uploadFiles) - } - - - return { - dialogImageUrl, - dialogVisible, - handleRemove, - handlePictureCardPreview, - successFile, - errorFile - }; + systemName: { + type: String, + default: () => '', }, - }); -</script> \ No newline at end of file + }, + components: { + Plus, + }, + setup(props, { emit }) { + const dialogImageUrl = ref(''); + const dialogVisible = ref(false); + + const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => { + console.log(uploadFile, uploadFiles); + }; + + const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => { + dialogImageUrl.value = uploadFile.url!; + dialogVisible.value = true; + }; + + const successFile = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => { + console.log(response, uploadFile, uploadFiles); + }; + const errorFile = (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => { + console.log(error, uploadFile, uploadFiles); + }; + watch(props.fileList, (val) => { + viewList.value = val + // searchFile() + }); + onMounted(() => { + if(props.fileList){ + viewList.value = props.fileList + // searchFile() + }else { + viewList.value = [] + } + + }); + const newFileList = ref([]) + const viewList = ref([]) + const searchFile = async () => { + for(var a = 0;a<props.fileList.length;a++){ + await goalManagementApi() + .searchFile(props.fileList[a].fileName) + .then((res) => { + props.fileList[a].url = res.data + }) + } + }; + const uploadSectionFile = (param) => { + let form = new FormData(); + form.append('file', param.file); + //组装文件名(传入后缀名) + var fileName1 = getFileName(param.file.type.split('/')[1], 1); + var fileName2 = getFileName(param.file.type.split('/')[1], 2); + goalManagementApi() + .beforeUploadFile(fileName1, fileName2) + .then((res) => { + // 转换形式 + const reader = new FileReader(); + reader.readAsArrayBuffer(param.file); + // 上传图片 + reader.onload = () => { // 上传图片接口 url:上传图片地址 修改请求头 + axios.put(res.data.uploadUrl, reader.result, + { + header: + { "Content-Type": "multipart/form-data" } + } + ) + .then(res1 => + { + props.fileList[props.fileList.length-1].fileName=res.data.fileName + props.fileList[props.fileList.length-1].fileUrl='' + emit('successUploader',props.fileList); + ElMessage({ + showClose: true, + message: '上传成功', + type: 'success', + }); + }) + }; + }); + }; + const getFileName = (suffix, type) => { + var projectName = props.systemName; + var date = getNowDate(); + var fileName1 = projectName + '/' + date + '_'; + var fileName2 = '.' + suffix; + if (type == 1) { + return fileName1; + } else if (type == 2) { + return fileName2; + } + return ''; + }; + + //获取当前年月日 + const getNowDate = () => { + var a = new Date().getTime(); //获取到当前时间戳 + var now = new Date(a); //创建一个指定的日期对象 + var year = now.getFullYear(); //年份 + var month = now.getMonth() + 1; //月份(0-11) + var date = now.getDate(); //天数(1到31) + return year + '-' + month + '-' + date; + }; + + return { + dialogImageUrl, + dialogVisible, + handleRemove, + handlePictureCardPreview, + successFile, + errorFile, + uploadSectionFile, + viewList + }; + }, +}); +</script> diff --git a/src/layout/navBars/breadcrumb/user.vue b/src/layout/navBars/breadcrumb/user.vue index 4b78003..22dcd98 100644 --- a/src/layout/navBars/breadcrumb/user.vue +++ b/src/layout/navBars/breadcrumb/user.vue @@ -65,7 +65,7 @@ </span> <template #dropdown> <el-dropdown-menu> - <el-dropdown-item command="/homeMenu">{{ $t('message.user.dropdown1') }}</el-dropdown-item> + <el-dropdown-item command="/newMenu">{{ $t('message.user.dropdown1') }}</el-dropdown-item> <!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item>--> <!-- <el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>--> <!-- <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item>--> @@ -260,7 +260,7 @@ } }; const backToMenu = () => { - router.push({ path: 'homeMenu' }); + router.push({ path: 'newMenu' }); }; // 页面加载时 onMounted(() => { diff --git a/src/router/route.ts b/src/router/route.ts index 1aa3929..c206f97 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -72,9 +72,9 @@ } }, { - path: '/homeMenu', - name: 'homeMenu', - component: () => import('/@/views/homeMenu/homeMenu.vue'), + path: '/newMenu', + name: 'newMenu', + component: () => import('/@/views/newHome/index.vue'), meta: { title: '首页', isKeepAlive: false diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue index 430d136..4e7f072 100644 --- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue +++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue @@ -1,6 +1,7 @@ <template> <div class="system-edit-user-container"> - <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> + <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" + destroy-on-close @close="closeDialog(ruleFormRef)"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px"> <el-row :gutter="35"> @@ -94,7 +95,8 @@ <el-form-item label="事故照片" prop="fileList"> <!--<el-input v-model="ruleForm.fileList" :disabled="disabled"--> <!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> - <uploaderImg :fileList="fileListDemo"></uploaderImg> + <uploaderImg :fileList="fileList" :disabled="disabled" + :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg> </el-form-item> </el-col> </el-row> @@ -157,7 +159,7 @@ const titles = ref(); const disabled = ref(); // 打开弹窗 - const openDialog = (title: string, id: number, type: boolean) => { + const openDialog = async (title: string, id: number, type: boolean) => { isShowDialog.value = true; titles.value = title; disabled.value = type; @@ -167,24 +169,39 @@ .then((res) => { if (res.data.code == 200) { ruleForm.value = res.data.data; + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + await goalManagementApi() + .searchFile(fileList.value[a].fileName) + .then((res) => { + fileList.value[a].url = res.data + }) + } + } //日期选择器 const value1 = ref(''); // 上传附件 - const fileList = ref<UploadUserFile[]>([]); - const fileListDemo = ref<UploadUserFile[]>([ - { - name: 'food.jpeg', - url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', - }, - { - name: 'food.jpeg', - url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100', - }, - ]); + const fileList = ref([]); + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } // 可选择树 const treeSelect = ref(); @@ -292,6 +309,9 @@ // const emit=defineEmits(['myAdd']) // 表单提交验证必填项 const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建事故快报') { if (!formEl) return; await formEl.validate((valid, fields) => { @@ -327,12 +347,6 @@ await formEl.validate((valid, fields) => { if (valid) { isShowDialog.value = false; - ruleForm.value.fileList = [ - // { - // fileUrl: 'url', - // fileName: 'name', - // }, - ]; accidentManagementSystemApi() .accidentView(ruleForm.value) .then((res) => { @@ -380,6 +394,7 @@ }; const closeDialog = (formEl: FormInstance | undefined) => { formEl.resetFields(); + fileList.value = [] console.log(ruleForm); isShowDialog.value = false; }; @@ -459,7 +474,7 @@ getTreeList, newTreeList, closeDialog, - fileListDemo, + successUploader }; }, }); diff --git a/src/views/accidentManagementSystem/accidentExpress/index.vue b/src/views/accidentManagementSystem/accidentExpress/index.vue index ce1a6df..ca3172e 100644 --- a/src/views/accidentManagementSystem/accidentExpress/index.vue +++ b/src/views/accidentManagementSystem/accidentExpress/index.vue @@ -41,7 +41,8 @@ <el-table-column align="center" prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> <el-table-column align="center" prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column> <el-table-column align="center" prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column> - <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable + :formatter="dateFormat"></el-table-column> <el-table-column align="center" prop="accidentCause" label="事故原因" show-overflow-tooltip sortable> <template #default="scope"> <div v-if="scope.row.accidentCause=='1'">人的不安全行为</div> @@ -49,7 +50,8 @@ </template> </el-table-column> <el-table-column align="center" prop="createName" label="创建人" show-overflow-tooltip sortable></el-table-column> - <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable></el-table-column> + <el-table-column align="center" prop="gmtModitify" label="更新时间" show-overflow-tooltip sortable + :formatter="dateFormat"></el-table-column> <el-table-column label="操作" width="260" align="center" fixed="right"> <template #default="scope"> <!-- <el-button size="small" text disabled> @@ -268,7 +270,16 @@ addRef.value.openDialog('修改事故快报',row,false); } }; - +//格式化表格时间 + const dateFormat = (row,column) => { + // 获取单元格数据 + let data = row[column.property]; + if(data == null) { + return null; + } + let dt = new Date(data) + return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds() + }; return { upButton, upShow, @@ -291,6 +302,7 @@ onDelete, deletAll, onDeleteAll, + dateFormat }; }, }); @@ -343,4 +355,4 @@ min-width: 30px; border-radius: 2px; } -</style> \ No newline at end of file +</style> diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue index a17ed5e..0aa02af 100644 --- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue @@ -166,11 +166,11 @@ /> </el-form-item> </el-col> - <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">--> - <!-- <el-form-item label="事故照片">--> - <!-- <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>--> - <!-- </el-form-item>--> - <!-- </el-col>--> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> + <el-form-item label="事故照片"> + <uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg> + </el-form-item> + </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" @@ -186,8 +186,9 @@ </el-form-item> </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> - <el-form-item label="事故分析会议纪要" prop="fileList"> - <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> + <el-form-item label="事故分析会议纪要"> + <uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> @@ -221,6 +222,7 @@ import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; import RegionsDialog from '/@/components/regionsDialog/index.vue'; import uploaderImg from '/@/components/uploaderImg/index.vue'; +import uploaderFile from '/@/components/uploaderFile/index.vue'; import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources'; import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; import { goalManagementApi } from '/@/api/goalManagement'; @@ -231,7 +233,8 @@ AccidentName, DailogSearchUserManger, RegionsDialog, - uploaderImg + uploaderImg, + uploaderFile }, setup(props, { emit }) { const isShowDialog = ref(false); @@ -266,6 +269,8 @@ const titles = ref(); const disabled = ref(); const statusDisabled = ref(true) + // 上传附件 + const fileList = ref([]); // 打开弹窗 const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => { isShowDialog.value = true; @@ -291,18 +296,53 @@ accidentDepartmentId.value = res.data.data.accidentDepartmentId occurrencePlace.value = res.data.data.occurrencePlace occurrenceTime.value = res.data.data.occurrenceTime + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + //事故照片 + if(ruleForm.value.expressFileList){ + for(var a = 0;a<ruleForm.value.expressFileList.length;a++){ + await goalManagementApi() + .searchFile(ruleForm.value.expressFileList[a].fileName) + .then((res) => { + ruleForm.value.expressFileList[a].url = res.data + console.log('ruleForm',ruleForm) + }) + } + }else { + ruleForm.value.expressFileList = [] + } + + // 事故分析会议纪要 + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } // 取消 const onCancel = (formEl: FormInstance | undefined) => { resetForm(formEl); }; //日期选择器 const value1 = ref(''); - // 上传附件 - const fileList = ref<UploadUserFile[]>([]); + // 可选择树 const treeSelect = ref(); //定义树形下拉框 @@ -423,7 +463,9 @@ delete ruleForm.value.accidentDepartmentId delete ruleForm.value.occurrencePlace delete ruleForm.value.occurrenceTime - + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建事故报告') { if (!formEl) return; await formEl.validate((valid, fields) => { @@ -458,7 +500,6 @@ await formEl.validate((valid, fields) => { if (valid) { //TODO 上传组件待定 - ruleForm.value.fileList = [] isShowDialog.value = false; accidentManagementSystemApi() .editAccidentReport(ruleForm.value) @@ -512,12 +553,14 @@ }; } }; + const resetForm = (formEl: FormInstance | undefined) => { isShowDialog.value = false; if (!formEl) return; formEl.resetFields(); // ruleForm.value.accidentExpressId = item[0].id ruleForm.value = {} + fileList.value = [] accidentName.value = '' accidentDepartmentId.value = '' occurrencePlace.value = '' @@ -629,7 +672,9 @@ accidentDepartmentId, occurrencePlace, occurrenceTime, - accidentName + accidentName, + successUploader, + initFileListData }; }, }); diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue index 9cad19d..3c9b50a 100644 --- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue @@ -81,7 +81,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="相关附件"> - <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> + <uploaderImg :fileList="fileList" :name="INCIDENT_MANAGE" + @successUploader="successUploader" :disabled="disabled"></uploaderImg> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> @@ -184,10 +185,35 @@ .then((res) => { if (res.data.code == 200) { ruleForm.value = res.data.data; + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + await goalManagementApi() + .searchFile(fileList.value[a].fileName) + .then((res) => { + fileList.value[a].url = res.data + }) + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } //日期选择器 const value1 = ref(''); // 上传附件 @@ -241,6 +267,7 @@ // 关闭弹窗 const closeDialog = (formEl: FormInstance | undefined) => { formEl.resetFields(); + fileList.value=[] isShowDialog.value = false; }; // 必填项提示 @@ -346,12 +373,14 @@ }; // 表单提交验证必填项 const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建工伤申报') { if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { isShowDialog.value = false; - ruleForm.value.fileList=[] delete ruleForm.value.accidentName delete ruleForm.value.occurrenceTime delete ruleForm.value.id @@ -384,7 +413,6 @@ await formEl.validate((valid, fields) => { if (valid) { isShowDialog.value = false; - ruleForm.value.fileList=[] delete ruleForm.value.accidentName delete ruleForm.value.occurrenceTime accidentManagementSystemApi() @@ -491,7 +519,9 @@ newTreeList, propse, closeDialog, - uploaderImg + uploaderImg, + successUploader, + initFileListData }; }, }); diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue index d5495f2..a36d5c7 100644 --- a/src/views/contingencyManagement/contingency/component/openAdd.vue +++ b/src/views/contingencyManagement/contingency/component/openAdd.vue @@ -52,17 +52,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="相关附件" prop="fileList"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip">添加相关附件</div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> </el-row> @@ -142,6 +133,7 @@ import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue" import {contingencyApi} from "/@/api/contingencyManagement/contingency"; import {goalManagementApi} from "/@/api/goalManagement"; + import uploaderFile from '/@/components/uploaderFile/index.vue'; // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; @@ -150,6 +142,7 @@ components: { AddEmergencyPersonnel, DailogSearchUserManger, + uploaderFile }, setup(prop, {emit}) { const isShowDialog = ref(false); @@ -188,14 +181,34 @@ .then((res) => { if (res.data.code == 200) { ruleForm.value = res.data.data; + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() listApi() } }); } } // 上传附件 - const fileList = ref<UploadUserFile[]>([]) - + const fileList = ref([]) + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } //定义树形下拉框 const principalDepartmentId = ref() const data = ref() @@ -313,6 +326,9 @@ } }; const onSubmit = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建应急队伍管理') { if (!formEl) return; await formEl.validate((valid, fields) => { @@ -346,7 +362,6 @@ if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { - ruleForm.value.fileList=[] isShowDialog.value = false; contingencyApi() .editEmergencyTeam(ruleForm.value) @@ -390,6 +405,7 @@ isShowDialog.value = false; if (!formEl) return; formEl.resetFields(); + fileList.value = [] tableData.value=[] ruleForm.value = {} }; @@ -494,7 +510,9 @@ department, peopleInsertBtn, teamId, - newTreeList + newTreeList, + successUploader, + initFileListData }; }, }); diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue index 69ae1a4..45d576e 100644 --- a/src/views/contingencyManagement/contingency/index.vue +++ b/src/views/contingencyManagement/contingency/index.vue @@ -79,7 +79,9 @@ </el-table-column> <el-table-column prop="teamDesc" label="队伍描述" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="principalPhone" label="负责人手机" show-overflow-tooltip sortable></el-table-column> - <el-table-column prop="attachments" label="相关附件" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="fileList" label="相关附件" show-overflow-tooltip sortable> + + </el-table-column> <el-table-column label="操作" width="200" align="center" fixed="right"> <template #default="scope"> <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)"> @@ -179,6 +181,11 @@ let res = await contingencyApi().getTeamManagementList(listQuery) if(res.data.code === '200'){ tableData.value = res.data.data; + for(var a = 0;a<tableData.value.length;a++){ + if(tableData.value[a].fileList!=null&&tableData.value[a].fileList!=''&&tableData.value[a].fileList.length!=0){ + tableData.value[a].fileList = tableData.value[a].fileList[0].fileName + } + } pageIndex.value = res.data.pageIndex; pageSize.value = res.data.pageSize; total.value = res.data.total; @@ -389,4 +396,4 @@ .el-table .sort-caret.ascending{ border-bottom-color: #c0c4cc; } -</style> \ No newline at end of file +</style> diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue index 81b4674..9697053 100644 --- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue @@ -167,20 +167,7 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> <el-form-item label="预案附件"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary" - >点击上传</el-button> - <template #tip> - <div class="el-upload__tip"> - 添加相关附件 - </div> - </template> - </el-upload> + <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> @@ -368,20 +355,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="附件列表"> - <el-upload - v-model:file-list="ruleForm.userList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary" - >点击上传</el-button> - <template #tip> - <div class="el-upload__tip"> - 添加相关附件 - </div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> </el-row> @@ -421,12 +396,14 @@ import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; import {goalManagementApi} from "/@/api/goalManagement"; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ name: 'approvalProgress', components: { UserSelections, RegionsDialog, - DailogSearchUser + DailogSearchUser, + uploaderFile }, setup(props, { emit }) { const isShowDialog = ref(false) @@ -512,6 +489,8 @@ ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' } } + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() }); } if(title=='演练实施评价'){ @@ -548,6 +527,8 @@ } } } + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() }); } if(title=='演练实施查看评价'){ @@ -584,15 +565,41 @@ ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' } } - + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() } }); } + }; + const initFileListData = async () => { + for(var a = 0;a<ruleForm.value.planFileList.length;a++){ + ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName + } + // 事故分析会议纪要 + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } const resetForm = (formEl: FormInstance | undefined) => { isShowDialog.value = false; if (!formEl) return; formEl.resetFields(); + fileList.value = [] }; // 关闭弹窗 const closeDialog = () => { @@ -605,7 +612,7 @@ //日期选择器 const value1 = ref('') // 上传附件 - const fileList = ref<UploadUserFile[]>([]) + const fileList = ref([]) // 可选择树 const treeSelect = ref() const tree = [ @@ -663,6 +670,9 @@ // }) const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } //演练负责人(评价) ruleForm.value.userList = ruleForm.value.evaluationUserList @@ -861,7 +871,9 @@ newTreeList, selectUser, submitForm, - realRuleForm + realRuleForm, + successUploader, + initFileListData }; }, }); @@ -910,4 +922,4 @@ font-weight: 500; font-size: 14px; } -</style> \ No newline at end of file +</style> diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue index 8325c4b..e4e3fcf 100644 --- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue +++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue @@ -162,20 +162,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> <el-form-item label="预案附件"> - <!--<el-upload--> - <!--v-model:file-list="fileList"--> - <!--class="upload-demo"--> - <!--action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"--> - <!--:on-change="handleChange"--> - <!-->--> - <!--<el-button type="primary"--> - <!-->点击上传</el-button>--> - <!--<template #tip>--> - <!--<div class="el-upload__tip">--> - <!--添加相关附件--> - <!--</div>--> - <!--</template>--> - <!--</el-upload>--> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> </el-row> @@ -215,12 +203,13 @@ import {releaseDrillPlanApi} from "/@/api/contingencyManagement/emergencyDrillPlan"; import {goalManagementApi} from "/@/api/goalManagement"; import { Session } from '/@/utils/storage'; - +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ name: 'openAdd', components: { RegionsDialog, - DailogSearchUser + DailogSearchUser, + uploaderFile }, setup(props, { emit }) { const isShowDialog = ref(false) @@ -281,14 +270,35 @@ for(var a = 0;a<res.data.data.chargeUserList.length;a++){ ruleForm.value.chargeUserListString += res.data.data.chargeUserList[a].userName+';' } + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } //日期选择器 const value1 = ref('') // 上传附件 - const fileList = ref<UploadUserFile[]>([]) + const fileList = ref([]) // 可选择树 const treeSelect = ref() const tree = [ @@ -318,6 +328,9 @@ }); // 表单提交验证必填项 const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList) delete ruleForm.value.planName delete ruleForm.value.chargeUserListString @@ -412,6 +425,7 @@ } const resetForm = (formEl: FormInstance | undefined) => { isShowDialog.value = false; + fileList.value=[] if (!formEl) return; ruleForm.value = { makingPlanDate: '', // 计划制定日期 @@ -473,7 +487,6 @@ ) ruleForm.value.userListString+=e[a].realName+';' } - }; const SearchFZUser = (e:any) => { console.log('演练负责人员',e[0].userName) @@ -532,7 +545,9 @@ onUser, userFZRef, SearchUser, - SearchFZUser + SearchFZUser, + successUploader, + initFileListData }; }, }); @@ -573,4 +588,4 @@ margin-right: 0; border-radius: 4px 4px 0 0; } -</style> \ No newline at end of file +</style> diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue index 6a6bd50..3e21206 100644 --- a/src/views/contingencyManagement/panManagement/component/openAdd.vue +++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue @@ -106,17 +106,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="相关附件"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip">添加相关附件</div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> @@ -158,13 +149,14 @@ import RegionsDialog from '/@/components/regionsDialog/index.vue'; import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; import { goalManagementApi } from '/@/api/goalManagement'; - +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ name: 'openAdd', components: { CheckTemplate, DailogSearchUserManger, RegionsDialog, + uploaderFile }, setup(prop, { emit }) { const isShowDialog = ref(false); @@ -211,15 +203,35 @@ responsibleDepartment.value.push(res.data.data.deptList[a].departmentId) } } - + fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) + initFileListData() } }); } }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].fileName + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + fileName:fileList.value[a].fileName, + fileUrl:'' + } + ) + } + ruleForm.value.fileList = formFileList + } //日期选择器 const releaseDate = ref(''); // 上传附件 - const fileList = ref<UploadUserFile[]>([]); + const fileList = ref([]); //el-tree-select回显 const propse = { label: 'depName', @@ -272,6 +284,9 @@ const data = ref(); const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } if (title == '新建应急预案管理') { if (!formEl) return; await formEl.validate((valid, fields) => { @@ -306,10 +321,9 @@ if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { - ruleForm.value.fileList=[] - isShowDialog.value = false; - delete ruleForm.value.teamName - emergencyPlanApi() + isShowDialog.value = false; + delete ruleForm.value.teamName + emergencyPlanApi() .editEmergencyTeam(ruleForm.value) .then((res) => { if (res.data.code == 200) { @@ -356,6 +370,7 @@ if (!formEl) return; formEl.resetFields(); ruleForm.value = {}; + fileList.value = [] }; // 应急队伍弹窗 const Shows = ref(); @@ -429,6 +444,8 @@ onUser, newTreeList, changeDepartment, + successUploader, + initFileListData }; }, }); @@ -451,4 +468,4 @@ .el-select { width: 100%; } -</style> \ No newline at end of file +</style> diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue index 58f1164..3602b17 100644 --- a/src/views/contingencyManagement/panManagement/index.vue +++ b/src/views/contingencyManagement/panManagement/index.vue @@ -23,19 +23,13 @@ <div class="button_Line"> <div class="button_Left"> <el-button size="default" type="primary" @click="onOpenAdd"> - <el-icon> - <Plus /> </el-icon - >新建 + <el-icon> <Plus /> </el-icon>新建 </el-button> <el-button size="default" type="warning" plain :disabled="warning"> - <el-icon> - <Edit /> </el-icon - >修改 + <el-icon> <Edit /> </el-icon>修改 </el-button> <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll"> - <el-icon> - <Delete /> </el-icon - >删除 + <el-icon> <Delete /> </el-icon>删除 </el-button> <el-button size="default" type="primary" @click="onabolishLibrary"> 废止库 </el-button> </div> @@ -61,37 +55,31 @@ <el-table-column type="selection" width="55" /> <el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable> - <template #default="scope"> - <span v-if="scope.row.type == 1">综合应急预案</span> - <span v-if="scope.row.type == 2">现场处置方案</span> - <span v-if="scope.row.type == 3">专项应急预案</span> - <span v-if="scope.row.type == 4">其他预案</span> - </template> - </el-table-column> + <template #default="scope"> + <span v-if="scope.row.type == 1">综合应急预案</span> + <span v-if="scope.row.type == 2">现场处置方案</span> + <span v-if="scope.row.type == 3">专项应急预案</span> + <span v-if="scope.row.type == 4">其他预案</span> + </template> + </el-table-column> <el-table-column prop="level" label="预案级别" show-overflow-tooltip sortable> - <template #default="scope"> - <span v-if="scope.row.level == 1">综合应急预案</span> - <span v-if="scope.row.level == 2">现场处置方案</span> - <span v-if="scope.row.level == 3">专项应急预案</span> - </template> - </el-table-column> + <template #default="scope"> + <span v-if="scope.row.level == 1">综合应急预案</span> + <span v-if="scope.row.level == 2">现场处置方案</span> + <span v-if="scope.row.level == 3">专项应急预案</span> + </template> + </el-table-column> <el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column> <el-table-column label="操作" width="260" align="center" fixed="right"> <template #default="scope"> <el-button size="small" text type="primary" @click="isDialogFormVisible(scope.row.id)"> - <el-icon style="margin-right: 5px"> - <VideoPlay /> </el-icon - >启动 + <el-icon style="margin-right: 5px"> <VideoPlay /> </el-icon>启动 </el-button> <el-button size="small" text type="primary" @click="abolish(scope.row.id)"> - <el-icon style="margin-right: 5px"> - <VideoPause /> </el-icon - >废止 + <el-icon style="margin-right: 5px"> <VideoPause /> </el-icon>废止 </el-button> <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)"> - <el-icon style="margin-right: 5px"> - <EditPen /> </el-icon - >修改 + <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改 </el-button> <el-button size="small" @@ -107,7 +95,7 @@ text type="primary" v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true" - @click="onApproval('修改',scope.row.approveId,scope.row.id)" + @click="onApproval('修改', scope.row.approveId, scope.row.id)" > 审批 </el-button> @@ -116,9 +104,9 @@ text type="primary" v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false" - @click="onApproval('详情',scope.row.approveId,scope.row.id)" + @click="onApproval('详情', scope.row.approveId, scope.row.id)" > - 查看审批 + 查看审批 </el-button> <el-button size="small" text type="primary" v-if="scope.row.approveStatus === 3" @click="onApprovalProcess(scope.row.id)"> 查看审批流程 @@ -132,9 +120,7 @@ <!-- 发起审批--> <!-- </el-button>--> <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> - <el-icon> - <Delete /> </el-icon - >删除 + <el-icon> <Delete /> </el-icon>删除 </el-button> </template> </el-table-column> @@ -159,7 +145,7 @@ <AbolishLibrary ref="abolishRef" @myAdd="onMyAdd" /> <InitiateApproval ref="initiateApprovalRef" @myAdd="onMyAdd" /> <Approval ref="approvalRef" @myAdd="onMyAdd" /> - <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> + <ApprovalProcess ref="processRef" @myAdd="onMyAdd" /> <!-- <StartUp ref="startRef" @myAdd="startUp"/>--> <el-dialog v-model="dialogFormVisible" width="30%" title="启动" :fullscreen="full"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> @@ -212,7 +198,7 @@ Refresh, VideoPause, VideoPlay, - ApprovalProcess, + ApprovalProcess, // UpData, emergencyPlanApi, }, @@ -469,22 +455,22 @@ // 发起审批弹窗 const initiateApprovalRef = ref(); const initiateApproval = (row: object) => { - initiateApprovalRef.value.openDialog('发起审批',row, true); + initiateApprovalRef.value.openDialog('发起审批', row, true); }; // 审批 const approvalRef = ref(); - const onApproval = (val: string,row: object,id) => { - if(val=='详情'){ - approvalRef.value.openDialog('查看审批', row, true); - } else { - approvalRef.value.openDialog('审批', row, false,id); - } + const onApproval = (val: string, row: object, id) => { + if (val == '详情') { + approvalRef.value.openDialog('查看审批', row, true); + } else { + approvalRef.value.openDialog('审批', row, false, id); + } }; - // 审批流程 - const processRef = ref(); - const onApprovalProcess = (row:object,id) => { - processRef.value.openDialog(row,id); - }; + // 审批流程 + const processRef = ref(); + const onApprovalProcess = (row: object, id) => { + processRef.value.openDialog(row, id); + }; //全屏 const full = ref(false); @@ -535,8 +521,8 @@ initiateApprovalRef, onApproval, approvalRef, - onApprovalProcess, - processRef, + onApprovalProcess, + processRef, }; }, }); @@ -625,4 +611,4 @@ min-width: 30px; border-radius: 2px; } -</style> \ No newline at end of file +</style> diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue index d87e15b..3e4bea4 100644 --- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue +++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue @@ -12,7 +12,12 @@ <span>整改部门:</span> <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="checkData.params.rectifyDepId"> </el-cascader> </div> - + <div class="basic-line"> + <span>整改状态:</span> + <el-select class="input-box" v-model="checkData.params.dangerStatus" placeholder="整改状态" clearable filterable> + <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </div> <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> <el-icon> <ele-Search /> @@ -22,6 +27,7 @@ </div> <el-table :data="checkData.data" style="width: 100%" fit highlight-current-row> <el-table-column type="index" label="序号" width="60" /> + <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column> <el-table-column prop="applyTime" label="整改时间" show-overflow-tooltip min-width="150px"></el-table-column> @@ -120,10 +126,7 @@ { id: 2, name: '限期整改' } ], dangerStatusList: [ - { id: 0, name: '整改中' }, { id: 1, name: '待验收' }, - { id: 2, name: '延期整改' }, - { id: 4, name: '超期未整改' }, { id: 9, name: '已验收' } ] }); diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue index 99f629d..50802ef 100644 --- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue +++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue @@ -10,7 +10,7 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="整改时间" prop="applyTime"> - <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> + <el-date-picker type="datetime" :disabled-date="disabledDate" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker> </el-form-item> </el-col> </el-row> @@ -125,6 +125,8 @@ rectifyTime: string | null; timeOutDesc: string | null; }; + disabledDate: any; + rangeTime: any; title: string; departmentList: []; userList: []; @@ -168,6 +170,13 @@ rectifyInfo: null, applyTime: null }, + disabledDate: (time: any) => { + const r = new Date().getTime(); + return time.getTime() > new Date().getTime(); + }, + rangeTime: () => { + return '15:15:14'; + }, delayForm: { id: null, dangerManagerId: null, diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue index ba8cd96..ddf34b4 100644 --- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue @@ -3,6 +3,19 @@ <el-card shadow="hover"> <div class="system-user-search mb15"> <div class="basic-line"> + <div style="display: inline-block">整改编号:</div> + + <div style="display: inline-block"> + <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" v-on:input="checkDate($event)" placeholder="整改编号(前八位日期)"> </el-autocomplete> + <i class="el-icon-date"></i> + </div> + <!-- <div style="display: inline-block">--> + <!-- <el-button>--> + <!-- <el-date-picker value-format="YYYY-MM-DD" :disabled-date="disabledDate" v-model="dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker>--> + <!-- </el-button>--> + <!-- </div>--> + </div> + <div class="basic-line"> <span>整改类型:</span> <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> @@ -18,6 +31,11 @@ <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </div> + <div class="basic-line"> + <span>创建时间范围:</span> + <el-date-picker v-model="dateTimeRange" @change="giveTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetimerange" range-separator="To" start-placeholder="开始时间" end-placeholder="结束时间" /> + </div> + <i class="el-icon-date"></i> <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> <el-icon> <ele-Search /> @@ -27,6 +45,7 @@ </div> <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> <el-table-column type="index" label="序号" width="60" /> + <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> @@ -72,7 +91,7 @@ </template> <script lang="ts"> -import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; +import { toRefs, reactive, onMounted, ref, defineComponent, computed } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import rectifyDialog from './components/rectifyDialog.vue'; import { Edit, Delete, Check, View } from '@element-plus/icons-vue'; @@ -93,7 +112,9 @@ interface TableDataState { rectifyData: { data: Array<TableData>; + total: number; + disabled: boolean; loading: boolean; params: { pageIndex: number; @@ -101,15 +122,26 @@ rectifyType: number | null; rectifyDepId: number | null; dangerStatus: number | null; + serialCode: string; + startTime: string; + endTime: string; }; }; rectifyTypeList: Array<enumType>; dangerStatusList: Array<enumType>; departmentList: []; + disabledDate: any; + serialCodeList: Array<type>; + dateTime: string; + dateTimeRange: Array<string>; } interface enumType { id: number; name: string; +} +interface type { + id: number; + value: number; } export default defineComponent({ @@ -121,16 +153,26 @@ rectifyData: { data: [], total: 0, + disabled: true, loading: false, params: { pageIndex: 1, pageSize: 10, rectifyType: null, rectifyDepId: null, - dangerStatus: null + dangerStatus: null, + serialCode: '', + startTime: '', + endTime: '' } }, + dateTime: '', + dateTimeRange: [], + disabledDate: (time: any) => { + return time.getTime() > new Date().getTime(); + }, departmentList: [], + serialCodeList: [], rectifyTypeList: [ { id: 1, name: '即查即改' }, { id: 2, name: '限期整改' } @@ -144,17 +186,130 @@ ] }); + const giveTime = () => { + if (state.dateTimeRange && state.dateTimeRange !== null) { + state.rectifyData.params.startTime = state.dateTimeRange[0]; + state.rectifyData.params.endTime = state.dateTimeRange[1]; + } else { + state.rectifyData.params.startTime = ''; + state.rectifyData.params.endTime = ''; + } + }; + + const querySearch = () => { + return state.serialCodeList.filter((item) => item.value.toString().indexOf(state.rectifyData.params.serialCode) !== -1); + }; + const handleChange = (value: string): Boolean => { + let year = value.substr(0, 4); + let month = value.substr(4, 2); + let day = value.substr(6, 2); + if (Number(year) < 1000 || Number(year) > new Date().getFullYear()) { + return false; + } + if (Number(month) > 12 || month === '00') { + return false; + } + let leapYearTab = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + let notLeapYearTab = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + if (isLeapYear(year)) { + const maxDay = leapYearTab[Number(month) - 1]; + if (Number(day) > maxDay) { + return false; + } + } else { + const maxDay = notLeapYearTab[Number(month) - 1]; + if (Number(day) > maxDay) { + return false; + } + } + return true; + }; + + const isLeapYear = (value: string) => { + return Number(value) % 4 === 0; + }; + + const checkDate = async (value: string) => { + if (value.length >= 8) { + if (handleChange(value.substr(0, 8))) { + let res = await hiddenRectifyApi().getCodeByTime(value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2)); + if (res.data.code === '200' && res.data.data > 0) { + state.serialCodeList = []; + let date = parseInt(value.substr(0, 8) + '0000'); + for (let i = 0; i < res.data.data; i++) { + state.serialCodeList.push({ value: date + 1 + i, id: i }); + } + } else if (res.data.code === '200' && res.data.data === 0) { + ElMessage({ + type: 'warning', + message: '当天无隐患上报' + }); + } + } else { + state.rectifyData.params.serialCode = ''; + ElMessage({ + type: 'warning', + message: '前八位请输入正确得日期格式' + }); + } + } else { + } + // if (state.dateTime === '' || state.dateTime === null) { + // state.serialCodeList = []; + // state.rectifyData.params.serialCode = ''; + // } else { + // state.serialCodeList = []; + // state.rectifyData.params.serialCode = ''; + // let res = await hiddenRectifyApi().getCodeByTime(state.dateTime); + // if (res.data.code === '200' && res.data.data > 0) { + // state.rectifyData.disabled = false; + // let date = parseInt(state.dateTime.replaceAll('-', '') + '0000'); + // for (let i = 0; i < res.data.data; i++) { + // state.serialCodeList.push({ value: date + 1 + i, id: i }); + // } + // state.rectifyData.params.serialCode = state.dateTime.replaceAll('-', ''); + // } else if (res.data.code === '200' && res.data.data === 0) { + // state.rectifyData.disabled = true; + // ElMessage({ + // type: 'warning', + // message: '当天无隐患上报' + // }); + // } + // } + }; + // 初始化表格数据 const initRectifyTableData = async () => { - let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); - if (res.data.code === '200') { - state.rectifyData.data = res.data.data; - state.rectifyData.total = res.data.count; - } else { + debugger; + if (state.rectifyData.params.serialCode.toString().length === 0) { + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); + if (res.data.code === '200') { + state.rectifyData.data = res.data.data; + state.rectifyData.total = res.data.count; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + } else if (state.rectifyData.params.serialCode.toString().length !== 12) { ElMessage({ type: 'warning', - message: res.data.msg + message: '请输入或选择正确的隐患编号' }); + } else { + state.rectifyData.params.serialCode = state.rectifyData.params.serialCode.toString().substr(0, 8) + '-' + state.rectifyData.params.serialCode.toString().substr(8, 4); + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); + if (res.data.code === '200') { + state.rectifyData.params.serialCode = state.rectifyData.params.serialCode.replaceAll('-', ''); + state.rectifyData.data = res.data.data; + state.rectifyData.total = res.data.count; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } } }; @@ -233,8 +388,11 @@ View, Check, Delete, + giveTime, + querySearch, parseNumber, handleSearch, + checkDate, onOpenDialogRef, onHandleSizeChange, onDelHiddenRectify, @@ -274,4 +432,7 @@ :deep(.el-input.is-disabled .el-input__wrapper) { background-color: var(--el-card-bg-color); } +:deep(.el-input-group__prepend) { + padding: 0; +} </style> diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue index e1dd080..2bc38a7 100644 --- a/src/views/goalManagement/IncentiveRecording/index.vue +++ b/src/views/goalManagement/IncentiveRecording/index.vue @@ -4,7 +4,7 @@ <el-row> <el-col :span="4"> <el-form-item size="default"> - <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者"> + <el-input v-model="personName" placeholder="请选择被奖惩者"> <template #append> <el-button :icon="Search" @click="openSearch" /> </template> @@ -92,8 +92,10 @@ }, }); // 重置 + const personName=ref() const resetForm = () => { ruleForm.searchParams.personId = ''; + personName.value = ''; listApi(); }; const listApi = () => { @@ -229,10 +231,11 @@ }; const userId = (val: any) => { ruleForm.searchParams.personId = val.uid; - ruleForm.searchParams.personName = val.realName; + personName.value = val.realName; }; return { timeDate, + personName, ruleForm, userId, resetForm, @@ -292,4 +295,4 @@ display: flex; justify-content: right; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/Incentivestandard/index.vue b/src/views/goalManagement/Incentivestandard/index.vue index a8f3fed..1d51ae1 100644 --- a/src/views/goalManagement/Incentivestandard/index.vue +++ b/src/views/goalManagement/Incentivestandard/index.vue @@ -27,7 +27,7 @@ <div class="btns"> <div> <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')" >新建</el-button> - <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> + <!-- <el-button size="default" type="warning" :disabled="warning" plain :icon="EditPen" @click="openD">修改 </el-button> --> <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="handleSelectionChange">删除</el-button> </div> <div> @@ -279,4 +279,4 @@ display: flex; justify-content: right; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue index 3f572d3..d3a682c 100644 --- a/src/views/goalManagement/TargetBook/component/DailogAdd.vue +++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue @@ -1,11 +1,11 @@ <template> - <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable> + <el-dialog v-model="dialogVisible" :before-close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form :model="form" :disabled="disabled" label-width="120px"> <el-row> <el-col :span="24"> <el-form-item label="岗位" size="default"> - <el-input v-model="form.jobId" placeholder="请选择"> + <el-input v-model="form.jobName" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="daiInpt" /> </template ></el-input> </el-form-item> @@ -14,7 +14,7 @@ <el-row> <el-col :span="24"> <el-form-item label="责任书签订日期" size="default"> - <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> + <el-date-picker v-model="form.signDate" style="width:100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择日期时间" /> </el-form-item> </el-col> </el-row> @@ -28,22 +28,8 @@ <el-row> <el-col :span="24"> <el-form-item label="责任书附件"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - multiple - :on-preview="handlePreview" - :on-remove="handleRemove" - :before-remove="beforeRemove" - :limit="3" - :on-exceed="handleExceed" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip">添加相关附件</div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" + @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> </el-form-item> </el-col> </el-row> @@ -64,8 +50,9 @@ import { ElMessage, ElMessageBox } from 'element-plus'; import type { UploadProps, UploadUserFile } from 'element-plus'; import { goalManagementApi } from '/@/api/goalManagement'; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ - components: { DailogSearch }, + components: { DailogSearch,uploaderFile }, setup(props, { emit }) { const dialogVisible = ref<boolean>(false); const form = ref({ @@ -88,14 +75,70 @@ .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + form.value.signDate=timeC(form.value.signDate) + + + if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ + var extraFileList = res.data.data.extraFile.split(',') + for(var a = 0;a<extraFileList.length;a++){ + fileList.value.push( + { + name:extraFileList[a] + } + ) + } + }else { + fileList.value = [] + } } else { ElMessage.error(res.data.msg); } }); }; + // 上传成功组装数据 + const successUploader = (list) =>{ + console.log('successUploader',list) + fileList.value = list + var formFileList = '' + for(var a = 0;a<fileList.value.length;a++){ + if(a==fileList.value.length-1){ + formFileList+=fileList.value[a].name + }else { + formFileList+=fileList.value[a].name+',' + } + } + form.value.extraFile = formFileList + } + const deleteFile = (list) =>{ + console.log('deleteFile',list) + fileList.value = list + const formFileList = '' + for(var a = 0;a<fileList.value.length;a++){ + if(a==fileList.value.length-1){ + formFileList.value+=fileList.value[a].name + }else { + formFileList.value+=fileList.value[a].name+',' + } + } + form.value.extraFile = formFileList + } + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m +`:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; + }; // 提交 const submitForm = () => { dialogVisible.value = false; + delete form.value.jobName goalManagementApi() .gettargetDutyfileInfoAddorUpdata(form.value) .then((res) => { @@ -127,6 +170,7 @@ extraFile: '666', //责任书附件 jobId: '', //岗位 }; + fileList.value = [] }; // 安全目标指标弹窗 const Shows = ref(); @@ -135,17 +179,10 @@ }; const IdNumber=(val:any)=>{ form.value.jobId=val.id + form.value.jobName=val.date } // 点击上传 - const fileList = ref<UploadUserFile[]>([ - { - name: 'element-plus-logo.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - { - name: 'element-plus-logo2.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, + const fileList = ref([ ]); const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { @@ -176,6 +213,7 @@ } }; return { + timeC, IdNumber, dialogVisible, form, @@ -195,6 +233,8 @@ full, toggleFullscreen, FullScreen, + successUploader, + deleteFile }; }, }); @@ -203,4 +243,4 @@ .el-row { padding: 0 0 20px 0; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue index 1801078..79aa042 100644 --- a/src/views/goalManagement/TargetBook/component/DailogSearch.vue +++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue @@ -24,11 +24,11 @@ </el-row> </el-form> <el-button size="default" :icon="Delete">清除选择</el-button> - <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> - <el-table-column align="center"> + <el-table :data="tableData" style="width: 100%; margin-top: 20px" > + <el-table-column align="center" width="70px"> <template #default="scope"> <el-radio-group v-model="radio1"> - <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> + <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> </el-radio-group> </template> </el-table-column> @@ -59,7 +59,7 @@ :disable-transitions="false" @close="handleClose(tag)" > - {{ tag.id }} + {{ tag.date }} </el-tag> </div> </el-col> @@ -89,24 +89,24 @@ // 表格 const tableData = [ { id:1, - date: '2016-05-03', + date: '岗位1', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, { id:2, - date: '2016-05-02', + date: '岗位2', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, - { - id:3, - date: '2016-05-04', + { + id:3, + date: '岗位3', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, { id:4, - date: '2016-05-01', + date: '岗位4', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue index 870165a..05a5fec 100644 --- a/src/views/goalManagement/TargetBook/index.vue +++ b/src/views/goalManagement/TargetBook/index.vue @@ -4,7 +4,7 @@ <el-row> <el-col :span="4"> <el-form-item size="default"> - <el-input v-model="ruleForm.searchParams.jobId" placeholder="请选择岗位"> + <el-input v-model="jobName" placeholder="请选择岗位"> <template #append> <el-button :icon="Search" @click="openSearch" /> </template ></el-input> </el-form-item> @@ -61,7 +61,7 @@ /> </div> <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd> - <DailogSearch ref="openUser"></DailogSearch> + <DailogSearch ref="openUser" @backNum="IdNumber"></DailogSearch> </div> </div> </template> @@ -88,6 +88,7 @@ // 重置 const resetForm = () => { ruleForm.searchParams.jobId = ''; + jobName.value="" listApi(); }; const listApi = () => { @@ -116,6 +117,11 @@ const onAddorUpdata = () => { listApi(); }; + const jobName=ref() + const IdNumber=(val:any)=>{ + ruleForm.jobId=val.id + jobName.value=val.date + } // 表格 const tableData = ref(); const currentPage4 = ref(); @@ -222,6 +228,7 @@ openUser.value.openDailog(); }; return { + IdNumber, ruleForm, resetForm, listApi, @@ -278,4 +285,4 @@ display: flex; justify-content: right; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue index cc51dcd..de62ee6 100644 --- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue +++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue @@ -10,7 +10,14 @@ </el-col> <el-col :span="11" :offset="2"> <el-form-item label="考核日期" size="default" prop="examineDate"> - <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + <el-date-picker + v-model="form.examineDate" + format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="请选择" + style="width: 100%" + /> </el-form-item> </el-col> </el-row> @@ -72,30 +79,16 @@ </el-row> <el-row> <el-col :span="24"> - <el-form-item label="考核模板"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - multiple - :on-preview="handlePreview" - :on-remove="handleRemove" - :before-remove="beforeRemove" - :limit="3" - :on-exceed="handleExceed" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip">添加相关附件</div> - </template> - </el-upload> + <el-form-item label="附件"> + <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled" + @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> <el-form-item label="考核模板" size="default" prop="examineTemplateName"> - <el-input disabled v-model="form.examineTemplateName"> + <el-input v-model="form.examineTemplateName"> <template #append> <el-button :icon="Search" @click="daiAdd" /></template> </el-input> </el-form-item> @@ -112,12 +105,12 @@ <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> --> </el-tab-pane> </el-tabs> - <el-table :data="tableData" style="width: 100%"> - <el-table-column align="center" prop="date" label="考核项目" /> - <el-table-column align="center" prop="name" label="考核内容" /> + <el-table :data="form.numberDetailJson" style="width: 100%"> + <el-table-column align="center" prop="itemDetail" label="考核项目" /> + <el-table-column align="center" prop="content" label="考核内容" /> <el-table-column align="center" label="考核分数"> <template #default="scope"> - <el-input v-model="scope.row.address" type="textarea"> </el-input> + <el-input @blur="numberC" v-model.number="scope.row.number"> </el-input> </template> </el-table-column> <!-- <el-table-column align="center" prop="address" label="制定日期" /> @@ -135,7 +128,7 @@ </span> </template> </el-dialog> - <DailogSearch ref="Show"></DailogSearch> + <DailogSearch ref="Show" @typeDome="onType"></DailogSearch> <DailogSearchUser ref="Shows" @SearchUser="userId"></DailogSearchUser> </template> <script lang="ts"> @@ -147,8 +140,9 @@ import { goalManagementApi } from '/@/api/goalManagement'; import type { UploadProps, UploadUserFile } from 'element-plus'; import type { FormInstance, FormRules } from 'element-plus'; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ - components: { DailogSearchUser, DailogSearch }, + components: { DailogSearchUser, DailogSearch,uploaderFile }, setup(props, { emit }) { const dialogVisible = ref<boolean>(false); const ruleFormRef = ref<FormInstance>(); @@ -162,13 +156,14 @@ examineDepartmentName: '', examinePersonId: '', ////考核人ID/外键 examinePersonName: '', - examineTemplateId: 1, ////绩效考核模板ID/外键 + examineTemplateId: '', ////绩效考核模板ID/外键 examineTemplateName: '', examineTotalNumber: '', ////总分 - extraFile: '9', //责任书附件 + acceptanceNumber: '', ///合格分数 + extraFile: '', //责任书附件 itemDetail: '', ////考核项目 memo: '', ////备注信息 - numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] + numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}] title: '', ////考核标题 }); const titles = ref(); @@ -185,10 +180,69 @@ .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + form.value.examineDate = timeC(form.value.examineDate); + form.value.numberDetailJson = form.value.currentExamineDtoList; + + + if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){ + var extraFileList = res.data.data.extraFile.split(',') + for(var a = 0;a<extraFileList.length;a++){ + fileList.value.push( + { + name:extraFileList[a] + } + ) + } + }else { + fileList.value = [] + } + + // fileList.value = (res.data.data.fileList?res.data.data.fileList:[]) } else { ElMessage.error(res.data.msg); } }); + }; + // 上传成功组装数据 + const successUploader = (list) =>{ + console.log('successUploader',list) + fileList.value = list + var formFileList = '' + for(var a = 0;a<fileList.value.length;a++){ + if(a==fileList.value.length-1){ + formFileList+=fileList.value[a].name + }else { + formFileList+=fileList.value[a].name+',' + } + } + form.value.extraFile = formFileList + } + const deleteFile = (list) =>{ + console.log('deleteFile',list) + fileList.value = list + const formFileList = '' + for(var a = 0;a<fileList.value.length;a++){ + if(a==fileList.value.length-1){ + formFileList.value+=fileList.value[a].name + }else { + formFileList.value+=fileList.value[a].name+',' + } + } + form.value.extraFile = formFileList + } + + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m + `:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; }; // 验证 const rules = reactive<FormRules>({ @@ -204,12 +258,39 @@ examineTemplateName: [{ required: true, message: '考核模板不能为空', trigger: 'blur' }], memo: [], }); + // 接收 + const onType = (data: any, val: any) => { + form.value.examineTotalNumber = ''; + form.value.examineTemplateId = data.id; + form.value.examineTemplateName = data.title; + form.value.acceptanceNumber = data.acceptanceNumber; + form.value.numberDetailJson = val.examineItemList; + }; + const numberC = () => { + let arr = 0; + for (let i = 0; i < form.value.numberDetailJson.length; i++) { + if (form.value.numberDetailJson[i].number != undefined) { + arr = parseInt(arr) + parseInt(form.value.numberDetailJson[i].number); + } else { + arr = parseInt(arr) + 0; + } + } + form.value.examineTotalNumber = arr; + }; // 提交 const submitForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; await formEl.validate((valid, fields) => { if (valid) { dialogVisible.value = false; + let arr = []; + for (let i = 0; i < form.value.numberDetailJson.length; i++) { + arr.push({ + id: form.value.numberDetailJson[i].id, + number: form.value.numberDetailJson[i].number, + }); + } + form.value.numberDetailJson = JSON.stringify(arr); goalManagementApi() .getexamineMngAddOrUpdate(form.value) .then((res) => { @@ -234,10 +315,11 @@ dialogVisible.value = false; formEl.resetFields(); }; - const handleClose=(formEl: FormInstance | undefined)=>{ + const handleClose = (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.resetFields(); - } + fileList.value=[] + }; const activeName = ref('1'); // 新增弹窗 const Show = ref(); @@ -250,16 +332,7 @@ Shows.value.openDailog(type); }; // 点击上传 - const fileList = ref<UploadUserFile[]>([ - { - name: 'element-plus-logo.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - { - name: 'element-plus-logo2.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - ]); + const fileList = ref<UploadUserFile[]>([]); const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { console.log(file, uploadFiles); @@ -284,15 +357,15 @@ form.value.examinePersonId = val.uid; form.value.examinePersonName = val.realName; } else if (type == 0) { - let uid=[] - let realName=[] - for(let i=0;i<val.length;i++){ - uid.push(val[i].uid) - realName.push(val[i].realName) + let uid = []; + let realName = []; + for (let i = 0; i < val.length; i++) { + uid.push(val[i].uid); + realName.push(val[i].realName); } form.value.beExaminedPersonId = uid.toString(); - form.value.beExaminedPersonName =realName.toString(); - console.log(form.value.beExaminedPersonId,form.value.beExaminedPersonName) + form.value.beExaminedPersonName = realName.toString(); + console.log(form.value.beExaminedPersonId, form.value.beExaminedPersonName); } }; //全屏 @@ -331,6 +404,9 @@ }; return { rules, + timeC, + numberC, + onType, handleClose, nameData1, nameData2, @@ -360,6 +436,8 @@ full, toggleFullscreen, FullScreen, + successUploader, + deleteFile }; }, }); @@ -368,4 +446,4 @@ .el-row { padding: 0 0 20px 0; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue index 2c51d4a..98cb269 100644 --- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue +++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue @@ -62,7 +62,7 @@ </el-row> </el-form> <el-tabs v-model="activeName" class="demo-tabs"> - <el-tab-pane label="目标指标分解" name="1"> + <el-tab-pane label="考核项目" name="1"> <el-button type="primary" size="default" @click="daiAdd('新增','')">新增</el-button> </el-tab-pane> </el-tabs> @@ -238,4 +238,4 @@ .el-row { padding: 0 0 20px 0; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue index 01d64c1..cb5bd86 100644 --- a/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue +++ b/src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue @@ -24,11 +24,11 @@ </el-row> </el-form> <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button> - <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio"> + <el-table :data="tableData" style="width: 100%; margin-top: 20px" > <el-table-column align="center" width="70px"> <template #default="scope"> <el-radio-group v-model="radio1"> - <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio> + <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio> </el-radio-group> </template> </el-table-column> @@ -64,7 +64,7 @@ <template #footer> <span class="dialog-footer"> <el-button @click="dialogVisible = false" size="default">关闭</el-button> - <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> + <el-button type="primary" @click="submitForm" size="default">确定</el-button> </span> </template> </el-dialog> @@ -75,7 +75,7 @@ import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; import { goalManagementApi } from '/@/api/goalManagement'; export default defineComponent({ - setup() { + setup(props,{emit}) { const dialogVisible = ref<boolean>(false); const openDailog = () => { dialogVisible.value = true; @@ -122,6 +122,12 @@ ruleForm.pageIndex = val; listApi(); }; + // 提交 + const submitForm=()=>{ + dialogVisible.value = false + emit("typeDome",dynamicTags.value[0],list.value) + clear() + } // 右方点击添加后显示标签 const dynamicTags = ref(['']); const handleClose = (tag: string) => { @@ -129,8 +135,19 @@ radio1.value = ''; }; const radio1 = ref(''); + const list=ref([]) const radio = (event: any) => { - dynamicTags.value[0] = event; + + goalManagementApi() + .getexamineTemplateDetail(event.id) + .then((res) => { + if (res.data.code == 200) { + list.value = res.data.data; + } else { + ElMessage.error(res.data.msg); + } + }); + dynamicTags.value[0] = event; }; const clear=()=>{ dynamicTags.value=[''] @@ -146,6 +163,8 @@ } }; return { + submitForm, + list, reset, dialogVisible, listApi, diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue index 0f3e9de..08f7512 100644 --- a/src/views/goalManagement/performanceAppraisal/index.vue +++ b/src/views/goalManagement/performanceAppraisal/index.vue @@ -28,9 +28,9 @@ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> + <template #default="scope"> <div class="tableC"> - <el-table :data="tableData.currentExamineDtoList" style="width: 100%"> + <el-table :data="scope.row.currentExamineDtoList" style="width: 100%"> <el-table-column align="center" prop="itemDetail" label="考核项目" /> <el-table-column align="center" prop="content" label="考核内容" /> <el-table-column align="center" prop="number" label="考核分数" /> @@ -91,9 +91,9 @@ <el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges"> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> + <template #default="scope"> <div class="tableC"> - <el-table :data="tableDatas.examineItemList" style="width: 100%"> + <el-table :data="scope.row.examineItemList" style="width: 100%"> <el-table-column align="center" prop="itemType" label="类型" /> <el-table-column align="center" prop="itemDetail" label="考核项目" /> <el-table-column align="center" prop="content" label="考核内容" /> @@ -141,8 +141,9 @@ import DailogAq from './component/DailogAq.vue'; import DailogKh from './component/DailogKh.vue'; import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; -import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; +import { ElMessageBox, ElMessage, ElButton, ElInput, FormInstance } from 'element-plus'; import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; +import type { TabsPaneContext } from 'element-plus' import { goalManagementApi } from '/@/api/goalManagement'; export default defineComponent({ components: { ElButton, ElInput, DailogAq, DailogKh }, @@ -158,6 +159,7 @@ // 重置 const resetForm = () => { ruleForm.searchParams.examineDepartmentId = ''; + listApi() }; const listApi = () => { goalManagementApi() @@ -283,8 +285,9 @@ }; // 切换 const activeName = ref('1'); - const handleClick = (val: any) => { - if (val == '1') { + const handleClick = (val: TabsPaneContext) => { + console.log(val) + if (val.props.name == '1') { listApi(); }else{ listApis(); @@ -300,11 +303,12 @@ }); // 重置 const resetForms = () => { - ruleForm.searchParams.examineDepartmentId = ''; + ruleForms.searchParams.title = ''; + listApis() }; const listApis = () => { goalManagementApi() - .getexamineTemplateList(ruleForm) + .getexamineTemplateList(ruleForms) .then((res) => { if (res.data.code == 200) { tableDatas.value = res.data.data; diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue index 3032820..6112761 100644 --- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue +++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue @@ -1,5 +1,5 @@ <template> - <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable> + <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form :model="form" label-width="120px"> <el-row> @@ -34,27 +34,38 @@ <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button> </el-tab-pane> </el-tabs> - <el-table :data="tableData" style="width: 100%"> + <el-table :data="formUp.examineList" style="width: 100%"> <el-table-column align="center" type="index" label="序号" width="70" /> - <el-table-column align="center" prop="date" label="责任部门" /> - <el-table-column align="center" prop="name" label="考核指标" /> - <el-table-column align="center" prop="address" label="制定部门" /> - <el-table-column align="center" prop="address" label="制定日期" /> - <el-table-column align="center" prop="address" label="上报值" /> - <el-table-column align="center" prop="address" label="上报时间" /> - <el-table-column align="center" prop="address" label="考核结果" /> - <el-table-column align="center" prop="address" label="考核人" /> - <el-table-column align="center" prop="address" label="考核时间" /> + <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="examineValue" label="考核指标" /> + <el-table-column align="center" prop="makerDepartmentName" label="制定部门" /> + <el-table-column align="center" prop="makeDate" label="制定日期" /> + <el-table-column align="center" prop="uploadValue" label="上报值" /> + <el-table-column align="center" prop="uploadDate" label="上报时间" /> + <el-table-column align="center" prop="examineResult" label="考核结果" > + <template #default="scope"> + <div v-if="scope.row.examineResult==1"> + 合格 + </div> + <div v-if="scope.row.examineResult==2"> + 不合格 + </div> + </template> + </el-table-column> + <el-table-column align="center" prop="examinePersonName" label="考核人" /> + <el-table-column align="center" prop="examineDate" label="考核时间" /> <el-table-column align="center" label="操作"> <template #default="scope"> - <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button> + <el-button link type="primary" @click="daiAdd('查看', scope.row)">查看</el-button> + <el-button link type="primary" @click="daiAdd('修改', scope.row)">修改</el-button> + <el-button link type="primary" @click="Delete(scope.row)">删除</el-button> </template> </el-table-column> </el-table> <template #footer> <span class="dialog-footer"> - <el-button @click="dialogVisible = false" size="default">关闭</el-button> - <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> + <el-button @click="closeDialog" size="default">关闭</el-button> + <el-button type="primary" @click="submitForm" size="default">确定</el-button> </span> </template> </el-dialog> @@ -84,15 +95,62 @@ disabled.value = title == '查看' ? true : false; if (title == '查看' || title == '修改') { goalManagementApi() - .getTargetMngDetail(id) + .gettargetExamineDetail(id) .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + formUp.examineList = res.data.data.examineList } else { ElMessage.error(res.data.msg); } }); } + }; + const closeDialog = () => { + form.value = {} + formUp.examineList = [] + dialogVisible.value = false + }; + const submitForm = () => { + // formUp.delTargetDivideDetails = arr.value.toString(); + // formUp.targetId = form.value.id; + dialogVisible.value = false; + for(let i=0;i<formUp.examineList.length;i++){ + delete formUp.examineList[i].dutyDepartmentName + delete formUp.examineList[i].makerDepartmentName + } + formUp.id = form.value.id + formUp.delIds = arr.value.toString(); + goalManagementApi() + .gettargetExamineAddOrUpdate(formUp) + .then((res) => { + if (res.data.code == 200) { + ElMessage({ + message: res.data.msg, + type: 'success', + }); + emit('addList'); + } else { + ElMessage.error(res.data.msg); + } + }); + form.value = { + qName: '', + indexNum: '', + year: '', + value: '', + examineList: [], + }; + tableData.value = []; + formUp.targetId = ''; + formUp.delTargetDivideDetails = ''; + formUp.examineList = []; + }; + const arr = ref([]); + // 删除 + const Delete = (data: any) => { + formUp.examineList.splice(form.value.examineList.indexOf(data), 1); + arr.value.push(data.id); }; const onNumber = (e: object) => { form.value = e; @@ -107,29 +165,30 @@ Shows.value.openDailog(targetType.value); }; - // 新增弹窗 - const index=ref<any>() - const Show = ref(); - const daiAdd = (title: string, data: any) => { - // index.value = formUp.targetDivideDetailList.indexOf(data); - Show.value.openDailog(title, data); - }; - const formUp = reactive({ - targetId: '', //关联的目标指标/外键 - delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 - // targetDivideDetailList: [], //目标指标分解列表 - }); + // 新增弹窗 + const index=ref<any>() + const Show = ref(); + const daiAdd = (title: string, data: any) => { + index.value = formUp.examineList.indexOf(data); + Show.value.openDailog(title, data); + }; + const formUp = reactive({ + targetId: '', //关联的目标指标/外键 + delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开 + examineList: [], //目标指标分解列表 + }); - const add = (val: any) => { - const item = deepClone(val) - if(index.value==-1){ - formUp.targetDivideDetailList.push(item); - }else{ - formUp.targetDivideDetailList[index.value] = item; - } + const add = (val: any) => { + const item = deepClone(val) + if(index.value==-1){ - // let obj=JSON.parse(JSON.stringify(form.value)) - }; + formUp.examineList.push(item); + }else{ + formUp.examineList[index.value] = item; + } + console.log(formUp) + // let obj=JSON.parse(JSON.stringify(form.value)) + }; //全屏 const full = ref(false); @@ -156,11 +215,14 @@ full, toggleFullscreen, FullScreen, - daiAdd, - index, - Show, - formUp, - add, + daiAdd, + index, + Show, + formUp, + add, + closeDialog, + submitForm, + Delete }; }, }); diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue index 0eddb52..355ce95 100644 --- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue +++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue @@ -5,19 +5,20 @@ <el-row> <el-col :span="11"> <el-form-item label="责任部门" prop="dutyDepartmentId" size="default"> - <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" /> + <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" /> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="考核指标" prop="value" size="default"> - <el-input v-model.number="form.value" /> + <el-form-item label="考核指标" prop="examineValue" size="default"> + <el-input v-model.number="form.examineValue" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> <el-form-item label="制定人部门" prop="makerDepartmentId" size="default"> - <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> + <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" + @current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" /> </el-form-item> </el-col> <el-col :span="11" :offset="2"> @@ -28,29 +29,30 @@ </el-row> <el-row> <el-col :span="11"> - <el-form-item label="上报值" prop="commitPersonName" size="default"> - <el-input v-model="form.commitPersonName"> + <el-form-item label="上报值" prop="uploadValue" size="default"> + <el-input v-model="form.uploadValue"> <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> </el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="上报时间" prop="makeDate" size="default"> - <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + <el-form-item label="上报时间" prop="uploadDate" size="default"> + <el-date-picker v-model="form.uploadDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> - <el-form-item label="考核结果" prop="commitPersonName" size="default"> - <el-input v-model="form.commitPersonName"> - <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>--> - </el-input> + <el-form-item label="考核结果" prop="examineResult" size="default"> + <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%"> + <el-option label="合格" :value="1" /> + <el-option label="不合格" :value="2" /> + </el-select> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="考核人" prop="commitPersonName" size="default"> - <el-input v-model="form.commitPersonName"> + <el-form-item label="考核人" prop="examinePersonName" size="default"> + <el-input v-model="form.examinePersonName"> <template #append> <el-button :icon="Search" @click="openUser" /> </template> </el-input> </el-form-item> @@ -58,8 +60,8 @@ </el-row> <el-row> <el-col :span="11"> - <el-form-item label="考核时间" prop="commitPersonName" size="default"> - <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + <el-form-item label="考核时间" prop="examineDate" size="default"> + <el-date-picker v-model="form.examineDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> </el-form-item> </el-col> <el-col :span="11" :offset="2"></el-col> @@ -67,7 +69,7 @@ </el-form> <template #footer> <span class="dialog-footer"> - + <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button> <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button> </span> @@ -87,12 +89,15 @@ setup(props, { emit }) { const ruleFormRef = ref<FormInstance>() const form = ref({ - dutyDepartmentId: '', ////责任部门/外键 - makerDepartmentId: '', ////制定人部门/外键 - commitPersonId: '', ////上报人/外键 - commitPersonName: '', - value: '', ////考核指标值 - makeDate: '', ////制定日期 + "dutyDepartmentId": '', ////责任部门id/外键 + "examineDate": '', ////考核时间 + "examinePersonId": '', ////考核人ID/外键 + "examineResult": '', ////考核结果 1:合格 2:不合格 + "examineValue": '', ////考核指标 + "makeDate": '', ////制定日期 + "makerDepartmentId": '', ////制定部门/外键 + "uploadDate": '', ////上报时间 + "uploadValue": "", ////上报值 }); //部门 const department = () => { @@ -158,7 +163,7 @@ trigger: 'blur', }, ], - value: [ + examineValue: [ { required: true, message: '考核指标值不能为空', @@ -179,6 +184,13 @@ ], commitPersonName: [], }); + const dutyName=(data:any)=>{ + form.value.dutyDepartmentName=data.depName + } + const makerDepartmentName=(data:any)=>{ + form.value.makerDepartmentName=data.depName + } + const submitForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; await formEl.validate((valid, fields) => { @@ -214,8 +226,8 @@ const data = ref(); const onUser = (e: any) => { console.log(e) - form.value.commitPersonId = e.uid; - form.value.commitPersonName = e.realName; + form.value.examinePersonId = e.uid; + form.value.examinePersonName = e.realName; }; return { disabled, @@ -238,6 +250,8 @@ rules, submitForm, resetForm, + dutyName, + makerDepartmentName }; }, }); diff --git a/src/views/goalManagement/safetyAssessment/index.vue b/src/views/goalManagement/safetyAssessment/index.vue index 4925e9b..a0e4db8 100644 --- a/src/views/goalManagement/safetyAssessment/index.vue +++ b/src/views/goalManagement/safetyAssessment/index.vue @@ -39,7 +39,7 @@ <template #default="scope"> <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> <el-button link type="primary" size="default" :icon="View" @click="openD('修改', scope.row.id)">修改</el-button> - <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> + <!--<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>--> </template> </el-table-column> </el-table> @@ -209,4 +209,4 @@ display: flex; justify-content: right; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue index ea96184..5bf0692 100644 --- a/src/views/goalManagement/targetDecompositionMonth/index.vue +++ b/src/views/goalManagement/targetDecompositionMonth/index.vue @@ -23,7 +23,7 @@ <div class="minCenter"> <div class="btns"> <div> - <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> + <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> </div> @@ -32,16 +32,16 @@ <el-table-column label="序号" align="center" type="index" width="70" /> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> + <template #default="scope"> <div class="tableC"> <el-tabs v-model="activeNames"> <el-tab-pane label="目标指标分解" name="1"> - <el-table :data="targetDivideDetailList" style="width: 100%"> - <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> + <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> + <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> <el-table-column align="center" prop="value" label="考核指标" /> - <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> + <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> <el-table-column align="center" prop="makeDate" label="制定日期" /> - <el-table-column align="center" prop="commitPersonId" label="上报人" /> + <el-table-column align="center" prop="commitPersonName" label="上报人" /> </el-table> </el-tab-pane> </el-tabs> @@ -105,6 +105,7 @@ const resetForm = () => { ruleForm.searchParams.qName = ''; ruleForm.searchParams.indexNum = ''; + listApi() }; const listApi = () => { goalManagementApi() diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue index 1157f13..6f1c6b2 100644 --- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue +++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue @@ -40,7 +40,7 @@ <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" /> <el-table-column align="center" property="value" label="考核指标" width="180" /> <el-table-column align="center" property="makerDepartmentName" label="制定人部门" /> - <el-table-column align="center" property="makeDate" label="制定日期" /> + <el-table-column align="center" property="makeDate" :formatter="timeDate" label="制定日期" /> <el-table-column align="center" property="commitPersonName" label="上报人" /> <el-table-column align="center" property="操作"> <template #default="scope"> @@ -96,11 +96,27 @@ if (res.data.code == 200) { form.value = res.data.data; formUp.targetDivideDetailList = form.value.targetDivideDetailList; + for(let i=0;i<formUp.targetDivideDetailList.length;i++){ + formUp.targetDivideDetailList[i].makeDate=timeC(formUp.targetDivideDetailList[i].makeDate) + } } else { ElMessage.error(res.data.msg); } }); } + }; + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m +`:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; }; const onNumber = (val: object) => { form.value = val; @@ -209,6 +225,7 @@ // return result; // }; return { + timeC, index, timeDate, arr, diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue index 8782bc2..4b37095 100644 --- a/src/views/goalManagement/targetDecompositionYear/index.vue +++ b/src/views/goalManagement/targetDecompositionYear/index.vue @@ -23,7 +23,7 @@ <div class="minCenter"> <div class="btns"> <div> - <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> + <!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>--> <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> --> <el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button> </div> @@ -32,16 +32,16 @@ <el-table-column label="序号" align="center" type="index" width="70" /> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> + <template #default="scope"> <div class="tableC"> <el-tabs v-model="activeNames"> <el-tab-pane label="目标指标分解" name="1"> - <el-table :data="tableData.targetDivideDetailList" style="width: 100%"> - <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> + <el-table :data="scope.row.targetDivideDetailList" style="width: 100%"> + <el-table-column align="center" prop="dutyDepartmentName" label="责任部门" /> <el-table-column align="center" prop="value" label="考核指标" /> - <el-table-column align="center" prop="makerDepartmentId" label="制定人部门" /> + <el-table-column align="center" prop="makerDepartmentName" label="制定人部门" /> <el-table-column align="center" prop="makeDate" label="制定日期" /> - <el-table-column align="center" prop="commitPersonId" label="上报人" /> + <el-table-column align="center" prop="commitPersonName" label="上报人" /> </el-table> </el-tab-pane> </el-tabs> @@ -103,6 +103,7 @@ const resetForm = () => { ruleForm.searchParams.qName = ''; ruleForm.searchParams.indexNum = ''; + listApi() }; const listApi = () => { goalManagementApi() diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue index b998c9b..e565f88 100644 --- a/src/views/goalManagement/targetEscalation/component/Dailog.vue +++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue @@ -1,15 +1,11 @@ <template> - <el-dialog v-model="dialogVisible" :fullscreen="full" title="记录" width="50%" draggable> + <el-dialog v-model="dialogVisible" :fullscreen="full" title="查看审批流程" width="50%" draggable> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-table :data="tableData" style="width: 100%"> - <el-table-column align="center" label="序号" type="index" width="80" /> - <el-table-column align="center" prop="dutyDepartmentId" label="责任部门" /> - <el-table-column align="center" prop="value" label="考核指标" /> - <el-table-column align="center" prop="makerDepartmentId" label="制定部门" /> - <el-table-column align="center" prop="makeDate" label="制定日期" /> - <el-table-column align="center" prop="value" label="检查值" /> - <el-table-column align="center" prop="commitPersonId" label="检查人" /> - <el-table-column align="center" prop="makeDate" label="检查时间" /> + <el-table-column property="workName" label="审批人" sortable></el-table-column> + <el-table-column property="title" label="审批标题" sortable></el-table-column> + <el-table-column property="approvePersonName" label="编写人" sortable></el-table-column> + <el-table-column property="approveMemo" label="审批意见" sortable></el-table-column> </el-table> <template #footer> <span class="dialog-footer"> @@ -22,14 +18,28 @@ <script lang="ts"> import { defineComponent, reactive, ref } from 'vue'; import { FullScreen } from '@element-plus/icons-vue'; +import { goalManagementApi } from '/@/api/goalManagement'; export default defineComponent({ setup() { const dialogVisible = ref(false); + const form = ref({ + pageSize: 10, + pageIndex: 1, + searchParams: { + relateId: '', ////检查记录ID + relateType:"", + }, + }); const tableData = ref(); - const openDailog = (data: any) => { + const openDailog = (data: any,type:number) => { dialogVisible.value = true; - // console.log(data) - tableData.value = data; + form.value.searchParams.relateId=data + form.value.searchParams.relateType=type + goalManagementApi().getworkApproveListCheckData(form.value).then(res=>{ + if(res.data.code==200){ + tableData.value=res.data.data + } + }) }; //全屏 const full = ref(false); @@ -46,6 +56,7 @@ openDailog, full, toggleFullscreen, + form, FullScreen, }; }, diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue new file mode 100644 index 0000000..b13fb6e --- /dev/null +++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue @@ -0,0 +1,271 @@ +<template> + <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="50%" draggable :fullscreen="full" :close-on-click-modal="false"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> + <div v-if="titleName=='发起审批'"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + <div v-if="titleName!='发起审批'"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + <div v-if="typeScope"> + <el-row> + <el-col> + <el-form-item label="审批结果" prop="authorUid"> + <el-radio-group v-model="form.approveResult"> + <el-radio :label="0">不通过</el-radio> + <el-radio :label="1">通过</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="审批意见" prop="approveMemo"> + <el-input v-model="form.approveMemo" type="textarea" placeholder="请填写审批意见"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="是否完成" prop="complete"> + <el-radio-group v-model="form.approveStatus"> + <el-radio :label="3">是</el-radio> + <el-radio :label="2">否</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <div v-if="form.approveStatus==2"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="form.workName" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="form.title" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + </div> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="resetForm" size="default">关闭</el-button> + <el-button size="default" type="primary" @click="submitForm">确定</el-button> + </span> + </template> + </el-dialog> + <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> +</template> +<script lang="ts"> +import { ref, defineComponent } from 'vue'; +import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; +import { ElMessage } from 'element-plus'; +import { goalManagementApi } from '/@/api/goalManagement'; +import { Search, FullScreen } from '@element-plus/icons-vue'; +export default defineComponent({ + components: { DailogSearchUserManger }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const form = ref({ + workName: '', // 审批名称 + title: '', //审批标题 + approvePersonId: '', + approvePersonName: '', + approveStatus: 2, + approveResult: '', + relateType: 1, + relateId: '', + }); + // 提交 + const submitForm = () => { + if (titleName.value == '发起审批') { + goalManagementApi() + .getworkApproveAdd(form.value) + .then((res) => { + if (res.data.code == 200) { + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'success', + }); + emit('onType'); + } else { + ElMessage.error(res.data.msg); + } + }); + } else if (titleName.value == '审批') { + goalManagementApi() + .getworkApproveUpdata(form.value) + .then((res) => { + if (res.data.code == 200) { + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'success', + }); + emit('onType'); + } else { + ElMessage.error(res.data.msg); + } + }); + } + dialogVisible.value = false; + disabled.value = false; + disabledT.value = false; + form.value={} + formUp.value={} + }; + // 关闭 + const resetForm = () => { + dialogVisible.value = false; + disabled.value = false; + disabledT.value = false; + form.value={} + formUp.value={} + }; + const titleName = ref(); + const typeScope = ref(); + const disabledT = ref(false); + const disabled = ref(false); + const formUp=ref({ + workName:"", + title:"", + approvePersonName:"" + }) + // 打开弹窗 + const openDialog = (title: string, name: string, id: number,type:number) => { + dialogVisible.value = true; + titleName.value = title; + form.value.relateType=type + if (title == '发起审批') { + form.value.relateId = id; + typeScope.value = false; + } else if (title == '审批'||title == '查看审批') { + goalManagementApi() + .getworkApproveDetail(id) + .then((res) => { + if (res.data.code == 200) { + form.value = res.data.data; + form.value.approveStatus="" + formUp.value.workName=form.value.workName + formUp.value.title=form.value.title + formUp.value.approvePersonName=form.value.approvePersonName + if (form.value.approvePersonName === form.value.submitPersonName) { + disabled.value = false; + } else { + disabled.value = true; + } + } + }); + typeScope.value = true; + disabledT.value = true; + } + }; + // 打开用户选择弹窗 + const userRef = ref(); + const openUser = () => { + userRef.value.openDailog(); + }; + const onUser = (val: any) => { + form.value.approvePersonId = val[0].uid; + form.value.approvePersonName = val[0].realName; + }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { + if (full.value == false) { + full.value = true; + } else { + full.value = false; + } + }; + return { + formUp, + onUser, + dialogVisible, + form, + disabledT, + submitForm, + resetForm, + titleName, + typeScope, + disabled, + openDialog, + userRef, + openUser, + full, + toggleFullscreen, + Search, + FullScreen, + }; + }, +}); +</script> +<style> +.el-row { + padding-bottom: 20px; +} +</style> diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue index d39c1f4..7d303db 100644 --- a/src/views/goalManagement/targetEscalation/index.vue +++ b/src/views/goalManagement/targetEscalation/index.vue @@ -24,7 +24,6 @@ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tab-pane label="检查" name="1"> </el-tab-pane> <el-tab-pane label="上报" name="2"></el-tab-pane> - <el-tab-pane label="审核" name="3"></el-tab-pane> </el-tabs> <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> <el-table-column label="安全目标指标" align="center" property="qName" sortable /> @@ -33,18 +32,18 @@ <el-table-column property="value" label="指标值" align="center" sortable show-overflow-tooltip /> <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip> <template #default="scope"> - <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(0)">检查</el-button> - <el-button link type="primary" size="default" :icon="View" @click="openDai(scope.row.targetDivideDetailList)">记录</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,1)">发起审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,1)">审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,1)">查看审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,1)" >查看审批流程</el-button> </template> </el-table-column> <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip> - <template #default> - <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom(1)">上报</el-button> - </template> - </el-table-column> - <el-table-column v-if="activeName == 3" label="操作" align="center" show-overflow-tooltip> - <template #default> - <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">待审批</el-button> + <template #default="scope"> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==null" @click="TypeDailog('发起审批','检查',scope.row.id,2)">发起审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==true" @click="TypeDailog('审批','检查',scope.row.approveId,2)">审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==2&&scope.row.checkApprove==false" @click="TypeDailog('查看审批','检查',scope.row.approveId,2)">查看审批</el-button> + <el-button link type="primary" size="default" :icon="EditPen" v-if="scope.row.approveStatus==3" @click="openDai(scope.row.id,2)" >查看审批流程</el-button> </template> </el-table-column> </el-table> @@ -61,17 +60,19 @@ </div> </div> <Dailog ref="Show"></Dailog> + <TypeDailog ref="TypeD" @onType="typeAlign" /> </div> </template> <script lang="ts"> import Dailog from './component/Dailog.vue'; +import TypeDailog from './component/TypeDailog.vue'; import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue'; import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus'; import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; import { useRouter } from 'vue-router'; import { goalManagementApi } from '/@/api/goalManagement'; export default defineComponent({ - components: { ElButton, ElInput, Dailog }, + components: { ElButton, ElInput, Dailog,TypeDailog }, setup() { // 搜索条件 const ruleForm = reactive({ @@ -80,8 +81,9 @@ searchParams: { qName: '', ////安全目标指标 indexNum: '', ////目标指标编号 - targetType: '1', ////指标类型 1:年指标 2:月指标 - divideStatus: '', ////分解状态 1:已分解 2:未分解 + targetType: 1, ////指标类型 1:年指标 2:月指标 + divideStatus: 1, ////分解状态 1:已分解 2:未分解 + relateType: 1, ////关联业务类型 1:目标检查 2:目标上报 }, }); // 重置 @@ -91,7 +93,7 @@ }; const listApi = () => { goalManagementApi() - .getTargetMngList(ruleForm) + .getworkApproveList(ruleForm) .then((res) => { if (res.data.code == 200) { tableData.value = res.data.data; @@ -106,7 +108,7 @@ // const handleClick = (val: any) => { // let targetType = JSON.parse(JSON.stringify(val)); - ruleForm.searchParams.targetType = val.paneName; + ruleForm.searchParams.relateType = val.paneName; listApi(); }; onMounted(() => { @@ -133,20 +135,21 @@ const activeName = ref<any>('1'); // 记录弹窗 const Show = ref(); - const openDai = (data: any) => { - Show.value.openDailog(data); + const openDai = (data: any,num:number) => { + Show.value.openDailog(data,num); }; - // 流程表单 - const router = useRouter(); - const jumpFrom = (data: any) => { - router.push({ - path: '/processForms', - query: { - type: data, - }, - }); + // 发起审批弹窗 + const TypeD = ref(); + const TypeDailog = (title:string,name:string,id:number,type:number) => { + TypeD.value.openDialog(title,name,id,type); }; + const typeAlign=()=>{ + listApi(); + } return { + TypeD, + typeAlign, + TypeDailog, activeName, total, handleClick, @@ -161,8 +164,6 @@ handleCurrentChange, Show, openDai, - router, - jumpFrom, Plus, Delete, Upload, @@ -195,4 +196,4 @@ display: flex; justify-content: right; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue index 721fe7e..87bff92 100644 --- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue +++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue @@ -38,7 +38,14 @@ </el-col> <el-col :span="11" :offset="2"> <el-form-item label="完成期限" size="default" prop="completeDate"> - <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" /> + <el-date-picker + v-model="form.completeDate" + format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="请选择" + style="width: 100%" + /> </el-form-item> </el-col> </el-row> @@ -56,6 +63,7 @@ </template> <script lang="ts"> import { ref, toRefs, reactive, onMounted, watch, defineComponent } from 'vue'; +// import { timeDate } from '/@/assets/index.ts'; import screenfull from 'screenfull'; import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus'; import type { FormInstance, FormRules } from 'element-plus'; @@ -90,10 +98,24 @@ .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + form.value.completeDate = timeC(form.value.completeDate); } else { ElMessage.error(res.data.msg); } }); + }; + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m +`:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; }; //全屏 const full = ref(false); @@ -133,10 +155,9 @@ trigger: 'change', }, ], - level:[], - completeDate:[], - memo:[] - + level: [], + completeDate: [], + memo: [], }); // 提交 const submitForm = async (formEl: FormInstance | undefined) => { @@ -158,7 +179,7 @@ formEl.resetFields(); } }); - formEl.resetFields(); + formEl.resetFields(); } else { console.log('error submit!', fields); } @@ -174,9 +195,11 @@ formEl.resetFields(); }; return { + timeC, openDialog, handleClose, titles, + // timeDate, Shows, form, full, @@ -195,4 +218,4 @@ .el-row { padding: 0 0 20px 0; } -</style> \ No newline at end of file +</style> diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue index 63a96fc..5e30dee 100644 --- a/src/views/goalManagement/targetSettings/index.vue +++ b/src/views/goalManagement/targetSettings/index.vue @@ -102,6 +102,7 @@ const resetForm = () => { ruleForm.searchParams.qName = ''; ruleForm.searchParams.indexNum = ''; + listApi() }; const listApi = () => { goalManagementApi() diff --git a/src/views/loginPage/component/accountLogin.vue b/src/views/loginPage/component/accountLogin.vue index 9284f51..4830d5b 100644 --- a/src/views/loginPage/component/accountLogin.vue +++ b/src/views/loginPage/component/accountLogin.vue @@ -1,42 +1,19 @@ <template> <el-form size="large" class="login-content-form"> <el-form-item class="login-animation1"> - <el-input - type="text" - :placeholder="$t('message.account.accountPlaceholder1')" - v-model="ruleForm.username" - clearable - autocomplete="off" - size="large" - > + <el-input type="text" :placeholder="$t('message.account.accountPlaceholder1')" v-model="ruleForm.username" clearable autocomplete="off" size="large"> <template #prefix> - <el-icon class="el-input__icon" style="margin-right: 20px" - ><img src="../../../assets/loginPage/login_icon_user.png" style="width: 24px; height: 24px" - /></el-icon> + <el-icon class="el-input__icon" style="margin-right: 20px"><img src="../../../assets/loginPage/login_icon_user.png" style="width: 24px; height: 24px" /></el-icon> </template> </el-input> </el-form-item> <el-form-item class="login-animation2"> - <el-input - :type="isShowPassword ? 'text' : 'password'" - :placeholder="$t('message.account.accountPlaceholder2')" - v-model="ruleForm.password" - autocomplete="off" - size="large" - @keyup.enter.native="onSignIn" - > + <el-input :type="isShowPassword ? 'text' : 'password'" :placeholder="$t('message.account.accountPlaceholder2')" v-model="ruleForm.password" autocomplete="off" size="large" @keyup.enter.native="onSignIn"> <template #prefix> - <el-icon class="el-input__icon" style="margin-right: 20px" - ><img src="../../../assets/loginPage/login_icon_password.png" style="width: 24px; height: 24px" - /></el-icon> + <el-icon class="el-input__icon" style="margin-right: 20px"><img src="../../../assets/loginPage/login_icon_password.png" style="width: 24px; height: 24px" /></el-icon> </template> <template #suffix> - <i - class="iconfont el-input__icon login-content-password" - :class="isShowPassword ? 'icon-yincangmima' : 'icon-xianshimima'" - @click="isShowPassword = !isShowPassword" - > - </i> + <i class="iconfont el-input__icon login-content-password" :class="isShowPassword ? 'icon-yincangmima' : 'icon-xianshimima'" @click="isShowPassword = !isShowPassword"> </i> </template> </el-input> </el-form-item> @@ -130,7 +107,7 @@ // 登录成功,跳到转首页 // 如果是复制粘贴的路径,非首页/登录页,那么登录成功后重定向到对应的路径中 if (route.query?.redirect) { - router.push('/homeMenu'); + router.push('/newMenu'); // router.push({ // path: <string>route.query?.redirect, // query: Object.keys(<string>route.query?.params).length > 0 ? JSON.parse(<string>route.query?.params) : '', diff --git a/src/views/homeMenu/homeMenu.vue b/src/views/newHome/homeMenu.vue similarity index 100% rename from src/views/homeMenu/homeMenu.vue rename to src/views/newHome/homeMenu.vue -- Gitblit v1.9.2