<template>
|
<div>
|
<!-- 列表页面 -->
|
|
<div class="page-container" v-if="showEdit == 0">
|
<!-- 查询条件 -->
|
<div class="search-section">
|
<el-form :inline="true" :model="queryForm" label-width="auto" class="demo-form-inline">
|
<el-form-item label="日志日期" prop="daily_date">
|
<el-date-picker
|
v-model="queryForm.daily_date"
|
type="date"
|
placeholder="输入日期"
|
size="default"
|
value-format="YYYY-MM-DD"
|
@change="handleDailyDate"
|
/>
|
</el-form-item>
|
|
<el-form-item label="所属项目" prop="project_id">
|
<el-select v-model="queryForm.project_id" placeholder="所属项目" clearable filterable>
|
<el-option v-for="item in projectInfoArr" :key="item.id" :label="item.project_name" :value="item.id" />
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="关键字">
|
<el-input v-model="queryForm.keyword" placeholder="日志内容/备注" clearable filterable />
|
</el-form-item>
|
|
<el-form-item label="日志类型">
|
<el-select v-model="queryForm.daily_type" placeholder="日志类型" clearable filterable>
|
<el-option v-for="item in dailyTypeArr" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="日志状态">
|
<el-select v-model="queryForm.daily_status" placeholder="日志状态" clearable filterable>
|
<el-option v-for="item in dailyStatusArr" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="提交状态">
|
<el-select v-model="queryForm.is_commit" placeholder="提交状态" clearable filterable>
|
<el-option v-for="item in dailyCommitArr" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
</el-form-item>
|
|
<el-form-item label="确认状态">
|
<el-select v-model="queryForm.is_confirm" placeholder="确认状态" clearable filterable>
|
<el-option v-for="item in dailyConfirmArr" :key="item.value" :label="item.label" :value="item.value" />
|
</el-select>
|
</el-form-item>
|
|
<el-form-item>
|
<el-button type="primary" @click="search">查询</el-button>
|
<el-button type="primary" v-if="commitFlag == 0" @click="add">新增</el-button>
|
<el-button type="primary" v-if="commitFlag == 0" @click="addBatch">批量新增</el-button>
|
|
<!-- <el-tooltip v-if="commitFlag==0 && pointDailyDateSize!=0 " effect="dark" content="会根据当前日志日期批量提交所有数据"> -->
|
<el-tooltip v-if="commitFlag == 0" effect="dark" content="会根据当前日志日期批量提交所有数据">
|
<el-button type="primary" @click="commitBatch">提交</el-button>
|
</el-tooltip>
|
|
<el-button type="primary" v-if="commitFlag == 1" @click="handleSupplementary">补录</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
<!-- 表格 -->
|
<div class="table-section">
|
<el-table
|
:data="tableData"
|
v-loading="loading"
|
style="width: 100%"
|
:row-class-name="rowClassName"
|
table-layout="auto"
|
fit
|
>
|
<el-table-column type="index" :index="indexMethod" label="序号" fixed="left" width="60px"></el-table-column>
|
|
<!-- <el-table-column prop="daily_date" label="日期" min-width="120px">
|
<template #default="scope">
|
{{ formatDate(scope.row.daily_date) }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="daily_type_name" label="日志类型" min-width="120px"></el-table-column>
|
<el-table-column prop="project_name2" label="所属项目" min-width="120px"></el-table-column>
|
<el-table-column prop="task_name" label="任务" min-width="120px"></el-table-column>
|
<el-table-column prop="daily_status_name" label="状态" min-width="120px"></el-table-column>
|
<el-table-column prop="daily_content" label="日志内容" min-width="350px"></el-table-column>
|
<el-table-column prop="estimated_hours" label="计划用时" min-width="100px"></el-table-column>
|
<el-table-column prop="actual_hours" label="实际用时" min-width="100px"></el-table-column>
|
<el-table-column prop="remark" label="备注" min-width="220px"></el-table-column>
|
<el-table-column prop="create_user_name" label="创建人" min-width="220px"></el-table-column>
|
|
<el-table-column prop="daily_commit_name" label="提交状态" min-width="120px"></el-table-column>
|
<el-table-column prop="daily_confirm_name" label="确认状态" min-width="120px"></el-table-column> -->
|
<!-- 动态生成表格列 -->
|
<el-table-column
|
v-for="column in tableColumns"
|
:key="column.prop"
|
:prop="column.prop"
|
:label="column.label"
|
:min-width="column.minWidth"
|
>
|
<!-- <template #default="{ row }">
|
<span v-html="formatColumnContent(row,row[column.prop])"></span>
|
</template> -->
|
</el-table-column>
|
|
<el-table-column label="操作栏" fixed="right" width="300px">
|
<template #default="scope">
|
<!-- 提交之后不可以改,提交之后可确认,请确认不通过变未提交 -->
|
<el-button
|
type="text"
|
:disabled="scope.row.is_commit == 1"
|
size="small"
|
round
|
@click="handleEdit(scope.row)"
|
>编辑</el-button
|
>
|
<el-button
|
type="text"
|
:disabled="scope.row.is_commit == 1"
|
size="small"
|
round
|
@click="handleDelete(scope.row)"
|
>删除</el-button
|
>
|
|
<!-- <el-button type="text" size="small" :disabled="scope.row.is_confirm!==1 || scope.row.actual_hours>0" round @click="handleActualHours(scope.row)">工时确认</el-button> -->
|
<!-- <el-button type="text" size="small" :disabled="handleActualHoursDisabled(scope.row)" round @click="handleActualHours(scope.row)">工时确认</el-button> -->
|
<!-- <el-button type="text" size="small" :disabled="handleActualHoursDisabled2(scope.row)" round @click="handleActualHours(scope.row)">工时确认</el-button> -->
|
<el-button
|
type="text"
|
size="small"
|
:disabled="scope.row.is_commit == 1"
|
round
|
@click="handleActualHours(scope.row)"
|
>工时确认</el-button
|
>
|
<el-tooltip content="填完工时后需提交,提交之后不可改" placement="top">
|
<el-button
|
type="text"
|
:disabled="scope.row.is_confirm == 1 || scope.row.is_commit == 1"
|
size="small"
|
round
|
@click="handleCommit(scope.row)"
|
>提交</el-button
|
>
|
</el-tooltip>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<div class="demo-pagination-block">
|
<!-- <div class="demonstration">All combined</div> -->
|
<el-pagination
|
v-model:current-page="currentPage"
|
v-model:page-size="pageSize"
|
:page-sizes="[10, 20, 30]"
|
:small="small"
|
:disabled="disabled"
|
:background="background"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="totalSize"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
</div>
|
</div>
|
|
<!-- 编辑页面 -->
|
<diary-add
|
v-if="showEdit == 1"
|
@editClose="editClose"
|
:editId="editDiaryId"
|
:editDailyDate="editDailyDate"
|
:actualHourFlag="actualHourFlag"
|
></diary-add>
|
|
<diary-add-batch v-if="showEdit == 2" :editDailyDate="editDailyDate" @editClose="editClose"></diary-add-batch>
|
|
<diary-add
|
v-if="showEdit == 3"
|
@editClose="editClose"
|
:editId="editDiaryId"
|
:editDailyDate="editDailyDate"
|
:actualHourFlag="actualHourFlag"
|
></diary-add>
|
|
<diary-extra
|
v-if="showEdit == 4"
|
@editClose="editClose"
|
:editId="editDiaryId"
|
:editDailyDate="editDailyDate"
|
:actualHourFlag="actualHourFlag"
|
></diary-extra>
|
</div>
|
</template>
|
|
<script>
|
import { ref, reactive, onMounted } from 'vue'
|
import { ElMessageBox, ElMessage, ElNotification } from 'element-plus'
|
import projectInfo from '@/model/projectInfo'
|
import projectDaily from '@/model/projectDaily'
|
import ProjectDailyMain from '@/model/projectDailyMain'
|
import sysDictItemModel from '@/model/sysDictItem'
|
import { getDefaultDate,
|
getYesterdayDate,
|
getStartAndEndOfWeek,
|
getPreviousWeekDates,
|
getPreviousFriday,
|
getDayOfWeek } from '@/utils/dateUtils'
|
import DiaryAdd from './diary-add'
|
import DiaryAddBatch from './diary-add-batch'
|
import DiaryExtra from './diary-extra'
|
|
export default {
|
components: {
|
DiaryAdd,
|
DiaryAddBatch,
|
DiaryExtra,
|
},
|
|
setup() {
|
const editDiaryId = ref(1)
|
const editDailyDate = ref('')
|
const showEdit = ref(0)
|
const actualHourFlag = ref(false)
|
// 设置为当天或昨天都可以做修改
|
const actualHourOpFlag = ref(false)
|
|
const loading = ref(false)
|
|
const currentPage = ref(1)
|
const pageSize = ref(10)
|
const totalSize = ref(100)
|
|
const dailyTypeArr = ref([])
|
const dailyStatusArr = ref([])
|
const projectInfoArr = ref([])
|
const dailyCommitArr = ref([])
|
const dailyConfirmArr = ref([])
|
|
const queryForm = reactive({
|
keyword: '',
|
daily_type: '',
|
daily_status: '',
|
daily_date: getDefaultDate(),
|
project_id: '',
|
is_commit: '',
|
is_confirm: '',
|
page: 1,
|
count: 10,
|
})
|
|
const tableColumns = ref([
|
{ label: '日期', prop: 'daily_date', minWidth: '120px', width: '' },
|
{ label: '所属项目', prop: 'project_name2', minWidth: '120px', width: '' },
|
// { label: '任务', prop: 'task_name',minWidth:'120px' },
|
{ label: '状态', prop: 'daily_status_name', minWidth: '120px', width: '' },
|
{ label: '日志内容', prop: 'daily_content', minWidth: '180px', width: '' },
|
{ label: '计划用时', prop: 'estimated_hours', minWidth: '100px', width: '' },
|
{ label: '实际用时', prop: 'actual_hours', minWidth: '100px', width: '' },
|
{ label: '创建人', prop: 'create_user_name', minWidth: '80px', width: '' },
|
{ label: '提交状态', prop: 'daily_commit_name', minWidth: '100px', width: '' },
|
{ label: '确认状态', prop: 'daily_confirm_name', minWidth: '100px', width: '' },
|
{ label: '确认意见', prop: 'confirm_content', minWidth: '120px', width: '' },
|
{ label: '备注', prop: 'remark', minWidth: '100px', width: '' },
|
// 其他列信息
|
])
|
|
const resultPage = ref({})
|
|
const tableData = ref([])
|
|
const commitFlag = ref(1)
|
|
const pointDailyDateSize = ref(0)
|
|
onMounted(() => {
|
// 列出所有项目信息
|
getDiaryPage()
|
loadDictDitems()
|
})
|
|
const getDiaryPage = async () => {
|
try {
|
queryForm.page = currentPage.value
|
queryForm.count = pageSize.value
|
|
loading.value = true
|
resultPage.value = await projectDaily.getProjectDailyPagePersonal(queryForm)
|
tableData.value = resultPage.value.items
|
totalSize.value = resultPage.value.total
|
|
currentPage.value = resultPage.value.page
|
pageSize.value = resultPage.value.count
|
|
loading.value = false
|
} catch (error) {
|
loading.value = false
|
if (error.code === 10020) {
|
tableData.value = []
|
}
|
}
|
}
|
|
const search = () => {
|
getDiaryPage()
|
}
|
|
// 根据字典类型查询字典
|
const loadDictDitems = async () => {
|
dailyTypeArr.value = await sysDictItemModel.getSysDictItemListByType('daily_type')
|
dailyStatusArr.value = await sysDictItemModel.getSysDictItemListByType('daily_status')
|
projectInfoArr.value = await projectInfo.getProjectInfoList('')
|
dailyCommitArr.value = await sysDictItemModel.getSysDictItemListByType('daily_commit')
|
dailyConfirmArr.value = await sysDictItemModel.getSysDictItemListByType('daily_confirm')
|
|
handleDailyDate()
|
// 查看查询的日期有没有日志
|
|
// 工时确认只能确认当天或昨天的内容
|
actualHourOpFlag.value = false
|
|
// 计划工时提醒
|
estimateHourTip()
|
}
|
|
const handleDailyDate = async () => {
|
if (queryForm.daily_date) {
|
const dailyMain = await ProjectDailyMain.getProjectDailyMainByDailyDate(queryForm.daily_date)
|
if (dailyMain) {
|
// commitFlag.value = dailyMain.is_commit&&dailyMain.is_confirm
|
commitFlag.value = dailyMain.is_commit
|
}
|
|
const getDailyDateList = await projectDaily.getDailyDateList(queryForm.daily_date)
|
pointDailyDateSize.value = getDailyDateList.length
|
}
|
}
|
|
const handleEdit = row => {
|
// 编辑操作
|
editDiaryId.value = row.id
|
showEdit.value = 1
|
actualHourFlag.value = false
|
}
|
|
const handleDelete = async row => {
|
let planHours = Number(row.estimated_hours)
|
let actualHours = Number(row.actual_hours)
|
const existHours = await projectDaily.getExistsHours(queryForm.daily_date, '')
|
|
if (existHours) {
|
planHours = Number(existHours.estimated_hours) - planHours
|
actualHours = Number(existHours.actual_hours) - actualHours
|
}
|
|
if (planHours < 6) {
|
ElMessage.error(`计划用时小于6小时不能删除,${queryForm.daily_date}的删除后计划工时数为${planHours}小时!`)
|
return
|
}
|
if (actualHours < 6) {
|
ElMessage.error(`实际用时小于6小时不能删除,${queryForm.daily_date}的删除后实际用时数为${actualHours}小时!`)
|
return
|
}
|
|
// 删除操作
|
// ElMessageBox.confirm('此操作将永久删除该日志,且该日的计划需要重新提交, 是否继续?', '提示', {
|
ElMessageBox.confirm('此操作将永久删除该日志, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const res = await projectDaily.deleteProjectDaily(row.id)
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
getDiaryPage()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
}
|
|
// 提交
|
const handleCommit = async row => {
|
const esTime = await projectDaily.getDailyDatePlanTime(queryForm.daily_date, '')
|
const acTime = await projectDaily.getDailyDateActualTime(queryForm.daily_date, '')
|
|
// 计划或实际工时小于6小时不允许提交
|
|
if (Number(esTime) < 6) {
|
// 计划工时小于6小时不允许提交
|
ElMessage.error('计划工时小于6小时不允许提交!')
|
return
|
}
|
if (Number(acTime) < 6) {
|
// 实际工时小于6小时不允许提交
|
ElMessage.error('日志实际工时小于6小时不允许提交!')
|
return
|
}
|
|
// 查看实际工时是否小6小时
|
const mess = '此操作将提交该日志, 是否继续?'
|
ElMessageBox.confirm(mess, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const res = await projectDaily.commitProjectDaily(row.id)
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
getDiaryPage()
|
// 确认当天是否还有需要提交的内容
|
handleDailyDate()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
}
|
|
// 确认
|
const handleConfirm = row => {
|
ElMessageBox.confirm('此操作将确认该日志, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const res = await projectDaily.confirmProjectDaily(row.id)
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
getDiaryPage()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
}
|
|
// 未确认
|
|
const handleUnConfirm = row => {
|
ElMessageBox.confirm('此操作将该日志改为未确认, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const res = await projectDaily.unConfirmProjectDaily(row.id)
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
getDiaryPage()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
}
|
|
const handleSizeChange = val => {
|
pageSize.value = val
|
getDiaryPage()
|
}
|
|
const handleCurrentChange = val => {
|
currentPage.value = val
|
getDiaryPage()
|
}
|
|
const indexMethod = index => (currentPage.value - 1) * pageSize.value + index + 1
|
|
// 子控部分
|
|
const add = () => {
|
editDiaryId.value = ''
|
editDailyDate.value = queryForm.daily_date
|
showEdit.value = 1
|
}
|
|
const addBatch = () => {
|
editDiaryId.value = ''
|
editDailyDate.value = queryForm.daily_date
|
showEdit.value = 2
|
}
|
|
const commitBatch = async () => {
|
try {
|
if (!queryForm.daily_date) {
|
ElMessage.error('日志日期不能为空!')
|
return
|
}
|
|
const esTime = await projectDaily.getDailyDatePlanTime(queryForm.daily_date, '')
|
const acTime = await projectDaily.getDailyDateActualTime(queryForm.daily_date, '')
|
|
// 计划或实际工时小于6小时不允许提交
|
|
if (Number(esTime) < 6) {
|
// 计划工时小于6小时不允许提交
|
ElMessage.error('计划工时小于6小时不允许提交!')
|
return
|
}
|
if (Number(acTime) < 6) {
|
// 实际工时小于6小时不允许提交
|
ElMessage.error('日志实际工时小于6小时不允许提交!')
|
return
|
}
|
|
const mess = `确认提交(${queryForm.daily_date})日志, 是否继续?`
|
|
ElMessageBox.confirm(mess, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const info = { daily_date: queryForm.daily_date }
|
const res = await projectDaily.commitBatchProjectDaily(info)
|
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
loadDictDitems()
|
getDiaryPage()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
} catch (error) {
|
if (error.code === 10020) {
|
ElMessage.error('请填写今日日志后提交')
|
}
|
}
|
}
|
|
const commitBatch2 = async () => {
|
try {
|
if (!queryForm.daily_date) {
|
ElMessage.error('日志日期不能为空!')
|
return
|
}
|
|
const acTime = await projectDaily.getDailyDateActualTime(queryForm.daily_date, '')
|
|
let mess = `确认提交(${queryForm.daily_date})日志, 是否继续?`
|
if (Number(acTime) < 6) {
|
mess = `实际工时小于6小时!!!是否确认提交(${queryForm.daily_date})日志, 是否继续?`
|
}
|
|
ElMessageBox.confirm(mess, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
})
|
.then(async () => {
|
const info = { daily_date: queryForm.daily_date }
|
const res = await projectDaily.commitBatchProjectDaily(info)
|
|
if (res.code < window.MAX_SUCCESS_CODE) {
|
loadDictDitems()
|
getDiaryPage()
|
ElMessage.success(`${res.message}`)
|
}
|
})
|
.catch(() => {
|
// 用户点击取消按钮时执行的操作
|
// 可以选择不做任何事情,也可以显示取消消息
|
// ElMessage.info('操作已取消'); // 如果需要显示取消消息,可以取消注释
|
})
|
} catch (error) {
|
if (error.code === 10020) {
|
ElMessage.error('请填写今日日志后提交')
|
}
|
}
|
}
|
|
const editClose = () => {
|
showEdit.value = 0
|
editDiaryId.value = ''
|
actualHourFlag.value = false
|
loadDictDitems()
|
getDiaryPage()
|
}
|
|
const formatDate = date_str =>
|
// if(date_str){
|
// return date_str.match(/\d{4}-\d{2}-\d{2}/)[0]; // 获取年月日部分
|
// }else{
|
// return date_str
|
// }
|
`<div class='confirmed-row'>${date_str}</div>`
|
|
const handleActualHours = row => {
|
// 工时确认
|
editDiaryId.value = row.id
|
showEdit.value = 3
|
actualHourFlag.value = true
|
}
|
|
const handleActualHoursDisabled = row => {
|
const yesterday = getYesterdayDate()
|
const today = getDefaultDate()
|
|
// 编辑操作
|
if (row.is_confirm === 1 && (row.daily_date == yesterday || row.daily_date == today)) {
|
// 查看记录是否是今天和昨天的
|
return false
|
}
|
return true
|
}
|
|
const handleActualHoursDisabled2 = row => {
|
const yesterday = getYesterdayDate()
|
const today = getDefaultDate()
|
// 查看今天是周几
|
const dayOfWweek = getDayOfWeek()
|
// 查看上周五的日期
|
const prevFriday = getPreviousFriday()
|
|
if (row.is_confirm === 1) {
|
// 已经确认过了则不可以编辑
|
return true
|
}
|
if (
|
row.is_confirm === 0
|
&& ((dayOfWweek == 'Monday' && prevFriday == row.daily_date) || row.daily_date == today)
|
) {
|
// 未确认的情况下只可以改昨天和今天的,但是如果今天是周一的情况下,周五的也可以修改
|
return false
|
}
|
if (row.is_confirm === 0 && (row.daily_date == yesterday || row.daily_date == today)) {
|
// 未确认的情况下只可以改昨天和今天的
|
return false
|
}
|
return true
|
}
|
|
/**
|
* 日志补录功能
|
*/
|
const handleSupplementary = () => {
|
editDiaryId.value = ''
|
editDailyDate.value = queryForm.daily_date
|
showEdit.value = 4
|
actualHourFlag.value = false
|
}
|
|
/**
|
* 日志颜色区分
|
*/
|
const rowClassName = ({ row }) => {
|
if (row.supplementary_flag === 1) {
|
return 'supplementary-row'
|
}
|
return 'no-supplementary-row'
|
}
|
|
/**
|
* 表格内容自动换行
|
*/
|
const formatColumnContent = (row, content) => content
|
|
const estimateHourTip = async () => {
|
// 如果评估工时小于6个小时,则提醒
|
|
const esTime = await projectDaily.getDailyDatePlanTime(queryForm.daily_date, '')
|
if (Number(esTime) < 6) {
|
ElNotification({
|
title: '计划工时不足提醒',
|
message: '今日计划工时不足6小时!!!',
|
duration: 0,
|
})
|
}
|
}
|
|
return {
|
loading,
|
|
projectInfoArr,
|
dailyTypeArr,
|
dailyStatusArr,
|
dailyCommitArr,
|
dailyConfirmArr,
|
|
queryForm,
|
tableData,
|
search,
|
handleEdit,
|
handleDelete,
|
handleCommit,
|
handleConfirm,
|
handleUnConfirm,
|
|
indexMethod,
|
currentPage,
|
pageSize,
|
totalSize,
|
|
handleSizeChange,
|
handleCurrentChange,
|
handleActualHours,
|
handleActualHoursDisabled,
|
handleActualHoursDisabled2,
|
|
// 日志部分
|
editDiaryId,
|
editClose,
|
add,
|
addBatch,
|
showEdit,
|
formatDate,
|
actualHourFlag,
|
|
commitBatch,
|
commitFlag,
|
handleDailyDate,
|
pointDailyDateSize,
|
|
// 日志补录部分
|
handleSupplementary,
|
rowClassName,
|
tableColumns,
|
formatColumnContent,
|
|
editDailyDate,
|
|
// 工时提醒部分
|
estimateHourTip,
|
}
|
},
|
}
|
</script>
|
|
<style scoped>
|
.demo-form-inline .el-input {
|
--el-input-width: 220px;
|
}
|
|
.page-container {
|
padding: 10px;
|
}
|
|
.search-section {
|
margin-bottom: 10px;
|
padding: 20px;
|
/* background-color: #f5f5f5; */
|
border-radius: 4px;
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
}
|
|
.table-section {
|
padding: 20px;
|
background-color: #fff;
|
border-radius: 4px;
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
}
|
.demo-pagination-block {
|
margin-top: 10px;
|
}
|
.demo-pagination-block .demonstration {
|
margin-bottom: 16px;
|
}
|
</style>
|
|
<style>
|
.supplementary-row {
|
background-color: rgb(215, 218, 50) !important;
|
width: 100%;
|
}
|
|
.no-supplementary-row {
|
background-color: #f8f9fa !important;
|
}
|
</style>
|