|
@@ -20,8 +20,8 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="14">
|
|
|
- <el-form-item class="label-item" label="接收人" required>
|
|
|
- <UserSelect construction="tree" :multiple="true" :onChange="getReceiveUserIds" />
|
|
|
+ <el-form-item class="label-item report" label="接收人" required>
|
|
|
+ <ReportReceive :onChange="getReceiveUserIds" key="weekly" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -61,9 +61,10 @@
|
|
|
import moment from 'moment'
|
|
|
import request from '@/config/axios'
|
|
|
import AmountOfWork from '../components/AmountOfWork.vue'
|
|
|
-import UserSelect from '@/components/UserSelect/index.vue'
|
|
|
+import ReportReceive from '../components/ReportReceive.vue'
|
|
|
import { getUserInfo } from '@/utils/tool'
|
|
|
import PubsubService from '@/utils/PubsubService'
|
|
|
+
|
|
|
defineOptions({ name: 'EditorDetail' })
|
|
|
|
|
|
interface IProp {
|
|
@@ -75,11 +76,25 @@ const { writeData, weekDate } = toRefs(props)
|
|
|
|
|
|
const isUpDate = ref(false) // 是否是更新周报
|
|
|
|
|
|
-watch(weekDate, () => {
|
|
|
+onMounted(() => {
|
|
|
+ if (!weekDate.value?.[0]) {
|
|
|
+ weekDate.value = [
|
|
|
+ moment().startOf('isoWeek').format('YYYY-MM-DD'),
|
|
|
+ moment().endOf('isoWeek').format('YYYY-MM-DD')
|
|
|
+ ]
|
|
|
+ }
|
|
|
initLog()
|
|
|
})
|
|
|
|
|
|
+watch(
|
|
|
+ () => [weekDate.value[0], writeData.value?.isLog?.id],
|
|
|
+ () => {
|
|
|
+ initLog()
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
const initLog = () => {
|
|
|
+ // 如果是更新周报的话回填数据
|
|
|
if (writeData.value?.isLog) {
|
|
|
const { reportContent, workload, receiveIds } = writeData.value.isLog
|
|
|
formData.value.reportContent = reportContent
|
|
@@ -91,6 +106,12 @@ const initLog = () => {
|
|
|
formData.value.weeklyWorkloadList = []
|
|
|
formData.value.receiveUserIds = []
|
|
|
isUpDate.value = false
|
|
|
+ // 发布更新日志接收人事件
|
|
|
+ PubsubService.publish('init-report-receive', {})
|
|
|
+ }
|
|
|
+ // 如果是暂存数据回填
|
|
|
+ if (writeData.value?.isLog?.isTemp) {
|
|
|
+ isUpDate.value = false
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -151,16 +172,6 @@ const sendReportHandle = async (isTemp) => {
|
|
|
reportMonth: writeData.value.month, // 月份
|
|
|
reportWeek: writeData.value.week // 周
|
|
|
// reportDay: writeData.value.dayOfWeek // 天
|
|
|
- // [
|
|
|
- // {
|
|
|
- // workTime: 1,
|
|
|
- // projectId: '859ae379-11c7-49d7-b0b9-d394aa07c785'
|
|
|
- // },
|
|
|
- // {
|
|
|
- // workTime: 20,
|
|
|
- // projectId: 'e1ce98c6-002a-40d2-a543-65381d878285'
|
|
|
- // }
|
|
|
- // ]
|
|
|
}
|
|
|
// console.log('提交(暂存)~~~~~~~~~~~~~~~~~~~', params, weekDate.value)
|
|
|
// 如果是更新的话要传一下报告id
|
|
@@ -180,6 +191,8 @@ const sendReportHandle = async (isTemp) => {
|
|
|
isUpDate.value = true
|
|
|
} else if (result?.msg && isTemp) {
|
|
|
message.success('周报暂存成功')
|
|
|
+ // 发布提交(暂存)事件
|
|
|
+ PubsubService.publish('sendWeeklyReportHandle-init', {})
|
|
|
} else {
|
|
|
message.error('周报发送失败')
|
|
|
}
|
|
@@ -216,6 +229,18 @@ const sendReportHandle = async (isTemp) => {
|
|
|
Microsoft YaHei;
|
|
|
}
|
|
|
}
|
|
|
+ .report {
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ :deep(.el-form-item__content) {
|
|
|
+ > div:first-child {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .el-select {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
.timer-range {
|
|
|
width: 100%;
|
|
|
border: 1px solid #dee0e3;
|