Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
S
shuchengMiniPro
Project
Project
Details
Activity
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
cfld-frontend
shuchengMiniPro
Commits
1f5a2fb0
Commit
1f5a2fb0
authored
Dec 18, 2023
by
王玉鑫
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 投资舒城
parent
f839327d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
309 additions
and
3 deletions
+309
-3
index.js
src/api/url/index.js
+4
-0
index.vue
src/pages/investment/index.vue
+305
-3
No files found.
src/api/url/index.js
View file @
1f5a2fb0
...
...
@@ -14,4 +14,8 @@ export default {
carrierDetail
:
'/postcard/api/carrier/v1.0/detail'
,
// 招商引资-招商亮点
investmentLights
:
'/postcard/api/developmentInfo/v1.0/detail'
,
// 提交咨询信息
infoSubmit
:
'/postcard/api/investClueInfo/save'
,
// 查询条件列表(字典表)
queryConditionList
:
'/postcard/api/sysDictData/listByCodes'
,
}
src/pages/investment/index.vue
View file @
1f5a2fb0
<
template
>
<div>
投资舒城
</div>
</
template
>
\ No newline at end of file
<div
class=
"invest-us"
>
<div>
<u-tabs
:list=
"tabList"
@
click=
"handleTab"
></u-tabs>
</div>
<div
class=
"body"
>
<div>
持续推进简政放权,为企业提供高效快捷的“一站式”服务;坚持
重点招商引资项目调度推进机制。
</div>
<div
class=
"notice-text"
>
您可以留下您的咨询内容,我们收到后会第一时间联系您
</div>
<div>
<u--form
labelPosition=
"top"
label-width=
"auto"
:model=
"formData"
:rules=
"rules"
ref=
"formRef"
>
<u-form-item
label=
"咨询类别"
prop=
"type"
borderBottom
required
>
<u--input
v-model=
"formData.type"
readonly
border=
"none"
suffixIcon=
"arrow-right"
:suffixIconStyle=
"
{ fontSize: '30rpx' }"
placeholder="请输入类别"
@tap="changeShowPicker(true)"
>
</u--input>
</u-form-item>
<u-form-item
label=
"所属企业"
prop=
"company"
borderBottom
required
>
<u--input
v-model=
"formData.company"
border=
"none"
placeholder=
"请输入企业"
></u--input>
</u-form-item>
<u-form-item
label=
"姓名"
prop=
"name"
borderBottom
required
>
<u--input
v-model=
"formData.name"
border=
"none"
placeholder=
"请输入姓名"
></u--input>
</u-form-item>
<u-form-item
label=
"联系电话"
prop=
"phone"
borderBottom
required
>
<u--input
v-model=
"formData.phone"
type=
"number"
border=
"none"
placeholder=
"请输入联系电话"
></u--input>
</u-form-item>
<u-form-item
label=
"邮箱"
prop=
"email"
borderBottom
>
<u--input
v-model=
"formData.email"
border=
"none"
placeholder=
"请输入邮箱"
></u--input>
</u-form-item>
<u-form-item
label=
"需求描述"
prop=
"desc"
borderBottom
>
<u--textarea
v-model=
"formData.desc"
border=
"none"
placeholder=
"请输入需求描述"
></u--textarea>
</u-form-item>
</u--form>
<div
class=
"submit-btn"
@
click=
"handleSubmit"
>
提交
</div>
</div>
</div>
<u-picker
:show=
"showPicker"
:columns=
"formatedTypeList"
closeOnClickOverlay
@
close=
"changeShowPicker(false)"
@
confirm=
"handlePickerConfirm"
></u-picker>
</div>
</
template
>
<
script
>
import
API
from
"@/api/url/index.js"
;
export
default
{
name
:
"investUs"
,
data
()
{
return
{
tabList
:
[
{
name
:
"投资舒城"
,
},
{
name
:
"联系我们"
,
},
],
tabIndex
:
0
,
formData
:
null
,
rules
:
{
type
:
{
required
:
true
,
message
:
"请输入咨询类别"
,
trigger
:
[
"blur"
,
"change"
],
},
company
:
{
required
:
true
,
message
:
"请输入所属企业"
,
trigger
:
[
"blur"
,
"change"
],
},
name
:
{
required
:
true
,
message
:
"请输入姓名"
,
trigger
:
[
"blur"
,
"change"
],
},
phone
:
[
{
required
:
true
,
message
:
"请输入联系电话"
,
trigger
:
[
"blur"
,
"change"
],
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
return
uni
.
$u
.
test
.
mobile
(
value
);
},
message
:
"手机号码不正确"
,
trigger
:
[
"blur"
,
"change"
],
},
],
email
:
{
type
:
"email"
,
message
:
"请输入正确的邮箱"
,
trigger
:
[
"blur"
,
"change"
],
},
},
isLoading
:
false
,
typeList
:
[],
showPicker
:
false
,
selectedType
:
""
,
};
},
computed
:
{
formatedTypeList
()
{
const
result
=
this
.
typeList
.
map
(({
dictLabel
})
=>
dictLabel
);
return
result
.
length
>
0
?
[
result
]
:
[];
},
},
onReady
()
{
this
.
$refs
.
formRef
.
setRules
(
this
.
rules
);
},
created
()
{
this
.
init
();
},
watch
:
{
isLoading
(
val
)
{
if
(
val
)
{
uni
.
showLoading
();
}
else
{
uni
.
hideLoading
();
}
},
selectedType
(
val
)
{
if
(
val
)
{
this
.
formData
.
type
=
val
.
dictLabel
;
}
},
},
methods
:
{
init
()
{
this
.
initField
();
this
.
initTypeList
();
},
initTypeList
()
{
this
.
$fetch
({
url
:
API
.
queryConditionList
,
data
:
{
code
:
"invest_type"
,
},
}).
then
((
res
)
=>
{
this
.
typeList
=
res
.
invest_type
;
});
},
changeLoading
(
b
)
{
this
.
isLoading
=
b
;
},
changeShowPicker
(
b
)
{
this
.
showPicker
=
b
;
},
handleTab
(
index
)
{
this
.
tabIndex
=
index
;
},
handleParams
()
{
const
{
company
,
desc
,
email
,
name
,
phone
}
=
this
.
formData
;
return
{
phone
,
company
,
details
:
desc
,
name
,
email
,
consultType
:
this
.
selectedType
.
dictValue
,
};
},
initField
()
{
this
.
formData
=
{
type
:
""
,
company
:
""
,
name
:
""
,
phone
:
""
,
email
:
""
,
desc
:
""
,
};
},
handleSubmit
()
{
const
form
=
this
.
$refs
.
formRef
;
form
.
validate
()
.
then
(()
=>
{
if
(
!
this
.
isLoading
)
{
this
.
changeLoading
();
const
params
=
this
.
handleParams
();
this
.
$fetch
({
url
:
API
.
infoSubmit
,
data
:
params
,
header
:
{
"Content-Type"
:
"application/json"
,
},
})
.
then
(()
=>
{
wx
.
showToast
({
title
:
"提交成功"
,
icon
:
"none"
,
duration
:
1500
,
});
this
.
initField
();
form
.
clearValidate
();
})
.
finally
(()
=>
{
this
.
changeLoading
(
false
);
});
}
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
});
},
handlePickerConfirm
(
e
)
{
const
{
indexs
}
=
e
;
this
.
selectedType
=
this
.
typeList
[
indexs
[
0
]];
this
.
changeShowPicker
(
false
);
},
},
};
</
script
>
<
style
lang=
"scss"
>
.invest-us
{
background-color
:
white
;
.body
{
padding
:
40rpx
30rpx
;
font-size
:
24rpx
;
color
:
#333333
;
font-family
:
PingFang-SC
,
PingFang-SC
;
font-weight
:
500
;
line-height
:
30rpx
;
}
.notice-text
{
margin-top
:
36rpx
;
margin-bottom
:
23rpx
;
color
:
#ff511b
;
}
.u-form-item__body__left__content
{
flex
:
none
!
important
;
}
.u-form-item__body__left__content__required
{
left
:
unset
!
important
;
right
:
-18rpx
;
}
.u-form-item__body__right
{
margin-top
:
20rpx
;
padding
:
20rpx
;
background-color
:
#f4f6fa
;
}
.u-form-item
~
.u-form-item
{
margin-top
:
20rpx
;
}
.submit-btn
{
margin-top
:
60rpx
;
height
:
68rpx
;
background
:
#4374ef
;
border-radius
:
4rpx
;
opacity
:
1
;
font-size
:
34rpx
;
font-family
:
PingFang-SC
,
PingFang-SC
;
font-weight
:
bold
;
color
:
#ffffff
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.u-textarea
{
background-color
:
unset
!
important
;
padding
:
0
!
important
;
}
}
</
style
>
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