Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
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
周远喜
mes-ui
Commits
defb2dcb
Commit
defb2dcb
authored
Sep 18, 2020
by
renjintao
Browse files
Options
Browse Files
Download
Plain Diff
sass
parents
41de414a
54faeb91
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
187 additions
and
105 deletions
+187
-105
base.less
assets/css/base.less
+53
-1
zh-CN.js
i18n/locale/zh-CN.js
+3
-0
api.js
pages/basicData/dic/api.js
+1
-1
api.js
pages/system/account/api.js
+6
-6
api.js
pages/system/datasource/api.js
+7
-7
api.js
pages/system/dic/api.js
+1
-1
api.js
pages/system/host/api.js
+7
-7
add.vue
pages/system/tanant/add.vue
+51
-44
api.js
pages/system/tanant/api.js
+10
-10
detail.vue
pages/system/tanant/detail.vue
+8
-1
edit.vue
pages/system/tanant/edit.vue
+19
-10
index.vue
pages/system/tanant/index.vue
+18
-4
config.js
static/config.js
+3
-13
No files found.
assets/css/base.less
View file @
defb2dcb
...
...
@@ -12,7 +12,59 @@ html body {
#__layout {
height: 100%
}
/*flex*/
.flex {
display: flex;
//采用flex布局
}
.fc-m {
justify-content: center;
}
.fa-m {
align-items: center;
}
.fc-e {
justify-content: flex-end;
}
.fc-b {
justify-content: space-between;
}
.fc-a {
justify-content: space-around;
}
.fc-ev {
justify-content: space-evenly;
}
.fd {
flex-direction: column;
}
.fg {
flex-grow: 1;
}
.fs {
flex-shrink: 0;
}
.fg2 {
flex-grow: 2;
}
.fos {
order: -1;
}
.foe {
order: 99;
}
/*字体*/
.ib {
display: inline;
...
...
i18n/locale/zh-CN.js
View file @
defb2dcb
...
...
@@ -928,6 +928,9 @@ export default {
id
:
''
,
name
:
'公司名称'
,
code
:
'公司编码'
,
url
:
'系统入口'
,
remark
:
'备注'
,
status
:
'状态'
,
typeId
:
'公司类型'
,
startTime
:
'服务开始时间'
,
endTime
:
'服务结束时间'
,
...
...
pages/basicData/dic/api.js
View file @
defb2dcb
import
api
from
'@/plugins/request'
// const u=(path)=>`${systemUrl}/Dictionary/${path}`
const
u
=
(
path
)
=>
`
${
system
New
}
/dictionary/
${
path
}
`
const
u
=
(
path
)
=>
`
${
system
}
/dictionary/
${
path
}
`
export
default
{
getChildren
(
id
)
{
return
api
.
get
(
u
(
"getChildren"
),
{
id
})
...
...
pages/system/account/api.js
View file @
defb2dcb
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
system
New
}
/account/paged`
,
index
:
`
${
system
}
/account/paged`
,
paged
(
params
){
return
Api
.
post
(
`
${
system
New
}
/account/paged`
,
params
);
return
Api
.
post
(
`
${
system
}
/account/paged`
,
params
);
},
get
(
params
){
return
Api
.
get
(
`
${
system
New
}
/account/get`
,
params
);
return
Api
.
get
(
`
${
system
}
/account/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
system
New
}
/account/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/account/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
system
New
}
/account/update`
,
params
);
return
Api
.
post
(
`
${
system
}
/account/update`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
system
New
}
/account/delete`
,{
params
:
params
});
return
Api
.
delete
(
`
${
system
}
/account/delete`
,{
params
:
params
});
},
}
\ No newline at end of file
pages/system/datasource/api.js
View file @
defb2dcb
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
system
New
}
/datasource/paged`
,
index
:
`
${
system
}
/datasource/paged`
,
paged
(
params
){
return
Api
.
post
(
`
${
system
New
}
/datasource/paged`
,
params
);
return
Api
.
post
(
`
${
system
}
/datasource/paged`
,
params
);
},
bindhostlist
()
{
return
Api
.
post
(
`
${
system
New
}
/host/list`
,
{});
return
Api
.
post
(
`
${
system
}
/host/list`
,
{});
},
get
(
params
){
return
Api
.
get
(
`
${
system
New
}
/datasource/get`
,
params
);
return
Api
.
get
(
`
${
system
}
/datasource/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
system
New
}
/datasource/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/datasource/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
system
New
}
/datasource/update`
,
params
);
return
Api
.
post
(
`
${
system
}
/datasource/update`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
system
New
}
/datasource/delete`
,{
params
:
params
});
return
Api
.
delete
(
`
${
system
}
/datasource/delete`
,{
params
:
params
});
},
}
\ No newline at end of file
pages/system/dic/api.js
View file @
defb2dcb
import
api
from
'@/plugins/request'
// const u=(path)=>`${systemUrl}/Dictionary/${path}`
const
u
=
(
path
)
=>
`
${
system
New
}
/dictionary/
${
path
}
`
//49.232.68.61:10130/api/services/app/dictionary/getall
const
u
=
(
path
)
=>
`
${
system
}
/dictionary/
${
path
}
`
//49.232.68.61:10130/api/services/app/dictionary/getall
export
default
{
getChildren
(
id
)
{
return
api
.
get
(
u
(
"getchildren"
),
{
id
})
...
...
pages/system/host/api.js
View file @
defb2dcb
import
Api
from
'@/plugins/request'
export
default
{
// index:`${authUrl}/api/services/app/host/paged`,
index
:
`
${
system
New
}
/host/paged`
,
//new
index
:
`
${
system
}
/host/paged`
,
//new
paged
(
params
){
// return Api.post(`${authUrl}/api/services/app/host/paged`,params); system
New
return
Api
.
post
(
`
${
system
New
}
/host/paged`
,
params
);
// return Api.post(`${authUrl}/api/services/app/host/paged`,params); system
return
Api
.
post
(
`
${
system
}
/host/paged`
,
params
);
},
get
(
params
){
return
Api
.
get
(
`
${
system
New
}
/host/get`
,
params
);
return
Api
.
get
(
`
${
system
}
/host/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
system
New
}
/host/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/host/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
system
New
}
/host/update`
,
params
);
return
Api
.
post
(
`
${
system
}
/host/update`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
system
New
}
/host/delete`
,{
params
:
params
});
return
Api
.
delete
(
`
${
system
}
/host/delete`
,{
params
:
params
});
},
}
\ No newline at end of file
pages/system/tanant/add.vue
View file @
defb2dcb
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"1
2
0"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"1
5
0"
>
<Row>
<Col
:span=
"24"
>
<FormItem
:label=
"l('name')"
prop=
"name"
>
<Input
v-model=
"entity.name"
></Input>
</FormItem>
</Col>
<
!--
<
Col
:span=
"24"
>
<FormItem
:label=
"l('
code')"
prop=
"code
"
>
<Input
v-model=
"entity.
code
"
></Input>
<Col
:span=
"24"
>
<FormItem
:label=
"l('
url')"
prop=
"url
"
>
<Input
v-model=
"entity.
url
"
></Input>
</FormItem>
</Col>
-->
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('typeId')"
prop=
"typeId"
>
<Dictionary
code=
"system.Tanant.type"
v-model=
"entity.typeId"
type=
"select"
></Dictionary>
...
...
@@ -26,14 +26,23 @@
<DatePicker
type=
"date"
v-model=
"entity.endTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
type=
"textarea"
></Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"system.Tanant.status"
v-model=
"entity.typeId"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<!--
<Col
:span=
"24"
>
<FormItem
:label=
"l('hostId')"
prop=
"hostId"
>
<Select
@
on-change=
"onchange_host"
v-model=
"entity.hostId"
>
<Option
v-for=
"(item,index) in hostlist"
:key=
"index"
:value=
"item.id"
>
{{
item
.
name
}}
</Option>
</Select>
</FormItem>
</Col>
</Col>
-->
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
...
...
@@ -42,86 +51,84 @@
</Form>
</
template
>
<
script
>
import
Api
from
'./api'
import
Api
from
"./api"
;
export
default
{
name
:
'Add'
,
name
:
"Add"
,
data
()
{
return
{
disabled
:
false
,
entity
:
{
id
:
0
,
name
:
''
,
code
:
''
,
name
:
""
,
code
:
""
,
typeId
:
0
,
startTime
:
''
,
endTime
:
''
,
startTime
:
""
,
endTime
:
""
,
initialized
:
0
,
dataSourceId
:
0
,
hostId
:
'0'
,
hostId
:
"0"
,
},
hostlist
:
[],
rules
:
{
name
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
// code: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
url
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
},
};
},
props
:
{
v
:
Object
v
:
Object
,
},
mounted
()
{
Api
.
bindhostlist
()
.
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
hostlist
=
r
.
result
this
.
hostlist
=
r
.
result
;
}
else
{
}
})
.
catch
((
err
)
=>
{
console
.
warn
(
err
)
})
console
.
warn
(
err
)
;
})
;
},
methods
:
{
handleSubmit
()
{
console
.
log
(
this
.
entity
.
hostId
)
console
.
log
(
this
.
entity
.
hostId
);
this
.
$refs
.
form
.
validate
((
v
)
=>
{
if
(
v
)
{
this
.
disabled
=
true
this
.
disabled
=
true
;
Api
.
create
(
this
.
entity
)
.
then
((
r
)
=>
{
this
.
disabled
=
false
this
.
disabled
=
false
;
if
(
r
.
success
)
{
this
.
$Message
.
success
(
'保存成功'
)
this
.
$emit
(
'on-ok'
)
this
.
$Message
.
success
(
"保存成功"
);
this
.
$emit
(
"on-ok"
);
}
else
{
this
.
$Message
.
error
(
'保存失败'
)
this
.
$Message
.
error
(
"保存失败"
);
}
})
.
catch
((
err
)
=>
{
this
.
disabled
=
false
this
.
$Message
.
error
(
'保存失败'
)
console
.
warn
(
err
)
})
this
.
disabled
=
false
;
this
.
$Message
.
error
(
"保存失败"
);
console
.
warn
(
err
)
;
})
;
}
})
})
;
},
onchange_host
(
val
)
{
this
.
entity
.
hostId
=
val
this
.
entity
.
hostId
=
val
;
},
handleClose
()
{
this
.
$emit
(
'on-close'
)
this
.
$emit
(
"on-close"
);
},
l
(
key
)
{
key
=
'tanant'
+
'.'
+
key
return
this
.
$t
(
key
)
}
key
=
"tanant"
+
"."
+
key
;
return
this
.
$t
(
key
)
;
}
,
},
watch
:
{
v
()
{
this
.
entity
=
this
.
$u
.
clone
(
this
.
v
)
}
}
}
this
.
entity
=
this
.
$u
.
clone
(
this
.
v
)
;
}
,
}
,
}
;
</
script
>
\ No newline at end of file
pages/system/tanant/api.js
View file @
defb2dcb
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
system
New
}
/tenant/paged`
,
index
:
`
${
system
}
/tenant/paged`
,
paged
(
params
)
{
return
Api
.
post
(
`
${
system
New
}
/tenant/paged`
,
params
);
return
Api
.
post
(
`
${
system
}
/tenant/paged`
,
params
);
},
get
(
params
)
{
return
Api
.
get
(
`
${
system
New
}
/tenant/get`
,
params
);
return
Api
.
get
(
`
${
system
}
/tenant/get`
,
params
);
},
create
(
params
)
{
return
Api
.
post
(
`
${
system
New
}
/tenant/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/tenant/create`
,
params
);
},
update
(
params
)
{
return
Api
.
post
(
`
${
system
New
}
/tenant/update`
,
params
);
return
Api
.
post
(
`
${
system
}
/tenant/update`
,
params
);
},
//删除:
delete
(
params
)
{
return
Api
.
delete
(
`
${
system
New
}
/tenant/delete`
,
{
params
:
params
});
return
Api
.
delete
(
`
${
system
}
/tenant/delete`
,
{
params
:
params
});
},
bindhostlist
()
{
return
Api
.
post
(
`
${
system
New
}
/host/list`
,
{});
return
Api
.
post
(
`
${
system
}
/host/list`
,
{});
},
tanantinit
(
params
)
{
return
Api
.
post
(
`
${
system
New
}
/tenant/tenantinit`
,
params
);
return
Api
.
post
(
`
${
system
}
/tenant/tenantinit`
,
params
);
},
setMenu
(
params
)
{
return
Api
.
post
(
`
${
system
New
}
/setmenucompany/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/setmenucompany/create`
,
params
);
},
setAps
(
params
){
return
Api
.
post
(
`
${
system
New
}
/setschedulecompany/create`
,
params
);
return
Api
.
post
(
`
${
system
}
/setschedulecompany/create`
,
params
);
},
apsList
(
params
){
return
Api
.
post
(
`
${
systemNew
}
/setschedulecompany/list`
,
params
);
...
...
pages/system/tanant/detail.vue
View file @
defb2dcb
...
...
@@ -3,9 +3,16 @@
<Row>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('name')"
>
{{
entity
.
name
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('code')"
>
{{
entity
.
code
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('typeId')"
>
{{
entity
.
typeId
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('url')"
>
{{
entity
.
url
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('typeId')"
>
<state
code=
"system.Tanant.type"
:value=
"entity.typeId"
/>
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('startTime')"
>
{{
entity
.
startTime
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('endTime')"
>
{{
entity
.
endTime
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('remark')"
>
{{
entity
.
remark
}}
</Filed>
<Filed
:span=
"24"
:label-width=
"120"
:name=
"l('status')"
>
<state
code=
"system.Tanant.status"
:value=
"entity.status"
/>
</Filed>
<!--
<Filed
:span=
"24"
:name=
"l('initialized')"
>
{{
entity
.
initialized
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('hostId')"
>
{{
entity
.
hostId
}}
</Filed>
-->
</Row>
...
...
pages/system/tanant/edit.vue
View file @
defb2dcb
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
9
0"
>
<Row>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
15
0"
>
<Row>
<Col
:span=
"24"
>
<FormItem
:label=
"l('name')"
prop=
"name"
>
<Input
v-model=
"entity.name"
></Input>
</FormItem>
</Col>
<
!--
<
Col
:span=
"24"
>
<FormItem
:label=
"l('
code')"
prop=
"code
"
>
<Input
v-model=
"entity.
code
"
></Input>
<Col
:span=
"24"
>
<FormItem
:label=
"l('
url')"
prop=
"url
"
>
<Input
v-model=
"entity.
url
"
></Input>
</FormItem>
</Col>
-->
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('typeId')"
prop=
"typeId"
>
<Dictionary
code=
"system.Tanant.type"
v-model=
"entity.typeId"
type=
"select"
></Dictionary>
...
...
@@ -26,14 +26,23 @@
<DatePicker
type=
"date"
v-model=
"entity.endTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
type=
"textarea"
></Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"system.Tanant.status"
v-model=
"entity.typeId"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<!--
<Col
:span=
"24"
>
<FormItem
:label=
"l('hostId')"
prop=
"hostId"
>
<Select
@
on-change=
"onchange_host"
v-model=
"entity.hostId"
>
<Option
v-for=
"(item,index) in hostlist"
:key=
"index"
:value=
"item.id"
>
{{
item
.
name
}}
</Option>
</Select>
</FormItem>
</Col>
</Col>
-->
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
...
...
@@ -62,7 +71,7 @@ export default {
hostlist
:
[],
rules
:
{
name
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
code
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
url
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
// hostId: [{ required: true, message: '必填', trigger: 'blur' }]
}
}
...
...
pages/system/tanant/index.vue
View file @
defb2dcb
...
...
@@ -18,19 +18,19 @@
<Button
type=
"primary"
@
click=
"addModal=true"
>
新增
</Button>
</
template
>
</DataGrid>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
width=
'1000'
>
<Add
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"editModal"
title=
"编辑"
footer-hide
>
<Modal
v-model=
"editModal"
title=
"编辑"
footer-hide
width=
'1000'
>
<Edit
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"detailModal"
title=
"详情"
>
<Detail
:eid=
"curId"
/>
</Modal>
<Modal
v-model=
"datadetailModal"
title=
"数据源配置"
footer-hide
width=
'
83
0'
>
<Modal
v-model=
"datadetailModal"
title=
"数据源配置"
footer-hide
width=
'
100
0'
>
<dataDetail
ref=
'dataDetail'
@
set-ok=
"setSqlOk"
:elid=
"datacurId"
/>
</Modal>
<Modal
v-model=
"setModal"
title=
"套餐配置"
footer-hide
width=
'
83
0'
>
<Modal
v-model=
"setModal"
title=
"套餐配置"
footer-hide
width=
'
100
0'
>
<menuSet
:companyId=
"curId"
@
set-ok=
"setOk"
/>
</Modal>
<Modal
v-model=
"apsModal"
title=
"APS配置"
footer-hide
>
...
...
@@ -102,6 +102,13 @@ export default {
easy
:
true
,
high
:
true
},
{
key
:
'url'
,
title
:
this
.
l
(
'url'
),
align
:
'left'
,
easy
:
true
,
high
:
true
},
{
key
:
'typeId'
,
title
:
this
.
l
(
'typeId'
),
...
...
@@ -256,6 +263,13 @@ export default {
])
}
},
{
key
:
'status'
,
title
:
this
.
l
(
'status'
),
align
:
'left'
,
code
:
"system.Tanant.status"
,
high
:
true
},
{
title
:
'操作'
,
key
:
'id'
,
...
...
static/config.js
View file @
defb2dcb
const
systemApi
=
{
local
:
'localhost'
,
product
:
'39.100.148.168'
,
dev
:
"49.232.68.61"
,
dev
:
'39.100.148.168'
,
product
:
"49.232.68.61"
,
aps
:
'47.92.102.113'
}
//环境切换(只修改此处):
...
...
@@ -9,19 +9,9 @@ let address=systemApi.dev;
//let address=systemApi.product;
//let address=systemApi.local;
window
.
systemUrl
=
`http://
${
address
}
:10000/system`
;
//System-api 系统管理(基础数据)
window
.
UserUrl
=
`http://
${
address
}
:10130`
;
//Authentication-api //用户信息 密码修改。重置等
// window.system =`http://${address}:10000/auth`;//多租户后台系统
window
.
system
=
`http://
${
address
}
:10000/platform`
;
//多租户后台系统 更换网关 platform
window
.
systemNew
=
`http://
${
address
}
:10000/platform`
;
//多租户后台系统-new 10130/platform/host/paged
window
.
UserUrl
=
`http://
${
address
}
:10130`
;
//Authentication-api //用户信息 密码修改。重置等
window
.
authUrl
=
`http://
${
address
}
:10010`
;
//Authentication-api //统一登陆认证
window
.
designUrl
=
`http://
${
address
}
:10000/process`
;
// 工艺规程
window
.
PlanUrl
=
`http://
${
address
}
:10000/plan`
;
//订单
window
.
bugUrl
=
`http://
${
address
}
:10000/bug`
;
//bug
window
.
fileUrl
=
`http://
${
address
}
:10080/fileServer`
;
//文件上传url
window
.
fileUrlDown
=
`http://
${
address
}
`
;
//文件下载url
window
.
resourceUrl
=
`http://
${
address
}
:10000/resource`
;
// 制造资源地址
window
.
workflowUrl
=
`http://
${
address
}
:10000/workflow`
;
// 工作流地址
window
.
certificateUrl
=
`http://
${
address
}
:10000/qms`
;
//质量
window
.
crmUrl
=
`http://
${
address
}
:10000/crm`
;
//crm客户、合同、项目管理
window
.
apsUrl
=
`http://
${
systemApi
.
aps
}
:10000/aps`
;
//aps排产
\ 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