Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sensorConsult
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
zhanglw
sensorConsult
Commits
54cd76aa
Commit
54cd76aa
authored
Jun 03, 2023
by
zhanglw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加api
parent
8697e18e
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
201 additions
and
10 deletions
+201
-10
.env.production
.env.production
+3
-2
common.js
src/api/common.js
+26
-0
add.vue
src/views/backstage/customMgt/customTabulate/add.vue
+172
-8
No files found.
.env.production
View file @
54cd76aa
...
@@ -2,6 +2,7 @@ ENV = 'production'
...
@@ -2,6 +2,7 @@ ENV = 'production'
# 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇,Nginx 配置
# 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇,Nginx 配置
# 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http
# 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http
VUE_APP_BASE_API = 'https://eladmin.vip'
# 如果接口是 http 形式, wss 需要改为 ws
# 如果接口是 http 形式, wss 需要改为 ws
VUE_APP_WS_API = 'wss://eladmin.vip'
VUE_APP_BASE_API = 'http://192.168.3.23:7001'
VUE_APP_WS_API = 'ws://192.168.3.23:7001'
src/api/common.js
0 → 100644
View file @
54cd76aa
import
request
from
'
@/utils/request
'
export
const
HttpReq
=
{
// 后台管理接口列表
backstageApi
:
{
// 上传营业执照图片
uploadBusinessLicense
:
function
(
data
)
{
return
request
({
url
:
'
/api/bsw/users/updateBusinessLicense
'
,
method
:
'
POST
'
,
data
:
data
}).
then
((
res
)
=>
{
return
res
})
},
// 获取行政区划
findAreaByCodeAndType
:
function
(
param
)
{
return
request
({
url
:
'
/api/bsw/users/findAreaByCodeAndType
'
,
method
:
'
get
'
,
params
:
param
})
}
}
}
src/views/backstage/customMgt/customTabulate/add.vue
View file @
54cd76aa
...
@@ -2,22 +2,144 @@
...
@@ -2,22 +2,144 @@
<!-- 表单渲染 -->
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelView"
:visible=
"visible"
:title=
"title"
width=
"860px"
>
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelView"
:visible=
"visible"
:title=
"title"
width=
"860px"
>
<el-form
ref=
"formViewRef"
:model=
"formData"
:rules=
"rules"
:status-icon=
"true"
label-width=
"240px"
>
<el-form
ref=
"formViewRef"
:model=
"formData"
:rules=
"rules"
:status-icon=
"true"
label-width=
"240px"
>
<el-form-item
label=
"标识设置:"
class=
"form-cell"
prop=
"rank"
>
<div
class=
"cell-box"
>
<el-radio-group
v-model=
"formData.rank"
size=
"mini"
>
<el-radio
v-for=
"item in dict.supplier_rank"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
</el-radio-group>
</div>
</el-form-item>
<el-form-item
label=
"企业名称:"
class=
"form-cell"
prop=
"name"
>
<el-form-item
label=
"企业名称:"
class=
"form-cell"
prop=
"name"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.name"
class=
"cell-input"
/>
<el-input
v-model=
"formData.name"
placeholder=
"请输入企业名称"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"企业联系人:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入联系人"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"企业联系人手机号:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入手机号"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"企业地址:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入地址"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"企业邮箱:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入邮箱"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"营业执照:"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.picFileName"
style=
"width:160px;"
placeholder=
"请上传图片"
disabled
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
>
</div>
<el-image
v-show=
"formData.picFileName"
:src=
"formData.picFileName?imgSrcStart+'/businessLicense/'+formData.picFileName:''"
:preview-src-list=
"[imgSrcStart+'/businessLicense/'+formData.picFileName]"
style=
"width: 300px;"
>
<div
slot=
"placeholder"
class=
"image-slot"
>
加载中
<span
class=
"dot"
>
...
</span></div>
</el-image>
</el-form-item>
<el-form-item
label=
"统一社会信用代码:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入18位统一社会信用代码"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"纳税人识别号:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入纳税人识别号"
class=
"cell-input"
/>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属行业:"
class=
"form-cell"
prop=
"hy"
>
<el-form-item
label=
"所属行业:"
class=
"form-cell"
prop=
"hy"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.hy"
placeholder=
"无"
class=
"cell-
inpu
t"
>
<el-select
v-model=
"formData.hy"
placeholder=
"无"
class=
"cell-
selec
t"
>
<el-option
v-for=
"item in dict.industry_type"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
<el-option
v-for=
"item in dict.industry_type"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-select>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
营业执照:"
class=
"form-cell
"
>
<el-form-item
label=
"
登记机关:"
class=
"form-cell"
prop=
"xxxxx
"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.photo"
style=
"width:160px;"
placeholder=
"请上传营业执照"
disabled
/>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入登记机关"
class=
"cell-input"
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
>
</div>
</el-form-item>
<el-form-item
label=
"法定代表人:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"请输入法定代表人"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"经营状态:"
class=
"form-cell"
prop=
"zt"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.zt"
placeholder=
"无"
class=
"cell-select"
>
<el-option
v-for=
"item in dict.business_status"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
</el-form-item>
<el-form-item
label=
"成立日期:"
class=
"form-cell"
prop=
"zt"
>
<div
class=
"cell-box"
>
<el-date-picker
v-model=
"formData.date"
type=
"date"
placeholder=
"请选择日期"
/>
</div>
</el-form-item>
<el-form-item
label=
"经营期限:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
type=
"number"
placeholder=
"请输入数字"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"审核/年检日期:"
class=
"form-cell"
prop=
"zt"
>
<div
class=
"cell-box"
>
<el-date-picker
v-model=
"formData.date"
type=
"date"
placeholder=
"请选择日期"
/>
</div>
</el-form-item>
<el-form-item
label=
"企业类型:"
class=
"form-cell"
prop=
"lx"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.lx"
placeholder=
"无"
class=
"cell-select"
>
<el-option
v-for=
"item in dict.company_type"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
</el-form-item>
<el-form-item
label=
"注册资本:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
type=
"number"
placeholder=
"请输入数字"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"注册地址:"
class=
"form-cell"
prop=
"lx"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.province"
placeholder=
"省"
style=
"width: 120px"
@
change=
"findAreaByCodeAndType(formData.province,2, 'cityOpts')"
>
<el-option
v-for=
"item in provinceOpts"
:key=
"item.id"
:label=
"item.name"
:value=
"item.code"
/>
</el-select>
<el-select
v-model=
"formData.city"
placeholder=
"市"
style=
"width: 160px"
@
change=
"findAreaByCodeAndType(formData.city,3, 'countyOpts')"
>
<el-option
v-for=
"item in cityOpts"
:key=
"item.id"
:label=
"item.name"
:value=
"item.code"
/>
</el-select>
<el-select
v-model=
"formData.county"
placeholder=
"区/县"
style=
"width: 160px"
>
<el-option
v-for=
"item in countyOpts"
:key=
"item.id"
:label=
"item.name"
:value=
"item.code"
/>
</el-select>
</div>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xxxxx"
placeholder=
"详细地址(例如:和平路北大街106号)"
class=
"cell-input"
/>
</div>
</el-form-item>
<el-form-item
label=
"经营范围:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.textarea"
type=
"textarea"
placeholder=
"请输入文本内容"
maxlength=
"1000"
:autosize=
"
{ minRows: 4, maxRows: 6}" show-word-limit resize="none" class="cell-input" />
</div>
</el-form-item>
<el-form-item
label=
"企业介绍:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.textarea"
type=
"textarea"
placeholder=
"请输入文本内容"
maxlength=
"1000"
:autosize=
"
{ minRows: 4, maxRows: 6}" show-word-limit resize="none" class="cell-input" />
</div>
</el-form-item>
<el-form-item
label=
"主营产品:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.textarea"
type=
"textarea"
placeholder=
"请输入文本内容"
maxlength=
"1000"
:autosize=
"
{ minRows: 4, maxRows: 6}" show-word-limit resize="none" class="cell-input" />
</div>
</el-form-item>
<el-form-item
label=
"业务范围:"
class=
"form-cell"
prop=
"xxxxx"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.textarea"
type=
"textarea"
placeholder=
"请输入文本内容"
maxlength=
"1000"
:autosize=
"
{ minRows: 4, maxRows: 6}" show-word-limit resize="none" class="cell-input" />
</div>
</div>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -28,14 +150,24 @@
...
@@ -28,14 +150,24 @@
</el-dialog>
</el-dialog>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
HttpReq
}
from
'
@/api/common.js
'
export
default
{
export
default
{
dicts
:
[
'
industry_type
'
],
dicts
:
[
'
industry_type
'
,
'
supplier_rank
'
,
'
company_type
'
,
'
business_status
'
],
data
()
{
data
()
{
return
{
return
{
imgSrcStart
:
process
.
env
.
VUE_APP_BASE_API
,
visible
:
false
,
visible
:
false
,
title
:
'
客户信息
'
,
title
:
'
客户信息
'
,
provinceOpts
:
[],
cityOpts
:
[],
countyOpts
:
[],
formData
:
{
formData
:
{
rank
:
'
1
'
,
picFileName
:
''
,
province
:
null
,
city
:
null
,
county
:
null
,
name
:
''
name
:
''
},
},
rules
:
{
rules
:
{
...
@@ -45,6 +177,7 @@ export default {
...
@@ -45,6 +177,7 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
findAreaByCodeAndType
(
0
,
1
,
'
provinceOpts
'
)
this
.
loadData
()
this
.
loadData
()
})
})
},
},
...
@@ -54,6 +187,8 @@ export default {
...
@@ -54,6 +187,8 @@ export default {
},
},
hideView
()
{
hideView
()
{
this
.
$refs
.
formViewRef
.
resetFields
()
this
.
$refs
.
formViewRef
.
resetFields
()
this
.
cityOpts
=
[]
this
.
countyOpts
=
[]
this
.
visible
=
false
this
.
visible
=
false
},
},
cancelView
()
{
cancelView
()
{
...
@@ -62,14 +197,40 @@ export default {
...
@@ -62,14 +197,40 @@ export default {
submitForm
()
{
submitForm
()
{
this
.
$refs
.
formViewRef
.
validate
(
valid
=>
{
this
.
$refs
.
formViewRef
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
console
.
log
(
this
.
formData
)
}
}
})
})
},
},
excelImport
(
event
)
{
excelImport
(
event
)
{
const
file
=
event
.
target
.
files
[
0
]
const
file
=
event
.
target
.
files
[
0
]
const
formData
=
new
FormData
()
const
formData
=
new
FormData
()
formData
.
append
(
'
files
'
,
file
)
formData
.
append
(
'
businessLicense
'
,
file
)
HttpReq
.
backstageApi
.
uploadBusinessLicense
(
formData
).
then
((
res
)
=>
{
this
.
$nextTick
(()
=>
{
this
.
formData
.
picFileName
=
res
.
businessLicense
this
.
$notify
({
title
:
'
上传成功!
'
,
type
:
'
success
'
,
duration
:
2500
})
})
})
},
findAreaByCodeAndType
(
code
,
type
,
optsName
)
{
switch
(
optsName
)
{
case
'
provinceOpts
'
:
case
'
cityOpts
'
:
this
.
formData
.
city
=
null
this
.
formData
.
county
=
null
break
case
'
countyOpts
'
:
this
.
formData
.
county
=
null
}
HttpReq
.
backstageApi
.
findAreaByCodeAndType
({
code
,
type
}).
then
((
res
)
=>
{
this
[
optsName
]
=
res
})
},
},
loadData
()
{
loadData
()
{
...
@@ -84,6 +245,9 @@ export default {
...
@@ -84,6 +245,9 @@ export default {
.cell-input
{
.cell-input
{
width
:
420px
;
width
:
420px
;
}
}
.cell-select
{
width
:
220px
;
}
>>>
.el-input__inner
{
>>>
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
border-bottom
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.2
);
border-bottom
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.2
);
...
...
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