|
@@ -25,7 +25,11 @@
|
|
|
v-if="isOverdue(scope.row.dueCompleteTime)"
|
|
v-if="isOverdue(scope.row.dueCompleteTime)"
|
|
|
@click="handleReport(scope.row.handleTaskId, scope.row.taskName)"
|
|
@click="handleReport(scope.row.handleTaskId, scope.row.taskName)"
|
|
|
/>
|
|
/>
|
|
|
- <ActionButton text="添加上报人" v-if="scope.row.isReportPrincipal" />
|
|
|
|
|
|
|
+ <ActionButton
|
|
|
|
|
+ text="添加上报人"
|
|
|
|
|
+ v-if="scope.row.isReportPrincipal"
|
|
|
|
|
+ @click="handleAddReporter(scope.row.handleTaskId, scope.row.reporterList)"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 已上报任务阶段 -->
|
|
<!-- 已上报任务阶段 -->
|
|
|
<div
|
|
<div
|
|
@@ -41,6 +45,13 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</BasicTable>
|
|
</BasicTable>
|
|
|
|
|
+ <el-dialog v-model="userInfo" title="添加上报人" destroy-on-close>
|
|
|
|
|
+ <InspectorSelect
|
|
|
|
|
+ :customUserList="currentTaskInspectorList"
|
|
|
|
|
+ @cancel="userInfo = false"
|
|
|
|
|
+ @submit="handleSubmitReporter"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -49,6 +60,7 @@
|
|
|
import Search from '@/views/disaster/components/Search.vue';
|
|
import Search from '@/views/disaster/components/Search.vue';
|
|
|
import BasicTable from '@/components/BasicTable.vue';
|
|
import BasicTable from '@/components/BasicTable.vue';
|
|
|
import ActionButton from '@/components/ActionButton.vue';
|
|
import ActionButton from '@/components/ActionButton.vue';
|
|
|
|
|
+ import InspectorSelect from '@/views/disaster/components/InspectorSelect.vue';
|
|
|
import {
|
|
import {
|
|
|
LOSS_REPORT_REPORT_TASK_SEARCH_CONFIG,
|
|
LOSS_REPORT_REPORT_TASK_SEARCH_CONFIG,
|
|
|
LOSS_REPORT_REPORT_TASK_TABLE_OPTIONS,
|
|
LOSS_REPORT_REPORT_TASK_TABLE_OPTIONS,
|
|
@@ -60,8 +72,10 @@
|
|
|
import type { QueryPageRequest } from '@/types/disaster';
|
|
import type { QueryPageRequest } from '@/types/disaster';
|
|
|
import { TASK_STAGE } from '../constant';
|
|
import { TASK_STAGE } from '../constant';
|
|
|
import { getTaskStage } from '../util';
|
|
import { getTaskStage } from '../util';
|
|
|
|
|
+ import type { PersonGroupItem } from '@/types/person-group/type';
|
|
|
import { useRouter } from 'vue-router';
|
|
import { useRouter } from 'vue-router';
|
|
|
-
|
|
|
|
|
|
|
+ import { queryUserInfoByIds } from '@/api/system/person-group';
|
|
|
|
|
+ import { ElMessage } from 'element-plus';
|
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
|
const searchData = reactive({
|
|
const searchData = reactive({
|
|
|
taskStage: '',
|
|
taskStage: '',
|
|
@@ -113,6 +127,30 @@
|
|
|
query: { taskName },
|
|
query: { taskName },
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
+ const userInfo = ref(false);
|
|
|
|
|
+ const currentTaskId = ref<number>();
|
|
|
|
|
+ const currentTaskInspectorList = ref<PersonGroupItem[]>([]);
|
|
|
|
|
+ const handleAddReporter = async (id: number, userList: string) => {
|
|
|
|
|
+ currentTaskId.value = id;
|
|
|
|
|
+ const userIds = JSON.parse(userList) || [];
|
|
|
|
|
+ if (!userIds.length) return;
|
|
|
|
|
+ const res = await queryUserInfoByIds(userIds);
|
|
|
|
|
+ currentTaskInspectorList.value = res.map((user) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...user,
|
|
|
|
|
+ checked: true,
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ userInfo.value = true;
|
|
|
|
|
+ };
|
|
|
|
|
+ const handleSubmitReporter = async (ids: number[]) => {
|
|
|
|
|
+ if (!currentTaskId.value) return;
|
|
|
|
|
+ console.log(ids);
|
|
|
|
|
+ console.log(currentTaskId.value);
|
|
|
|
|
+ ElMessage.success('添加上报责任人成功');
|
|
|
|
|
+ userInfo.value = false;
|
|
|
|
|
+ getTableData();
|
|
|
|
|
+ };
|
|
|
// 添加刷新时间变量,用于触发视图更新
|
|
// 添加刷新时间变量,用于触发视图更新
|
|
|
const refreshTime = ref(Date.now());
|
|
const refreshTime = ref(Date.now());
|
|
|
let refreshTimer: number | null = null;
|
|
let refreshTimer: number | null = null;
|