Merge projectA into B with conflict resolution

This commit is contained in:
Teo
2025-09-01 14:55:09 +08:00
1894 changed files with 92477 additions and 681037 deletions

View File

@ -60,7 +60,7 @@ export default defineComponent({
tableData: [],
param: {
type: 2,
projectId: currentProject.value.id
projectId: currentProject.value?.id
},
total: 0,
ids: [] //所选择的文件

View File

@ -128,7 +128,7 @@ export default defineComponent({
fileList: [],
activeName: 'first',
breadcrumbList: [{ id: 0, fileName: '目录' }], //菜单列表
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
parentPid: '0', //父级的id 默认为0
fileType: 0, //文件 或压缩文件
list: [
@ -202,7 +202,7 @@ export default defineComponent({
text: '正在查询文件……',
background: 'rgba(0, 0, 0, 0.7)'
});
documentCompletionTreeStructure({ projectId: currentProject.value.id, pid: state.parentPid }).then((res: any) => {
documentCompletionTreeStructure({ projectId: currentProject.value?.id, pid: state.parentPid }).then((res: any) => {
loading.close();
if (res.code == 200) {
state.fileList = res.data || [];

View File

@ -56,7 +56,7 @@ const ids = ref<string>('');
const tableData = ref<any[]>([]);
const param = reactive({
type: 2,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
pageNum: 1,
pageSize: 10
});
@ -67,7 +67,7 @@ const getDocumentDataList = () => {
loading.value = true;
tableData.value = [];
value.value = '2';
param.projectId = currentProject.value.id;
param.projectId = currentProject.value?.id;
documentDataAllList(param).then((res: any) => {
tableData.value = res.rows ?? [];
total.value = res.total;

View File

@ -453,7 +453,7 @@ onMounted(() => {
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
() => currentProject.value?.id,
(nid, oid) => {
state.projectId = nid;
state.paramsQuery.projectId = nid;

View File

@ -1,6 +1,7 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter"
:leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
@ -24,26 +25,21 @@
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-col :span="1.5" v-hasPermi="['safety:questionUserAnswer:uploadZip']">
<el-tooltip placement="top" effect="dark">
<template #content>
:上传压缩包内的文件夹名称需设置为姓名-身份证-满分-得分-及格分 <br />
例如:小明-5130112333654X-100-59-60
</template>
<file-upload
:limit="1"
v-model:model-value="filePath"
isImportInfo
:fileType="['zip']"
uploadUrl="/safety/questionUserAnswer/upload/zip"
:file-size="5000"
:data="{ projectId: currentProject.id }"
><el-button type="success" plain icon="Upload">上传线下安全考试</el-button></file-upload
>
<file-upload :limit="1" v-model:model-value="filePath" isImportInfo :fileType="['zip']"
uploadUrl="/safety/questionUserAnswer/upload/zip" :file-size="5000"
:data="{ projectId: currentProject.id }"><el-button type="success" plain
icon="Upload">上传线下安全考试</el-button></file-upload>
</el-tooltip>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="Download" :disabled="single" @click="handleDownload()">批量下载试卷</el-button>
<el-button type="primary" plain icon="Download" :disabled="single"
@click="handleDownload()">批量下载试卷</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -70,12 +66,14 @@
<el-button link type="primary" icon="View">预览试卷</el-button>
</el-link>
<el-button link type="primary" icon="Download" @click="downloadOssOne(scope.row)">下载试卷</el-button>
<el-button link type="primary" icon="Download" @click="downloadOssOne(scope.row)"
v-hasPermi="['system:oss:download']">下载试卷</el-button>
</template>
</el-table-column>
</el-table>
<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>
</div>
</template>
@ -125,7 +123,7 @@ const dialog = reactive<DialogOption>({
const initFormData: QuestionUserAnswerForm = {
id: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
userId: undefined,
bankId: undefined,
answer: undefined,
@ -145,7 +143,7 @@ const data = reactive<PageData<QuestionUserAnswerForm, QuestionUserAnswerQuery>>
userId: undefined,
examType: undefined,
teamId: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
userName: undefined,
params: {}
},
@ -221,7 +219,7 @@ const downloadOssOne = async (row?: QuestionUserAnswerVO) => {
// const fileWatch = watch(
// () => filePath.value,
// (nid, oid) => {
// uploadQuestionUserAnswer({ file: filePath.value, projectId: currentProject.value.id }).then((res) => {
// uploadQuestionUserAnswer({ file: filePath.value, projectId: currentProject.value?.id }).then((res) => {
// console.log(res);
// });
// }
@ -229,7 +227,7 @@ const downloadOssOne = async (row?: QuestionUserAnswerVO) => {
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
() => currentProject.value?.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;

View File

@ -111,7 +111,7 @@ const dialog = reactive<DialogOption>({
const initFormData: QuestionsCategoryForm = {
id: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
categoryName: undefined
};
const data = reactive<PageData<QuestionsCategoryForm, QuestionsCategoryQuery>>({
@ -119,7 +119,7 @@ const data = reactive<PageData<QuestionsCategoryForm, QuestionsCategoryQuery>>({
queryParams: {
pageNum: 1,
pageSize: 10,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
categoryName: undefined,
params: {}
},
@ -194,7 +194,7 @@ const submitForm = () => {
questionsCategoryFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
form.value.projectId = currentProject.value?.id;
if (form.value.id) {
await updateQuestionsCategory(form.value).finally(() => (buttonLoading.value = false));
} else {
@ -218,7 +218,7 @@ const handleDelete = async (row?: QuestionsCategoryVO) => {
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
() => currentProject.value?.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;

View File

@ -165,7 +165,7 @@ const dialog = reactive<DialogOption>({
const initFormData: QuestionsConfigForm = {
id: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
singleChoice: undefined,
singleScore: undefined,
multipleChoice: undefined,
@ -181,7 +181,7 @@ const data = reactive<PageData<QuestionsConfigForm, QuestionsConfigQuery>>({
queryParams: {
pageNum: 1,
pageSize: 10,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
singleChoice: undefined,
singleScore: undefined,
multipleChoice: undefined,

View File

@ -98,6 +98,11 @@
<el-form-item label="巡检结果" prop="inspectionResult">
<el-input v-model="form.inspectionResult" placeholder="请输入巡检结果" />
</el-form-item>
<el-form-item label="工单整改单位" prop="rectificationUnit">
<el-select v-model="form.rectificationUnit" placeholder="请选择整改单位类型">
<el-option v-for="dict in rectification_unit_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="整改班组" prop="teamId">
<el-select v-model="form.teamId" placeholder="请选择整改班组">
<el-option v-for="item in teamOpt" :key="item.value" :label="item.label" :value="item.value" @click="changeForeman(item.value)" />
@ -198,6 +203,8 @@ const initFormData: SafetyInspectionForm = {
reviewType: undefined,
checkTime: undefined,
rectificationTime: undefined,
rectificationUnit: undefined,
reviewTime: undefined,
checkFile: undefined,
rectificationFile: undefined,
@ -301,7 +308,7 @@ const submitForm = () => {
safetyInspectionFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
form.value.projectId = currentProject.value?.id;
if (form.value.id) {
await updateSafetyInspection(form.value).finally(() => (buttonLoading.value = false));
} else {

View File

@ -252,7 +252,7 @@ const submitForm = () => {
safetyLogFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
form.value.projectId = currentProject.value?.id;
if (form.value.id) {
await updateSafetyLog(form.value).finally(() => (buttonLoading.value = false));
} else {

View File

@ -142,7 +142,7 @@ const dialog = reactive<DialogOption>({
const initFormData: SafetyWeeklyReportForm = {
id: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
week: undefined,
scope: undefined,
scopeEnd: undefined,
@ -155,7 +155,7 @@ const data = reactive<PageData<SafetyWeeklyReportForm, SafetyWeeklyReportQuery>>
pageNum: 1,
pageSize: 10,
id: undefined,
projectId: currentProject.value.id,
projectId: currentProject.value?.id,
week: undefined,
scopeDate: undefined,
remark: undefined,
@ -231,7 +231,7 @@ const submitForm = () => {
safetyWeeklyReportFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value.id;
form.value.projectId = currentProject.value?.id;
if (form.value.id) {
await updateSafetyWeeklyReport(form.value).finally(() => (buttonLoading.value = false));
} else {
@ -266,7 +266,7 @@ const handleExport = () => {
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value.id,
() => currentProject.value?.id,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;

View File

@ -121,7 +121,7 @@ const state = reactive<any>({
});
const postList = () => {
listTreeByProject(currentProject.value?.id).then((res) => {
listTreeByProject().then((res) => {
console.log('🚀 ~ listTreeByProject ~ res:', res);
state.postListAll = res.data ?? [];
});