Эх сурвалжийг харах

更新任务管理、日志填报

ZaiZai 2 жил өмнө
parent
commit
68de145d11

+ 0 - 158
src/styles/logs/index.scss

@@ -1,158 +0,0 @@
-.hac-logs-main-body {
-    position: relative;
-    height: 100%;
-    .hac-card-item-logs-header {
-        position: relative;
-        display: flex;
-        align-items: center;
-        .left-box {
-            flex: 1;
-            display: flex;
-            align-items: center;
-        }
-        .right-box {
-            position: relative;
-            margin-left: 24px;
-        }
-    }
-    .hac-logs-row-body {
-        position: relative;
-        height: calc(100% - 78px);
-        display: flex;
-        .hac-logs-user-list-body {
-            position: relative;
-            margin-right: 1rem;
-            height: 100%;
-            width: 245px;
-        }
-        .hac-logs-content-body {
-            flex: 1;
-            height: 100%;
-            position: relative;
-        }
-    }
-}
-
-.hac-logs-user-list-body {
-    .hac-user-list-item {
-        position: relative;
-        .label {
-            color: #0F172B;
-            font-size: 15px;
-            margin-bottom: .75rem;
-        }
-        .user-item {
-            position: relative;
-            display: flex;
-            align-items: center;
-            padding: 5px 5px 5px 16px;
-            border-radius: 5px;
-            cursor: pointer;
-            transition: background .3s;
-            .avatar {
-                width: 26px;
-                height: 26px;
-                object-fit: cover;
-                border-radius: 3px;
-            }
-            .name {
-                flex: 1;
-                position: relative;
-                margin: 0 10px;
-                font-size: 15px;
-                overflow: hidden;
-                display: -webkit-box;
-                -webkit-box-orient: vertical;
-                -webkit-line-clamp: 1;
-            }
-            .state {
-                color: #a9abb2;
-                font-size: 14px;
-            }
-            &:hover, &.cur {
-                background: var(--el-color-primary-light-9);
-                color: var(--el-color-primary-dark-2);
-            }
-        }
-        .user-item + .user-item {
-            margin-top: 4px;
-        }
-    }
-    .hac-user-list-item + .hac-user-list-item {
-        margin-top: 24px;
-    }
-}
-.hac-logs-content-body {
-    .hac-logs-user-info {
-        position: relative;
-        display: flex;
-        align-items: center;
-        .user-avatar {
-            height: 50px;
-            border-radius: 3px;
-            margin-right: 14px;
-        }
-        .user-info {
-            flex: 1;
-            position: relative;
-            height: 50px;
-            line-height: 1.7;
-            .time {
-                color: #a9abb2;
-                font-size: 14px;
-            }
-        }
-    }
-    .hac-log-card-item {
-        position: relative;
-        padding-left: 8px;
-        .hac-log-extra {
-            position: relative;
-            font-size: 14px;
-            .text {
-                color: #a9abb2;
-            }
-            .rate {
-                color: #FE6E22;
-            }
-        }
-        .hac-log-details-body {
-            position: relative;
-            .log-details-item {
-                position: relative;
-                display: flex;
-                align-items: flex-start;
-                .label {
-                    position: relative;
-                    color: #878789;
-                    width: 116px;
-                }
-                .description {
-                    position: relative;
-                    flex: 1;
-                    font-size: 15px;
-                }
-            }
-            .log-details-item + .log-details-item {
-                margin-top: 20px;
-            }
-        }
-        .title-label {
-            color: #0F172B;
-            font-size: 17px;
-        }
-        .hac-log-angle-mark {
-            position: absolute;
-            background: #FE6E22;
-            color: white;
-            width: 40px;
-            height: 40px;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            border-radius: 50%;
-            top: -10px;
-            left: 0px;
-        }
-    }
-}

+ 117 - 0
src/styles/task/logs.scoped.scss

@@ -0,0 +1,117 @@
+.hac-logs-main-body {
+    position: relative;
+    height: 100%;
+    display: flex;
+    .hac-logs-user-list-body {
+        position: relative;
+        margin-right: 1rem;
+        height: 100%;
+        width: 270px;
+    }
+    .hac-logs-content-body {
+        flex: 1;
+        height: 100%;
+        position: relative;
+    }
+}
+
+.hac-logs-user-list-body {
+    .hac-user-list-item {
+        position: relative;
+        .label {
+            color: #0F172B;
+            font-size: 15px;
+            margin-bottom: .75rem;
+        }
+        .user-item {
+            position: relative;
+            display: flex;
+            align-items: center;
+            padding: 6px 8px;
+            border-radius: 5px;
+            margin-left: 10px;
+            cursor: pointer;
+            transition: background .2s;
+            .avatar {
+                width: 26px;
+                height: 26px;
+                object-fit: cover;
+                border-radius: 3px;
+            }
+            .name {
+                flex: 1;
+                position: relative;
+                margin: 0 10px;
+                font-size: 15px;
+                overflow: hidden;
+                display: -webkit-box;
+                -webkit-box-orient: vertical;
+                -webkit-line-clamp: 1;
+            }
+            .state {
+                color: #a9abb2;
+                font-size: 14px;
+            }
+            &:hover, &.cur {
+                background: var(--el-color-primary-light-3);
+                color: white;
+                .state {
+                    color: white;
+                }
+            }
+        }
+        .user-item + .user-item {
+            margin-top: 2px;
+        }
+    }
+    .hac-user-list-item + .hac-user-list-item {
+        margin-top: 24px;
+    }
+}
+
+
+.hac-logs-content-body {
+    .hac-logs-user-info {
+        position: relative;
+        display: flex;
+        align-items: center;
+        .user-avatar {
+            height: 50px;
+            border-radius: 3px;
+            margin-right: 14px;
+        }
+        .user-info {
+            flex: 1;
+            position: relative;
+            height: 50px;
+            line-height: 1.7;
+            .time {
+                color: #a9abb2;
+                font-size: 14px;
+            }
+        }
+    }
+    .hc-logs-content-item {
+        position: relative;
+        margin-top: 30px;
+        .title {
+            position: relative;
+            margin-bottom: 14px;
+        }
+        .warning-tip {
+            position: absolute;
+            color: #BD3124;
+            right: 0;
+            top: 0;
+        }
+        .extra-tip {
+            position: relative;
+            color: #E99D42;
+            font-size: 14px;
+            margin-bottom: 14px;
+        }
+        .content {
+            position: relative;
+        }
+    }
+}

+ 0 - 404
src/views/logs/index.vue

@@ -1,404 +0,0 @@
-<template>
-    <div class="hac-logs-main-body">
-        <HcCardItem ui="hac-card-item" style="height: 68px;">
-            <div class="hac-card-item-logs-header">
-                <div class="left-box">
-                    <div class="w-36">
-                        <el-select v-model="searchForm.department" block clearable placeholder="选择部门" size="large">
-                            <el-option label="研发部门" value="1"/>
-                            <el-option label="业务部门" value="2"/>
-                            <el-option label="人事部门" value="3"/>
-                        </el-select>
-                    </div>
-                    <div class="w-36 ml-2">
-                        <el-select v-model="searchForm.state" block clearable placeholder="选择人员" size="large">
-                            <el-option label="张三" value="1"/>
-                            <el-option label="李四" value="2"/>
-                            <el-option label="王五" value="3"/>
-                        </el-select>
-                    </div>
-                    <div class="w-36 ml-4">
-                        <el-date-picker class="block" v-model="searchForm.startTime" type="month" value-format="YYYY-MM" placeholder="开始日期" clearable size="large"/>
-                    </div>
-                    <div class="mx-2">~</div>
-                    <div class="w-36">
-                        <el-date-picker class="block" v-model="searchForm.endTime" type="month" value-format="YYYY-MM" placeholder="结束日期" clearable size="large"/>
-                    </div>
-                    <div class="ml-4">
-                        <el-button size="large" type="primary" @click="searchClick">
-                            <HcIcon name="search-2"/>
-                            <span>搜索</span>
-                        </el-button>
-                    </div>
-                    <div class="ml-2">
-                        <el-button size="large" @click="resetClick">
-                            <HcIcon name="close-circle"/>
-                            <span>重置</span>
-                        </el-button>
-                    </div>
-                </div>
-                <div class="right-box">
-                    <el-button size="large" type="warning" v-if="isEditState" @click="isEditState = false">
-                        <HcIcon name="check-double"/>
-                        <span>提交日志</span>
-                    </el-button>
-                    <el-button size="large" type="primary" v-else @click="isEditState = true">
-                        <HcIcon name="add"/>
-                        <span>写日志</span>
-                    </el-button>
-                </div>
-            </div>
-        </HcCardItem>
-        <div class="mt-4 hac-logs-row-body">
-            <div class="hac-logs-user-list-body">
-                <HcCardItem scrollbar ui="hac-card-item">
-                    <div class="hac-user-list-item">
-                        <div class="label">昨天</div>
-                        <div class="user-item">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                        <div class="user-item cur">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                        <div class="user-item">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                    </div>
-                    <div class="hac-user-list-item">
-                        <div class="label">2023-04-23 星期一</div>
-                        <div class="user-item">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                        <div class="user-item">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                        <div class="user-item">
-                            <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                            <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
-                        </div>
-                    </div>
-                </HcCardItem>
-            </div>
-            <div class="hac-logs-content-body">
-                <HcCardItem scrollbar ui="hac-card-item">
-                    <div class="hac-logs-user-info">
-                        <img class="user-avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
-                        <div class="user-info">
-                            <div class="name">张三的日志</div>
-                            <div class="time">2023-02-12 21:08 添加</div>
-                        </div>
-                    </div>
-                    <HcCardItem title="风险预警" ui="hac-bg-grey mt-12">
-                        <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" :readonly="!isEditState" :placeholder="isEditState?'请输入文字说明':'无'" type="textarea"/>
-                    </HcCardItem>
-
-                    <div class="hac-card-title mt-4">
-                        <span class="mr-5">今日工作内容</span>
-                        <el-button _icon hc-btn size="small" type="primary" v-if="isEditState">
-                            <HcIcon name="add"/>
-                        </el-button>
-                    </div>
-
-                    <template v-if="isEditState">
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #header>
-                                    <div class="ml-4">关联的任务</div>
-                                </template>
-                                <template #extra>
-                                    <el-button size="default" type="primary" hc-btn @click="associatedTask">
-                                        <HcIcon name="add"/>
-                                        <span>关联任务</span>
-                                    </el-button>
-                                </template>
-                                <HcTable :isIndex="false" :column="tableTaskColumn" :datas="tableTaskData">
-                                    <template #key2="{row}">
-                                        <el-input v-model="row.key2" placeholder="进度(%)"/>
-                                    </template>
-                                    <template #action="{row,index}">
-                                        <el-button plain size="small" type="danger">
-                                            <HcIcon name="close"/>
-                                            <span>移除</span>
-                                        </el-button>
-                                    </template>
-                                </HcTable>
-
-                                <div class="title-label mt-6 mb-3">工作内容描述</div>
-                                <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
-
-                                <el-divider class="title-label-divider" content-position="left" border-style="dashed">费用报销</el-divider>
-
-                                <div class="hac-log-form-box">
-                                    <el-form ref="formRef" inline :model="formModel" :rules="formRules">
-                                        <el-form-item label="费用报销:" prop="key1" class="w-72">
-                                            <el-select v-model="formModel.key1" block clearable placeholder="费用报销">
-                                                <el-option label="审计费" value="1"/>
-                                                <el-option label="招聘费" value="2"/>
-                                                <el-option label="水电费" value="3"/>
-                                            </el-select>
-                                        </el-form-item>
-                                        <el-form-item label="费用金额:" prop="key2" class="w-72">
-                                            <el-input v-model="formModel.key2" placeholder="请输入费用金额(元)" />
-                                        </el-form-item>
-                                    </el-form>
-                                </div>
-
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">1</div>
-                        </div>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #header>
-                                    <div class="ml-4">关联的任务</div>
-                                </template>
-                                <template #extra>
-                                    <el-button size="default" type="primary" hc-btn>
-                                        <HcIcon name="add"/>
-                                        <span>关联任务</span>
-                                    </el-button>
-                                </template>
-                                <HcTable :isIndex="false" :column="tableTaskColumn" :datas="tableTaskData">
-                                    <template #key2="{row}">
-                                        <el-input v-model="row.key2" placeholder="进度(%)"/>
-                                    </template>
-                                    <template #action="{row,index}">
-                                        <el-button plain size="small" type="danger">
-                                            <HcIcon name="close"/>
-                                            <span>移除</span>
-                                        </el-button>
-                                    </template>
-                                </HcTable>
-
-                                <div class="title-label mt-6 mb-3">工作内容描述</div>
-                                <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
-
-                                <el-divider class="title-label-divider" content-position="left" border-style="dashed">费用报销</el-divider>
-
-                                <div class="hac-log-form-box">
-                                    <el-form ref="formRef" inline :model="formModel" :rules="formRules">
-                                        <el-form-item label="费用报销:" prop="key1" class="w-72">
-                                            <el-select v-model="formModel.key1" block clearable placeholder="费用报销">
-                                                <el-option label="审计费" value="1"/>
-                                                <el-option label="招聘费" value="2"/>
-                                                <el-option label="水电费" value="3"/>
-                                            </el-select>
-                                        </el-form-item>
-                                        <el-form-item label="费用金额:" prop="key2" class="w-72">
-                                            <el-input v-model="formModel.key2" placeholder="请输入费用金额(元)" />
-                                        </el-form-item>
-                                    </el-form>
-                                </div>
-
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">2</div>
-                        </div>
-                    </template>
-
-                    <template v-else>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #extra>
-                                    <div class="hac-log-extra">
-                                        <span class="text">所关联任务目前完成率:</span>
-                                        <span class="rate">80%</span>
-                                    </div>
-                                </template>
-                                <div class="hac-log-details-body">
-                                    <div class="log-details-item">
-                                        <div class="label">所属任务:</div>
-                                        <div class="description">【任务内容描述xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-                                            xxxxxxxxxxxxxxxxxxxxxxxxx】</div>
-                                    </div>
-                                    <div class="log-details-item">
-                                        <div class="label">工作内容描述:</div>
-                                        <div class="description">今日完成水泥混凝土试验记录表xxxxxxxxxxxxxxxxx</div>
-                                    </div>
-                                </div>
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">1</div>
-                        </div>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #extra>
-                                    <div class="hac-log-extra">
-                                        <span class="text">所关联任务目前完成率:</span>
-                                        <span class="rate">80%</span>
-                                    </div>
-                                </template>
-                                <div class="hac-log-details-body">
-                                    <div class="log-details-item">
-                                        <div class="label">所属任务:</div>
-                                        <div class="description">【任务内容描述xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-                                            xxxxxxxxxxxxxxxxxxxxxxxxx】</div>
-                                    </div>
-                                    <div class="log-details-item">
-                                        <div class="label">工作内容描述:</div>
-                                        <div class="description">今日完成水泥混凝土试验记录表xxxxxxxxxxxxxxxxx</div>
-                                    </div>
-                                </div>
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">2</div>
-                        </div>
-                    </template>
-                </HcCardItem>
-            </div>
-        </div>
-
-        <!--关联任务-->
-        <HcDialog bgColor="#ffffff" isToBody isTable isRowFooter :loading="taskModalLoading" :show="taskModal" title="关联任务" widths="62rem" @close="closeTaskClick">
-            <template #header>
-                <div class="header-box">
-                    <span class="mr-5">关联的任务</span>
-                    <span class="text-orange text-sm">选择当天日志所描述的任务</span>
-                </div>
-            </template>
-
-            <HcTable :column="tableTaskColumn1" :datas="tableTaskData1" :loading="tableTaskLoading">
-                <template #action="{row,index}">
-                    <el-button plain size="small" type="primary" @click="row.isRelated = true" v-if="!row.isRelated">
-                        <HcIcon name="link" :line="false"/>
-                        <span>关联</span>
-                    </el-button>
-                    <el-button plain size="small" type="danger" @click="row.isRelated = false" v-else>
-                        <HcIcon name="link-unlink-m" :line="false"/>
-                        <span>取消</span>
-                    </el-button>
-                </template>
-            </HcTable>
-            <template #leftRowFooter>
-                <el-button size="large" @click="closeTaskClick">
-                    <HcIcon name="close"/>
-                    <span>取消</span>
-                </el-button>
-                <el-button size="large" type="primary" @click="saveTaskClick">
-                    <HcIcon name="check"/>
-                    <span>确认关联</span>
-                </el-button>
-            </template>
-            <template #rightRowFooter>
-                <HcPages :pages="searchTaskForm" @change="pageTaskChange"/>
-            </template>
-        </HcDialog>
-
-    </div>
-</template>
-
-<script setup>
-import {ref} from "vue";
-
-//搜索表单
-const searchForm = ref({department: null, state: null, startTime: null, endTime: null})
-
-//搜索
-const searchClick = () => {
-    searchForm.value.current = 1;
-}
-
-//重置
-const resetClick = () => {
-    searchForm.value = {}
-}
-
-//风险预警
-const riskWarning = ref('')
-
-//当前状态,false查看模式,true写日志模式
-const isEditState = ref(false)
-
-//已关联的任务
-const tableTaskColumn = [
-    {key: 'key', name: '任务内容'},
-    {key: 'key1', name: '状态', width: '120', align: 'center'},
-    {key: 'key2', name: '进度(%)', width: '160'},
-    {key: 'key3', name: '起止日期', width: '220', align: 'center'},
-    {key: 'action', name: '操作', width: '90', align: 'center'},
-]
-const tableTaskData = ref([
-    {id: 1, key: 'xxxxxxxxx', key1: '未完成', key2: '', key3: '2022-07-01~2027-04-12'},
-    {id: 2, key: 'xxxxxxxxx', key1: '未完成', key2: '', key3: '2022-07-01~2027-04-12'},
-])
-
-//顶部表单数据
-const formRef = ref(null)
-const formModel = ref({key1: '', key2: ''})
-const formRules = {
-    key1: {
-        required: true,
-        trigger: 'blur',
-        message: "请选择费用报销"
-    },
-    key2: {
-        required: true,
-        trigger: 'blur',
-        message: "请输入费用金融"
-    },
-}
-
-//关联任务弹窗
-const taskModalLoading = ref(false)
-const taskModal = ref(false)
-
-//显示关联任务
-const associatedTask = () => {
-    taskModalLoading.value = false
-    taskModal.value = true
-}
-
-//关联任务分页和搜索
-const searchTaskForm = ref({current: 1, size: 20, total: 0})
-const pageTaskChange = ({current, size}) => {
-    searchTaskForm.value.current = current
-    searchTaskForm.value.size = size
-}
-
-//关联任务表格
-const tableTaskLoading = ref(false)
-const tableTaskColumn1 = [
-    {key: 'key1', name: '任务描述'},
-    {key: 'key2', name: '任务起止日期', width: '220', align: 'center'},
-    {key: 'key3', name: '状态', width: '120', align: 'center'},
-    {key: 'action', name: '操作', width: '90', align: 'center'},
-]
-const tableTaskData1 = ref([
-    {id: 1, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 2, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 3, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 4, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-])
-
-//关闭关联任务弹窗
-const closeTaskClick = () => {
-    taskModalLoading.value = false
-    taskModal.value = false
-}
-
-//提交关联任务弹窗
-const saveTaskClick = () => {
-    taskModalLoading.value = false
-    taskModal.value = false
-}
-</script>
-
-<style lang="scss" scoped>
-@import "~src/styles/logs/index.scss";
-</style>
-
-<style lang="scss">
-.hac-log-form-box .el-form .el-form-item {
-    margin-bottom: 0;
-    .el-form-item__error {
-        display: none;
-    }
-}
-</style>

+ 114 - 309
src/views/task/logs/index.vue

@@ -1,63 +1,64 @@
 <template>
-    <div class="hac-logs-main-body">
-        <HcCardItem ui="hac-card-item" style="height: 68px;">
-            <div class="hac-card-item-logs-header">
-                <div class="left-box">
-                    <div class="w-36">
-                        <el-select v-model="searchForm.department" block clearable placeholder="选择部门" size="large">
-                            <el-option label="研发部门" value="1"/>
-                            <el-option label="业务部门" value="2"/>
-                            <el-option label="人事部门" value="3"/>
-                        </el-select>
-                    </div>
-                    <div class="w-36 ml-2">
-                        <el-select v-model="searchForm.state" block clearable placeholder="选择人员" size="large">
-                            <el-option label="张三" value="1"/>
-                            <el-option label="李四" value="2"/>
-                            <el-option label="王五" value="3"/>
-                        </el-select>
-                    </div>
-                    <div class="w-36 ml-4">
-                        <el-date-picker class="block" v-model="searchForm.startTime" type="month" value-format="YYYY-MM" placeholder="开始日期" clearable size="large"/>
-                    </div>
-                    <div class="mx-2">~</div>
-                    <div class="w-36">
-                        <el-date-picker class="block" v-model="searchForm.endTime" type="month" value-format="YYYY-MM" placeholder="结束日期" clearable size="large"/>
-                    </div>
-                    <div class="ml-4">
-                        <el-button size="large" type="primary" @click="searchClick">
-                            <HcIcon name="search-2"/>
-                            <span>搜索</span>
-                        </el-button>
-                    </div>
-                    <div class="ml-2">
-                        <el-button size="large" @click="resetClick">
-                            <HcIcon name="close-circle"/>
-                            <span>重置</span>
-                        </el-button>
-                    </div>
-                </div>
-                <div class="right-box">
-                    <el-button size="large" type="warning" v-if="isEditState" @click="isEditState = false">
-                        <HcIcon name="check-double"/>
-                        <span>提交日志</span>
-                    </el-button>
-                    <el-button size="large" type="primary" v-else @click="isEditState = true">
-                        <HcIcon name="add"/>
-                        <span>写日志</span>
-                    </el-button>
-                </div>
+    <HcCard>
+        <template #header>
+            <div class="w-36">
+                <el-select v-model="searchForm.department" block clearable placeholder="选择部门" size="large">
+                    <el-option label="研发部门" value="1"/>
+                    <el-option label="业务部门" value="2"/>
+                    <el-option label="人事部门" value="3"/>
+                </el-select>
+            </div>
+            <div class="w-36 ml-2">
+                <el-select v-model="searchForm.state" block clearable placeholder="选择人员" size="large">
+                    <el-option label="张三" value="1"/>
+                    <el-option label="李四" value="2"/>
+                    <el-option label="王五" value="3"/>
+                </el-select>
+            </div>
+            <div class="w-36 ml-4">
+                <el-date-picker class="block" v-model="searchForm.startTime" type="month" value-format="YYYY-MM" placeholder="开始日期" clearable size="large"/>
+            </div>
+            <div class="mx-2">~</div>
+            <div class="w-36">
+                <el-date-picker class="block" v-model="searchForm.endTime" type="month" value-format="YYYY-MM" placeholder="结束日期" clearable size="large"/>
+            </div>
+            <div class="ml-4">
+                <el-button size="large" type="primary" @click="searchClick">
+                    <HcIcon name="search-2"/>
+                    <span>搜索</span>
+                </el-button>
+            </div>
+            <div class="ml-2">
+                <el-button size="large" @click="resetClick">
+                    <HcIcon name="close-circle"/>
+                    <span>重置</span>
+                </el-button>
             </div>
-        </HcCardItem>
-        <div class="mt-4 hac-logs-row-body">
+        </template>
+        <template #extra>
+            <el-button size="large" type="warning" v-if="isEditState" @click="isEditState = false">
+                <HcIcon name="check-double"/>
+                <span>提交日志</span>
+            </el-button>
+            <el-button size="large" type="primary" v-else @click="isEditState = true">
+                <HcIcon name="add"/>
+                <span>写日志</span>
+            </el-button>
+        </template>
+        <div class="hac-logs-main-body">
             <div class="hac-logs-user-list-body">
-                <HcCardItem scrollbar ui="hac-card-item">
+                <HcCardItem scrollbar>
                     <div class="hac-user-list-item">
                         <div class="label">昨天</div>
                         <div class="user-item">
                             <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
                             <div class="name">张三的日志</div>
-                            <div class="state">已读</div>
+                            <div class="state">
+                                <span class="text-xl text-red mr-2">
+                                    <HcIcon name="alarm-warning"/>
+                                </span>
+                                <span>已读</span>
+                            </div>
                         </div>
                         <div class="user-item cur">
                             <img class="avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
@@ -91,7 +92,7 @@
                 </HcCardItem>
             </div>
             <div class="hac-logs-content-body">
-                <HcCardItem scrollbar ui="hac-card-item">
+                <HcCardItem scrollbar>
                     <div class="hac-logs-user-info">
                         <img class="user-avatar" src="https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com/upload/20220616/8ed37a156f2b177d69181c876892739f.jpg" alt=""/>
                         <div class="user-info">
@@ -99,199 +100,47 @@
                             <div class="time">2023-02-12 21:08 添加</div>
                         </div>
                     </div>
-                    <HcCardItem title="风险预警" ui="hac-bg-grey mt-12">
-                        <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" :readonly="!isEditState" :placeholder="isEditState?'请输入文字说明':'无'" type="textarea"/>
-                    </HcCardItem>
+                    <div class="hc-logs-content-item">
+                        <div class="title">风险预警</div>
+                        <div class="content">
+                            <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" :readonly="!isEditState" :placeholder="isEditState?'请输入文字说明':'无'" type="textarea"/>
+                        </div>
+                    </div>
 
-                    <div class="hac-card-title mt-4">
-                        <span class="mr-5">今日工作内容</span>
-                        <el-button _icon hc-btn size="small" type="primary" v-if="isEditState">
-                            <HcIcon name="add"/>
-                        </el-button>
+                    <div class="hc-logs-content-item" v-if="!isEditState">
+                        <div class="title">今日工作内容</div>
+                        <div class="warning-tip">警告:有三条任务已超期逾期未完成,请及时完成!</div>
+                        <div class="content">
+                            <HcTable :isIndex="false" :column="tableColumn" :datas="tableData" :row-style="tableRowStyle"/>
+                        </div>
                     </div>
 
-                    <template v-if="isEditState">
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #header>
-                                    <div class="ml-4">关联的任务</div>
+                    <div class="hc-logs-content-item" v-if="isEditState">
+                        <div class="title">今日工作范围勾选</div>
+                        <div class="extra-tip">提示:仅勾当日的工作内容,如果勾选项任务已完成,则点击【变更已完成】进行提交部门领导审批</div>
+                        <div class="content">
+                            <HcTable :isIndex="false" isCheck :column="tableColumn1" :datas="tableData1" @selection-change="tableSelectionChange">
+                                <template #action="{row, index}">
+                                    <el-button size="small" type="primary">变更已完成</el-button>
                                 </template>
-                                <template #extra>
-                                    <el-button size="default" type="primary" hc-btn @click="associatedTask">
-                                        <HcIcon name="add"/>
-                                        <span>关联任务</span>
-                                    </el-button>
-                                </template>
-                                <HcTable :isIndex="false" :column="tableTaskColumn" :datas="tableTaskData">
-                                    <template #key2="{row}">
-                                        <el-input v-model="row.key2" placeholder="进度(%)"/>
-                                    </template>
-                                    <template #action="{row,index}">
-                                        <el-button plain size="small" type="danger">
-                                            <HcIcon name="close"/>
-                                            <span>移除</span>
-                                        </el-button>
-                                    </template>
-                                </HcTable>
-
-                                <div class="title-label mt-6 mb-3">工作内容描述</div>
-                                <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
-
-                                <el-divider class="title-label-divider" content-position="left" border-style="dashed">费用报销</el-divider>
-
-                                <div class="hac-log-form-box">
-                                    <el-form ref="formRef" inline :model="formModel" :rules="formRules">
-                                        <el-form-item label="费用报销:" prop="key1" class="w-72">
-                                            <el-select v-model="formModel.key1" block clearable placeholder="费用报销">
-                                                <el-option label="审计费" value="1"/>
-                                                <el-option label="招聘费" value="2"/>
-                                                <el-option label="水电费" value="3"/>
-                                            </el-select>
-                                        </el-form-item>
-                                        <el-form-item label="费用金额:" prop="key2" class="w-72">
-                                            <el-input v-model="formModel.key2" placeholder="请输入费用金额(元)" />
-                                        </el-form-item>
-                                    </el-form>
-                                </div>
-
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">1</div>
+                            </HcTable>
                         </div>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #header>
-                                    <div class="ml-4">关联的任务</div>
-                                </template>
-                                <template #extra>
-                                    <el-button size="default" type="primary" hc-btn>
-                                        <HcIcon name="add"/>
-                                        <span>关联任务</span>
-                                    </el-button>
-                                </template>
-                                <HcTable :isIndex="false" :column="tableTaskColumn" :datas="tableTaskData">
-                                    <template #key2="{row}">
-                                        <el-input v-model="row.key2" placeholder="进度(%)"/>
-                                    </template>
-                                    <template #action="{row,index}">
-                                        <el-button plain size="small" type="danger">
-                                            <HcIcon name="close"/>
-                                            <span>移除</span>
-                                        </el-button>
-                                    </template>
-                                </HcTable>
-
-                                <div class="title-label mt-6 mb-3">工作内容描述</div>
-                                <el-input v-model="riskWarning" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
-
-                                <el-divider class="title-label-divider" content-position="left" border-style="dashed">费用报销</el-divider>
-
-                                <div class="hac-log-form-box">
-                                    <el-form ref="formRef" inline :model="formModel" :rules="formRules">
-                                        <el-form-item label="费用报销:" prop="key1" class="w-72">
-                                            <el-select v-model="formModel.key1" block clearable placeholder="费用报销">
-                                                <el-option label="审计费" value="1"/>
-                                                <el-option label="招聘费" value="2"/>
-                                                <el-option label="水电费" value="3"/>
-                                            </el-select>
-                                        </el-form-item>
-                                        <el-form-item label="费用金额:" prop="key2" class="w-72">
-                                            <el-input v-model="formModel.key2" placeholder="请输入费用金额(元)" />
-                                        </el-form-item>
-                                    </el-form>
-                                </div>
+                    </div>
 
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">2</div>
+                    <div class="hc-logs-content-item">
+                        <div class="title">工作内容描述</div>
+                        <div class="content">
+                            <el-input v-model="riskWarning" :autosize="{ minRows: 5, maxRows: 8 }" :readonly="!isEditState" :placeholder="isEditState?'请输入工作内容描述':'无'" type="textarea"/>
                         </div>
-                    </template>
+                    </div>
 
-                    <template v-else>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #extra>
-                                    <div class="hac-log-extra">
-                                        <span class="text">所关联任务目前完成率:</span>
-                                        <span class="rate">80%</span>
-                                    </div>
-                                </template>
-                                <div class="hac-log-details-body">
-                                    <div class="log-details-item">
-                                        <div class="label">所属任务:</div>
-                                        <div class="description">【任务内容描述xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-                                            xxxxxxxxxxxxxxxxxxxxxxxxx】</div>
-                                    </div>
-                                    <div class="log-details-item">
-                                        <div class="label">工作内容描述:</div>
-                                        <div class="description">今日完成水泥混凝土试验记录表xxxxxxxxxxxxxxxxx</div>
-                                    </div>
-                                </div>
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">1</div>
-                        </div>
-                        <div class="mt-6 hac-log-card-item">
-                            <HcCardItem ui="hac-bg-grey">
-                                <template #extra>
-                                    <div class="hac-log-extra">
-                                        <span class="text">所关联任务目前完成率:</span>
-                                        <span class="rate">80%</span>
-                                    </div>
-                                </template>
-                                <div class="hac-log-details-body">
-                                    <div class="log-details-item">
-                                        <div class="label">所属任务:</div>
-                                        <div class="description">【任务内容描述xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-                                            xxxxxxxxxxxxxxxxxxxxxxxxx】</div>
-                                    </div>
-                                    <div class="log-details-item">
-                                        <div class="label">工作内容描述:</div>
-                                        <div class="description">今日完成水泥混凝土试验记录表xxxxxxxxxxxxxxxxx</div>
-                                    </div>
-                                </div>
-                            </HcCardItem>
-                            <div class="hac-log-angle-mark">2</div>
-                        </div>
-                    </template>
+                    <HcListItem title="差旅报销:" isCenter class="mt-8" v-if="isEditState">
+                        <el-input class="w-72" placeholder="报销金额(元)"/>
+                    </HcListItem>
                 </HcCardItem>
             </div>
         </div>
-
-        <!--关联任务-->
-        <HcDialog bgColor="#ffffff" isToBody isTable isRowFooter :loading="taskModalLoading" :show="taskModal" title="关联任务" widths="62rem" @close="closeTaskClick">
-            <template #header>
-                <div class="header-box">
-                    <span class="mr-5">关联的任务</span>
-                    <span class="text-orange text-sm">选择当天日志所描述的任务</span>
-                </div>
-            </template>
-
-            <HcTable :column="tableTaskColumn1" :datas="tableTaskData1" :loading="tableTaskLoading">
-                <template #action="{row,index}">
-                    <el-button plain size="small" type="primary" @click="row.isRelated = true" v-if="!row.isRelated">
-                        <HcIcon name="link" :line="false"/>
-                        <span>关联</span>
-                    </el-button>
-                    <el-button plain size="small" type="danger" @click="row.isRelated = false" v-else>
-                        <HcIcon name="link-unlink-m" :line="false"/>
-                        <span>取消</span>
-                    </el-button>
-                </template>
-            </HcTable>
-            <template #leftRowFooter>
-                <el-button size="large" @click="closeTaskClick">
-                    <HcIcon name="close"/>
-                    <span>取消</span>
-                </el-button>
-                <el-button size="large" type="primary" @click="saveTaskClick">
-                    <HcIcon name="check"/>
-                    <span>确认关联</span>
-                </el-button>
-            </template>
-            <template #rightRowFooter>
-                <HcPages :pages="searchTaskForm" @change="pageTaskChange"/>
-            </template>
-        </HcDialog>
-
-    </div>
+    </HcCard>
 </template>
 
 <script setup>
@@ -316,89 +165,45 @@ const riskWarning = ref('')
 //当前状态,false查看模式,true写日志模式
 const isEditState = ref(false)
 
-//已关联的任务
-const tableTaskColumn = [
-    {key: 'key', name: '任务内容'},
-    {key: 'key1', name: '状态', width: '120', align: 'center'},
-    {key: 'key2', name: '进度(%)', width: '160'},
-    {key: 'key3', name: '起止日期', width: '220', align: 'center'},
-    {key: 'action', name: '操作', width: '90', align: 'center'},
+//表格
+const tableColumn = [
+    {key: 'key1', name: '任务内容'},
+    {key: 'key2', name: '起止日期', width: '280', align: 'center'},
+    {key: 'key3', name: '状态', width: '160', align: 'center'},
 ]
-const tableTaskData = ref([
-    {id: 1, key: 'xxxxxxxxx', key1: '未完成', key2: '', key3: '2022-07-01~2027-04-12'},
-    {id: 2, key: 'xxxxxxxxx', key1: '未完成', key2: '', key3: '2022-07-01~2027-04-12'},
+const tableData = ref([
+    {id: 1, key1: 'xx', key2: 'xx', key3: '已完成'},
+    {id: 2, key1: 'xx', key2: 'xx', key3: '未完成'},
+    {id: 3, key1: 'xx', key2: 'xx', key3: '未完成'},
+    {id: 4, key1: 'xx', key2: 'xx', key3: '未完成'},
+    {id: 5, key1: 'xx', key2: 'xx', key3: '未完成'},
 ])
 
-//顶部表单数据
-const formRef = ref(null)
-const formModel = ref({key1: '', key2: ''})
-const formRules = {
-    key1: {
-        required: true,
-        trigger: 'blur',
-        message: "请选择费用报销"
-    },
-    key2: {
-        required: true,
-        trigger: 'blur',
-        message: "请输入费用金融"
-    },
-}
-
-//关联任务弹窗
-const taskModalLoading = ref(false)
-const taskModal = ref(false)
-
-//显示关联任务
-const associatedTask = () => {
-    taskModalLoading.value = false
-    taskModal.value = true
-}
-
-//关联任务分页和搜索
-const searchTaskForm = ref({current: 1, size: 20, total: 0})
-const pageTaskChange = ({current, size}) => {
-    searchTaskForm.value.current = current
-    searchTaskForm.value.size = size
+//表格行样式
+const tableRowStyle = ({row}) => {
+    if (row.id === 2) {
+        return {
+            '--el-fill-color-lighter': 'rgba(189, 49, 36, 0.79)',
+            '--el-table-row-hover-bg-color': 'var(--el-fill-color-lighter)',
+            'background-color': 'var(--el-fill-color-lighter)',
+            'color': 'white'
+        }
+    }
 }
 
-//关联任务表格
-const tableTaskLoading = ref(false)
-const tableTaskColumn1 = [
-    {key: 'key1', name: '任务描述'},
-    {key: 'key2', name: '任务起止日期', width: '220', align: 'center'},
-    {key: 'key3', name: '状态', width: '120', align: 'center'},
-    {key: 'action', name: '操作', width: '90', align: 'center'},
+//表格
+const tableColumn1 = [
+    {key: 'key1', name: '任务内容'},
+    {key: 'action', name: '操作', width: 130, align: 'center'}
 ]
-const tableTaskData1 = ref([
-    {id: 1, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 2, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 3, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-    {id: 4, key1: 'xxxxxxxxx', key2: '2022-07-01~2027-04-12', key3: '未完成'},
-])
+const tableData1 = ref([{id: 1, key1: 'xx'}, {id: 2, key1: 'xx'}, {id: 3, key1: 'xx'}, {id: 4, key1: 'xx'}])
 
-//关闭关联任务弹窗
-const closeTaskClick = () => {
-    taskModalLoading.value = false
-    taskModal.value = false
-}
-
-//提交关联任务弹窗
-const saveTaskClick = () => {
-    taskModalLoading.value = false
-    taskModal.value = false
+//多选事件
+const tableSelectionChange = (rows) => {
+    console.log(rows)
 }
 </script>
 
 <style lang="scss" scoped>
-@import "~src/styles/logs/index.scss";
-</style>
-
-<style lang="scss">
-.hac-log-form-box .el-form .el-form-item {
-    margin-bottom: 0;
-    .el-form-item__error {
-        display: none;
-    }
-}
+@import "~src/styles/task/logs.scoped.scss";
 </style>