From bbf935c44b77eb0997f9332cd0e7f820f2bd2804 Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期三, 03 八月 2022 15:41:37 +0800
Subject: [PATCH] 事故快报除图片外完成

---
 src/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue |  807 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 445 insertions(+), 362 deletions(-)

diff --git a/src/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue b/src/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue
index e0874b6..c586c23 100644
--- a/src/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue
+++ b/src/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue
@@ -1,378 +1,461 @@
 <template>
-  <div class="system-edit-user-container">
-    <el-dialog
-        title="编辑伤亡人员"
-        v-model="isShowDialog"
-        width="769px"
-        draggable
-        :fullscreen="full"
-    >
-      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
-      <el-form
-          ref="ruleFormRef"
-          :model="ruleForm"
-          size="default"
-          label-width="120px"
-      >
-        <el-row :gutter="35">
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="姓名" prop="name">
-              <el-input v-model="ruleForm.name" placeholder="请输入姓名"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="性别" prop="sex">
-              <el-select v-model="ruleForm.sex" class="w100" placeholder="请选择人员性别">
-                <el-option label="男" value="admin"></el-option>
-                <el-option label="女" value="common"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-form-item label="身份证号码" prop="teamName">
-              <el-input v-model="ruleForm.teamName" placeholder="请输入身份证号码"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" 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="12" :md="12" :lg="12" :xl="12" 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="12" :md="12" :lg="12" :xl="12" class="mb20">
-            <el-button size="default" type="primary">添加</el-button>
-          </el-col>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-            <el-table :data="tableData" style="width: 100%">
-              <el-table-column prop="姓名" label="Date" width="180" />
-              <el-table-column prop="性别" label="Name" width="180" />
-              <el-table-column prop="身份证" label="Address" />
-              <el-table-column prop="伤害描述" label="Address" />
-              <el-table-column prop="受损描述" label="Address" />
-            </el-table>
-          </el-col>
-        </el-row>
-      </el-form>
-      <template #footer>
+    <div class="system-edit-user-container">
+        <el-dialog
+                title="编辑伤亡人员"
+                v-model="isShowDialog"
+                width="769px"
+                draggable
+                :fullscreen="full"
+        >
+            <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+            <el-form
+                    ref="ruleFormRef"
+                    :model="ruleForm"
+                    size="default"
+                    label-width="120px"
+            >
+                <el-row :gutter="35">
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="姓名" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="请输入姓名"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="性别" prop="sex">
+                            <el-select v-model="ruleForm.gender" class="w100" placeholder="请选择人员性别">
+                                <el-option label="男" value="false"></el-option>
+                                <el-option label="女" value="true"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="身份证号码" prop="teamName">
+                            <el-input v-model="ruleForm.card" placeholder="请输入身份证号码"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="伤害描述">
+                            <el-input v-model="ruleForm.injuryDesc" type="textarea" placeholder="请输入内容"
+                                      maxlength="150"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="受损描述">
+                            <el-input v-model="ruleForm.damageDesc" type="textarea" placeholder="请输入内容"
+                                      maxlength="150"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-button v-if="!disabled" size="default" type="primary" @click="onAdd()">添加</el-button>
+                    </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                        <el-table :data="tableData" style="width: 100%">
+                            <el-table-column prop="name" label="姓名"/>
+                            <el-table-column prop="gender" label="性别">
+                                <template #default="scope">
+                                    <div v-if="scope.row.gender==false">
+                                        男
+                                    </div>
+                                    <div v-else>
+                                        女
+                                    </div>
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="card" label="身份证"/>
+                            <el-table-column prop="injuryDesc" label="伤害描述"/>
+                            <el-table-column prop="damageDesc" label="受损描述"/>
+                            <el-table-column v-if="!disabled" label="操作" width="60" align="center" fixed="right">
+                                <template #default="scope">
+                                    <el-button size="small" text type="primary" @click="onDelete(scope.row.id)">
+                                        删除
+                                    </el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </el-col>
+                </el-row>
+            </el-form>
+            <template #footer>
 				<span class="dialog-footer">
 					<el-button @click="onCancel" size="default">关闭</el-button>
           <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
 				</span>
-      </template>
-    </el-dialog>
-    <CheckTemplate ref="Shows"/>
-    <userSelections ref="userRef"/>
-    <RegionsDialog ref="openRef"/>
-  </div>
+            </template>
+        </el-dialog>
+        <CheckTemplate ref="Shows"/>
+        <userSelections ref="userRef"/>
+        <RegionsDialog ref="openRef"/>
+    </div>
 </template>
 
 <script lang="ts">
-import {
-  reactive,
-  ref,
-  defineComponent
-} from 'vue';
+    import {
+        reactive,
+        ref,
+        defineComponent
+    } from 'vue';
 
-import type {
-  UploadUserFile,
-  FormInstance,
-  // FormRules,
-} from 'element-plus'
+    import type {
+        UploadUserFile,
+        FormInstance,
+        // FormRules,
+    } from 'element-plus'
+    import {ElMessage} from 'element-plus';
+    import {
+        Search,
+        FullScreen
+    } from '@element-plus/icons-vue'
+    import UserSelections from "/@/components/userSelections/index.vue"
+    import CheckTemplate from '/@/components/checkTemplate/index.vue'
+    import RegionsDialog from '/@/components/regionsDialog/index.vue'
+    import {accidentManagementSystemApi} from '/@/api/accidentManagementSystem';
 
-import {
-  Search,
-  FullScreen
-} from '@element-plus/icons-vue'
-import UserSelections from "/@/components/userSelections/index.vue"
-import CheckTemplate from '/@/components/checkTemplate/index.vue'
-import RegionsDialog from '/@/components/regionsDialog/index.vue'
+    export default defineComponent({
+        name: 'openEdit',
+        components: {
+            CheckTemplate,
+            UserSelections,
+            RegionsDialog,
+        },
+        setup() {
+            const isShowDialog = ref(false)
 
-export default defineComponent({
-  name: 'openEdit',
-  components: {
-    CheckTemplate,
-    UserSelections,
-    RegionsDialog,
-  },
-  setup() {
-    const isShowDialog = ref(false)
+            const ruleFormRef = ref<FormInstance>()
+            //定义表单
+            const accidentExpressId = ref()
+            const ruleForm = reactive({
+                accidentExpressId: accidentExpressId,
+                name: '', // 姓名
+                gender: '', //性别
+                card: '', // 身份证
+                injuryDesc: '', // 伤害描述
+                damageDesc: '', // 受损描述
+            });
+            const tableData = ref([])
+            const disabled = ref([])
+            // 打开弹窗
+            const openDialog = (id, type) => {
+                accidentExpressId.value = id
+                isShowDialog.value = true;
+                disabled.value = type
+                onList()
+            };
+            // 一览
+            const onList = () => {
+                accidentManagementSystemApi()
+                    .casualtyList(accidentExpressId.value)
+                    .then((res) => {
+                        if (res.data.code == '200') {
+                            tableData.value = res.data.data
+                            console.log('伤亡人员一览', tableData.value)
+                        }
+                    })
+            };
+            // 添加
+            const onAdd = () => {
+                if (accidentExpressId.value != null && accidentExpressId.value != '') {
+                    accidentManagementSystemApi()
+                        .casualtyAdd(ruleForm)
+                        .then((res) => {
+                            if (res.data.code == 200) {
+                                ElMessage({
+                                    showClose: true,
+                                    message: '添加成功',
+                                    type: 'success',
+                                });
+                                onList()
+                            }
+                        })
+                } else {
+                    ElMessage({
+                        showClose: true,
+                        message: '请先添加事故快报',
+                        type: 'error',
+                    });
+                }
+            };
+            // 删除
+            const onDelete = (id) => {
+                accidentManagementSystemApi()
+                    .casualtyDel(id)
+                    .then((res) => {
+                        if (res.data.code == 200) {
+                            ElMessage({
+                                showClose: true,
+                                message: '删除成功',
+                                type: 'success',
+                            });
+                            onList()
+                        }
+                    })
+            };
+            // 关闭弹窗
+            const closeDialog = () => {
+                isShowDialog.value = false;
+            };
+            // 取消
+            const onCancel = () => {
+                closeDialog();
+            };
+            //日期选择器
+            const value1 = ref('')
+            // 上传附件
+            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: '1-1',
+                            label: '经营班子',
+                            children: [],
+                        },
+                    ],
+                },
+                {
+                    value: '2',
+                    label: '生产运行部',
+                    children: [
+                        {
+                            value: '2-1',
+                            label: '灌装一班',
+                            children: []
+                        },
+                        {
+                            value: '2-2',
+                            label: '工艺四班',
+                            children: [],
+                        },
+                    ],
+                },
+                {
+                    value: '3',
+                    label: '设备部',
+                    children: [
+                        {
+                            value: '3-1',
+                            label: '仪表班',
+                            children: [],
+                        },
+                        {
+                            value: '3-2',
+                            label: '机修班',
+                            children: [],
+                        },
+                    ],
+                },
+            ]
+            // 必填项提示
+            // const rules = reactive<FormRules>({
+            //   teamName: [
+            //     {
+            //       required: true,
+            //       message: '队伍名称不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            //   teamLevel: [
+            //     {
+            //       required: true,
+            //       message: '队伍级别不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            //   teamLeader: [
+            //     {
+            //       required: true,
+            //       message: '队伍负责人不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            //   responsibleDepartment: [
+            //     {
+            //       required: true,
+            //       message: '负责人部门不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            //   teamPhone: [
+            //     {
+            //       required: true,
+            //       message: '负责人手机不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            //   telephone: [
+            //     {
+            //       required: true,
+            //       message: '固定电话不能为空',
+            //       trigger: 'change',
+            //     },
+            //   ],
+            // })
+            // 表单提交验证必填项
+            const submitForm = async (formEl: FormInstance | undefined) => {
+                if (!formEl) return
+                await formEl.validate((valid, fields) => {
+                    if (valid) {
+                        console.log('submit!')
+                        closeDialog();
+                    } else {
+                        console.log('error submit!', fields)
+                    }
+                })
 
-    const ruleFormRef = ref<FormInstance>()
-    //定义表单
-    const ruleForm = reactive({
-      teamName: '', // 队伍名称
-      teamLeader: '', //队伍负责人
-      department: [], // 负责人部门
-      phone: '', // 负责人手机
-      telephone: '', // 固定电话
+            }
+            // 应急队伍弹窗
+            const Shows = ref()
+            const daiInpt = () => {
+                Shows.value.openDailog()
+            }
+            // 选择区域弹窗
+            const openRef = ref()
+            const regionsDialog = () => {
+                openRef.value.openDailog()
+            }
+            // 打开用户选择弹窗
+            const userRef = ref();
+            const openUser = () => {
+                userRef.value.openDialog();
+            };
+            //全屏
+            const full = ref(false);
+            const toggleFullscreen = () => {
+                if (full.value == false) {
+                    full.value = true;
+                } else {
+                    full.value = false;
+                }
+            };
+            return {
+                openDialog,
+                closeDialog,
+                isShowDialog,
+                onCancel,
+                fileList,
+                responsibleDepartment,
+                data,
+                Search,
+                ruleForm,
+                value1,
+                treeSelect,
+                tree,
+                daiInpt,
+                Shows,
+                ruleFormRef,
+                submitForm,
+                // rules,
+                openUser,
+                userRef,
+                regionsDialog,
+                openRef,
+                toggleFullscreen,
+                FullScreen,
+                full,
+                tableData,
+                onAdd,
+                onDelete,
+                accidentExpressId,
+                disabled
+            };
+        },
     });
-    // 打开弹窗
-    const openDialog = () => {
-      // state.ruleForm = row;
-      isShowDialog.value = true;
-    };
-    // 关闭弹窗
-    const closeDialog = () => {
-      isShowDialog.value = false;
-    };
-    // 取消
-    const onCancel = () => {
-      closeDialog();
-    };
-    //日期选择器
-    const value1 = ref('')
-    // 上传附件
-    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: '1-1',
-            label: '经营班子',
-            children: [],
-          },
-        ],
-      },
-      {
-        value: '2',
-        label: '生产运行部',
-        children: [
-          {
-            value: '2-1',
-            label: '灌装一班',
-            children: []
-          },
-          {
-            value: '2-2',
-            label: '工艺四班',
-            children: [],
-          },
-        ],
-      },
-      {
-        value: '3',
-        label: '设备部',
-        children: [
-          {
-            value: '3-1',
-            label: '仪表班',
-            children: [],
-          },
-          {
-            value: '3-2',
-            label: '机修班',
-            children: [],
-          },
-        ],
-      },
-    ]
-    // 必填项提示
-    // const rules = reactive<FormRules>({
-    //   teamName: [
-    //     {
-    //       required: true,
-    //       message: '队伍名称不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    //   teamLevel: [
-    //     {
-    //       required: true,
-    //       message: '队伍级别不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    //   teamLeader: [
-    //     {
-    //       required: true,
-    //       message: '队伍负责人不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    //   responsibleDepartment: [
-    //     {
-    //       required: true,
-    //       message: '负责人部门不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    //   teamPhone: [
-    //     {
-    //       required: true,
-    //       message: '负责人手机不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    //   telephone: [
-    //     {
-    //       required: true,
-    //       message: '固定电话不能为空',
-    //       trigger: 'change',
-    //     },
-    //   ],
-    // })
-    // 表单提交验证必填项
-    const submitForm = async (formEl: FormInstance | undefined) => {
-      if (!formEl) return
-      await formEl.validate((valid, fields) => {
-        if (valid) {
-          console.log('submit!')
-          closeDialog();
-        } else {
-          console.log('error submit!', fields)
-        }
-      })
-
-    }
-    // 应急队伍弹窗
-    const Shows=ref()
-    const daiInpt=()=>{
-      Shows.value.openDailog()
-    }
-    // 选择区域弹窗
-    const openRef=ref()
-    const regionsDialog=()=>{
-      openRef.value.openDailog()
-    }
-    // 打开用户选择弹窗
-    const userRef = ref();
-    const openUser = () => {
-      userRef.value.openDialog();
-    };
-    //全屏
-    const full = ref(false);
-    const toggleFullscreen = () => {
-      if (full.value == false) {
-        full.value = true;
-      } else {
-        full.value = false;
-      }
-    };
-    return {
-      openDialog,
-      closeDialog,
-      isShowDialog,
-      onCancel,
-      fileList,
-      responsibleDepartment,
-      data,
-      Search,
-      ruleForm,
-      value1,
-      treeSelect,
-      tree,
-      daiInpt,
-      Shows,
-      ruleFormRef,
-      submitForm,
-      // rules,
-      openUser,
-      userRef,
-      regionsDialog,
-      openRef,
-      toggleFullscreen,
-      FullScreen,
-      full,
-    };
-  },
-});
 </script>
 <style scoped lang="scss">
-.textarea{
-  height: 168px!important;
-}
-.textarea ::v-deep .el-textarea__inner{
-  height: 168px!important;
-}
-::v-deep .el-table__cell {
-  font-weight: 400;
-}
-.el-divider--horizontal{
-  height: 0;
-  margin: 0;
-  border-top: transparent;
-}
-.el-select{
-  width: 100%;
-}
+    .textarea {
+        height: 168px !important;
+    }
+
+    .textarea ::v-deep .el-textarea__inner {
+        height: 168px !important;
+    }
+
+    ::v-deep .el-table__cell {
+        font-weight: 400;
+    }
+
+    .el-divider--horizontal {
+        height: 0;
+        margin: 0;
+        border-top: transparent;
+    }
+
+    .el-select {
+        width: 100%;
+    }
 </style>
\ No newline at end of file

--
Gitblit v1.9.2