formatted

This commit is contained in:
quantulr
2024-03-13 16:45:15 +08:00
parent 4ad91db174
commit 2115858f4d
162 changed files with 121679 additions and 115084 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,30 +1,35 @@
<!DOCTYPE html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta content="webkit" name="renderer">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<link href="/favicon.ico" rel="icon">
<!-- <script type="text/javascript">-->
<!-- window._AMapSecurityConfig = {-->
<!-- securityJsCode: '7d1b758db4876389af608259c4c99832',-->
<!-- }-->
<!-- </script>-->
<head>
<meta charset="utf-8" />
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
<meta content="webkit" name="renderer" />
<meta
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
name="viewport"
/>
<link href="/favicon.ico" rel="icon" />
<!-- <script type="text/javascript">-->
<!-- window._AMapSecurityConfig = {-->
<!-- securityJsCode: '7d1b758db4876389af608259c4c99832',-->
<!-- }-->
<!-- </script>-->
<script type="text/javascript">
window._AMapSecurityConfig = {
securityJsCode: '2b65e7751cb17e4605f4c4cdccf885f6',
securityJsCode: "2b65e7751cb17e4605f4c4cdccf885f6",
// securityJsCode: '7d1b758db4876389af608259c4c99832',
}
};
</script>
<!-- <script src='//webapi.amap.com/maps?v=1.4.15&key=bfc7224388e835679ffe74cfbd28c8d6' type="text/javascript"></script>-->
<!-- <script src="https://webapi.amap.com/maps?v=1.4.11&key=bfc7224388e835679ffe74cfbd28c8d6&plugin=AMap.DistrictSearch"-->
<!-- type="text/javascript"></script>-->
<!-- <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>-->
<!-- <script src='//webapi.amap.com/maps?v=1.4.15&key=bfc7224388e835679ffe74cfbd28c8d6' type="text/javascript"></script>-->
<!-- <script src="https://webapi.amap.com/maps?v=1.4.11&key=bfc7224388e835679ffe74cfbd28c8d6&plugin=AMap.DistrictSearch"-->
<!-- type="text/javascript"></script>-->
<!-- <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>-->
<title>咸海生态治理国际科技产业合作信息化平台</title>
<!--[if lt IE 11]>
<script>window.location.href = '/html/ie.html';</script><![endif]-->
<script>
window.location.href = "/html/ie.html";
</script><!
[endif]-->
<style>
html,
body,
@ -60,7 +65,7 @@
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
border-top-color: #fff;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
@ -78,7 +83,7 @@
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
border-top-color: #fff;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
@ -95,7 +100,7 @@
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
border-top-color: #fff;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
@ -103,7 +108,6 @@
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
@ -132,13 +136,12 @@
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
background: #7171c6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
@ -153,21 +156,20 @@
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.loaded #loader {
@ -194,8 +196,8 @@
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-family: "Open Sans";
color: #fff;
font-size: 19px;
width: 100%;
text-align: center;
@ -210,22 +212,21 @@
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
color: #fff;
opacity: 0.5;
}
</style>
</head>
</head>
<body>
<div id="app">
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<!--<div class="load_title">正在加载系统资源,请耐心等待</div>-->
<!--<div class="load_title">正在加载系统资源,请耐心等待</div>-->
</div>
</div>
<script src="/src/main.js" type="module"></script>
</body>
</div>
<script src="/src/main.js" type="module"></script>
</body>
</html>

View File

@ -30,7 +30,7 @@ watch(
(newVal) => {
locale.value = newVal;
},
{ immediate: true }
{ immediate: true },
);
onMounted(() => {

View File

@ -32,7 +32,7 @@ export const getTechnologyDemandUpdateStatus = (params) =>
});
export const updateDemandProcess = (
data // 修改企业技术需求
data, // 修改企业技术需求
) =>
request({
url: "/app/broker/enterprise/updateDemandProcess",

View File

@ -23,7 +23,7 @@ export const activityInfo = (id) => {
url: "/app/expert/getActivityInfo",
method: "GET",
params: {
id
id,
},
});
};

View File

@ -46,7 +46,6 @@ export const deleteLabPatentByIds = (ids) => {
});
};
/**
* 实验室未绑定专家列表
* @param params
@ -72,7 +71,6 @@ export const bindExpert = (expertId) => {
});
};
/**
* 实验室未绑定专家列表
* @param params

View File

@ -1,12 +1,14 @@
import request from "@/utils/request";
export const listNews = (params) => request({
export const listNews = (params) =>
request({
url: "/app/news/list",
method: "GET",
params
});
params,
});
export const getNewsInfo = (id) => request({
export const getNewsInfo = (id) =>
request({
url: `/app/news/${id}`,
method: "GET",
})
});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
@import './variables.module.scss';
@import "./variables.module.scss";
@mixin colorBtn($color) {
background: $color;
@ -14,31 +14,31 @@
}
.blue-btn {
@include colorBtn($blue)
@include colorBtn($blue);
}
.light-blue-btn {
@include colorBtn($light-blue)
@include colorBtn($light-blue);
}
.red-btn {
@include colorBtn($red)
@include colorBtn($red);
}
.pink-btn {
@include colorBtn($pink)
@include colorBtn($pink);
}
.green-btn {
@include colorBtn($green)
@include colorBtn($green);
}
.tiffany-btn {
@include colorBtn($tiffany)
@include colorBtn($tiffany);
}
.yellow-btn {
@include colorBtn($yellow)
@include colorBtn($yellow);
}
.pan-btn {
@ -64,7 +64,7 @@
&:before,
&:after {
content: '';
content: "";
position: absolute;
top: 0;
right: 0;

View File

@ -69,7 +69,7 @@
// dropdown
.el-dropdown-menu {
a {
display: block
display: block;
}
}
@ -91,6 +91,6 @@
display: none;
}
.el-dropdown .el-dropdown-link{
.el-dropdown .el-dropdown-link {
color: var(--el-color-primary) !important;
}

View File

@ -23,11 +23,11 @@ $base-sub-menu-hover:#001528;
sideBarWidth: 200px;
logoTitleColor: #ffffff;
logoLightTitleColor: #001529;
primaryColor: #409EFF;
successColor: #67C23A;
dangerColor: #F56C6C;
primaryColor: #409eff;
successColor: #67c23a;
dangerColor: #f56c6c;
infoColor: #909399;
warningColor: #E6A23C;
warningColor: #e6a23c;
}
/* fade */
@ -44,7 +44,7 @@ $base-sub-menu-hover:#001528;
/* fade-transform */
.fade-transform-leave-active,
.fade-transform-enter-active {
transition: all .5s;
transition: all 0.5s;
}
.fade-transform-enter {
@ -60,7 +60,7 @@ $base-sub-menu-hover:#001528;
/* breadcrumb transition */
.breadcrumb-enter-active,
.breadcrumb-leave-active {
transition: all .5s;
transition: all 0.5s;
}
.breadcrumb-enter,
@ -70,7 +70,7 @@ $base-sub-menu-hover:#001528;
}
.breadcrumb-move {
transition: all .5s;
transition: all 0.5s;
}
.breadcrumb-leave-active {
@ -142,10 +142,10 @@ $base-sub-menu-hover:#001528;
}
.el-menu--collapse
> div
> .el-submenu
> .el-submenu__title
.el-submenu__icon-arrow {
> div
> .el-submenu
> .el-submenu__title
.el-submenu__icon-arrow {
display: none;
}
@ -155,7 +155,7 @@ $base-sub-menu-hover:#001528;
#app .main-container {
min-height: 100%;
transition: margin-left .28s;
transition: margin-left 0.28s;
margin-left: 200px;
position: relative;
}
@ -165,7 +165,7 @@ $base-sub-menu-hover:#001528;
}
#app .sidebar-container {
-webkit-transition: width .28s;
-webkit-transition: width 0.28s;
transition: width 0.28s;
width: 200px !important;
background-color: #304156;
@ -182,7 +182,10 @@ $base-sub-menu-hover:#001528;
}
#app .sidebar-container .horizontal-collapse-transition {
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
transition:
0s width ease-in-out,
0s padding-left ease-in-out,
0s padding-right ease-in-out;
}
#app .sidebar-container .scrollbar-wrapper {
@ -221,7 +224,8 @@ $base-sub-menu-hover:#001528;
width: 100% !important;
}
#app .sidebar-container .el-menu-item, #app .sidebar-container .menu-title {
#app .sidebar-container .el-menu-item,
#app .sidebar-container .menu-title {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
@ -250,12 +254,22 @@ $base-sub-menu-hover:#001528;
background-color: rgba(0, 0, 0, 0.06) !important;
}
#app .sidebar-container .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title,
#app
.sidebar-container
.theme-dark
.nest-menu
.el-sub-menu
> .el-sub-menu__title,
#app .sidebar-container .theme-dark .el-sub-menu .el-menu-item {
background-color: #1f2d3d !important;
}
#app .sidebar-container .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title:hover,
#app
.sidebar-container
.theme-dark
.nest-menu
.el-sub-menu
> .el-sub-menu__title:hover,
#app .sidebar-container .theme-dark .el-sub-menu .el-menu-item:hover {
background-color: #001528 !important;
}
@ -293,11 +307,21 @@ $base-sub-menu-hover:#001528;
margin-left: 20px;
}
#app .hideSidebar .el-menu--collapse .el-sub-menu > .el-sub-menu__title .svg-icon {
#app
.hideSidebar
.el-menu--collapse
.el-sub-menu
> .el-sub-menu__title
.svg-icon {
flex: 1;
}
#app .hideSidebar .el-menu--collapse .el-sub-menu > .el-sub-menu__title .svg-icon {
#app
.hideSidebar
.el-menu--collapse
.el-sub-menu
> .el-sub-menu__title
.svg-icon {
flex: unset !important;
}
@ -330,7 +354,7 @@ $base-sub-menu-hover:#001528;
}
#app .mobile .sidebar-container {
transition: transform .28s;
transition: transform 0.28s;
width: 200px !important;
}
@ -396,11 +420,11 @@ $base-sub-menu-hover:#001528;
sideBarWidth: 200px;
logoTitleColor: #ffffff;
logoLightTitleColor: #001529;
primaryColor: #409EFF;
successColor: #67C23A;
dangerColor: #F56C6C;
primaryColor: #409eff;
successColor: #67c23a;
dangerColor: #f56c6c;
infoColor: #909399;
warningColor: #E6A23C;
warningColor: #e6a23c;
}
.blue-btn {
@ -411,80 +435,87 @@ $base-sub-menu-hover:#001528;
color: #324157;
}
.blue-btn:hover:before, .blue-btn:hover:after {
.blue-btn:hover:before,
.blue-btn:hover:after {
background: #324157;
}
.light-blue-btn {
background: #3A71A8;
background: #3a71a8;
}
.light-blue-btn:hover {
color: #3A71A8;
color: #3a71a8;
}
.light-blue-btn:hover:before, .light-blue-btn:hover:after {
background: #3A71A8;
.light-blue-btn:hover:before,
.light-blue-btn:hover:after {
background: #3a71a8;
}
.red-btn {
background: #C03639;
background: #c03639;
}
.red-btn:hover {
color: #C03639;
color: #c03639;
}
.red-btn:hover:before, .red-btn:hover:after {
background: #C03639;
.red-btn:hover:before,
.red-btn:hover:after {
background: #c03639;
}
.pink-btn {
background: #E65D6E;
background: #e65d6e;
}
.pink-btn:hover {
color: #E65D6E;
color: #e65d6e;
}
.pink-btn:hover:before, .pink-btn:hover:after {
background: #E65D6E;
.pink-btn:hover:before,
.pink-btn:hover:after {
background: #e65d6e;
}
.green-btn {
background: #30B08F;
background: #30b08f;
}
.green-btn:hover {
color: #30B08F;
color: #30b08f;
}
.green-btn:hover:before, .green-btn:hover:after {
background: #30B08F;
.green-btn:hover:before,
.green-btn:hover:after {
background: #30b08f;
}
.tiffany-btn {
background: #4AB7BD;
background: #4ab7bd;
}
.tiffany-btn:hover {
color: #4AB7BD;
color: #4ab7bd;
}
.tiffany-btn:hover:before, .tiffany-btn:hover:after {
background: #4AB7BD;
.tiffany-btn:hover:before,
.tiffany-btn:hover:after {
background: #4ab7bd;
}
.yellow-btn {
background: #FEC171;
background: #fec171;
}
.yellow-btn:hover {
color: #FEC171;
color: #fec171;
}
.yellow-btn:hover:before, .yellow-btn:hover:after {
background: #FEC171;
.yellow-btn:hover:before,
.yellow-btn:hover:after {
background: #fec171;
}
.pan-btn {
@ -503,13 +534,15 @@ $base-sub-menu-hover:#001528;
background: #fff;
}
.pan-btn:hover:before, .pan-btn:hover:after {
.pan-btn:hover:before,
.pan-btn:hover:after {
width: 100%;
transition: 600ms ease all;
}
.pan-btn:before, .pan-btn:after {
content: '';
.pan-btn:before,
.pan-btn:after {
content: "";
position: absolute;
top: 0;
right: 0;
@ -611,7 +644,18 @@ $base-sub-menu-hover:#001528;
margin-left: 20px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
@ -629,7 +673,8 @@ $base-sub-menu-hover:#001528;
padding: 10px 20px 0;
}
.el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th {
.el-table .el-table__header-wrapper th,
.el-table .el-table__fixed-header-wrapper th {
word-break: break-word;
background-color: #f8f8f9 !important;
color: #515a6e;
@ -662,7 +707,7 @@ $base-sub-menu-hover:#001528;
.tree-border {
margin-top: 5px;
border: 1px solid #e5e6e7;
background: #FFFFFF none;
background: #ffffff none;
border-radius: 4px;
width: 100%;
}
@ -691,11 +736,12 @@ $base-sub-menu-hover:#001528;
/** 表格更多操作下拉样式 */
.el-table .el-dropdown-link {
cursor: pointer;
color: #409EFF;
color: #409eff;
margin-left: 10px;
}
.el-table .el-dropdown, .el-icon-arrow-down {
.el-table .el-dropdown,
.el-icon-arrow-down {
font-size: 12px;
}
@ -746,22 +792,22 @@ $base-sub-menu-hover:#001528;
/* button color */
.el-button--cyan.is-active,
.el-button--cyan:active {
background: #20B2AA;
border-color: #20B2AA;
color: #FFFFFF;
background: #20b2aa;
border-color: #20b2aa;
color: #ffffff;
}
.el-button--cyan:focus,
.el-button--cyan:hover {
background: #48D1CC;
border-color: #48D1CC;
color: #FFFFFF;
background: #48d1cc;
border-color: #48d1cc;
color: #ffffff;
}
.el-button--cyan {
background-color: #20B2AA;
border-color: #20B2AA;
color: #FFFFFF;
background-color: #20b2aa;
border-color: #20b2aa;
color: #ffffff;
}
/* text color */
@ -816,7 +862,7 @@ $base-sub-menu-hover:#001528;
/* 拖拽列样式 */
.sortable-ghost {
opacity: .8;
opacity: 0.8;
color: #fff !important;
background: #42b983 !important;
}
@ -832,7 +878,14 @@ body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
font-family:
Helvetica Neue,
Helvetica,
PingFang SC,
Hiragino Sans GB,
Microsoft YaHei,
Arial,
sans-serif;
}
label {
@ -924,7 +977,8 @@ aside {
display: block;
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@ -964,7 +1018,13 @@ aside a:hover {
text-align: right;
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(90deg, #20b6f9 0%, #20b6f9 0%, #2178f1 100%, #2178f1 100%);
background: linear-gradient(
90deg,
#20b6f9 0%,
#20b6f9 0%,
#2178f1 100%,
#2178f1 100%
);
}
.sub-navbar .subtitle {

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
@import './variables.module.scss';
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
@import './sidebar.scss';
@import './btn.scss';
@import './ruoyi.scss';
@import "./variables.module.scss";
@import "./mixin.scss";
@import "./transition.scss";
@import "./element-ui.scss";
@import "./sidebar.scss";
@import "./btn.scss";
@import "./ruoyi.scss";
body {
height: 100%;
@ -12,7 +12,14 @@ body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
font-family:
Helvetica Neue,
Helvetica,
PingFang SC,
Hiragino Sans GB,
Microsoft YaHei,
Arial,
sans-serif;
}
label {
@ -106,7 +113,8 @@ aside {
display: block;
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
@ -136,7 +144,7 @@ aside {
}
.text-center {
text-align: center
text-align: center;
}
.sub-navbar {
@ -147,7 +155,13 @@ aside {
text-align: right;
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
background: linear-gradient(
90deg,
rgba(32, 182, 249, 1) 0%,
rgba(32, 182, 249, 1) 0%,
rgba(33, 120, 241, 1) 100%,
rgba(33, 120, 241, 1) 100%
);
.subtitle {
font-size: 20px;
@ -192,8 +206,6 @@ aside {
z-index: 1000 !important;
}
// 自定义全局样式
.conter1000 {
width: 1000px;
@ -204,10 +216,10 @@ aside {
margin: 0 auto;
}
// 1行文本省略号
.ellipsis{
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
// 2行文本省略号
.text_hidden {
@ -223,19 +235,19 @@ aside {
border-radius: 0 !important;
background-color: #0054ff !important;
}
.x16{
.x16 {
font-size: 16px !important;
}
.x_fff{
.x_fff {
color: #fff !important;
}
.x_blue{
.x_blue {
color: #0054ff !important;
}
.x_border_blue{
.x_border_blue {
border: 1px solid #0054ff !important;
}
.x_bg_blue{
.x_bg_blue {
background-color: #0054ff !important;
}

View File

@ -44,21 +44,15 @@
border-bottom: $color-border-style;
border-left: $transparent-border-style;
border-right: $transparent-border-style;
}
@else if $direction==right {
} @else if $direction==right {
border-left: $color-border-style;
border-top: $transparent-border-style;
border-bottom: $transparent-border-style;
}
@else if $direction==down {
} @else if $direction==down {
border-top: $color-border-style;
border-left: $transparent-border-style;
border-right: $transparent-border-style;
}
@else if $direction==left {
} @else if $direction==left {
border-right: $color-border-style;
border-top: $transparent-border-style;
border-bottom: $transparent-border-style;

View File

@ -1,9 +1,9 @@
/**
/**
* 通用css样式布局处理
* Copyright (c) 2019 ruoyi
*/
/** 基础通用 **/
/** 基础通用 **/
.pt5 {
padding-top: 5px;
}
@ -53,7 +53,18 @@
margin-left: 20px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
@ -72,7 +83,8 @@
}
.el-table {
.el-table__header-wrapper, .el-table__fixed-header-wrapper {
.el-table__header-wrapper,
.el-table__fixed-header-wrapper {
th {
word-break: break-word;
background-color: #f8f8f9 !important;
@ -90,11 +102,11 @@
/** 表单布局 **/
.form-header {
font-size:15px;
color:#6379bb;
border-bottom:1px solid #ddd;
margin:8px 10px 25px 10px;
padding-bottom:5px
font-size: 15px;
color: #6379bb;
border-bottom: 1px solid #ddd;
margin: 8px 10px 25px 10px;
padding-bottom: 5px;
}
/** 表格布局 **/
@ -110,8 +122,8 @@
.tree-border {
margin-top: 5px;
border: 1px solid #e5e6e7;
background: #FFFFFF none;
border-radius:4px;
background: #ffffff none;
border-radius: 4px;
width: 100%;
}
@ -120,7 +132,7 @@
position: absolute;
}
@media ( max-width : 768px) {
@media (max-width: 768px) {
.pagination-container .el-pagination > .el-pagination__jump {
display: none !important;
}
@ -138,11 +150,12 @@
/** 表格更多操作下拉样式 */
.el-table .el-dropdown-link {
cursor: pointer;
color: #409EFF;
color: #409eff;
margin-left: 10px;
}
.el-table .el-dropdown, .el-icon-arrow-down {
.el-table .el-dropdown,
.el-icon-arrow-down {
font-size: 12px;
}
@ -193,22 +206,22 @@
/* button color */
.el-button--cyan.is-active,
.el-button--cyan:active {
background: #20B2AA;
border-color: #20B2AA;
color: #FFFFFF;
background: #20b2aa;
border-color: #20b2aa;
color: #ffffff;
}
.el-button--cyan:focus,
.el-button--cyan:hover {
background: #48D1CC;
border-color: #48D1CC;
color: #FFFFFF;
background: #48d1cc;
border-color: #48d1cc;
color: #ffffff;
}
.el-button--cyan {
background-color: #20B2AA;
border-color: #20B2AA;
color: #FFFFFF;
background-color: #20b2aa;
border-color: #20b2aa;
color: #ffffff;
}
/* text color */
@ -262,10 +275,10 @@
}
/* 拖拽列样式 */
.sortable-ghost{
opacity: .8;
color: #fff!important;
background: #42b983!important;
.sortable-ghost {
opacity: 0.8;
color: #fff !important;
background: #42b983 !important;
}
/* 表格右侧工具栏样式 */

View File

@ -1,18 +1,17 @@
#app {
.main-container {
min-height: 100%;
transition: margin-left .28s;
transition: margin-left 0.28s;
margin-left: $base-sidebar-width;
position: relative;
}
.sidebarHide {
margin-left: 0!important;
margin-left: 0 !important;
}
.sidebar-container {
-webkit-transition: width .28s;
-webkit-transition: width 0.28s;
transition: width 0.28s;
width: $base-sidebar-width !important;
background-color: $base-menu-background;
@ -24,12 +23,15 @@
left: 0;
z-index: 1001;
overflow: hidden;
-webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
box-shadow: 2px 0 6px rgba(0,21,41,.35);
-webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);
box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);
// reset element-ui css
.horizontal-collapse-transition {
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
transition:
0s width ease-in-out,
0s padding-left ease-in-out,
0s padding-right ease-in-out;
}
.scrollbar-wrapper {
@ -70,7 +72,8 @@
width: 100% !important;
}
.el-menu-item, .menu-title {
.el-menu-item,
.menu-title {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
@ -92,7 +95,7 @@
color: $base-menu-color-active !important;
}
& .nest-menu .el-sub-menu>.el-sub-menu__title,
& .nest-menu .el-sub-menu > .el-sub-menu__title,
& .el-sub-menu .el-menu-item {
min-width: $base-sidebar-width !important;
@ -101,7 +104,7 @@
}
}
& .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title,
& .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title,
& .theme-dark .el-sub-menu .el-menu-item {
background-color: $base-sub-menu-background !important;
@ -136,27 +139,26 @@
.el-sub-menu {
overflow: hidden;
&>.el-sub-menu__title {
& > .el-sub-menu__title {
padding: 0 !important;
.svg-icon {
margin-left: 20px;
}
}
}
.el-menu--collapse {
.el-sub-menu {
&>.el-sub-menu__title {
&>span {
& > .el-sub-menu__title {
& > span {
height: 0;
width: 0;
overflow: hidden;
visibility: hidden;
display: inline-block;
}
&>i {
& > i {
height: 0;
width: 0;
overflow: hidden;
@ -179,7 +181,7 @@
}
.sidebar-container {
transition: transform .28s;
transition: transform 0.28s;
width: $base-sidebar-width !important;
}
@ -193,7 +195,6 @@
}
.withoutAnimation {
.main-container,
.sidebar-container {
transition: none;
@ -203,13 +204,13 @@
// when menu collapsed
.el-menu--vertical {
&>.el-menu {
& > .el-menu {
.svg-icon {
margin-right: 16px;
}
}
.nest-menu .el-sub-menu>.el-sub-menu__title,
.nest-menu .el-sub-menu > .el-sub-menu__title,
.el-menu-item {
&:hover {
// you can use $sub-menuHover
@ -218,7 +219,7 @@
}
// the scroll bar appears when the sub-menu is too long
>.el-menu--popup {
> .el-menu--popup {
max-height: 100vh;
overflow-y: auto;

View File

@ -14,7 +14,7 @@
/* fade-transform */
.fade-transform-leave-active,
.fade-transform-enter-active {
transition: all .5s;
transition: all 0.5s;
}
.fade-transform-enter {
@ -30,7 +30,7 @@
/* breadcrumb transition */
.breadcrumb-enter-active,
.breadcrumb-leave-active {
transition: all .5s;
transition: all 0.5s;
}
.breadcrumb-enter,
@ -40,7 +40,7 @@
}
.breadcrumb-move {
transition: all .5s;
transition: all 0.5s;
}
.breadcrumb-leave-active {

View File

@ -1,12 +1,12 @@
// base color
$blue: #324157;
$light-blue: #3A71A8;
$red: #C03639;
$pink: #E65D6E;
$green: #30B08F;
$tiffany: #4AB7BD;
$yellow: #FEC171;
$panGreen: #30B08F;
$light-blue: #3a71a8;
$red: #c03639;
$pink: #e65d6e;
$green: #30b08f;
$tiffany: #4ab7bd;
$yellow: #fec171;
$panGreen: #30b08f;
// 默认菜单主题风格
$base-menu-color: #bfcbd9;
@ -36,10 +36,10 @@ $base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
$--color-primary: #409EFF;
$--color-success: #67C23A;
$--color-warning: #E6A23C;
$--color-danger: #F56C6C;
$--color-primary: #409eff;
$--color-success: #67c23a;
$--color-warning: #e6a23c;
$--color-danger: #f56c6c;
$--color-info: #909399;
$base-sidebar-width: 200px;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -41,7 +41,7 @@ function getBreadcrumb() {
}
levelList.value = matched.filter(
(item) => item.meta && item.meta.title && item.meta.breadcrumb !== false
(item) => item.meta && item.meta.title && item.meta.breadcrumb !== false,
);
}

View File

@ -100,7 +100,7 @@ const uploadFileUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload");
const headers = ref({});
const fileList = ref([]);
const showTip = computed(
() => props.isShowTip && (props.fileType || props.fileSize)
() => props.isShowTip && (props.fileType || props.fileSize),
);
watch(
@ -123,7 +123,7 @@ watch(
return [];
}
},
{ deep: true, immediate: true }
{ deep: true, immediate: true },
);
// 上传前校检格式和大小
@ -144,7 +144,7 @@ function handleBeforeUpload(file) {
// `文件格式不正确, 请上传${props.fileType.join("/")}格式文件!`
t("admin.validation.fileFormatIsIncorrectPleaseUploadFormatFile", {
format: props.fileType.join("/"),
})
}),
);
return false;
}

View File

@ -34,7 +34,7 @@ function filterIcons() {
iconList.value = icons;
if (iconName.value) {
iconList.value = icons.filter(
(item) => item.indexOf(iconName.value) !== -1
(item) => item.indexOf(iconName.value) !== -1,
);
}
}

View File

@ -59,11 +59,11 @@ const realSrcList = computed(() => {
});
const realWidth = computed(() =>
typeof props.width == "string" ? props.width : `${props.width}px`
typeof props.width == "string" ? props.width : `${props.width}px`,
);
const realHeight = computed(() =>
typeof props.height == "string" ? props.height : `${props.height}px`
typeof props.height == "string" ? props.height : `${props.height}px`,
);
</script>

View File

@ -98,7 +98,7 @@ const uploadImgUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload");
const headers = ref({ "client-token": "Bearer " + getToken() });
const fileList = ref([]);
const showTip = computed(
() => props.isShowTip && (props.fileType || props.fileSize)
() => props.isShowTip && (props.fileType || props.fileSize),
);
watch(
@ -126,7 +126,7 @@ watch(
return [];
}
},
{ deep: true, immediate: true }
{ deep: true, immediate: true },
);
// 删除图片
@ -169,7 +169,7 @@ function handleBeforeUpload(file) {
}
if (!isImg) {
proxy.$modal.msgError(
`文件格式不正确, 请上传${props.fileType.join("/")}图片格式文件!`
`文件格式不正确, 请上传${props.fileType.join("/")}图片格式文件!`,
);
return false;
}

View File

@ -212,7 +212,7 @@ export default {
});
if (!isTypeOk) {
ElMessage.error(
`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`
`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`,
);
return false;
}

View File

@ -72,7 +72,7 @@ export default {
const { t } = useI18n();
i18nChangeLanguage("en");
const placeholder = computed(() =>
t("admin.validation.pleaseEnterContent")
t("admin.validation.pleaseEnterContent"),
);
// 编辑器实例,必须用 shallowRef
const editorRef = shallowRef();
@ -87,7 +87,7 @@ export default {
(val) => {
valueHtml.value = val ?? "";
},
{ immediate: true }
{ immediate: true },
);
const { height } = toRefs(props);

View File

@ -1,8 +1,8 @@
<template>
<div class="webHead">
<div class="site-title">
<img class="site-logo" :src="sitelogo"/>
<span>{{ t('common.siteTitle') }}</span>
<img class="site-logo" :src="sitelogo" />
<span>{{ t("common.siteTitle") }}</span>
</div>
<el-row style="height: 80px">
<el-col :span="20">
@ -41,7 +41,7 @@
"
@click="
handlePath(
`/solution/${item.id}?name=${item[solutionNameField]}`
`/solution/${item.id}?name=${item[solutionNameField]}`,
)
"
>
@ -139,7 +139,7 @@
"
class="user-avatar"
/>
<i class="el-icon-caret-bottom"/>
<i class="el-icon-caret-bottom" />
</div>
<!-- </template> -->
<!-- </el-popover> -->
@ -195,16 +195,16 @@
</template>
<script setup>
import {computed, reactive, ref, watch} from "vue";
import {useRoute, useRouter} from "vue-router";
import { computed, reactive, ref, watch } from "vue";
import { useRoute, useRouter } from "vue-router";
import useUserStore from "@/store/modules/user";
import {getCategory} from "@/api/website/solution";
import {useI18n} from "vue-i18n";
import { getCategory } from "@/api/website/solution";
import { useI18n } from "vue-i18n";
import useSettingsStore from "@/store/modules/settings";
import defaultAvatar from "@/assets/logo/avatar.png";
import modal from "@/plugins/modal";
import sitelogo from "@/assets/logo/咸海logo.png"
import sitelogo from "@/assets/logo/咸海logo.png";
const userStore = useUserStore();
let state = reactive({});
@ -214,14 +214,14 @@ const router = useRouter();
const baseUrl = ref(import.meta.env.VITE_APP_BASE_API);
const categoryList = ref([]);
// 当前的语言
const {locale, t} = useI18n();
const { locale, t } = useI18n();
const solutionNameField = computed(() => {
return locale.value === "zh" ? "name" : `${locale.value}Name`;
});
const settingsStore = useSettingsStore();
const loadCategoryList = async () => {
const {data} = await getCategory();
const { data } = await getCategory();
categoryList.value = data;
};
loadCategoryList();
@ -229,7 +229,7 @@ watch(
() => route.path,
(newVal, oldVal) => {
pagePath.value = newVal;
}
},
);
pagePath.value = route.path;
@ -253,7 +253,7 @@ function handlePage() {
// routeData = router.resolve({ path: "/identity/index" });
// }
// window.open(routeData.href, "_blank");
const routeData = router.resolve({path: "/identity/index"});
const routeData = router.resolve({ path: "/identity/index" });
window.open(routeData.href, "_blank");
}
@ -279,8 +279,7 @@ function logout() {
location.href = "/";
});
})
.catch(() => {
});
.catch(() => {});
}
</script>
@ -361,7 +360,9 @@ dt {
display: inline-block;
padding: 25px 0;
font-size: 16px;
font-family: Source Han Sans CN, sans-serif;
font-family:
Source Han Sans CN,
sans-serif;
font-weight: 400;
color: #000;
cursor: pointer;

View File

@ -5,7 +5,9 @@
<el-col :span="8" v-for="item in state.list" :key="item.id">
<div class="tit">{{ item[titleField] }}</div>
<p v-for="subItem in item.children" :key="subItem.id">
<a :href="`${subItem.link}`" target="_black">{{ subItem[titleField] }}</a>
<a :href="`${subItem.link}`" target="_black">{{
subItem[titleField]
}}</a>
</p>
</el-col>
<!-- <el-col :span="4">
@ -37,7 +39,7 @@
</el-row>
<div class="icp-beian">
<el-link type="primary" href="https://beian.miit.gov.cn/"
>{{ t('footer.recordNumber')}}
>{{ t("footer.recordNumber") }}
</el-link>
</div>
</div>

View File

@ -4,9 +4,9 @@ import webContact_zh from "@/i18n/message/webContact/zh";
import webContact_ru from "@/i18n/message/webContact/ru";
import activity_ru from "@/i18n/message/activity/ru";
import activity_zh from "@/i18n/message/activity/zh";
import {admin_ru, admin_zh} from "@/i18n/message/admin";
import {routes_ru, routes_zh} from "@/i18n/message/routes";
import {tagsView_ru, tagsView_zh} from "@/i18n/message/tagsView";
import { admin_ru, admin_zh } from "@/i18n/message/admin";
import { routes_ru, routes_zh } from "@/i18n/message/routes";
import { tagsView_ru, tagsView_zh } from "@/i18n/message/tagsView";
import common_zh from "@/i18n/message/common/zh";
import common_ru from "@/i18n/message/common/ru";
import dict_zh from "@/i18n/message/dict/zh";
@ -39,7 +39,7 @@ const messages = {
switchSystem: "切换系统",
layoutSettings: "布局设置",
changeAvatar: "更换头像",
news: "新闻政策"
news: "新闻政策",
},
footer: {
copyRight: "中科云 版权所有",
@ -164,7 +164,7 @@ const messages = {
switchSystem: "Переключить систему",
layoutSettings: "Настройки макета",
changeAvatar: "Сменить аватар",
news: "Пресс-политика"
news: "Пресс-политика",
},
footer: {
copyRight: "Чжункейун Авторское право",

View File

@ -2,6 +2,7 @@ const table = {
enterTime: "Время входа",
researchIndustry: "Область исследований",
relatedExperts: "Связанные эксперты",
relatedLabs: "Аффилированные лаборатории",
// Связанный
relation: "Связанный",
publishTime: "Время публикации",

View File

@ -2,6 +2,7 @@ const table = {
enterTime: "入驻时间",
researchIndustry: "研究领域",
relatedExperts: "关联专家",
relatedLabs: "关联实验室",
// 关联
relation: "关联",
publishTime: "发布时间",

View File

@ -1,5 +1,5 @@
export const common = {
siteTitle:"咸海生态治理国际科技产业合作信息化平台",
siteTitle: "咸海生态治理国际科技产业合作信息化平台",
home: "首页",
search: "搜索",
viewDetails: "查看详情",

View File

@ -25,6 +25,6 @@ const home = {
// 政策解读
policyAnalyzing: "анализ политики",
// 通知公告
announcement: "объявление"
announcement: "объявление",
};
export default home;

View File

@ -21,7 +21,7 @@ const home = {
// 政策解读
policyAnalyzing: "政策解读",
// 通知公告
announcement: "通知公告"
announcement: "通知公告",
};
export default home;

View File

@ -31,7 +31,7 @@ const tips = {
// 下载文件出现错误,请联系管理员!
downloadFileError:
"Ошибка загрузки файла, пожалуйста, свяжитесь с администратором!",
importTip:"Инструкция по импорту",
importTip: "Инструкция по импорту",
keywordsImportTip:
"Ключевые слова/Приложения клиентов, разделенные символом | (искусственный интеллект|квантовые вычисления)",
industryImportTip:

View File

@ -26,7 +26,7 @@ const tips = {
backendInterfaceConnectionException: "后端接口连接异常",
// 下载文件出现错误,请联系管理员!
downloadFileError: "下载文件出现错误,请联系管理员!",
importTip:"导入说明",
importTip: "导入说明",
keywordsImportTip: "关键词/应用客户 多个用{'|'}隔开 (人工智能{'|'}量子计算)",
industryImportTip: "所属领域 (>拼接上下级 多个用{'|'}隔开) ",
industryImportExample:

View File

@ -120,7 +120,8 @@ const webSearch = {
// 后台暂未提供
noDataFromBackground: "Нет данных из фона",
// 中科云平台
zhongkeyunPlatform: "Информационная платформа международного сотрудничества в сфере науки и технологий, управления экологией Аральского моря",
zhongkeyunPlatform:
"Информационная платформа международного сотрудничества в сфере науки и технологий, управления экологией Аральского моря",
};
export default webSearch;

View File

@ -1,3 +0,0 @@

View File

@ -23,7 +23,7 @@ export default {
width: "100%",
height: "100%",
scrolling: "auto",
})
}),
);
},
};

View File

@ -116,7 +116,12 @@ const sideTheme = computed(() => settingsStore.sideTheme);
font-weight: 600;
line-height: 50px;
font-size: 14px;
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
font-family:
Avenir,
Helvetica Neue,
Arial,
Helvetica,
sans-serif;
vertical-align: middle;
}
}

View File

@ -28,7 +28,7 @@
hasTitle(
onlyOneChild.meta.i18nStr
? t(onlyOneChild.meta.i18nStr)
: onlyOneChild.meta.title
: onlyOneChild.meta.title,
)
"
>{{

View File

@ -58,7 +58,7 @@ function moveToTarget(currentTag) {
} else {
const tagListDom = document.getElementsByClassName("tags-view-item");
const currentIndex = visitedViews.value.findIndex(
(item) => item === currentTag
(item) => item === currentTag,
);
let prevTag = null;
let nextTag = null;

View File

@ -285,7 +285,9 @@ function handleScroll() {
width: 100%;
background: #fff;
border-bottom: 1px solid #d8dce5;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
box-shadow:
0 1px 3px 0 rgba(0, 0, 0, 0.12),
0 0 3px 0 rgba(0, 0, 0, 0.04);
.tags-view-wrapper {
.tags-view-item {

View File

@ -1,15 +1,15 @@
import router from "./router";
import {ElMessage} from "element-plus";
import { ElMessage } from "element-plus";
import NProgress from "nprogress";
import "nprogress/nprogress.css";
import {getToken} from "@/utils/auth";
import {isHttp} from "@/utils/validate";
import {isRelogin} from "@/utils/request";
import { getToken } from "@/utils/auth";
import { isHttp } from "@/utils/validate";
import { isRelogin } from "@/utils/request";
import useUserStore from "@/store/modules/user";
import useSettingsStore from "@/store/modules/settings";
import usePermissionStore from "@/store/modules/permission";
NProgress.configure({showSpinner: false});
NProgress.configure({ showSpinner: false });
const whiteList = [
"/login",
@ -40,7 +40,7 @@ router.beforeEach((to, from, next) => {
to.meta.title && useSettingsStore().setTitle(to.meta.title);
/* has token*/
if (to.path === "/login") {
next({path: "/"});
next({ path: "/" });
NProgress.done();
} else {
if (useUserStore().roles.length === 0) {
@ -61,7 +61,7 @@ router.beforeEach((to, from, next) => {
router.addRoute(route); // 动态添加可访问路由表
}
});
next({...to, replace: true}); // hack方法 确保addRoutes已完成
next({ ...to, replace: true }); // hack方法 确保addRoutes已完成
});
})
.catch((err) => {
@ -70,7 +70,7 @@ router.beforeEach((to, from, next) => {
.logOut()
.then(() => {
// ElMessage.error(err);
next({path: "/"});
next({ path: "/" });
});
});
} else {

View File

@ -1,4 +1,4 @@
import {createRouter, createWebHistory} from "vue-router";
import { createRouter, createWebHistory } from "vue-router";
/* Layout */
import Layout from "@/layout";
import basicInfo from "../views/admin/enterprise/account/basicInfo.vue";
@ -25,7 +25,7 @@ import i18n from "@/i18n";
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
}
*/
const {t} = i18n.global;
const { t } = i18n.global;
// 公共路由
export const constantRoutes = [
{
@ -200,14 +200,14 @@ export const constantRoutes = [
},
{
path: "news",
name: 'news-list',
name: "news-list",
component: () => import("../views/website/home/index.vue"),
},
{
path: "news/detail/:id",
name: 'news',
component: () => import("@/views/website/news/detail.vue")
}
name: "news",
component: () => import("@/views/website/news/detail.vue"),
},
],
},
@ -251,37 +251,37 @@ export const constantRoutes = [
path: "index",
component: () => import("@/views/identity/index"),
name: "index",
meta: {title: "身份选择"},
meta: { title: "身份选择" },
},
{
path: "enterprise",
component: () => import("@/views/identity/enterprise"),
name: "enterprise",
meta: {title: "企业入驻"},
meta: { title: "企业入驻" },
},
{
path: "expert",
component: () => import("@/views/identity/expert"),
name: "expert",
meta: {title: "专家入驻"},
meta: { title: "专家入驻" },
},
{
path: "research",
component: () => import("@/views/identity/research"),
name: "research",
meta: {title: "研究机构入驻"},
meta: { title: "研究机构入驻" },
},
{
path: "laboratory",
component: () => import("@/views/identity/laboratory"),
name: "laboratory",
meta: {title: "实验室入驻"},
meta: { title: "实验室入驻" },
},
{
path: "agent",
component: () => import("@/views/identity/agent"),
name: "agent",
meta: {title: "科技经纪人入驻"},
meta: { title: "科技经纪人入驻" },
},
],
}, //TODO:
@ -309,7 +309,7 @@ export const constantRoutes = [
path: "profile",
component: () => import("@/views/system/user/profile/index"),
name: "Profile",
meta: {title: "个人中心", icon: "user"},
meta: { title: "个人中心", icon: "user" },
},
],
},
@ -1351,7 +1351,7 @@ const router = createRouter({
if (savedPosition) {
return savedPosition;
} else {
return {top: 0};
return { top: 0 };
}
},
});

View File

@ -13,7 +13,7 @@ const useTagsViewStore = defineStore("tags-view", {
this.visitedViews.push(
Object.assign({}, view, {
title: view.meta.title || "no-name",
})
}),
);
},
addCachedView(view) {

View File

@ -19,7 +19,7 @@ export const getCity = async (provinceCode, cityCode, areaCode) => {
}),
]);
const provinceStr = resps[0].data.find(
(el) => el.provinceCode == provinceCode
(el) => el.provinceCode == provinceCode,
).provinceName;
// console.log(provinceStr);
const cityStr = resps[1].data.find((el) => el.cityCode == cityCode).cityName;

View File

@ -124,7 +124,7 @@ export function param(json) {
Object.keys(json).map((key) => {
if (json[key] === undefined) return "";
return encodeURIComponent(key) + "=" + encodeURIComponent(json[key]);
})
}),
).join("&");
}

View File

@ -23,7 +23,7 @@ export function checkPermi(value) {
return true;
} else {
console.error(
`need roles! Like checkPermi="['system:user:add','system:user:edit']"`
`need roles! Like checkPermi="['system:user:add','system:user:edit']"`,
);
return false;
}

View File

@ -88,7 +88,7 @@ service.interceptors.request.use(
(error) => {
console.log(error);
Promise.reject(error);
}
},
);
// 响应拦截器
@ -115,7 +115,7 @@ service.interceptors.response.use(
confirmButtonText: t("tips.reLogin"),
cancelButtonText: t("common.cancel"),
type: "warning",
}
},
)
.then(() => {
isRelogin.show = false;
@ -161,7 +161,7 @@ service.interceptors.response.use(
duration: 5 * 1000,
});
return Promise.reject(error);
}
},
);
// 通用下载方法

View File

@ -4,13 +4,13 @@ export function handleThemeStyle(theme) {
for (let i = 1; i <= 9; i++) {
document.documentElement.style.setProperty(
`--el-color-primary-light-${i}`,
`${getLightColor(theme, i / 10)}`
`${getLightColor(theme, i / 10)}`,
);
}
for (let i = 1; i <= 9; i++) {
document.documentElement.style.setProperty(
`--el-color-primary-dark-${i}`,
`${getDarkColor(theme, i / 10)}`
`${getDarkColor(theme, i / 10)}`,
);
}
}

View File

@ -37,7 +37,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.order"),
})
}),
),
trigger: "blur",
},
@ -51,7 +51,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.company"),
}),
})
}),
),
trigger: "blur",
},
@ -63,7 +63,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.companyTaxNumber"),
})
}),
),
trigger: "blur",
},
@ -74,7 +74,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.email"),
})
}),
),
trigger: "blur",
},
@ -170,7 +170,7 @@ const submit = () => {
ElMessage.success(
t("admin.common.success", {
action: t("identity.entrance.apply"),
})
}),
);
getList();
});

View File

@ -35,7 +35,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.common.company"),
})
}),
),
trigger: "blur",
},
@ -109,7 +109,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
number: id,
type: t("admin.common.company"),
})
}),
)
.then(() => {
return deleteBrokerEnterprise(id);
@ -222,13 +222,13 @@ getList();
})
}}
</el-button>
<!-- <el-button link type="text">-->
<!-- {{-->
<!-- t("admin.table.managementOf", {-->
<!-- type: t("admin.common.achievement"),-->
<!-- })-->
<!-- }}-->
<!-- </el-button>-->
<!-- <el-button link type="text">-->
<!-- {{-->
<!-- t("admin.table.managementOf", {-->
<!-- type: t("admin.common.achievement"),-->
<!-- })-->
<!-- }}-->
<!-- </el-button>-->
<el-button link type="text" @click="handleDelete(row.id)">
{{ t("admin.common.delete") }}
</el-button>

View File

@ -86,7 +86,7 @@
:autosize="{ minRows: 6, maxRows: 6 }"
:placeholder="
t(
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators'
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators',
)
"
></el-input>
@ -279,7 +279,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.common.demand") }),
})
}),
),
trigger: "blur",
},
@ -291,7 +291,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
trigger: "change",
},
@ -303,7 +303,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -315,7 +315,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contactPhone"),
})
}),
),
trigger: "blur",
},
@ -351,7 +351,7 @@ const data = reactive({
required: true,
/*"请选择截止时间"*/
message: computed(() =>
t("admin.form.pleaseSelect", { type: t("admin.table.deadline") })
t("admin.form.pleaseSelect", { type: t("admin.table.deadline") }),
),
trigger: ["change", "blur"],
},
@ -363,7 +363,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contactPhone"),
})
}),
),
trigger: "blur",
},

View File

@ -1,11 +1,11 @@
<script setup>
import {reactive, ref, toRefs} from "vue";
import { reactive, ref, toRefs } from "vue";
import dayjs from "dayjs";
import {useRoute, useRouter} from "vue-router";
import {technologyDemandList} from "@/api/admin/agent/service/technology-demand";
import {useI18n} from "vue-i18n";
import { useRoute, useRouter } from "vue-router";
import { technologyDemandList } from "@/api/admin/agent/service/technology-demand";
import { useI18n } from "vue-i18n";
const {t} = useI18n();
const { t } = useI18n();
const router = useRouter();
const route = useRoute();
const dataList = ref([]);
@ -21,7 +21,7 @@ const data = reactive({
enterpriseId: null,
},
});
const {queryParams} = toRefs(data);
const { queryParams } = toRefs(data);
const getList = async () => {
loading.value = true;
@ -50,8 +50,8 @@ const handleDetail = (id) => {
router.push({
path: "/admin/service/technology-demand-release",
query: {
id
}
id,
},
});
};

View File

@ -54,7 +54,7 @@ const getUpdateStatus = async (demandId) => {
});
updateStatusList.value = resp.data.sort((a, b) => a.sort - b.sort);
const reverseIndex = updateStatusList.value.findLastIndex(
(item) => item.status === "1"
(item) => item.status === "1",
);
active.value = reverseIndex === -1 ? 0 : reverseIndex;
};

View File

@ -45,7 +45,7 @@
:autosize="{ minRows: 6, maxRows: 8 }"
:placeholder="
t(
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators'
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators',
)
"
></el-input>

View File

@ -35,7 +35,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.company"),
}),
})
}),
),
trigger: "blur",
},

View File

@ -73,7 +73,7 @@
t(
`dict.${
orderTypeDict.find((item) => item.value === row.orderType).i18n
}`
}`,
)
}}
</template>
@ -309,7 +309,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.company"),
}),
})
}),
),
trigger: "blur",
},
@ -321,7 +321,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.companyTaxNumber"),
})
}),
),
trigger: "blur",
},
@ -340,7 +340,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.email"),
})
}),
),
trigger: "blur",
},
@ -360,7 +360,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.address"),
})
}),
),
trigger: "blur",
},
@ -372,7 +372,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contact"),
})
}),
),
trigger: "blur",
},
@ -384,7 +384,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contactPhone"),
})
}),
),
trigger: "blur",
},
@ -493,7 +493,7 @@ const handleDelete = (id) => {
action: t("admin.common.delete"),
type: t("admin.form.order"),
number: orderIds,
})
}),
)
.then(async () => {
await deleteCasDealLog(id);

View File

@ -198,7 +198,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.demand"),
}),
})
}),
),
trigger: "blur",
},
@ -210,7 +210,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
trigger: "blur",
},
@ -222,7 +222,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -234,7 +234,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contactPhone"),
})
}),
),
trigger: "blur",
},
@ -251,7 +251,7 @@ const data = reactive({
required: true,
/*"手机号不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.mobile") })
t("admin.validation.required", { type: t("admin.form.mobile") }),
),
trigger: "blur",
},

View File

@ -72,7 +72,7 @@
:autosize="{ minRows: 6, maxRows: 8 }"
:placeholder="
t(
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators'
'webSearch.pleaseEnterTheContentOfTheTechnicalRequirementsAndTheDetailedTechnicalIndicators',
)
"
></el-input>
@ -236,29 +236,30 @@
</template>
<script setup>
// import { expert } from "@/api/identity/index";
import {insertTechnologyDemand} from "@/api/admin/enterprise";
import {useI18n} from "vue-i18n";
import {useRoute, useRouter} from "vue-router";
import { insertTechnologyDemand } from "@/api/admin/enterprise";
import { useI18n } from "vue-i18n";
import { useRoute, useRouter } from "vue-router";
import FieldOptions from "@/views/components/FieldOptions";
import InputBoxAdd from "@/views/components/InputBoxAdd";
import {
computed,
getCurrentInstance, onActivated,
getCurrentInstance,
onActivated,
onMounted,
reactive,
ref,
toRefs,
} from "vue";
import {ElMessage} from "element-plus";
import {updateCount} from "@/api/admin/count";
import { ElMessage } from "element-plus";
import { updateCount } from "@/api/admin/count";
import {
getTechnologyDemand,
updateTechnologyDemand,
} from "@/api/admin/enterprise/demand";
import tab from "@/plugins/tab";
import {countryOptions} from "@/utils/parameter";
import { countryOptions } from "@/utils/parameter";
const {t, locale} = useI18n();
const { t, locale } = useI18n();
const router = useRouter();
const route = useRoute();
const data = reactive({
@ -280,7 +281,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.demand"),
}),
})
}),
),
trigger: "blur",
},
@ -292,7 +293,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
trigger: "change",
},
@ -304,7 +305,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -316,7 +317,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -332,7 +333,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webContact.demandContact"),
})
}),
),
trigger: "blur",
},
@ -341,7 +342,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.form.pleaseSelect", {type: t("webContact.demandType")})
t("admin.form.pleaseSelect", { type: t("webContact.demandType") }),
),
trigger: "change",
},
@ -350,7 +351,9 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", {type: t("webContact.demandBudget")})
t("admin.validation.required", {
type: t("webContact.demandBudget"),
}),
),
trigger: "blur",
},
@ -359,7 +362,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.form.pleaseSelect", {type: t("admin.table.deadline")})
t("admin.form.pleaseSelect", { type: t("admin.table.deadline") }),
),
trigger: ["change", "blur"],
},
@ -370,7 +373,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandSubmitterPhone"),
})
}),
),
trigger: "blur",
},
@ -378,12 +381,11 @@ const data = reactive({
},
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
const {proxy} = getCurrentInstance();
const { proxy } = getCurrentInstance();
const labelWidth = 160;
const formRef = ref(null);
const fieldFormRef = ref(null);
const directionsFormRef = ref(null);
@ -417,7 +419,7 @@ const submitForm = async (status) => {
// 返回技术需求列表
const backToList = () => {
tab.closeOpenPage({path: "/demand/technology"});
tab.closeOpenPage({ path: "/demand/technology" });
};
onActivated(() => {
@ -430,7 +432,7 @@ onActivated(() => {
}),
});
tab.updatePage(obj);
getTechnologyDemand({id: route.query.id}).then((resp) => {
getTechnologyDemand({ id: route.query.id }).then((resp) => {
form.value = resp.data;
if (!form.value.wants) {
form.value.wants = resp.data.want?.split(",") ?? [];
@ -445,7 +447,6 @@ onActivated(() => {
}
}
});
</script>
<style lang="scss" scoped>
:deep(.cooperation-mode) {

View File

@ -129,7 +129,7 @@ watch(
},
});
},
{ immediate: true }
{ immediate: true },
);
const data = reactive({
queryParams: {

View File

@ -173,7 +173,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
type: t("admin.form.order"),
number: id,
})
}),
)
.then(function () {
return demandDelete(postIds);
@ -197,7 +197,7 @@ const complete = (id) => {
action: t("common.finish"),
type: t("admin.common.item"),
number: id,
})
}),
)
.then(async () => {
await updateDemand({ id, status: 4 });

View File

@ -151,14 +151,14 @@ import {
technologyDemandList,
updateTechnologyDemand,
} from "@/api/admin/enterprise/demand";
import {ElMessage} from "element-plus";
import { ElMessage } from "element-plus";
import modal from "@/plugins/modal";
import {useRouter} from "vue-router";
import {useI18n} from "vue-i18n";
import {getCurrentInstance, reactive, ref, toRefs} from "vue";
import { useRouter } from "vue-router";
import { useI18n } from "vue-i18n";
import { getCurrentInstance, reactive, ref, toRefs } from "vue";
const {t} = useI18n();
const {proxy} = getCurrentInstance();
const { t } = useI18n();
const { proxy } = getCurrentInstance();
const router = useRouter();
const dataList = ref([]); // 企业技术需求列表
@ -173,7 +173,7 @@ const data = reactive({
},
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
const getList = async () => {
@ -198,7 +198,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
number: id,
type: t("admin.common.demand"),
})
}),
)
.then(() => {
console.log("delete");
@ -214,8 +214,8 @@ function handleDelete(id) {
}
const handleDetail = (id) => {
router.push(`/demand/releaseTechnology?id=${id}`)
}
router.push(`/demand/releaseTechnology?id=${id}`);
};
function handleShelf(row) {
let text =
@ -227,18 +227,17 @@ function handleShelf(row) {
action: text,
number: row.id,
type: t("admin.common.demand"),
})
}),
)
.then(function () {
let status = row.shelf_status == 1 ? 2 : 1;
return achievementShelf({id: row.id, status});
return achievementShelf({ id: row.id, status });
})
.then(() => {
getList();
ElMessage.success(t("admin.common.success", {action: text}));
ElMessage.success(t("admin.common.success", { action: text }));
})
.catch(() => {
});
.catch(() => {});
}
function handleResults(row) {
@ -258,19 +257,18 @@ const complete = (id) => {
action: t("common.finish"),
type: t("admin.common.item"),
number: id,
})
}),
)
.then(async () => {
await updateTechnologyDemand({id, status: 4});
await updateTechnologyDemand({ id, status: 4 });
getList();
ElMessage.success(
t("admin.common.success", {
action: t("common.finish"),
})
}),
);
})
.catch(() => {
});
.catch(() => {});
};
const cancelPub = (id) => {
modal
@ -280,17 +278,16 @@ const cancelPub = (id) => {
action: t("admin.table.cancelPublish"),
number: id,
type: t("admin.common.item"),
})
}),
)
.then(async () => {
await updateTechnologyDemand({id, status: 3});
await updateTechnologyDemand({ id, status: 3 });
getList();
ElMessage.success(
t("admin.common.success", {action: t("admin.table.cancelPublish")})
t("admin.common.success", { action: t("admin.table.cancelPublish") }),
);
})
.catch(() => {
});
.catch(() => {});
};
getList();
</script>

View File

@ -30,7 +30,7 @@
</el-radio-group>
<el-table v-loading="loading" :data="dataList" style="margin-top: 20px">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:label="t('admin.form.name', { type: t('admin.form.product') })"
prop="title"
@ -136,13 +136,13 @@ import {
getEnterpriseProduct,
updateEnterpriseProduct,
} from "@/api/admin/enterprise/product";
import {ElMessage} from "element-plus";
import { ElMessage } from "element-plus";
import modal from "@/plugins/modal";
import {onActivated, reactive, ref, toRefs} from "vue";
import {useRouter} from "vue-router";
import {useI18n} from "vue-i18n";
import { onActivated, reactive, ref, toRefs } from "vue";
import { useRouter } from "vue-router";
import { useI18n } from "vue-i18n";
const {t} = useI18n();
const { t } = useI18n();
const router = useRouter();
const dataList = ref([]);
const loading = ref(true);
@ -157,7 +157,7 @@ const data = reactive({
},
});
const {queryParams} = toRefs(data);
const { queryParams } = toRefs(data);
/** 查询列表 */
const getList = async () => {
@ -176,7 +176,7 @@ const handleDelete = (id) => {
action: t("admin.common.delete"),
number: id,
type: t("admin.form.product"),
})
}),
)
.then(async () => {
await deleteEnterpriseProduct(id);
@ -203,10 +203,10 @@ const releaseCancel = (id) => {
action: t("admin.table.cancelPublish"),
number: id,
type: t("admin.form.product"),
})
}),
)
.then(async () => {
await updateEnterpriseProduct({id, status: 3});
await updateEnterpriseProduct({ id, status: 3 });
ElMessage.success(t("tips.cancelReleaseSuccess"));
getList();
})
@ -225,32 +225,31 @@ const handleShelf = (row) => {
action: text,
number: row.id,
type: t("admin.form.product"),
})
}),
)
.then(function () {
let status = row.shelfStatus == 1 ? 2 : 1;
return updateEnterpriseProduct({id: row.id, shelfStatus: status});
return updateEnterpriseProduct({ id: row.id, shelfStatus: status });
})
.then(() => {
getList();
ElMessage.success(t("admin.common.success", {action: text}));
ElMessage.success(t("admin.common.success", { action: text }));
})
.catch(() => {
});
.catch(() => {});
};
const handleResults = (row) => {
router.push({path: "./results", query: {keyword: row.title}});
router.push({ path: "./results", query: { keyword: row.title } });
};
const handleDetails = (id) => {
router.push({
path: "/extension/release",
query: {
id
}
})
}
id,
},
});
};
const checkEnterpriseInfo = (id) => {
router.push({path: "./business"});
router.push({ path: "./business" });
};
onActivated(() => {

View File

@ -49,7 +49,7 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:label="t('admin.form.name', { type: t('admin.common.activity') })"
prop="title"
@ -94,22 +94,28 @@
</el-table-column>
<el-table-column :label="t('common.status')" align="center" prop="status">
<template #default="{ row }">
<el-tag type="success" v-if="row.status == 1">{{
t("common.show")
}}
<el-tag type="success" v-if="row.status == 1"
>{{ t("common.show") }}
</el-tag>
<el-tag type="danger" v-else-if="row.status == 2">{{
t("common.hide")
}}
<el-tag type="danger" v-else-if="row.status == 2"
>{{ t("common.hide") }}
</el-tag>
<el-tag type="info" v-else>{{ t("common.unknown") }}</el-tag>
</template>
</el-table-column>
<el-table-column v-if="false" :label="t('admin.common.operation')" align="center" prop="status">
<el-table-column
v-if="false"
:label="t('admin.common.operation')"
align="center"
prop="status"
>
<template #default="{ row }">
<el-button type="text" icon="view" @click="handleDetail(row.id)" size="small">{{
t("common.viewDetails")
}}
<el-button
type="text"
icon="view"
@click="handleDetail(row.id)"
size="small"
>{{ t("common.viewDetails") }}
</el-button>
</template>
</el-table-column>
@ -123,13 +129,18 @@
@pagination="getList"
/>
<el-dialog title="活动详情" v-model="showDialog" width="55%" destroy-on-close>
<el-dialog
title="活动详情"
v-model="showDialog"
width="55%"
destroy-on-close
>
<el-form ref="formRef" :model="form" label-width="120px">
<el-form-item label="活动名称:" prop="title">
<el-input v-model="form.title" placeholder="请输入活动名称"/>
<el-input v-model="form.title" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="联系人:" prop="contact">
<el-input v-model="form.contact" placeholder="请输入联系人"/>
<el-input v-model="form.contact" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="手机号码:" prop="contactMobile">
<el-input
@ -166,14 +177,8 @@
</el-date-picker>
</el-form-item>
<!-- 国家-->
<el-form-item
label="国家"
prop="country"
>
<el-select
v-model="form.country"
placeholder="请选择国家"
>
<el-form-item label="国家" prop="country">
<el-select v-model="form.country" placeholder="请选择国家">
<el-option
v-for="option in countryOptions"
:label="option.value"
@ -243,9 +248,9 @@
</el-row>
</el-form-item> -->
<el-form-item label="详细地址:" prop="address">
<el-input v-model="form.address" placeholder="请输入详细地址"/>
<el-input v-model="form.address" placeholder="请输入详细地址" />
</el-form-item>
<field-options v-model="form" ref="fieldOptionsRef"/>
<field-options v-model="form" ref="fieldOptionsRef" />
<!-- <el-form-item label="活动分类:" required>
<el-row type="flex" justify="space-between">
@ -318,7 +323,7 @@
/>
</el-form-item>
<el-form-item label="宣传图:" prop="image">
<ImageUpload v-model="form.image" :isShowTip="false" :limit="1"/>
<ImageUpload v-model="form.image" :isShowTip="false" :limit="1" />
</el-form-item>
<el-form-item label="活动简介:" prop="description">
<el-input
@ -352,19 +357,19 @@
</template>
<script setup>
import {activityInfo, activitysList} from "@/api/admin/expert";
import {useI18n} from "vue-i18n";
import {reactive, ref, toRefs} from "vue";
import {parseTime} from "@/utils/ruoyi";
import FieldOptions from "@/views/components/FieldOptions"
import { activityInfo, activitysList } from "@/api/admin/expert";
import { useI18n } from "vue-i18n";
import { reactive, ref, toRefs } from "vue";
import { parseTime } from "@/utils/ruoyi";
import FieldOptions from "@/views/components/FieldOptions";
const {t} = useI18n();
const { t } = useI18n();
const dataList = ref([]);
const loading = ref(true);
const showSearch = ref(true);
const total = ref(0);
const queryRef = ref();
const showDialog = ref(false)
const showDialog = ref(false);
const data = reactive({
queryParams: {
pageNum: 1,
@ -373,10 +378,10 @@ const data = reactive({
title: undefined,
status: undefined,
},
form: {}
form: {},
});
const {queryParams, form} = toRefs(data);
const { queryParams, form } = toRefs(data);
/** 查询数据列表 */
const getList = async () => {
@ -402,11 +407,11 @@ function resetQuery() {
}
const handleDetail = (id) => {
activityInfo(id).then(resp => {
form.value = resp.data
showDialog.value = true
})
}
activityInfo(id).then((resp) => {
form.value = resp.data;
showDialog.value = true;
});
};
getList();
</script>

View File

@ -323,7 +323,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.achievement"),
}),
})
}),
),
trigger: "blur",
},
@ -334,7 +334,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.form.maturity"),
})
}),
),
trigger: "change",
},
@ -343,7 +343,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.form.placeholder", { type: t("admin.form.country") })
t("admin.form.placeholder", { type: t("admin.form.country") }),
),
trigger: "blur",
},
@ -355,7 +355,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.form.leadership"),
})
}),
),
trigger: "change",
},
@ -368,7 +368,7 @@ const data = reactive({
type: t("admin.form.introduction", {
type: t("admin.common.achievement"),
}),
})
}),
),
trigger: "blur",
},
@ -385,7 +385,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.form.placeholder", { type: t("webSearch.unit") })
t("admin.form.placeholder", { type: t("webSearch.unit") }),
),
trigger: "blur",
},

View File

@ -220,7 +220,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", { type: t("admin.common.company") })
t("admin.validation.required", { type: t("admin.common.company") }),
),
trigger: "blur",
},
@ -232,7 +232,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.table.relatedPaper"),
})
}),
),
trigger: ["blur", "change"],
},
@ -245,7 +245,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.table.relatedPatent"),
})
}),
),
trigger: ["blur", "change"],
},
@ -327,7 +327,7 @@ function handleDelete(id) {
type: t("admin.common.item"),
number: id,
action: t("admin.common.delete"),
})
}),
)
.then(function () {
return deleteExpertCooperateEnterpriseByIds(id);

View File

@ -189,7 +189,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", { type: t("webSearch.demandType") })
t("admin.validation.required", { type: t("webSearch.demandType") }),
),
},
],
@ -202,7 +202,7 @@ const data = reactive({
type: t("webSearch.name", {
type: t("admin.common.demand"),
}),
})
}),
),
trigger: "blur",
},
@ -215,7 +215,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
},
],
@ -226,7 +226,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -235,7 +235,7 @@ const data = reactive({
{
required: true,
/*"联系人手机号不能为空"*/ message: computed(() =>
t("admin.form.contactPhone")
t("admin.form.contactPhone"),
),
trigger: "blur",
},
@ -254,7 +254,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -264,7 +264,7 @@ const data = reactive({
required: true,
/*"需求联系人手机号不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.mobile") })
t("admin.validation.required", { type: t("admin.form.mobile") }),
),
trigger: "blur",
},

View File

@ -79,7 +79,7 @@
>
{{ t("admin.common.delete") }}
</el-button>
<!-- TODO:-->
<!-- TODO:-->
<el-button
v-if="queryParams.type == 1 && false"
icon="Close"
@ -174,7 +174,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
type: t("admin.form.order"),
number: id,
})
}),
)
.then(function () {
return demandDelete(postIds);
@ -199,7 +199,7 @@ const complete = (id) => {
action: t("common.finish"),
type: t("admin.common.item"),
number: id,
})
}),
)
.then(async () => {
await updateDemand({ id, status: 4 });

View File

@ -212,7 +212,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.company"),
}),
})
}),
),
trigger: "blur",
},
@ -224,7 +224,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.cooperationContent"),
})
}),
),
trigger: "blur",
},
@ -262,7 +262,7 @@ function handleDelete(id) {
type: t("admin.common.item"),
number: id,
action: t("admin.common.delete"),
})
}),
)
.then(async () => {
await deleteExpertWantEnterpriseByIds({ ids: [id] });

View File

@ -30,14 +30,14 @@
</el-radio-group>
<el-table v-loading="loading" :data="dataList" style="margin-top: 20px">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:label="t('admin.form.name', { type: t('admin.common.achievement') })"
prop="title"
/>
<el-table-column :label="t('admin.form.keywords')" prop="keyword"/>
<el-table-column :label="t('admin.form.keywords')" prop="keyword" />
<!-- <el-zh-column label="浏览量" prop="visitCount" /> -->
<el-table-column :label="t('admin.form.industry')" prop="industryStr"/>
<el-table-column :label="t('admin.form.industry')" prop="industryStr" />
<el-table-column
:label="t('admin.table.publishTime')"
prop="createTime"
@ -70,18 +70,18 @@
@click="handleDetails(row.id)"
>{{ t("common.details") }}
</el-button>
<!-- <el-button-->
<!-- v-if="queryParams.status == 1"-->
<!-- :icon="row.shelfStatus == 1 ? `Download` : `Upload`"-->
<!-- size="small"-->
<!-- type="text"-->
<!-- @click="handleShelf(row)"-->
<!-- >{{-->
<!-- row.shelfStatus == 1-->
<!-- ? t("admin.table.putOn")-->
<!-- : t("admin.table.putOff")-->
<!-- }}-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- v-if="queryParams.status == 1"-->
<!-- :icon="row.shelfStatus == 1 ? `Download` : `Upload`"-->
<!-- size="small"-->
<!-- type="text"-->
<!-- @click="handleShelf(row)"-->
<!-- >{{-->
<!-- row.shelfStatus == 1-->
<!-- ? t("admin.table.putOn")-->
<!-- : t("admin.table.putOff")-->
<!-- }}-->
<!-- </el-button>-->
<el-button
v-if="queryParams.status != 0"
icon="Delete"
@ -127,18 +127,18 @@ import {
expertAchievementList,
updateExpertAchievement,
} from "@/api/admin/expert/achievement";
import {ElMessage} from "element-plus";
import { ElMessage } from "element-plus";
import modal from "@/plugins/modal"; // import { update } from "lodash-unified";
import {useRouter} from "vue-router";
import {onActivated, reactive} from "vue";
import {useI18n} from "vue-i18n";
import { useRouter } from "vue-router";
import { onActivated, reactive } from "vue";
import { useI18n } from "vue-i18n";
import dayjs from "dayjs";
const router = useRouter();
const dataList = ref([]);
const loading = ref(true);
const total = ref(0);
const {t} = useI18n();
const { t } = useI18n();
const data = reactive({
queryParams: {
pageNum: 1,
@ -147,7 +147,7 @@ const data = reactive({
},
});
const {queryParams} = toRefs(data);
const { queryParams } = toRefs(data);
/** 查询列表 */
const getList = async () => {
@ -177,10 +177,10 @@ const handleDelete = (id) => {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.achievement"),
})
}),
)
.then(async () => {
await deleteAchievementByIds({ids: [id]});
await deleteAchievementByIds({ ids: [id] });
getList();
ElMessage.success(t("admin.common.deleteSuccess"));
});
@ -197,16 +197,16 @@ function handleShelf(row) {
number: row.id,
action: text,
type: t("admin.common.achievement"),
})
}),
)
.then(async () => {
const shelfStatus = row.shelfStatus == 1 ? 2 : 1;
await updateExpertAchievement({id: row.id, shelfStatus});
await updateExpertAchievement({ id: row.id, shelfStatus });
getList();
ElMessage.success(
t("admin.common.success", {
action: text,
})
}),
);
});
}
@ -220,10 +220,10 @@ const handleCancelPublish = (id) => {
number: id,
action: t("admin.table.cancelPublish"),
type: t("admin.common.achievement"),
})
}),
)
.then(async () => {
await updateExpertAchievement({id, status: "3"});
await updateExpertAchievement({ id, status: "3" });
ElMessage.success(t("tips.cancelReleaseSuccess"));
getList();
});
@ -231,15 +231,14 @@ const handleCancelPublish = (id) => {
// handleQuery();
};
const handleDetails = (id) => {
router.push({
path: `/technology/release`,
query: {
id
}
})
}
id,
},
});
};
function handleResults(row) {
router.push({

View File

@ -202,7 +202,7 @@ function handleDelete(row) {
type: t("admin.common.item"),
number: row.id,
action: t("admin.common.delete"),
})
}),
)
.then(function () {
return delRole(roleIds);

View File

@ -234,7 +234,7 @@ const data = reactive({
required: true,
/*"论文题目不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.paperTitle") })
t("admin.validation.required", { type: t("admin.form.paperTitle") }),
),
trigger: "blur",
},
@ -246,7 +246,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.publication"),
})
}),
),
trigger: "blur",
},
@ -256,7 +256,7 @@ const data = reactive({
required: true,
/*"作者不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.author") })
t("admin.validation.required", { type: t("admin.form.author") }),
),
trigger: "blur",
},
@ -268,7 +268,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.publishDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -280,7 +280,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.summary"),
})
}),
),
trigger: "blur",
},
@ -321,7 +321,7 @@ function handleDelete(id) {
type: t("admin.common.item"),
number: id,
action: t("admin.common.delete"),
})
}),
)
.then(async () => {
await deleteCasPaper(id);

View File

@ -361,7 +361,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.applicant"),
})
}),
),
trigger: "blur",
},
@ -373,7 +373,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.applicantAddress"),
})
}),
),
trigger: "blur",
},
@ -385,7 +385,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.publicationNumber"),
})
}),
),
trigger: "blur",
},
@ -397,7 +397,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.publicationDate"),
})
}),
),
trigger: "blur",
},
@ -407,7 +407,7 @@ const data = reactive({
required: true,
/*"发明人不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.inventor") })
t("admin.validation.required", { type: t("admin.form.inventor") }),
),
trigger: "blur",
},
@ -421,7 +421,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.patent"),
}),
})
}),
),
trigger: "blur",
},
@ -433,7 +433,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.applicationNumber"),
})
}),
),
trigger: "blur",
},
@ -445,7 +445,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.applicationDate"),
})
}),
),
trigger: "blur",
},
@ -457,7 +457,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.patentType"),
})
}),
),
trigger: "change",
},
@ -469,7 +469,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.ipc"),
})
}),
),
trigger: "blur",
},
@ -481,7 +481,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.pleaseSelect", {
type: t("webSearch.patentStatus"),
})
}),
),
trigger: "change",
},
@ -491,7 +491,7 @@ const data = reactive({
required: true,
/*"摘要不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.summary") })
t("admin.validation.required", { type: t("admin.form.summary") }),
),
trigger: "blur",
},
@ -503,7 +503,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.sovereignItem"),
})
}),
),
trigger: "blur",
},
@ -550,7 +550,7 @@ function handleDelete(id) {
type: t("admin.common.patent"),
action: t("admin.common.delete"),
number: id,
})
}),
)
.then(function () {
return deleteCasPatentByIds(id);

View File

@ -353,7 +353,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.researchProject"),
}),
})
}),
),
trigger: "blur",
},
@ -365,7 +365,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.funding"),
})
}),
),
trigger: "blur",
},
@ -377,7 +377,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.fundingSource"),
})
}),
),
trigger: "blur",
},
@ -388,7 +388,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.table.startDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -399,7 +399,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.table.endDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -408,7 +408,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.projectType") })
t("admin.validation.required", { type: t("admin.form.projectType") }),
),
trigger: "blur",
},
@ -419,7 +419,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.topicLeader"),
})
}),
),
trigger: "blur",
},
@ -430,7 +430,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.projectIntroduction"),
})
}),
),
trigger: "blur",
},
@ -474,7 +474,7 @@ function handleShelf(row) {
type: t("admin.common.researchProject"),
action: text,
number: row.id,
})
}),
)
.then(() => {
const shelfStatus = row.shelfStatus == 1 ? 2 : 1;
@ -485,7 +485,7 @@ function handleShelf(row) {
ElMessage.success(
t("admin.common.success", {
action: text,
})
}),
);
})
.catch((err) => {
@ -501,7 +501,7 @@ function handleDelete(id) {
type: t("admin.common.researchProject"),
action: t("admin.common.delete"),
number: id,
})
}),
)
.then(async () => {
await deleteTechnologyProjectByIds({ ids: [id] });

View File

@ -163,7 +163,7 @@
>{{ t("tips.downloadTemplate") }}
</el-link>
<br />
<span>{{ t('tips.importTip') }}</span>
<span>{{ t("tips.importTip") }}</span>
<ol style="text-align: left">
<li>{{ t("tips.keywordsImportTip") }}</li>
<li>
@ -282,7 +282,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
type: t("admin.common.achievement"),
number: id,
})
}),
)
.then(function () {
return deleteAchievements(id);
@ -334,7 +334,7 @@ const handleFileSuccess = (response, file, fileList) => {
response.msg +
"</div>",
t("tips.importResult"),
{ dangerouslyUseHTMLString: true }
{ dangerouslyUseHTMLString: true },
);
getList();
};

View File

@ -105,13 +105,13 @@
</el-form-item>
</el-form>
<el-table :data="notBindExpertList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:show-overflow-tooltip="true"
:label="t('admin.form.name', { type: t('admin.common.expert') })"
prop="name"
/>
<el-table-column :label="t('webContact.phone')" prop="mobile"/>
<el-table-column :label="t('webContact.phone')" prop="mobile" />
<el-table-column
:label="t('admin.table.researchIndustry')"
prop="industryStr"
@ -150,13 +150,13 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:show-overflow-tooltip="true"
:label="t('admin.form.name', { type: t('admin.common.expert') })"
prop="name"
/>
<el-table-column :label="t('webContact.phone')" prop="mobile"/>
<el-table-column :label="t('webContact.phone')" prop="mobile" />
<el-table-column
:label="t('admin.table.researchIndustry')"
prop="industryStr"
@ -266,9 +266,9 @@
</template>
<script setup>
import {ElMessage, ElMessageBox} from "element-plus";
import {useRouter} from "vue-router";
import {reactive, ref, toRefs} from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { useRouter } from "vue-router";
import { reactive, ref, toRefs } from "vue";
import InputBoxAdd from "@/views/components/InputBoxAdd/index.vue";
import {
bindExpert,
@ -277,12 +277,12 @@ import {
selectNotBindLaboratory,
} from "@/api/admin/laboratory/expert";
import Pagination from "@/components/Pagination/index.vue";
import {useI18n} from "vue-i18n";
import { useI18n } from "vue-i18n";
import dayjs from "dayjs";
import modal from "@/plugins/modal";
const router = useRouter();
const {t} = useI18n();
const { t } = useI18n();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
@ -302,7 +302,7 @@ const data = reactive({
rules: {},
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
const queryRef = ref();
@ -333,7 +333,7 @@ function resetQuery() {
pageNum: 1,
pageSize: 10,
name: undefined,
}
};
handleQuery();
}
@ -345,7 +345,7 @@ function handleDeleteBind(id) {
action: t("admin.table.cancelRelation"),
type: t("admin.common.expert"),
number: id,
})
}),
)
.then(function () {
return deleteBindExpert(id);
@ -355,7 +355,7 @@ function handleDeleteBind(id) {
ElMessage.success(
t("admin.common.success", {
action: t("admin.table.cancelRelation"),
})
}),
);
})
.catch((err) => {
@ -432,7 +432,7 @@ const submitBind = (id) => {
action: t("admin.table.relation"),
type: t("admin.common.expert"),
number: id,
})
}),
)
.then(function () {
return bindExpert(id);
@ -443,7 +443,7 @@ const submitBind = (id) => {
/*"关联成功"*/
t("admin.common.success", {
action: t("admin.table.relation"),
})
}),
);
})
.catch((err) => {

View File

@ -234,7 +234,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.common.equipment") }),
})
}),
),
trigger: "blur",
},
@ -245,7 +245,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.form.model") }),
})
}),
),
trigger: "blur",
},
@ -256,7 +256,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.achievementParameter"),
})
}),
),
trigger: "blur",
},
@ -268,7 +268,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.buyDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -309,7 +309,7 @@ function handleDelete(row) {
number: row.deviceId,
action: t("admin.common.delete"),
type: t("admin.common.equipment"),
})
}),
)
.then(function () {
return deleteEquipment([row.deviceId]);

View File

@ -207,7 +207,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.paperTitle") })
t("admin.validation.required", { type: t("admin.form.paperTitle") }),
),
trigger: "blur",
},
@ -217,7 +217,7 @@ const data = reactive({
required: true,
/*"刊物不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.publication") })
t("admin.validation.required", { type: t("admin.form.publication") }),
),
trigger: "blur",
},
@ -229,7 +229,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.author"),
})
}),
),
trigger: "blur",
},
@ -241,7 +241,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.table.publishDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -287,7 +287,7 @@ function handleDelete(id) {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.paper"),
})
}),
)
.then(function () {
return deletePaper(id);

View File

@ -97,7 +97,7 @@ getList();
t(
`dict.${
seeLogTypeDict.find((item) => item.value === row.type)?.i18n
}`
}`,
)
}}</span>
</template>

View File

@ -333,7 +333,7 @@ function handleDelete(id) {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.patent"),
})
}),
)
.then(function () {
return deleteLabPatentByIds(id);

View File

@ -8,14 +8,18 @@
@submit.prevent
>
<el-form-item
:label="t('admin.form.name', { type: t('admin.common.researchProject') })"
:label="
t('admin.form.name', { type: t('admin.common.researchProject') })
"
prop="name"
>
<el-input
v-model="queryParams.name"
clearable
:placeholder="
t('admin.form.placeholder', { type: t('admin.common.researchProject') })
t('admin.form.placeholder', {
type: t('admin.common.researchProject'),
})
"
size="small"
style="width: 240px"
@ -184,7 +188,7 @@ function handleDelete(id) {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.researchProject"),
})
}),
)
.then(function () {
return deleteTechnologyProject(id);

View File

@ -164,7 +164,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.demand"),
}),
})
}),
),
trigger: "blur",
},
@ -176,7 +176,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
trigger: "blur",
},
@ -188,7 +188,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -200,7 +200,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.contactPhone"),
})
}),
),
trigger: "blur",
},
@ -219,7 +219,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.mobile"),
})
}),
),
trigger: "blur",
},

View File

@ -181,7 +181,7 @@ function handleDelete(id) {
type: t("admin.common.patent"),
action: t("admin.common.delete"),
number: id,
})
}),
)
.then(function () {
return deleteLabPatentByIds(id);

View File

@ -91,7 +91,7 @@ getList();
t(
`dict.${
seeLogTypeDict.find((item) => item.value === row.type)?.i18n
}`
}`,
)
}}</span>
</template>

View File

@ -153,7 +153,7 @@
</div>
<div class="el-upload__tip text-center">
<br />
<span>{{ t('tips.importTip') }}</span>
<span>{{ t("tips.importTip") }}</span>
<ol style="text-align: left">
<li>{{ t("tips.keywordsImportTip") }}</li>
<li>
@ -267,7 +267,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
type: t("admin.common.achievement"),
number: id,
})
}),
)
.then(function () {
return deleteAchievements(id);
@ -316,7 +316,7 @@ const handleFileSuccess = (response, file, fileList) => {
response.msg +
"</div>",
t("tips.importResult"),
{ dangerouslyUseHTMLString: true }
{ dangerouslyUseHTMLString: true },
);
getList();
};

View File

@ -38,7 +38,12 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button icon="plus" size="small" type="primary" @click="handleAddBind">
<el-button
icon="plus"
size="small"
type="primary"
@click="handleAddBind"
>
{{ t("admin.table.relatedExperts") }}
</el-button>
</el-col>
@ -97,13 +102,13 @@
</el-form-item>
</el-form>
<el-table :data="notBindExpertList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:show-overflow-tooltip="true"
:label="t('admin.form.name', { type: t('admin.common.expert') })"
prop="name"
/>
<el-table-column :label="t('webContact.phone')" prop="mobile"/>
<el-table-column :label="t('webContact.phone')" prop="mobile" />
<el-table-column
:label="t('admin.table.researchIndustry')"
prop="industryStr"
@ -142,13 +147,13 @@
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:show-overflow-tooltip="true"
:label="t('admin.form.name', { type: t('admin.common.expert') })"
prop="name"
/>
<el-table-column :label="t('webContact.phone')" prop="mobile"/>
<el-table-column :label="t('webContact.phone')" prop="mobile" />
<el-table-column
:label="t('admin.table.researchIndustry')"
prop="industryStr"
@ -253,18 +258,22 @@
</template>
<script setup>
import {ElMessage} from "element-plus";
import { ElMessage } from "element-plus";
import modal from "@/plugins/modal";
import {useRouter} from "vue-router";
import {reactive, ref, toRefs} from "vue";
import { useRouter } from "vue-router";
import { reactive, ref, toRefs } from "vue";
import InputBoxAdd from "@/views/components/InputBoxAdd/index.vue";
import {deleteBindExpert, expertList, selectNotBindResearch, bindExpert} from "@/api/admin/research/expert";
import {useI18n} from "vue-i18n";
import {
deleteBindExpert,
expertList,
selectNotBindResearch,
bindExpert,
} from "@/api/admin/research/expert";
import { useI18n } from "vue-i18n";
import dayjs from "dayjs";
import Pagination from "@/components/Pagination/index.vue";
const {t} = useI18n();
const { t } = useI18n();
const router = useRouter();
const dataList = ref([]);
@ -297,7 +306,7 @@ const data = reactive({
rules: {},
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
const queryRef = ref();
@ -335,7 +344,7 @@ function handleDeleteBind(id) {
type: t("admin.common.expert"),
number: id,
action: t("admin.table.cancelRelation"),
})
}),
)
.then(function () {
return deleteBindExpert(id);
@ -444,7 +453,7 @@ const submitBind = (id) => {
action: t("admin.table.relation"),
type: t("admin.common.expert"),
number: id,
})
}),
)
.then(function () {
return bindExpert(id);
@ -455,7 +464,7 @@ const submitBind = (id) => {
/*"关联成功"*/
t("admin.common.success", {
action: t("admin.table.relation"),
})
}),
);
})
.catch((err) => {

View File

@ -44,9 +44,9 @@
size="small"
type="primary"
@click="handleAddBind"
> {{ t('admin.table.relation') }}
</el-button
>
{{ t("admin.table.relation") }}
</el-button>
</el-col>
<right-toolbar
v-model:showSearch="showSearch"
@ -103,7 +103,7 @@
<el-button size="small" type="text" @click="handleCancelBind(row)"
>{{ t("admin.table.unbind") }}
<template #icon>
<svg-icon icon-class="broken_link"/>
<svg-icon icon-class="broken_link" />
</template>
</el-button>
</template>
@ -195,11 +195,10 @@
</template>
</el-dialog>
<!-- 关联未被关联的专家 -->
<el-dialog
v-model="showExpertDialog"
:title="t('admin.table.relatedExperts')"
:title="t('admin.table.relatedLabs')"
@close="resetQuery"
>
<el-form
@ -245,13 +244,13 @@
</el-form-item>
</el-form>
<el-table :data="notBindExpertList">
<el-table-column :label="t('admin.common.dataNumber')" prop="id"/>
<el-table-column :label="t('admin.common.dataNumber')" prop="id" />
<el-table-column
:show-overflow-tooltip="true"
:label="t('admin.form.name', { type: t('admin.common.expert') })"
prop="name"
/>
<el-table-column :label="t('webContact.phone')" prop="mobile"/>
<el-table-column :label="t('webContact.phone')" prop="mobile" />
<el-table-column
:label="t('admin.table.researchIndustry')"
prop="industryStr"
@ -291,9 +290,9 @@
</template>
<script setup>
import {computed, reactive, ref, toRefs} from "vue";
import {useRouter} from "vue-router";
import {ElMessage} from "element-plus";
import { computed, reactive, ref, toRefs } from "vue";
import { useRouter } from "vue-router";
import { ElMessage } from "element-plus";
import modal from "@/plugins/modal";
import {
deleteEquipment,
@ -306,12 +305,17 @@ import {
} from "@/api/admin/research/laboratory";
import SvgIcon from "@/components/SvgIcon/index.vue";
import {useI18n} from "vue-i18n";
import { useI18n } from "vue-i18n";
import dayjs from "dayjs";
import {bindExpert, bindLaboratory, selectLabNotBindResearch, selectNotBindResearch} from "@/api/admin/research/expert";
import {
bindExpert,
bindLaboratory,
selectLabNotBindResearch,
selectNotBindResearch,
} from "@/api/admin/research/expert";
import Pagination from "@/components/Pagination/index.vue";
const {t} = useI18n();
const { t } = useI18n();
const router = useRouter();
const dataList = ref([]);
@ -351,7 +355,7 @@ const data = reactive({
type: t("admin.form.name", {
type: t("admin.common.equipment"),
}),
})
}),
),
trigger: "blur",
},
@ -363,7 +367,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.model"),
})
}),
),
trigger: "blur",
},
@ -375,7 +379,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.achievementParameter"),
})
}),
),
trigger: "blur",
},
@ -387,7 +391,7 @@ const data = reactive({
message: computed(() =>
t("admin.form.pleaseSelect", {
type: t("admin.form.purchaseTime"),
})
}),
),
trigger: ["blur", "change"],
},
@ -395,7 +399,7 @@ const data = reactive({
},
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
/** 查询数据列表 */
function getList() {
@ -427,7 +431,7 @@ function handleDelete(row) {
type: t("admin.common.item"),
number: row.deviceId,
action: t("admin.common.delete"),
})
}),
)
.then(function () {
return deleteEquipment([row.deviceId]);
@ -436,8 +440,7 @@ function handleDelete(row) {
getList();
ElMessage.success(t("admin.common.deleteSuccess"));
})
.catch(() => {
});
.catch(() => {});
}
/** 重置新增的表单以及其他数据 */
@ -508,7 +511,6 @@ function cancel() {
reset();
}
const notBindExpertQueryRef = ref();
const getNotBindExpertList = () => {
@ -546,7 +548,7 @@ const submitBind = (id) => {
action: t("admin.table.relation"),
type: t("admin.common.expert"),
number: id,
})
}),
)
.then(function () {
return bindLaboratory(id);
@ -557,7 +559,7 @@ const submitBind = (id) => {
/*"关联成功"*/
t("admin.common.success", {
action: t("admin.table.relation"),
})
}),
);
})
.catch((err) => {

View File

@ -208,7 +208,7 @@ const data = reactive({
{
required: true,
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.paperTitle") })
t("admin.validation.required", { type: t("admin.form.paperTitle") }),
),
trigger: "blur",
},
@ -220,7 +220,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.publication"),
})
}),
),
trigger: "blur",
},
@ -230,7 +230,7 @@ const data = reactive({
required: true,
/*"作者不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.author") })
t("admin.validation.required", { type: t("admin.form.author") }),
),
trigger: "blur",
},
@ -242,7 +242,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.table.publishDate"),
})
}),
),
trigger: ["blur", "change"],
},
@ -288,7 +288,7 @@ function handleDelete(id) {
type: t("admin.common.paper"),
number: id,
action: t("admin.common.delete"),
})
}),
)
.then(function () {
return deletePaper(id);

View File

@ -163,7 +163,7 @@ function handleDelete(id) {
type: t("admin.common.patent"),
action: t("admin.common.delete"),
number: id,
})
}),
)
.then(function () {
return deleteResearchPatentByIds(id);

View File

@ -8,14 +8,18 @@
@submit.prevent
>
<el-form-item
:label="t('admin.form.name', { type: t('admin.common.researchProject') })"
:label="
t('admin.form.name', { type: t('admin.common.researchProject') })
"
prop="title"
>
<el-input
v-model="queryParams.title"
clearable
:placeholder="
t('admin.form.placeholder', { type: t('admin.common.researchProject') })
t('admin.form.placeholder', {
type: t('admin.common.researchProject'),
})
"
size="small"
style="width: 240px"
@ -194,7 +198,7 @@ function handleDelete(id) {
action: t("admin.common.delete"),
number: id,
type: t("admin.common.researchProject"),
})
}),
)
.then(function () {
return deleteTechnologyProject(id);

View File

@ -165,7 +165,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.common.demand") }),
})
}),
),
trigger: "blur",
},
@ -177,7 +177,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("webSearch.demandDescription"),
})
}),
),
trigger: "blur",
},
@ -189,7 +189,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.demandContact"),
})
}),
),
trigger: "blur",
},
@ -201,7 +201,7 @@ const data = reactive({
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.mobile"),
})
}),
),
trigger: "blur",
},
@ -218,7 +218,7 @@ const data = reactive({
required: true,
/*"手机号不能为空"*/
message: computed(() =>
t("admin.validation.required", { type: t("admin.form.mobile") })
t("admin.validation.required", { type: t("admin.form.mobile") }),
),
trigger: "blur",
},

View File

@ -180,7 +180,7 @@ function handleDelete(id) {
type: t("admin.common.patent"),
action: t("admin.common.delete"),
number: id,
})
}),
)
.then(function () {
return deleteLabPatentByIds(id);

View File

@ -30,7 +30,10 @@
<el-row>
<el-col :span="24">
<el-form-item :label="t('admin.form.email')" prop="email">
<el-input :placeholder="t('input.inputEmail')" v-model="modelValue.email"></el-input>
<el-input
:placeholder="t('input.inputEmail')"
v-model="modelValue.email"
></el-input>
</el-form-item>
</el-col>
</el-row>
@ -57,7 +60,7 @@
<el-row>
<el-col :span="24">
<el-form-item :label="t('admin.form.workLocation')" prop="wordAddress">
<el-input v-model="modelValue.wordAddress"/>
<el-input v-model="modelValue.wordAddress" />
</el-form-item>
</el-col>
</el-row>
@ -74,7 +77,7 @@
</el-col>
</el-row>
<field-options ref="researchsFormRef" v-model="modelValue"/>
<field-options ref="researchsFormRef" v-model="modelValue" />
<InputBoxAdd
ref="keywordsFormRef"
@ -155,10 +158,10 @@
<script setup>
import InputBoxAdd from "../InputBoxAdd";
import FieldOptions from "../FieldOptions";
import {computed, reactive, ref} from "vue";
import {useI18n} from "vue-i18n";
import { computed, reactive, ref } from "vue";
import { useI18n } from "vue-i18n";
const {t} = useI18n();
const { t } = useI18n();
const formRef = ref();
const researchsFormRef = ref();
const keywordsFormRef = ref();
@ -210,7 +213,7 @@ const rules = reactive({
{
required: true,
message: computed(() =>
t("admin.form.placeholder", {type: t("admin.form.mobile")})
t("admin.form.placeholder", { type: t("admin.form.mobile") }),
),
trigger: "blur",
},
@ -224,10 +227,11 @@ const rules = reactive({
{
required: true,
message: computed(() =>
t("admin.form.placeholder", {type: t("admin.form.email")})
t("admin.form.placeholder", { type: t("admin.form.email") }),
),
trigger: "blur",
},],
},
],
idCard: [
{
required: true,
@ -254,7 +258,7 @@ const rules = reactive({
required: true,
trigger: "change",
message: computed(() => t("admin.validation.pleaseUpload")),
}
},
],
"idImage.0": [
{

View File

@ -201,7 +201,7 @@ watch(
},
{
immediate: true,
}
},
);
watch(
@ -212,7 +212,7 @@ watch(
},
{
immediate: true,
}
},
);
getProvinceList();

Some files were not shown because too many files have changed in this diff Show More