明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_front
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
jt_front
Commits
e9e1da98
Commit
e9e1da98
authored
Dec 02, 2025
by
chenron
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.bridata.com:8090/root/jt_front
parents
754ee983
43d73b63
Pipeline
#104033
passed with stage
in 12 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
136 additions
and
43 deletions
+136
-43
https.js
src/data/https.js
+3
-3
main.js
src/main.js
+2
-0
addProject.vue
src/views/managePage/addProject.vue
+128
-40
window.js
src/window.js
+3
-0
No files found.
src/data/https.js
View file @
e9e1da98
import
axios
from
"axios"
;
import
{
ElMessage
}
from
"element-plus"
;
import
windowConfig
from
"@/window"
;
axios
.
interceptors
.
request
.
use
(
function
(
config
)
{
let
token
=
"8681f75e775447f7903708c55a35634e"
;
if
(
token
)
{
...
...
@@ -23,12 +24,11 @@ axios.interceptors.response.use(response => {
}
return
Promise
.
reject
(
err
);
});
let
baseUrl
=
"http://10.40.8.9:3000"
export
function
$get
({
url
,
params
=
{},
callback
})
{
return
axios
({
method
:
"get"
,
url
:
baseUrl
+
url
,
url
:
windowConfig
.
baseUrl
+
url
,
params
}).
then
(
response
=>
{
callback
&&
callback
(
response
.
data
);
...
...
@@ -39,7 +39,7 @@ export function $get ({ url, params = {}, callback }) {
};
export
function
$post
({
url
,
data
=
{},
callback
})
{
return
axios
.
post
(
baseUrl
+
url
,
data
).
then
((
response
)
=>
{
return
axios
.
post
(
windowConfig
.
baseUrl
+
url
,
data
).
then
((
response
)
=>
{
if
(
response
.
code
===
0
)
{
callback
&&
callback
(
response
.
data
);
}
else
{
...
...
src/main.js
View file @
e9e1da98
...
...
@@ -9,11 +9,13 @@ import { createPinia } from 'pinia';
import
"./assets/fonts/font.less"
;
// 字体样式
import
"../public/iconFont/iconfont.css"
;
// 图标字体样式
import
{
$get
,
$post
}
from
"@/data/https.js"
;
import
windowConfig
from
"@/window"
;
const
pinia
=
createPinia
()
const
app
=
createApp
(
App
)
app
.
config
.
globalProperties
.
$get
=
$get
;
app
.
config
.
globalProperties
.
$post
=
$post
;
app
.
config
.
globalProperties
.
windowConfig
=
windowConfig
;
for
(
const
[
key
,
component
]
of
Object
.
entries
(
ElIcons
))
{
app
.
component
(
key
,
component
)
}
...
...
src/views/managePage/addProject.vue
View file @
e9e1da98
...
...
@@ -393,14 +393,16 @@
<el-table-column
prop=
"gdlx"
label=
"股东类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.gdlx"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"类型1"
value=
"类型1"
></el-option>
<el-option
label=
"类型2"
value=
"类型2"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
prop=
"gdmc"
label=
"股东名称"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.gdmc"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"股东1"
value=
"股东1"
></el-option>
<el-option
label=
"股东2"
value=
"股东2"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -466,23 +468,25 @@
<el-collapse-item
title=
"立项资料"
name=
"立项资料"
>
<el-form-item
label=
"相关支撑材料"
>
<el-upload
v-model:file-list=
"zcclFileList"
class=
"upload-demo"
action=
""
:action=
"windowConfig.baseUrl + '/api/file/upload'"
:headers=
"{Authorization: '8681f75e775447f7903708c55a35634e'}"
:show-file-list=
"false"
:on-success=
"addZcclFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
>
删除选中文件
</el-button>
<el-button
type=
"default"
@
click=
"multiDeleteZccl"
:disabled=
"!zcclSelectIds.length"
>
删除选中文件
</el-button>
</el-form-item>
<el-table
:data=
"zcclData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table
:data=
"zcclData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"zcclSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"originalname"
label=
"文件名"
/>
<el-table-column
prop=
"updatedAt"
label=
"上传时间"
/>
<el-table-column
prop=
"size"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"60"
>
<
template
#
default=
"
scope
"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
<
template
#
default=
"
{ row, index }
"
>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteZccl(index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -529,7 +533,8 @@
<el-table-column
prop=
"type"
label=
"业务类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.type"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"类型1"
value=
"类型1"
></el-option>
<el-option
label=
"类型2"
value=
"类型2"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -542,7 +547,8 @@
<el-table-column
prop=
"dwgczjDw"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.dwgczjDw"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"元"
value=
"元"
></el-option>
<el-option
label=
"万元"
value=
"万元"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -556,7 +562,8 @@
<el-table-column
prop=
"xsfwnlDw"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.xsfwnlDw"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"元"
value=
"元"
></el-option>
<el-option
label=
"万元"
value=
"万元"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -578,7 +585,8 @@
<el-table-column
prop=
"dwscfwzcbDw"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.dwscfwzcbDw"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"元"
value=
"元"
></el-option>
<el-option
label=
"万元"
value=
"万元"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -592,7 +600,8 @@
<el-table-column
prop=
"dwsjDw"
label=
"单位"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.dwsjDw"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"元"
value=
"元"
></el-option>
<el-option
label=
"万元"
value=
"万元"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -601,7 +610,8 @@
<el-table-column
prop=
"ykphdlx"
label=
"类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.ykphdlx"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"类型1"
value=
"类型1"
></el-option>
<el-option
label=
"类型2"
value=
"类型2"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -662,23 +672,25 @@
<el-col
:span=
"24"
>
<el-form-item
label=
"立项批复文件"
>
<el-upload
v-model:file-list=
"lxpfwjFileList"
class=
"upload-demo"
action=
""
:action=
"windowConfig.baseUrl + '/api/file/upload'"
:headers=
"{Authorization: '8681f75e775447f7903708c55a35634e'}"
:show-file-list=
"false"
:on-success=
"addLxpfFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
>
删除选中文件
</el-button>
<el-button
type=
"default"
@
click=
"multiDeleteLxpf"
:disabled=
"!lxpfSelectIds.length"
>
删除选中文件
</el-button>
</el-form-item>
<el-table
:data=
"lxpfwjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table
:data=
"lxpfwjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"lxpfSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"originalname"
label=
"文件名"
/>
<el-table-column
prop=
"updatedAt"
label=
"上传时间"
/>
<el-table-column
prop=
"size"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteLxpf(index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -694,7 +706,8 @@
<el-table-column
prop=
"lx"
label=
"类型"
>
<
template
#
default=
"scope"
>
<el-select
v-model=
"scope.row.lx"
placeholder=
"请选择"
>
<el-option
label=
"1"
value=
"1"
></el-option>
<el-option
label=
"类型1"
value=
"类型1"
></el-option>
<el-option
label=
"类型2"
value=
"类型2"
></el-option>
</el-select>
</
template
>
</el-table-column>
...
...
@@ -720,23 +733,25 @@
</el-table>
<el-form-item
label=
"相关上会材料"
>
<el-upload
v-model:file-list=
"spyjFileList"
class=
"upload-demo"
action=
""
:action=
"windowConfig.baseUrl + '/api/file/upload'"
:headers=
"{Authorization: '8681f75e775447f7903708c55a35634e'}"
:show-file-list=
"false"
:on-success=
"addShclFile"
>
<el-button
type=
"default"
>
上传
</el-button>
</el-upload>
<el-button
type=
"default"
>
删除选中文件
</el-button>
<el-button
type=
"default"
@
click=
"multiDeleteShcl"
:disabled=
"!shclSelectIds.length"
>
删除选中文件
</el-button>
</el-form-item>
<el-table
:data=
"spyjData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
>
<el-table
:data=
"shclData"
style=
"width: 100%"
empty-text=
"暂无数据"
border
@
selection-change=
"shclSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
prop=
"originalname"
label=
"文件名"
/>
<el-table-column
prop=
"updatedAt"
label=
"上传时间"
/>
<el-table-column
prop=
"size"
label=
"大小"
/>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"60"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"danger"
size=
"small"
>
删除
</el-button>
<el-button
link
type=
"danger"
size=
"small"
@
click=
"deleteShcl(index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -763,6 +778,7 @@
<
script
setup
>
import
{
reactive
,
ref
,
onMounted
,
getCurrentInstance
,
computed
}
from
"vue"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
const
router
=
useRouter
();
const
route
=
useRoute
();
const
{
proxy
}
=
getCurrentInstance
();
...
...
@@ -796,8 +812,32 @@
};
// 支撑材料
let
zcclFileList
=
reactive
([]);
let
zcclData
=
reactive
([]);
let
zcclData
=
ref
([]);
const
addZcclFile
=
(
res
,
file
)
=>
{
zcclData
.
value
.
push
(
res
.
data
);
}
const
deleteZccl
=
(
index
)
=>
{
ElMessageBox
.
confirm
(
"确认删除该项?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
zcclData
.
value
.
splice
(
index
,
1
);
}).
catch
(()
=>
{})
}
let
zcclSelectIds
=
ref
([]);
const
zcclSelectionChange
=
(
datas
)
=>
{
zcclSelectIds
.
value
=
datas
.
map
(
item
=>
item
.
id
);
};
const
multiDeleteZccl
=
()
=>
{
ElMessageBox
.
confirm
(
"确认删除选中数据?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
zcclData
.
value
=
zcclData
.
value
.
filter
(
item
=>
!
zcclSelectIds
.
value
.
includes
(
item
.
id
));
}).
catch
(()
=>
{})
};
// 项目投资总额全口径
let
tzzeqkjData
=
reactive
([
...
...
@@ -878,19 +918,67 @@
}
// 项目立项信息--立项批复文件
let
lxpfwjFileList
=
reactive
([]);
let
lxpfwjData
=
reactive
([]);
let
lxpfwjData
=
ref
([]);
const
addLxpfFile
=
(
res
,
file
)
=>
{
lxpfwjData
.
value
.
push
(
res
.
data
);
}
const
deleteLxpf
=
(
index
)
=>
{
ElMessageBox
.
confirm
(
"确认删除该项?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
lxpfwjData
.
value
.
splice
(
index
,
1
);
}).
catch
(()
=>
{})
}
let
lxpfSelectIds
=
ref
([]);
const
lxpfSelectionChange
=
(
datas
)
=>
{
lxpfSelectIds
.
value
=
datas
.
map
(
item
=>
item
.
id
);
};
const
multiDeleteLxpf
=
()
=>
{
ElMessageBox
.
confirm
(
"确认删除选中数据?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
lxpfwjData
.
value
=
lxpfwjData
.
value
.
filter
(
item
=>
!
lxpfSelectIds
.
value
.
includes
(
item
.
id
));
}).
catch
(()
=>
{})
};
// 审批意见
let
spyjTableData
=
reactive
([]);
let
spyjFileList
=
reactive
([]);
let
spyjData
=
reactive
([]);
const
addSpyj
=
()
=>
{
spyjTableData
.
push
({});
}
const
deleteSpyj
=
(
index
)
=>
{
spyjTableData
.
splice
(
index
,
1
);
}
let
shclData
=
ref
([]);
const
addShclFile
=
(
res
,
file
)
=>
{
shclData
.
value
.
push
(
res
.
data
);
}
const
deleteShcl
=
(
index
)
=>
{
ElMessageBox
.
confirm
(
"确认删除该项?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
shclData
.
value
.
splice
(
index
,
1
);
}).
catch
(()
=>
{})
}
let
shclSelectIds
=
ref
([]);
const
shclSelectionChange
=
(
datas
)
=>
{
shclSelectIds
.
value
=
datas
.
map
(
item
=>
item
.
id
);
};
const
multiDeleteShcl
=
()
=>
{
ElMessageBox
.
confirm
(
"确认删除选中数据?"
,
"提示"
,{
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}).
then
(()
=>
{
shclData
.
value
=
shclData
.
value
.
filter
(
item
=>
!
shclSelectIds
.
value
.
includes
(
item
.
id
));
}).
catch
(()
=>
{})
};
// 获取资源库数据
let
zyList
=
reactive
([]);
// 主页/非主业
...
...
@@ -941,13 +1029,13 @@
Object
.
assign
(
formData
,
data
);
Object
.
assign
(
swlzbData
,
data
.
projectJsgms
);
Object
.
assign
(
gdxxData
,
data
.
projectGdxxs
);
Object
.
assign
(
zcclData
,
data
.
lxzl
);
Object
.
assign
(
zcclData
.
value
,
data
.
lxzl
);
Object
.
assign
(
tzzeqkjData
,
data
.
projectXmtzzes
);
Object
.
assign
(
cwpjzbData
,
data
.
projectCwpjzbs
);
Object
.
assign
(
hxbjtjData
,
data
.
projectBjtjs
);
Object
.
assign
(
lxpfwjData
,
data
.
lxpfwj
);
Object
.
assign
(
lxpfwjData
.
value
,
data
.
lxpfwj
);
Object
.
assign
(
spyjTableData
,
data
.
projectSpyjs
);
Object
.
assign
(
s
pyjData
,
data
.
xgshcl
);
Object
.
assign
(
s
hclData
.
value
,
data
.
xgshcl
);
}
});
};
...
...
@@ -969,13 +1057,13 @@
...
formData
,
projectJsgms
:
swlzbData
,
projectGdxxs
:
gdxxData
,
lxzl
:
zcclData
,
lxzl
:
zcclData
.
value
,
projectXmtzzes
:
tzzeqkjData
,
projectCwpjzbs
:
cwpjzbData
,
projectBjtjs
:
hxbjtjData
,
lxpfwj
:
lxpfwjData
,
lxpfwj
:
lxpfwjData
.
value
,
projectSpyjs
:
spyjTableData
,
xgshcl
:
s
pyjData
xgshcl
:
s
hclData
.
value
},
callback
:
(
data
)
=>
{
router
.
push
(
"/projectManage"
);
...
...
src/window.js
0 → 100644
View file @
e9e1da98
export
default
{
baseUrl
:
"http://10.40.8.9:3000"
};
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment