From a63579a26e93dcd4a4f3ef25f84a90dcf2f665aa Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期一, 01 八月 2022 18:22:04 +0800
Subject: [PATCH] 事故快报中修改事故部门只显示id的问题

---
 src/views/accidentManagementSystem/accidentReport/component/openAdd.vue             |    4 
 src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue |  136 ++++++++++++++++------
 src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue            |  190 ++++++++++++-------------------
 3 files changed, 173 insertions(+), 157 deletions(-)

diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
index 6ed5b58..0bf5e23 100644
--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
@@ -11,7 +11,7 @@
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="事故部门" placeholder="请选择" prop="accidentDepartmentId">
-							<el-tree-select v-model="ruleForm.accidentDepartmentId" :data="data" class="w100" placeholder="请选择" />
+							<el-tree-select v-model="ruleForm.accidentDepartmentId" :props="propse" :data="newTreeList" class="w100" placeholder="请选择" />
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -21,7 +21,13 @@
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="发生时间" prop="occurrenceTime">
-							<el-date-picker v-model="ruleForm.occurrenceTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" class="w100" placeholder="选择日期时间" />
+							<el-date-picker
+								v-model="ruleForm.occurrenceTime"
+								value-format="YYYY-MM-DD HH:mm:ss"
+								type="datetime"
+								class="w100"
+								placeholder="选择日期时间"
+							/>
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -63,7 +69,7 @@
 					</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-input v-model="ruleForm.fileList" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>
 						</el-form-item>
 					</el-col>
 				</el-row>
@@ -83,7 +89,7 @@
 </template>
 
 <script lang="ts">
-import { reactive, ref, defineComponent, defineEmits } from 'vue';
+import { reactive, ref, defineComponent, defineEmits,onMounted} from 'vue';
 
 import type { UploadUserFile, FormInstance, FormRules } from 'element-plus';
 import { ElMessage } from 'element-plus';
@@ -93,6 +99,7 @@
 import CheckTemplate from '/@/components/checkTemplate/index.vue';
 import RegionsDialog from '/@/components/regionsDialog/index.vue';
 import { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	name: 'openAdd',
 	components: {
@@ -146,123 +153,64 @@
 		const fileList = ref<UploadUserFile[]>([]);
 		// 可选择树
 		const treeSelect = ref();
-		const tree = [
-			{
-				value: '1',
-				label: 'Level one 1',
-				children: [
-					{
-						value: '1-1',
-						label: 'Level two 1-1',
-						children: [
-							{
-								value: '1-1-1',
-								label: 'Level three 1-1-1',
-							},
-						],
-					},
-				],
-			},
-			{
-				value: '2',
-				label: 'Level one 2',
-				children: [
-					{
-						value: '2-1',
-						label: 'Level two 2-1',
-						children: [
-							{
-								value: '2-1-1',
-								label: 'Level three 2-1-1',
-							},
-						],
-					},
-					{
-						value: '2-2',
-						label: 'Level two 2-2',
-						children: [
-							{
-								value: '2-2-1',
-								label: 'Level three 2-2-1',
-							},
-						],
-					},
-				],
-			},
-			{
-				value: '3',
-				label: 'Level one 3',
-				children: [
-					{
-						value: '3-1',
-						label: 'Level two 3-1',
-						children: [
-							{
-								value: '3-1-1',
-								label: 'Level three 3-1-1',
-							},
-						],
-					},
-					{
-						value: '3-2',
-						label: 'Level two 3-2',
-						children: [
-							{
-								value: '3-2-1',
-								label: 'Level three 3-2-1',
-							},
-						],
-					},
-				],
-			},
-		];
+
 		//定义树形下拉框
 		const responsibleDepartment = ref();
 		const data = [
 			{
-				value: '1',
-				label: '广汇能源综合物流发展有限责任公司',
-				children: [
-					{
-						value: '11',
-						label: '经营班子',
-						children: [],
-					},
-				],
+				"value": 1,
+				"deptName": "总部门",
+				"children": []
 			},
 			{
-				value: '2',
-				label: '生产运行部',
-				children: [
+				"value": 3,
+				"deptName": "根部门2",
+				"children": [
 					{
-						value: '21',
-						label: '灌装一班',
-						children: [],
-					},
-					{
-						value: '22',
-						label: '工艺四班',
-						children: [],
-					},
-				],
-			},
-			{
-				value: '3',
-				label: '设备部',
-				children: [
-					{
-						value: '31',
-						label: '仪表班',
-						children: [],
-					},
-					{
-						value: '32',
-						label: '机修班',
-						children: [],
-					},
-				],
-			},
+						"value": 7,
+						"deptName": "子部门88",
+						"children": []
+					}
+				]
+			}
 		];
+		//el-tree-select回显
+		const propse = {
+			label: 'depName',
+			children: 'children'
+		};
+		const newTreeList = []
+		//得到部门树
+		const department = async() => {
+			await goalManagementApi()
+					.getTreedepartment()
+					.then((res) => {
+						if (res.data.code == 200) {
+							data.value = res.data.data;
+							getTreeList(res.data.data,newTreeList)
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
+		};
+		// 递归树状数据且修改字段名
+		const getTreeList = (treeList,newTreeList) => {
+			treeList.map(c=>{
+				let tempData={
+					depName:c.depName,
+					value:c.depId,
+					children:[]
+				}
+				if(c.children && c.children.length>0){
+					tempData.children=[]
+					getTreeList(c.children,tempData.children)
+				}
+				newTreeList.push(tempData)
+			})
+		}
+		onMounted(() => {
+			department()
+		});
 		// 必填项提示
 		const rules = reactive<FormRules>({
 			accidentName: [
@@ -356,12 +304,17 @@
 						console.log('error submit!', fields);
 					}
 				});
-			}
-      else if (title == '修改事故快报') {
+			} else if (title == '修改事故快报') {
 				if (!formEl) return;
 				await formEl.validate((valid, fields) => {
 					if (valid) {
 						isShowDialog.value = false;
+						ruleForm.value.fileList = [
+							{
+								fileUrl: 'url',
+								fileName: 'name',
+							},
+						];
 						accidentManagementSystemApi()
 							.accidentView(ruleForm.value)
 							.then((res) => {
@@ -456,7 +409,6 @@
 			ruleForm,
 			value1,
 			treeSelect,
-			tree,
 			daiInpt,
 			Shows,
 			ruleFormRef,
@@ -474,6 +426,10 @@
 			titles,
 			disabled,
 			emit,
+			propse,
+			department,
+			getTreeList,
+			newTreeList
 		};
 	},
 });
@@ -496,4 +452,4 @@
 .el-select {
 	width: 100%;
 }
-</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 ff3487f..039bc5c 100644
--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
@@ -610,6 +610,9 @@
       if (!formEl) return;
       formEl.resetFields();
     };
+    const handleChange = (val: number) => {
+      console.log(val)
+    };
     // 应急队伍弹窗
     const Shows=ref()
     const daiInpt=()=>{
@@ -667,6 +670,7 @@
       titles,
       disabled,
       emit,
+      handleChange
     };
   },
 });
diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
index 5e9a5a4..b96844b 100644
--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
+++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
@@ -33,26 +33,57 @@
             </el-form-item>
           </el-form>
         </el-row>
-        <el-table :data="tableData" style="width: 100%;margin-top:20px">
-          <el-table-column type="selection" width="55" />
-          <el-table-column align="center" prop="date" label="id" />
-          <el-table-column align="center" prop="name" label="事故名称"/>
-          <el-table-column align="center" prop="date" label="事故部门" />
-          <el-table-column align="center" prop="name" label="发生地点"/>
-          <el-table-column align="center" prop="name" label="发生时间"/>
+        <!--<el-table :data="tableData" style="width: 100%;margin-top:20px">-->
+          <!--<el-table-column type="selection" width="55" />-->
+          <!--<el-table-column align="center" prop="date" label="id" />-->
+          <!--<el-table-column align="center" prop="name" label="事故名称"/>-->
+          <!--<el-table-column align="center" prop="date" label="事故部门" />-->
+          <!--<el-table-column align="center" prop="name" label="发生地点"/>-->
+          <!--<el-table-column align="center" prop="name" label="发生时间"/>-->
+        <!--</el-table>-->
+        <!--<div class="pages">-->
+          <!--<el-pagination-->
+              <!--v-model:currentPage="currentPage4"-->
+              <!--v-model:page-size="pageSize4"-->
+              <!--:page-sizes="[100, 200, 300, 400]"-->
+              <!--:small="small"-->
+              <!--:disabled="disabled"-->
+              <!--:background="background"-->
+              <!--layout="total, sizes, prev, pager, next, jumper"-->
+              <!--:total="400"-->
+              <!--@size-change="handleSizeChange"-->
+              <!--@current-change="handleCurrentChange"-->
+          <!--/>-->
+        <!--</div>-->
+        <el-table
+                :data="tableData"
+                style="width: 100%"
+                ref="multipleTableRef"
+        >
+          <el-table-column align="center">
+            <template #default="scope">
+              <el-radio-group v-model="radio1">
+                <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio>
+              </el-radio-group>
+            </template>
+          </el-table-column>
+          <el-table-column prop="accidentExpressId" label="事故名称" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="accidentDepartmentId" label="事故部门" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="accidentType" label="事故类别" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="accidentGrade" label="事故等级" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="occurrencePlace" label="发生地点" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="occurrenceTime" label="发生时间" show-overflow-tooltip></el-table-column>
         </el-table>
         <div class="pages">
           <el-pagination
-              v-model:currentPage="currentPage4"
-              v-model:page-size="pageSize4"
-              :page-sizes="[100, 200, 300, 400]"
-              :small="small"
-              :disabled="disabled"
-              :background="background"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="400"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
+                  v-model:currentPage="pageIndex"
+                  v-model:page-size="pageSize"
+                  :page-sizes="[10, 20, 30]"
+                  :pager-count="5"
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :total="40"
+                  @size-change="handleSizeChange"
+                  @current-change="handleCurrentChange"
           />
         </div>
       </el-col>
@@ -74,12 +105,18 @@
 import {
   defineComponent,
   reactive,
-  ref
+  ref,
+  onMounted
 } from 'vue';
 import {
   Delete,
   FullScreen
 } from '@element-plus/icons-vue';
+import {
+  // ElTable,
+  ElMessage,
+} from 'element-plus';
+import {accidentManagementSystemApi} from "/@/api/workInjuryDeclaration";
 export default defineComponent({
   setup() {
     const dialogVisible = ref<boolean>(false);
@@ -90,32 +127,46 @@
     const ruleForm = reactive({
       pass: '',
     });
-    // 表格
-    const tableData = [
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '应急救援组',
+    // 定义表格数据
+    const tableData = ref([]);
+    // 列表参数
+    const listQuery = reactive({
+      pageIndex: 1,
+      pageSize: 10,
+      searchParams: {
+        name: '',
       },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '工艺抢险组',
-      },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '后勤保障组',
-      },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '应急救援组',
-      },
-    ];
-    const pageSize4 = ref(100);
+    });
+    //单选按钮
+    const radio1 = ref('');
+    // 分页
+    const pageIndex = ref();
+    const pageSize = ref();
+    const total = ref();
+    // 分页改变
     const handleSizeChange = (val: number) => {
-      console.log(`${val} items per page`);
+      listQuery.pageSize = val;
     };
+    // 分页未改变
     const handleCurrentChange = (val: number) => {
-      console.log(`current page: ${val}`);
+      listQuery.pageIndex = val;
     };
+    //查询list数据
+    const listApi = async () => {
+      let res = await accidentManagementSystemApi().getAccidentReportList(listQuery);
+      if (res.data.code == 200) {
+        tableData.value = res.data.data;
+        pageIndex.value = res.data.pageIndex;
+        pageSize.value = res.data.pageSize;
+        total.value = res.data.total;
+      } else {
+        ElMessage.error(res.data.msg);
+      }
+    };
+    // 页面加载时
+    onMounted(() => {
+      listApi();
+    });
     // 右方点击添加后显示标签
     const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
     const handleClose = (tag: string) => {
@@ -135,7 +186,6 @@
       openDailog,
       ruleForm,
       tableData,
-      pageSize4,
       handleSizeChange,
       handleCurrentChange,
       dynamicTags,
@@ -144,6 +194,12 @@
       toggleFullscreen,
       FullScreen,
       full,
+      pageIndex,
+      pageSize,
+      total,
+      listApi,
+      listQuery,
+      radio1
     };
   },
 });

--
Gitblit v1.9.2