|
|
|
@ -53,22 +53,23 @@
|
|
|
|
<el-table v-loading="loading" border :data="timesheetInfoList" @selection-change="handleSelectionChange">
|
|
|
|
<el-table v-loading="loading" border :data="timesheetInfoList" @selection-change="handleSelectionChange">
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
<el-table-column label="工时填报ID" align="center" prop="timesheetId" v-if="columns[0].visible" />
|
|
|
|
<el-table-column label="工时填报ID" align="center" prop="timesheetId" v-if="columns[0].visible" />
|
|
|
|
|
|
|
|
<el-table-column label="人员" align="center" prop="nickName" v-if="columns[11].visible" />
|
|
|
|
<el-table-column label="工时填报编号" align="center" prop="timesheetCode" v-if="columns[2].visible" />
|
|
|
|
<el-table-column label="工时填报编号" align="center" prop="timesheetCode" v-if="columns[2].visible" />
|
|
|
|
<el-table-column label="人员ID" align="center" prop="userId" v-if="columns[3].visible" />
|
|
|
|
<el-table-column label="人员ID" align="center" prop="userId" v-if="columns[3].visible" />
|
|
|
|
<el-table-column label="部门ID" align="center" prop="deptId" v-if="columns[4].visible" />
|
|
|
|
<el-table-column label="部门ID" align="center" prop="deptId" v-if="columns[4].visible" />
|
|
|
|
<el-table-column label="起始时间" align="center" prop="startTime" width="180" v-if="columns[5].visible">
|
|
|
|
<el-table-column label="起始时间" align="center" prop="startTime" width="100" v-if="columns[5].visible">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
|
|
|
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="结束时间" align="center" prop="endTime" width="180" v-if="columns[6].visible">
|
|
|
|
<el-table-column label="结束时间" align="center" prop="endTime" width="100" v-if="columns[6].visible">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
|
|
|
|
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="总工时" align="center" prop="totalHours" v-if="columns[7].visible" />
|
|
|
|
<el-table-column label="总工时" align="center" prop="totalHours" width="80" v-if="columns[7].visible" />
|
|
|
|
<el-table-column label="部门工时" align="center" prop="deptHours" v-if="columns[8].visible" />
|
|
|
|
<el-table-column label="部门工时" align="center" prop="deptHours" width="80" v-if="columns[8].visible" />
|
|
|
|
<el-table-column label="项目工时" align="center" prop="projectHours" v-if="columns[9].visible" />
|
|
|
|
<el-table-column label="项目工时" align="center" prop="projectHours" width="80" v-if="columns[9].visible" />
|
|
|
|
<el-table-column label="工时填报状态" align="center" prop="timesheetStatus" v-if="columns[10].visible">
|
|
|
|
<el-table-column label="工时填报状态" align="center" prop="timesheetStatus" v-if="columns[10].visible">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<dict-tag :options="timesheet_status" :value="scope.row.timesheetStatus" />
|
|
|
|
<dict-tag :options="timesheet_status" :value="scope.row.timesheetStatus" />
|
|
|
|
@ -82,11 +83,11 @@
|
|
|
|
<el-table-column label="备注" align="center" prop="remark" v-if="columns[12].visible" />
|
|
|
|
<el-table-column label="备注" align="center" prop="remark" v-if="columns[12].visible" />
|
|
|
|
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
|
|
|
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<el-tooltip content="修改" placement="top">
|
|
|
|
<el-tooltip content="修改" placement="top" v-if="scope.row.flowStatus === 'draft' || scope.row.flowStatus === 'back'">
|
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oa/erp:timesheetInfo:edit']"></el-button>
|
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['oa/erp:timesheetInfo:edit']"></el-button>
|
|
|
|
</el-tooltip>
|
|
|
|
</el-tooltip>
|
|
|
|
<el-tooltip content="删除" placement="top">
|
|
|
|
<el-tooltip content="查看详情" placement="top" v-if="scope.row.flowStatus !== 'draft'">
|
|
|
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['oa/erp:timesheetInfo:remove']"></el-button>
|
|
|
|
<el-button link type="info" icon="DocumentChecked" @click="handleView(scope.row)"></el-button>
|
|
|
|
</el-tooltip>
|
|
|
|
</el-tooltip>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table-column>
|
|
|
|
@ -94,56 +95,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
|
</el-card>
|
|
|
|
</el-card>
|
|
|
|
<!-- 添加或修改工时填报对话框 -->
|
|
|
|
|
|
|
|
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
|
|
|
|
|
|
|
<el-form ref="timesheetInfoFormRef" :model="form" :rules="rules" label-width="120px">
|
|
|
|
|
|
|
|
<el-form-item label="工时填报编号" prop="timesheetCode">
|
|
|
|
|
|
|
|
<el-input v-model="form.timesheetCode" placeholder="请输入工时填报编号" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="人员ID" prop="userId">
|
|
|
|
|
|
|
|
<el-input v-model="form.userId" placeholder="请输入人员ID" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="部门ID" prop="deptId">
|
|
|
|
|
|
|
|
<el-input v-model="form.deptId" placeholder="请输入部门ID" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="起始时间" prop="startTime">
|
|
|
|
|
|
|
|
<el-date-picker clearable v-model="form.startTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择起始时间">
|
|
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="结束时间" prop="endTime">
|
|
|
|
|
|
|
|
<el-date-picker clearable v-model="form.endTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间">
|
|
|
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="总工时" prop="totalHours">
|
|
|
|
|
|
|
|
<el-input v-model="form.totalHours" placeholder="请输入总工时" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="部门工时" prop="deptHours">
|
|
|
|
|
|
|
|
<el-input v-model="form.deptHours" placeholder="请输入部门工时" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="项目工时" prop="projectHours">
|
|
|
|
|
|
|
|
<el-input v-model="form.projectHours" placeholder="请输入项目工时" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="工时填报状态" prop="timesheetStatus">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.timesheetStatus">
|
|
|
|
|
|
|
|
<el-radio v-for="dict in timesheet_status" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="流程状态" prop="flowStatus">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.flowStatus">
|
|
|
|
|
|
|
|
<el-radio v-for="dict in flow_status" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
|
|
|
|
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
|
|
|
<div class="dialog-footer">
|
|
|
|
|
|
|
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
@ -193,7 +144,8 @@ const columns = ref<FieldOption[]>([
|
|
|
|
{ key: 15, label: `创建者`, visible: true },
|
|
|
|
{ key: 15, label: `创建者`, visible: true },
|
|
|
|
{ key: 16, label: `创建时间`, visible: true },
|
|
|
|
{ key: 16, label: `创建时间`, visible: true },
|
|
|
|
{ key: 17, label: `更新者`, visible: true },
|
|
|
|
{ key: 17, label: `更新者`, visible: true },
|
|
|
|
{ key: 18, label: `更新时间`, visible: true }
|
|
|
|
{ key: 18, label: `更新时间`, visible: true },
|
|
|
|
|
|
|
|
{ key: 99, label: `人员`, visible: true }
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
const initFormData: TimesheetInfoForm = {
|
|
|
|
const initFormData: TimesheetInfoForm = {
|
|
|
|
|