新增弹窗

main
zouyiqing 2023-10-17 18:50:50 +08:00
parent 9bced410f9
commit 74ee0ac89f
4 changed files with 1562 additions and 473 deletions

View File

@ -42,63 +42,69 @@ const router = createRouter({
// 外部首页
{
path: "/external",
component: () => import("@/views/extermal/ExternalHome.vue"),
meta: { title: "首页" },
// redirect: { name: "entry" },
children: [
{
path:'',
name:'external',
component:()=>import("@/views/extermal/ExternalHome.vue"),
path: '',
name: 'external',
component: () => import("@/views/extermal/ExternalHome.vue"),
},
{
path:'/external/info',
name:'DetailInfo',
component:()=>import("@/views/extermal/Article/Detail.vue"),
path: '/external/info',
name: 'DetailInfo',
component: () => import("@/views/extermal/Article/Detail.vue"),
}
],
},
{
path:'/external/info/:id',
name:'DetailInfo',
component:()=>import("@/views/extermal/Article/Detail.vue"),
path: '/external/info/:id',
name: 'DetailInfo',
component: () => import("@/views/extermal/Article/Detail.vue"),
},
{
path:'/external/infoList',
name:'DetailInfoList',
component:()=>import("@/views/extermal/news/index.vue"),
},
{
path:'/external/infoa/:id',
name:'DetailInfoa',
component:()=>import("@/views/extermal/Article/Detaila.vue"),
path: '/external/infoList',
name: 'DetailInfoList',
component: () => import("@/views/extermal/news/index.vue"),
},
{
path:'/external/infos/:id',
name:'DetailInfos',
component:()=>import("@/views/extermal/Article/Details.vue"),
path: '/external/infoa/:id',
name: 'DetailInfoa',
component: () => import("@/views/extermal/Article/Detaila.vue"),
},
{
path:'/external/Board',
name:'BoardlInfo',
component:()=>import("@/views/extermal/Board/index.vue"),
},
{
path:'/external/Process',
name:'Process1',
component:()=>import("@/views/extermal/Process/index.vue"),
},
// 内部首页
{
path: '/external/infos/:id',
name: 'DetailInfos',
component: () => import("@/views/extermal/Article/Details.vue"),
},
{
path: '/external/Board',
name: 'BoardlInfo',
component: () => import("@/views/extermal/Board/index.vue"),
},
{
path: '/external/Process',
name: 'Process1',
component: () => import("@/views/extermal/Process/index.vue"),
},
{
path: '/external/MessageBoard',
name: 'MessageBoard',
component: () => import("@/views/extermal/MessageBoard/index.vue"),
},
// 内部首页
{
path: "/Home",
component: () => import("@/views/index.vue"),
@ -111,36 +117,36 @@ const router = createRouter({
component: () => import("@/views/home/Home.vue")
},
{
path:'/Home/User',
name:'User',
meta:{title:'调达本部18个月活动'},
component:()=>import("@/views/home/user/index.vue")
path: '/Home/User',
name: 'User',
meta: { title: '调达本部18个月活动' },
component: () => import("@/views/home/user/index.vue")
},
{
path:'/Home/dataPlatform',
name:'dataPlatform',
component:()=>import("@/views/dataPlatform/index.vue")
path: '/Home/dataPlatform',
name: 'dataPlatform',
component: () => import("@/views/dataPlatform/index.vue")
},
{
path:'/Home/News',
name:'News',
meta:{title:'News列表'},
component:()=>import("@/views/home/news/index.vue")
path: '/Home/News',
name: 'News',
meta: { title: 'News列表' },
component: () => import("@/views/home/news/index.vue")
},
// 搜索
{
path:'Search',
meta:{title: "搜索列表"},
children:[{
path:'',
name:'Search',
component:()=>import("@/views/home/search/index.vue")
path: 'Search',
meta: { title: "搜索列表" },
children: [{
path: '',
name: 'Search',
component: () => import("@/views/home/search/index.vue")
},
{
path:'/Home/Search/:id',
name:'SearchInfo',
meta:{title: "详情"},
component:()=>import("@/views/home/intelligence/Detail.vue")
path: '/Home/Search/:id',
name: 'SearchInfo',
meta: { title: "详情" },
component: () => import("@/views/home/intelligence/Detail.vue")
}]
},
// 外部情报
@ -159,14 +165,14 @@ const router = createRouter({
component: () => import("@/views/home/intelligence/ListPage.vue"),
},
{
path:'InfosEdit',
name:"InfosEdit",
component:()=>import('@/views/home/intelligence/components/InfosEdit.vue')
path: 'InfosEdit',
name: "InfosEdit",
component: () => import('@/views/home/intelligence/components/InfosEdit.vue')
},
{
path:'messageSelect',
name:"messageSelect",
component:()=>import('@/views/home/intelligence/components/messageSelect.vue')
path: 'messageSelect',
name: "messageSelect",
component: () => import('@/views/home/intelligence/components/messageSelect.vue')
},
{
path: "outside",
@ -236,31 +242,31 @@ const router = createRouter({
// import("@/views/home/bcp/modify.vue"),
import("@/views/home/bcp/detail.vue"),
},
],
},
// 市况
{
path: "market",
meta: { title: "市况、汇率" },
children:[
{
path:'',
name:"Market",
component: () => import("@/views/home/market/Market.vue"),
},
{
path:'MarketModify',
name:"MarketModify",
meta: { title: "市况、汇率管理" },
component: () => import("@/views/home/market/modify.vue"),
},
{
path:'MarketModifys',
name:"MarketModifys",
meta: { title: "市况、汇率管理" },
component: () => import("@/views/home/market/modifys.vue"),
},
children: [
{
path: '',
name: "Market",
component: () => import("@/views/home/market/Market.vue"),
},
{
path: 'MarketModify',
name: "MarketModify",
meta: { title: "市况、汇率管理" },
component: () => import("@/views/home/market/modify.vue"),
},
{
path: 'MarketModifys',
name: "MarketModifys",
meta: { title: "市况、汇率管理" },
component: () => import("@/views/home/market/modifys.vue"),
},
]
},
@ -276,11 +282,11 @@ const router = createRouter({
{
path: "csr",
meta: { title: "碳中和挑战" },
children:[{
children: [{
path: "",
name: "CSR",
component: () => import("@/views/home/csr/CSR.vue"),
},{
}, {
path: "modifyCsr2",
meta: { title: "内容管理" },
name: "modifyCsr2",
@ -292,15 +298,15 @@ const router = createRouter({
name: "modifyCsrList",
component: () => import("@/views/home/csr/index.vue"),
}
]
]
},
// 品质
{
path: "quality",
meta: { title: "品质" },
children:[
children: [
{
path: "",
name: "Quality",
@ -314,13 +320,13 @@ const router = createRouter({
},
]
},
// 待审核情报
{
// 待审核情报
{
path: "Process",
meta: { title: "情报新增待审批" },
children:[
children: [
{
path:'',
path: '',
name: "Process",
component: () => import("@/views/home/intelligence/process/Process.vue"),
},
@ -331,14 +337,14 @@ const router = createRouter({
component: () => import("@/views/home/intelligence/process/ProcessInfo.vue"),
},
{
path:'/Home/Process/Detail/:id/:flag',
name:'',
path: '/Home/Process/Detail/:id/:flag',
name: '',
meta: { title: "情报审批详情" },
component:()=>import("@/views/home/intelligence/Detail.vue")
component: () => import("@/views/home/intelligence/Detail.vue")
}
]
},
// C/D数据
{
path: "cd",
@ -363,7 +369,7 @@ const router = createRouter({
path: "",
name: "Diffspace",
component: () => import("@/views/home/diffspace/Overview.vue"),
},
{
path: "report",
@ -377,28 +383,28 @@ const router = createRouter({
// name: "DiffspaceModify",
// meta: { title: "差别化云空间管理" },
// component: () => import("@/views/home/diffspace/modify.vue"),
// },
{
path: "modifys",
name: "DiffspaceModify",
meta: { title: "差别化研究管理" },
component: () => import("@/views/home/diffspace/fack.vue"),
},
{
path: "modifyDiffspace",
name: "ModifyDiffspace",
meta: { title: "研究方向内容管理" },
component: () => import("@/views/home/diffspace/modifys.vue"),
},
{
path: "/Home/diffspace/diffspaceList/:id",
meta: { title: "差别化研究分类" },
children:[
children: [
{
path:'',
path: '',
name: "DiffspaceTab",
component: () => import("@/views/home/diffspace/allList.vue"),
},
@ -408,7 +414,7 @@ const router = createRouter({
// component: () => import("@/views/home/diffspace/component/tabsList.vue"),
// },
{
path:'/home/diffspace/DiffspaceTabModify',
path: '/home/diffspace/DiffspaceTabModify',
name: "DiffspaceTabModify",
meta: { title: "差别化课题管理" },
component: () => import("@/views/home/diffspace/component/modify.vue"),
@ -444,9 +450,9 @@ const router = createRouter({
},
// 紧急联络
{
path:'phone',
path: 'phone',
meta: { title: "紧急联络" },
children:[
children: [
{
path: "",
name: "phone",
@ -464,27 +470,27 @@ const router = createRouter({
name: "inv",
component: () => import("@/views/home/phone/inv.vue"),
},
],
},
],
},
// database
{
path:'/DataBase',
component:()=>import("@/views/home/database/index.vue"),
children:[{
path:'',
name:'DataBase',
component:()=>import("@/views/home/database/guize/index.vue")
path: '/DataBase',
component: () => import("@/views/home/database/index.vue"),
children: [{
path: '',
name: 'DataBase',
component: () => import("@/views/home/database/guize/index.vue")
},
{
path:'/DataBase/Modify',
name:'DataBaseModify',
component:()=>import("@/views/home/database/modify.vue")
path: '/DataBase/Modify',
name: 'DataBaseModify',
component: () => import("@/views/home/database/modify.vue")
}
]
]
},
{
path: "/bpcTreeDetail",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,273 @@
<template>
<div class="page">
<HomeHead class="top">
<!-- <template #content>
<HomeHeadSearch />
</template> -->
</HomeHead>
<div class="back" @click="push({ name: 'external' })">返回首页</div>
<div class="bg-#fff p30px rounded-5px mt40px overflow-y-auto max-h980px">
<n-form :label-width="900" size="medium" :model="formValue">
<n-form-item label="标题11111" path="title">
<n-input v-model:value="formValue.title" placeholder="" />
</n-form-item>
<n-form-item v-if="formValue.cate == 8" label="是否置顶" path="isTop">
<n-radio-group v-model:value="formValue.isTop" name="radiogroup">
<n-space>
<!-- <n-radio v-for="song in songs" :key="song.value" :value="song.value">
{{ song.label }}
</n-radio> -->
<n-radio value="Y"></n-radio>
<n-radio value="N">不是</n-radio>
</n-space>
</n-radio-group>
</n-form-item>
</n-form>
<n-form-item v-if="formValue.cate == 9" label="选项">
<n-radio-group v-model:value="formValue.treeSource" name="radiogroup">
<n-space>
<n-radio value="1">供应商留言</n-radio>
<n-radio value="2">空调需求依赖</n-radio>
<!-- <n-radio value="3">回执单</n-radio> -->
</n-space>
</n-radio-group>
</n-form-item>
<div class="mt15px h150px overflow-y-auto" v-if="formValue.cate == 8">
<el-tag
v-for="i in dataList"
:key="i"
class="mx-1 my5px"
closable
:disable-transitions="false"
@close="handleClose(i)"
type="info"
size="large"
>
{{ i.nickName }}
</el-tag>
</div>
<el-button type="primary" class="mt20px" @click="saveThis"
>提交</el-button
>
</div>
<n-modal v-model:show="showModal1">
<div class="flex w80% p30px bg-#fff my40px rounded-30px">
<div
class="overflow-y-auto h800px container"
v-html="editorContent"
></div>
</div>
</n-modal>
<div>
<n-modal v-model:show="showModal">
<!-- <n-card style="width:1100px; height: 800px;" title="调达中心" :bordered="false" size="huge" role="dialog"
aria-modal="true"> -->
<UserPage
:userDataList="setUserList"
@clickChild="handleChild1"
@CloseThis="CloseThis"
></UserPage>
<!-- </n-card> -->
</n-modal>
</div>
</div>
</template>
<script setup lang="ts">
import Editor from "@/views/home/intelligence/components/TinyECE.vue";
import UserPage from "../../home/intelligence/process/UserPages.vue";
import {
NModal,
NCard,
NForm,
NButton,
NFormItem,
NInput,
NRadio,
NSelect,
NSpace,
NRadioGroup,
useMessage,
treeDark,
} from "naive-ui";
import HomeHead from "@/views/home/components/HomeHead.vue";
import { noticeld } from "@/stores/modules/noticeId";
import { saveArticle } from "@/api/daikin/base";
const editorContent = ref();
const { push } = useRouter();
const message = useMessage();
const not = noticeld();
// const CloseThis = ()=>{
// mask.value = false
// }
let formValue: any = ref({
type: "1",
cate: not.article.cate,
title: "",
tag: "",
source: "",
content: "",
reviewSource: "3",
isTop: "N",
treeSource: "1",
});
function escapeHTML(html: string): string {
const tempElement = document.createElement("div");
tempElement.textContent = html;
return tempElement.innerHTML;
}
const handleClose = (tag: any) => {
dataList.value.splice(dataList.value.indexOf(tag), 1);
};
//
async function save() {
let userIdList: any[] = [];
const cont = editorContent.value;
const content = escapeHTML(cont);
const { title, reviewSource, tag, treeSource, source, type, isTop } =
formValue.value;
const cate = not.article.cate;
// console.log(formValue.value, content,cate)
if (dataList.value) {
dataList.value.forEach((i: { userId: any }) => {
console.log(dataList.value);
userIdList.push(i.userId);
});
}
// console.log(formValue.value)
// if(userIdList.length<0) return
const { msg, code } = await saveArticle({
title,
tag: "",
isTop,
treeSource,
reviewSource,
source,
cate,
type,
content,
userIdList,
});
if (code === 200) {
message.success("新增成功");
} else {
message.success(msg);
}
push({ name: "external" });
}
//
const handleChild = (data: string) => {
editorContent.value = data;
// console.log(data)
};
//
const saveThis = (e: { preventDefault: () => void }) => {
e.preventDefault();
save();
};
const stores = noticeld();
const showModal = ref(false);
const showModal1 = ref(false);
const setUserList = ref();
const dataList = ref();
const thisClick = () => {
showModal.value = true;
setUserList.value = dataList.value;
stores.article.reviewSource = formValue.value.reviewSource;
};
const CloseThis = (data: boolean) => {
showModal.value = data;
};
const handleChild1 = (data: any) => {
const { showModal: show, multipleSelection } = data;
console.log(show);
showModal.value = unref(show);
dataList.value = unref(multipleSelection);
};
</script>
<style scoped lang="less">
::-webkit-scrollbar {
width: 1px;
}
.back {
position: absolute;
top: 25px;
left: 25px;
color: #fff;
// z-index: 500;
font-size: 25px;
font-weight: bold;
text-align: center;
justify-content: center;
}
.top {
right: 30px;
top: 0px;
}
.page {
width: 100%;
// height: 100px;
font-family: "PingFang SC";
user-select: none;
background-image: url("@/assets/images/bg.jpg");
background-color: #000;
background-position: 0 0;
background-repeat: no-repeat;
background-size: cover;
color: #fff;
line-height: 1;
.page-wrap {
display: grid;
grid-template-columns: 1fr 314px;
grid-template-rows: repeat(2, 1fr);
grid-column-gap: 30px;
grid-row-gap: 30px;
.page-main {
height: 830px;
grid-area: 1 / 1 / 3 / 2;
}
.page-side {
height: 100%;
grid-area: 1 / 2 / 2 / 3;
&:last-of-type {
height: 300px;
grid-area: 2 / 2 / 3 / 3;
}
}
}
}
.main {
background-image: url("@/assets/images/bg-rs-main.svg");
background-position: 0 0;
background-repeat: repeat-x;
background-size: auto;
}
.box {
--title-h: 58px;
border: 0;
.box-title {
height: var(--title-h);
color: #fff;
background-color: #537deb;
font-size: 18px;
font-weight: 600;
padding: 0 24px;
cursor: pointer;
}
.box-content {
height: 100%;
max-height: calc(100% - var(--title-h));
}
}
.line {
border-bottom: 1px solid #eef3fb;
}
</style>

View File

@ -161,6 +161,7 @@ const handleCommand = (item) => {
// console.log(url,111);
// // window.open(url, "_blank");
// };
const value1 = ref(null);
const src = ref('');
const srcType = ref()