This commit is contained in:
lcw
2026-01-23 19:57:10 +08:00
parent 5b62d707ff
commit c12bda629a
43 changed files with 6721 additions and 223 deletions

View File

@ -0,0 +1,89 @@
<template>
<div>
<el-dialog :model-value="modelValue" :destroy-on-close="true" :title="title" @close="close"
:close-on-click-modal="true">
<div style="height: 50vh;overflow: auto;">
<FormMessage v-model="listQuery" :formList="formData" labelWidth="150px" ref="elform">
</FormMessage>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="close">取消</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
import { ref, getCurrentInstance, watch } from 'vue'
import FormMessage from "@/components/aboutTable/FormMessage.vue";
import { gsxtWlyqSelectById } from '@/api/semanticAnalysis.js'
const { proxy } = getCurrentInstance();
const { GA_D_ASJLYFLDM, GA_D_XSAJLBDM, BD_D_BJFSDM, GA_D_SACSFLDM, GA_D_DYLBDM } = proxy.$fzdict('GA_D_ASJLYFLDM', 'GA_D_XSAJLBDM', 'BD_D_BJFSDM', 'GA_D_SACSFLDM', 'GA_D_DYLBDM')
const props = defineProps({
modelValue: {
type: Boolean,
default: false
},
title: {
type: String,
default: '舆情详情'
},
dataList: {
type: Object,
default: () => { }
}, lx: {
type: String,
default: '1'
}
})
const emits = defineEmits(['update:modelValue'])
const listQuery = ref({})
const xsaj = [
{ label: "信息标题", prop: "xxbt", type: "textarea", width: "90%" },
{ label: "摘要", prop: "zy", type: "textarea" , width: "90%"},
{ label: "作者昵称", prop: "zznc", type: "input" },
{ label: "粉丝量", prop: "fsl", type: "input" },
{ label: "作者主页", prop: "zzzy", type: "input" },
{ label: "阅读数", prop: "yds", type: "input" },
{ label: "来源平台", prop: "lypt", type: "input" },
{ label: "转发数", prop: "zfs", type: "input" },
{ label: "关键词", prop: "gjc", type: "input"},
{ label: "是否藏语", prop: "sfzy", type: "input" },
{ label: "是否精选舆情", prop: "sfjx", type: "input" },
{ label: "情感倾向", prop: "qgqx", type: "input" },
{ label: "签到地", prop: "qdd", type: "input" },
{ label: "评论数", prop: "pls", type: "input" },
{ label: "内容涉及地域", prop: "nrsjdy", type: "input" },
{ label: "发布时间", prop: "fbsj", type: "input" },
{ label: "发布地", prop: "fbd", type: "input" },
{ label: "点赞数", prop: "dzs", type: "input" },
{ label: "所属部门", prop: "ssbm", type: "input" },
{ label: "所属县公安局", prop: "ssxgaj", type: "input" },
{ label: "所属市公安局", prop: "sssgaj", type: "input" },
{ label: "备注", prop: "bz", type: "textarea", width: "90%" },
]
const formData = ref()
const elform = ref()
watch(() => props.modelValue, (val) => {
if (val) {
console.log(props.dataList);
formData.value=xsaj
tbJqIdFunc()
}
})
const tbJqIdFunc = () => {
gsxtWlyqSelectById(props.dataList.id).then((res) => {
listQuery.value = res
})
}
const close = () => {
elform.value.reset()
emits('update:modelValue', false)
}
</script>

View File

@ -74,6 +74,9 @@
<template #jjdbh="{ row }">
<span @click="jqDetail(row)">{{ row.jjdbh }}</span>
</template>
<template #xxbt="{ row }">
<span @click="openPublicOpinionDialog(row)">{{ row.xxbt }}</span>
</template>
<template #asjbh="{ row }">
<span @click="caseDetail(row, row.lx)">{{ row.asjbh }}</span>
</template>
@ -104,11 +107,12 @@
<JudgmentReport v-model="visible" :search="search" :xzlx="xzlx"></JudgmentReport>
<DiscussionDialog v-model="showDialog" :dataList="dataList" :lx="lx" />
<PoliceIncidentDetails v-model="showJqDetail" :dataList="dataList" title="警情详情" />
<PublicOpinionDialog v-model="showPublicOpinionDialog" :dataList="dataList" />"
<CaseDetails v-model="showCaseDetail" :dataList="dataList" title="案件详情" :lx="ajlx" />
</template>
<script setup>
import { lzJcjPjdbSelectPage } from '@/api/semanticAnalysis.js'
import { lzJcjPjdbSelectPage, gsxtWlyqGetPageList, } from '@/api/semanticAnalysis.js'
import { ElMessage } from "element-plus";
import JudgmentReport from './components/judgmentReport.vue'
import { qcckPost, qcckGet } from "@/api/qcckApi.js";
@ -120,6 +124,7 @@ import { useRoute, useRouter } from 'vue-router';
import { tbJqGetPageList, xsajSelectPage, xzajSelectPage } from '@/api/yj.js'
import DiscussionDialog from './components/discussionDialog.vue';
import PoliceIncidentDetails from './components/policeIncidentDetails.vue';
import PublicOpinionDialog from './components/PublicOpinionDialog.vue';
import CaseDetails from './components/caseDetails.vue';
const router = useRouter();
import { nextTick, onMounted, reactive, getCurrentInstance, ref, watch } from 'vue';
@ -193,13 +198,13 @@ const list = reactive([
pageConfiger: {
page: 1,
total: 0,
pageSize: 6,
pageSize: 10,
},
tableColumn: [
{ label: "舆情标题", prop: "yqbt", showOverflowTooltip: true },
{ label: "舆情内容", prop: "yqnr", showOverflowTooltip: true },
{ label: "舆情来源", prop: "yqly", showOverflowTooltip: true },
{ label: "舆情时间", prop: "yqsj", showOverflowTooltip: true },
{ label: "舆情标题", prop: "xxbt", showOverflowTooltip: true, showSolt: true },
{ label: "昵称", prop: "zznc", showOverflowTooltip: true },
{ label: "来源平台", prop: "lypt", showOverflowTooltip: true },
{ label: "发布时间", prop: "fbsj", showOverflowTooltip: true },
],
},
{
@ -286,6 +291,7 @@ onMounted(() => {
tabHeightFn()
getJqList() //警情列表
getAjList()//案件列表
getgsxtWlyqGetPageList()//网络舆情列表
});
@ -336,6 +342,7 @@ const onSearch = () => {
switch (xzlx.value) {
case '01':
getgsxtWlyqGetPageList()
break;
case '02':
getJqList()
@ -399,6 +406,29 @@ const getAjList = () => {
})
}
}
// 网络舆情
const getgsxtWlyqGetPageList = () => {
let params = {
pageCurrent: list[0].pageConfiger.page,
pageSize: list[0].pageConfiger.pageSize,
startTime: dataSearch.value.startTime,
endTime: dataSearch.value.endTime,
}
gsxtWlyqGetPageList(params).then(res => {
console.log(res);
list[0].tableList = res.records.map(item => {
return {
...item,
}
}) || [];
list[0].pageConfiger.total = res.total;
})
}
// 网上会商
const showDialog = ref(false)
const dataList = ref()
@ -459,6 +489,7 @@ const changeNo = (e, type) => {
switch (type) {
case '网络舆情':
list[0].pageConfiger.page = e;
getgsxtWlyqGetPageList()
break;
case '警情':
list[1].pageConfiger.page = e;
@ -479,6 +510,7 @@ const changeSize = (e, type) => {
switch (type) {
case '网络舆情':
list[0].pageConfiger.pageSize = e;
getgsxtWlyqGetPageList()
break;
case '警情':
list[1].pageConfiger.pageSize = e;
@ -549,19 +581,11 @@ const handleYP = () => {
default:
break;
}
}
const showPublicOpinionDialog = ref(false)
const openPublicOpinionDialog = (row) => {
showPublicOpinionDialog.value = true
dataList.value = {...row}
}
// 表格高度计算

View File

@ -16,13 +16,14 @@
<el-table-column prop="ypbmmc" label="部门" width="150" align="center" />
<el-table-column label="素材要求" align="center">
<template #default="{ row }">
<el-input v-model="row.scyq" type="textarea" :rows="4" :disabled="isDetail || !isShiQingBaoZhongXin" placeholder="请输入研判素材" />
<el-input v-model="row.scyq" type="textarea" :rows="4" :disabled="isDetail || !isShiQingBaoZhongXin"
placeholder="请输入研判素材" />
</template>
</el-table-column>
<el-table-column label="附件" align="center">
<template #default="{ row }">
<UploadFile v-model="row.fj" :disabled="isDetail || (!isShiQingBaoZhongXin && !isAdd)" :limit="1" :isImg="false"
:isAll="true" />
<UploadFile v-model="row.fj" :disabled="isDetail || (!isShiQingBaoZhongXin && !isAdd)" :limit="1"
:isImg="false" :isAll="true" />
</template>
</el-table-column>
<el-table-column prop="wcqk" label="完成状态" width="80" align="center">
@ -32,7 +33,7 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="180" align="center">
<!-- <el-table-column label="操作" width="180" align="center">
<template #default="{ row }">
<el-button type="text" size="small" @click="updateStatus(row)" :disabled="updateDis(row)">
@ -42,14 +43,14 @@
提交素材
</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
</div>
</template>
</FormMessage>
</div>
<!-- 底部按钮 -->
<div class="bottom-actions" v-if="title !== '新增' && listQuery.id && listQuery.ssbmdm == userInfo.deptCode" >
<div class="bottom-actions" v-if="title !== '新增' && listQuery.id && listQuery.ssbmdm == userInfo.deptCode">
<el-button type="primary" size="small" @click="sendNotice" :loading="noticeLoading">下发通知</el-button>
<el-button type="success" size="small" @click="confirmJudgment" :loading="confirmLoading">确认研判</el-button>
</div>
@ -148,20 +149,28 @@ const confirmLoading = ref(false) // 确认研判加载状态
const rules = reactive({
// 可以在这里添加表单验证规则
ypsj: [
{ required: true, message: '请选择约稿时间', trigger: 'change' }
],
jzsj:[ { required: true, message: '请选择截止时间', trigger: 'change' }]
});
watch(() => props.dict, (val) => {
if (val) {
formData.value = [
{ label: "研判议题", prop: "ypyt", type: "input", width: '48%', disabled: isDetail.value },
{ label: "研判时间", prop: "ypsj", type: "datetime", width: '48%' , disabled: isDetail.value },
{ label: "报告类型", prop: "bglx", type: "radio", options: props.dict.D_BZ_YPLX, width: '48%' , disabled: isDetail.value },
{ label: "研判方式", prop: "ypfs", type: "radio", options: props.dict.D_BZ_YPFS, width: '48%' , disabled: isDetail.value },
{ label: "参与研判部门", prop: "jsdxBmDm", type: "department", multiple: true, depMc: 'jsdxBmMc', width: '48%' , disabled: isDetail.value },
{ label: "研判要求", prop: "ypyq", type: "textarea", width: '100%' , disabled: isDetail.value },
{ label: "列表", prop: "bmList", type: "slot", width: '100%' },
// { label: "研判议题", prop: "ypyt", type: "input", width: '48%', disabled: isDetail.value },
{ label: "约稿时间", prop: "ypsj", type: "datetime", width: '48%', disabled: isDetail.value },
{ label: "截止时间", prop: "jzsj", type: "datetime", width: '48%', disabled: isDetail.value },
// { label: "报告类型", prop: "bglx", type: "radio", options: props.dict.D_BZ_YPLX, width: '48%' , disabled: isDetail.value },
// { label: "研判方式", prop: "ypfs", type: "radio", options: props.dict.D_BZ_YPFS, width: '48%' , disabled: isDetail.value },
{ label: "约稿部门", prop: "jsdxBmDm", type: "department", multiple: true, depMc: 'jsdxBmMc', width: '48%', disabled: isDetail.value },
{ label: "约稿要求", prop: "ypyq", type: "textarea", width: '100%', disabled: isDetail.value },
{ label: "列表", prop: "bmList", type: "slot", width: '100%' },
]
}
})
/** 是否修改禁用 */
function updateDis(row) {
/** 无id 禁用 */
@ -461,6 +470,7 @@ defineExpose({ init });
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
// z-index: 1000;
}
.table-box {
// width: calc(100% - 2px);
width: 100%;

View File

@ -4,16 +4,16 @@
<div ref="searchBox" class="mt10">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount" />
</div>
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
<template #left>
<el-button type="primary" size="small" @click="getDataById('add', '')">
<el-button type="primary" size="small" @click="getDataById('add', '')">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">新增</span>
</el-button>
</template>
</PageTitle>
</PageTitle>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
@ -26,9 +26,11 @@
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link size="small" type="primary" @click="getDataById('edit', row)" :disabled="userInfo.deptCode!=row.ssbmdm">修改</el-link>
<el-link size="small" type="primary" @click="getDataById('edit', row)"
:disabled="userInfo.deptCode != row.ssbmdm">修改</el-link>
<el-link size="small" type="primary" @click="getDataById('detail', row)">详情</el-link>
<el-link size="small" type="danger" @click="deleteFile(row)" :disabled="userInfo.deptCode!=row.ssbmdm">删除</el-link>
<el-link size="small" type="danger" @click="deleteFile(row)"
:disabled="userInfo.deptCode != row.ssbmdm">删除</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
@ -48,7 +50,7 @@ import Search from "@/components/aboutTable/Search.vue";
import { useRoute } from 'vue-router'
import { getItem } from "@/utils/storage.js";
import { sjzlGetPageList, sjzldeleteEntity } from "@/api/yj.js";
import { reactive, ref, onMounted, getCurrentInstance, watch,computed } from "vue";
import { reactive, ref, onMounted, getCurrentInstance, watch, computed } from "vue";
import AddForm from "./addForm.vue";
const { proxy } = getCurrentInstance();
const { D_BZ_YPFS, D_BZ_YPLX } = proxy.$dict("D_BZ_YPFS", "D_BZ_YPLX")
@ -57,7 +59,7 @@ const searchBox = ref(); //搜索框
const userInfo = ref({})
onMounted(() => {
userInfo.value = getItem('deptId')?getItem('deptId')[0]:{}
userInfo.value = getItem('deptId') ? getItem('deptId')[0] : {}
tabHeightFn()
if (route.query.id) {
detailDiloag.value.init('edit', {
@ -77,7 +79,8 @@ const isShiQingBaoZhongXin = computed(() => {
})
const searchConfiger = ref([
{ label: "研判议题", prop: 'ypyt', placeholder: "请输入研判议题", showType: "input" },
{ label: "约稿时间", prop: 'startTime', placeholder: "请输入约稿时间", showType: "datetimerange" },
{ label: "约稿要求", prop: 'ypyq', placeholder: "请输入约稿要求", showType: "input" },
// { label: "研判方式", prop: 'ypfs', placeholder: "请输入研判方式", showType: "radio",options:D_BZ_YPFS },
]);
@ -96,11 +99,12 @@ const pageData = reactive({
},
controlsWidth: 240,
tableColumn: [
{ label: "研判议题", prop: "ypyt" },
{ label: "研判方式", prop: "ypfs", showSolt: true },
{ label: "报告类型", prop: "bglx", showSolt: true },
{ label: "研判时间", prop: "ypsj" },
{ label: "研判要求", prop: "ypyq" },
// { label: "研判议题", prop: "ypyt" },
// { label: 方式", prop: "ypfs", showSolt: true },
// { label: "报告类型", prop: "bglx", showSolt: true },
{ label: "约稿时间", prop: "ypsj" },
{ label: "截止时间", prop: "jzsj" },
{ label: "约稿要求", prop: "ypyq" },
{ label: "发起部门", prop: "ssbm" },
]
});
@ -111,6 +115,8 @@ const onSearch = (val) => {
const promes = {
...val,
...pageData.pageConfiger,
startTime: val.startTime ? val.startTime[0] : '',
endTime: val.startTime ? val.startTime[1] : '',
}
queryFrom.value = { ...promes }
pageData.pageConfiger.pageCurrent = 1;

View File

@ -3,7 +3,7 @@
<div class="head_box">
<span class="title">报告{{ title }} </span>
<div>
<el-button type="primary" size="small" :loading="loading" @click="submit">保存</el-button>
<el-button type="primary" size="small" :loading="loading" @click="submit" v-if="title!='详情'">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
@ -49,8 +49,7 @@ import "@wangeditor/editor/dist/css/style.css";
// import Consultation from './consultation.vue'
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import { ref, defineExpose, reactive, defineEmits, getCurrentInstance, shallowRef, onBeforeUnmount, watch } from "vue";
import { gsxtYpbgAddEntity, gsxtYpbgEditEntity } from "@/api/huiShangyp/tacticalApi.js"
import { gsxtYpbgAddEntity, gsxtYpbgEditEntity, gsxtYpbgId } from "@/api/huiShangyp/strategicApi.js"
const emit = defineEmits(["updateDate", 'ok']);
const props = defineProps({
dic: Object,
@ -108,11 +107,19 @@ const rules = reactive({
{ required: true, message: "请输入经验内容", trigger: "blur" }
]
});
const formData = ref([
const formData = ref();
watch(() =>props.dic.D_BZ_YPLX, (newVal) => {
if(newVal){
formData.value=[
{ label: "报告名称", prop: "bgmc", type: "input", width: "100%", blur: setEditorTextContent },
{
label: "报告类型", prop: "bglx", type: "select", width: "100%", options: props.dic.D_BZ_YPLX
},
{ label: "报告内容", prop: "bgnr", type: "slot", width: "100%", blur: setEditorTextContent },
// { label: "附件内容", prop: "fj", type: "slot", width: "100%" },
]);
]
}
})
const listQuery = ref({
bgmc: "",
bgnr: "",
@ -132,11 +139,11 @@ const init = (type, reportData, row) => {
bgmc: reportData.bgmc,
bgnr: reportData.bgnr,
id: reportData.id,
// fj: reportData.fj
bglx: reportData.bglx,
}
outRow.value = { ...row }
dialogForm.value = true;
title.value = type == "add" ? "新增" : "编辑";
title.value = type == "add" ? "新增" :type == "edit"? "编辑" : "详情";
setEditorTextContent()
};
const getText = (val, row = {}) => {

View File

@ -7,7 +7,7 @@
</div>
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
<template #left>
<el-button size="small" type="primary" @click="selfCreateResearch('add')">
<el-button size="small" type="primary" @click="createReport('add')">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
@ -28,10 +28,11 @@
<!-- 操作 -->
<template #controls="{ row }">
<!-- <el-link size="small" type="primary" @click="getDataById('edit', row)">修改</el-link> -->
<el-link size="small" type="danger" @click="getypbgSjzlTjspId(row.id)">提交申请</el-link>
<el-link size="small" type="primary" @click="getDataById('detail', row)">详情</el-link>
<el-link size="small" type="primary" @click="createReport(row)">{{ row.ypbg?.id ? '编辑' : '创建' }}报告</el-link>
<el-link size="small" type="success" @click="createMeeting(row)">创建会议</el-link>
<!-- <el-link size="small" type="danger" @click="getypbgSjzlTjspId(row.id)">提交申请</el-link> -->
<el-link size="small" type="primary" @click="createReport('edit', row)">编辑</el-link>
<el-link size="small" type="primary" @click="createReport('detail', row)">详情</el-link>
<!-- <el-link size="small" type="success" @click="createMeeting(row)">创建会议</el-link>-->
<el-link size="small" type="danger" @click="deleteFile(row)">删除</el-link>
</template>
</MyTable>
@ -44,7 +45,7 @@
<AddForm ref="addForm" :bglx="bglx" @getList="getList" :dict="{ D_BZ_YPFS, D_BZ_YPLX }" />
<!-- 创建报告 -->
<addReport ref="reportTc" :row="currRow" :dic="{ D_GS_BQ_LX }" @ok="getList" />
<addReport ref="reportTc" :row="currRow" :dic="{ D_GS_BQ_LX,D_BZ_YPLX }" @ok="getList" />
<!-- 创建报告 -->
<addMeeting ref="meetingTc" :row="currRow" @updateDate="getList" />
</template>
@ -55,9 +56,8 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import { useRoute, useRouter } from 'vue-router'
import { tacticalGet, strategicDelete } from "@/api/huiShangyp/tacticalApi.js";
import { reactive, ref, onMounted, getCurrentInstance, watch, computed, nextTick } from "vue";
import { ypbgSjzlTjspId } from "@/api/huiShangyp/strategicApi.js"
import { ypbgSjzlTjspId,gsxtYpbgGetPageList ,gsxtYpbgDeleteEntity} from "@/api/huiShangyp/strategicApi.js"
import addReport from "./addReport.vue";
import AddForm from "./addForm.vue";
import addMeeting from "./addMeeting.vue";
@ -91,8 +91,8 @@ const isShiQingBaoZhongXin = computed(() => {
})
const searchConfiger = ref([
{ label: "研判议题", prop: 'ypyt', placeholder: "请输入研判议题", showType: "input" },
// { label: "研判方式", prop: 'ypfs', placeholder: "请输入研判方式", showType: "radio",options:D_BZ_YPFS },
{ label: "报告名称", prop: 'bgmc', placeholder: "请输入报告名称", showType: "input" },
{ label: "研判类型", prop: 'bglx', placeholder: "请输入研判类型", showType: "select",options:D_BZ_YPLX },
]);
const pageData = reactive({
@ -100,7 +100,7 @@ const pageData = reactive({
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "checkBox",
showSelectType: "null",
loading: false
},
total: 0,
@ -110,12 +110,10 @@ const pageData = reactive({
},
controlsWidth: 240,
tableColumn: [
{ label: "研判议题", prop: "ypyt" },
{ label: "研判方式", prop: "ypfs", showSolt: true },
{ label: "报告名称", prop: "bgmc" },
{ label: "报告类型", prop: "bglx", showSolt: true },
{ label: "研判时间", prop: "ypsj" },
{ label: "研判要求", prop: "ypyq" },
{ label: "发起部门", prop: "ssbm" },
{ label: "生成时间", prop: "scsj" },
{ label: "生成部门", prop: "ssbm" },
]
});
@ -147,9 +145,11 @@ const changeSize = (val) => {
// 获取列表
const getList = () => {
pageData.tableConfiger.loading = true;
// bglx 报告类型01 战术研判 02 战略研判)
let data = { ...pageData.pageConfiger, ...queryFrom.value, bglx: '02' };
tacticalGet(data).then(res => {
// bglx 报告类型01 战术研判 02 战略研判), bglx: '02'
let data = { ...pageData.pageConfiger, ...queryFrom.value};
gsxtYpbgGetPageList(data).then(res => {
console.log(res);
pageData.tableData = res.records || [];
pageData.total = res.total;
pageData.tableConfiger.loading = false;
@ -177,7 +177,7 @@ const deleteFile = (row) => {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
strategicDelete({ ids: [row.id] }).then(res => {
gsxtYpbgDeleteEntity({ ids: [row.id] }).then(res => {
proxy.$message.success('删除成功');
getList();
}).catch(() => {
@ -192,9 +192,9 @@ const selfCreateResearch = (type = 'add') => {
addForm.value.init(type, null, '01');
}
/** 创建报告 */
const createReport = (row) => {
const type = !row.id ? 'add' : 'edit'
reportTc.value.init(type, row?.ypbg || {}, row)
const createReport = (type,row) => {
console.log(row);
reportTc.value.init(type, row)
// currRow.value = { ...row }
// isShowReport.value = true
}