Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
XBPX-DA-h5
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
刘旭
XBPX-DA-h5
Commits
02d67aa2
提交
02d67aa2
authored
11月 08, 2023
作者:
刘旭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新
上级
0f001c47
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
151 行增加
和
52 行删除
+151
-52
refer.ts
src/api/refer.ts
+16
-3
appointmentTime.vue
src/components/appointmentTime.vue
+11
-6
index.vue
src/pages/myReservation/index.vue
+2
-1
login.vue
src/pages/myReservation/login.vue
+14
-8
index.vue
src/pages/refer/index.vue
+8
-0
referForm.vue
src/pages/refer/referForm.vue
+29
-13
referReservation.vue
src/pages/refer/referReservation.vue
+19
-6
index.vue
src/pages/transfer/index.vue
+25
-14
reservation.vue
src/pages/transfer/reservation.vue
+8
-0
index.vue
src/pages/workGuide/index.vue
+1
-0
useStore.ts
src/store/useStore.ts
+4
-0
request.ts
src/utils/request.ts
+0
-1
util.ts
src/utils/util.ts
+14
-0
没有找到文件。
src/api/refer.ts
浏览文件 @
02d67aa2
import
request
from
"@/utils/request"
import
request
from
"@/utils/request"
;
/**
/**
* @brief 查阅预约
* @brief 查阅预约
...
@@ -10,5 +10,18 @@ export const referReservation = (data: any) => {
...
@@ -10,5 +10,18 @@ export const referReservation = (data: any) => {
"/LQKJ.K3.FileSystem.WebApi.WebApiService.Select,LQKJ.K3.FileSystem.WebApi.common.kdsvc"
,
"/LQKJ.K3.FileSystem.WebApi.WebApiService.Select,LQKJ.K3.FileSystem.WebApi.common.kdsvc"
,
"POST"
,
"POST"
,
data
data
)
);
}
};
/**
* @brief 查阅预约
* @param data
* @return
*/
export
const
pushMessaging
=
(
data
:
any
)
=>
{
return
request
(
"/LQKJ.K3.FileSystem.WebApi.WebApiService.PushMessaging,LQKJ.K3.FileSystem.WebApi.common.kdsvc"
,
"POST"
,
data
);
};
src/components/appointmentTime.vue
浏览文件 @
02d67aa2
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
class=
"time-item"
class=
"time-item"
@
tap=
"change(item, i)"
@
tap=
"change(item, i)"
>
>
<view
class=
"date"
>
{{
item
.
date
.
split
(
"-"
)[
1
]
}}
</view>
<view
class=
"date"
>
{{
item
.
date
.
split
(
"-"
)[
2
]
}}
</view>
<view
class=
"week"
>
{{
item
.
week
}}
</view>
<view
class=
"week"
>
{{
item
.
week
}}
</view>
<view
v-show=
"item.show"
class=
"rest"
>
休
</view>
<view
v-show=
"item.show"
class=
"rest"
>
休
</view>
<view
v-show=
"!isFull(item) && !item.show"
class=
"rest full"
>
满
</view>
<view
v-show=
"!isFull(item) && !item.show"
class=
"rest full"
>
满
</view>
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
class=
"time-item"
class=
"time-item"
@
tap=
"change(item, i)"
@
tap=
"change(item, i)"
>
>
<view
class=
"date"
>
{{
item
.
date
.
split
(
"-"
)[
1
]
}}
</view>
<view
class=
"date"
>
{{
item
.
date
.
split
(
"-"
)[
2
]
}}
</view>
<view
class=
"week"
>
{{
item
.
week
}}
</view>
<view
class=
"week"
>
{{
item
.
week
}}
</view>
<view
v-show=
"item.show"
class=
"rest"
>
休
</view>
<view
v-show=
"item.show"
class=
"rest"
>
休
</view>
<view
v-show=
"!isFull(item) && !item.show"
class=
"rest full"
>
满
</view>
<view
v-show=
"!isFull(item) && !item.show"
class=
"rest full"
>
满
</view>
...
@@ -83,15 +83,19 @@
...
@@ -83,15 +83,19 @@
</view>
</view>
</view>
</view>
<view
v-show=
"
wxtsPrompt
"
class=
"wxti-prompt"
>
<view
v-show=
"
prompt?.WXTSS?.FCONTENT
"
class=
"wxti-prompt"
>
<view
class=
"wxti-prompt-detail"
>
温馨提示:
</view>
<view
class=
"wxti-prompt-detail"
>
温馨提示:
</view>
<view
class=
"wxti-prompt-detail"
>
{{
wxtsPrompt
}}
</view>
<view
class=
"wxti-prompt-detail"
>
{{
prompt
?.
WXTSS
?.
FCONTENT
}}
</view>
</view>
</view>
<u-button
class=
"confirm-btn"
type=
"primary"
@
tap=
"onConfirm"
<u-button
class=
"confirm-btn"
type=
"primary"
@
tap=
"onConfirm"
>
立即预约
</u-button
>
立即预约
</u-button
>
>
<view
v-show=
"wxtsxPromptShow"
class=
"prompt"
>
<view
class=
"prompt-title"
>
温馨提示:
</view>
<view
class=
"prompt-detail"
>
{{
prompt
?.
WXTSX
?.
FCONTENT
}}
</view>
</view>
<view
v-show=
"show"
class=
"prompt"
>
<view
v-show=
"show"
class=
"prompt"
>
<view
class=
"prompt-title"
>
温馨提示:
</view>
<view
class=
"prompt-title"
>
温馨提示:
</view>
<!--
<view
class=
"prompt-detail"
>
{{
prompt
}}
</view>
-->
<!--
<view
class=
"prompt-detail"
>
{{
prompt
}}
</view>
-->
...
@@ -113,8 +117,8 @@ const props = defineProps({
...
@@ -113,8 +117,8 @@ const props = defineProps({
default
:
""
,
default
:
""
,
},
},
show
:
Boolean
,
show
:
Boolean
,
prompt
:
String
,
wxtsxPromptShow
:
Boolean
,
wxtsPrompt
:
String
,
prompt
:
Object
,
current
:
{
current
:
{
type
:
Number
,
type
:
Number
,
default
:
0
,
default
:
0
,
...
@@ -132,6 +136,7 @@ const props = defineProps({
...
@@ -132,6 +136,7 @@ const props = defineProps({
default
:
""
,
default
:
""
,
},
},
});
});
console
.
log
(
props
.
prompt
);
const
emits
=
defineEmits
([
"change"
,
"onConfirm"
]);
const
emits
=
defineEmits
([
"change"
,
"onConfirm"
]);
...
...
src/pages/myReservation/index.vue
浏览文件 @
02d67aa2
...
@@ -78,7 +78,7 @@ const paramsData = ref({} as any);
...
@@ -78,7 +78,7 @@ const paramsData = ref({} as any);
const
list
=
ref
([]
as
any
);
const
list
=
ref
([]
as
any
);
const
tapItem
=
(
row
:
string
)
=>
{
const
tapItem
=
(
row
:
any
)
=>
{
if
(
row
.
FHANDLESTATES
!=
"未办理"
)
return
;
if
(
row
.
FHANDLESTATES
!=
"未办理"
)
return
;
if
(
state
.
FID
===
row
.
FID
)
return
(
state
.
FID
=
""
);
if
(
state
.
FID
===
row
.
FID
)
return
(
state
.
FID
=
""
);
state
.
FID
=
row
.
FID
;
state
.
FID
=
row
.
FID
;
...
@@ -87,6 +87,7 @@ const tapItem = (row: string) => {
...
@@ -87,6 +87,7 @@ const tapItem = (row: string) => {
const
change
=
(
e
:
any
)
=>
{
const
change
=
(
e
:
any
)
=>
{
state
.
current
=
e
;
state
.
current
=
e
;
state
.
FID
=
""
;
state
.
FID
=
""
;
list
.
value
=
[];
init
();
init
();
};
};
...
...
src/pages/myReservation/login.vue
浏览文件 @
02d67aa2
...
@@ -4,7 +4,12 @@
...
@@ -4,7 +4,12 @@
<u-image
src=
"../../static/img/Frame812.png"
width=
"100%"
height=
"100%"
/>
<u-image
src=
"../../static/img/Frame812.png"
width=
"100%"
height=
"100%"
/>
</view>
</view>
<view
class=
"logo"
>
<view
class=
"logo"
>
<u-image
src=
"../../static/img/logo.png"
width=
"100%"
height=
"240rpx"
/>
<u-image
src=
"../../static/img/logo.png"
width=
"100%"
height=
"240rpx"
mode=
"aspectFit"
/>
<view
class=
"logo-detail"
>
档案系统
</view>
<view
class=
"logo-detail"
>
档案系统
</view>
</view>
</view>
...
@@ -55,7 +60,7 @@
...
@@ -55,7 +60,7 @@
</
template
>
</
template
>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
toast
,
encrypt
,
decrypt
}
from
"@/utils/util"
;
import
{
toast
,
decrypt
}
from
"@/utils/util"
;
import
{
verification
}
from
"@/api/deposit"
;
import
{
verification
}
from
"@/api/deposit"
;
import
{
useGlobalStore
}
from
"../../store/useStore"
;
import
{
useGlobalStore
}
from
"../../store/useStore"
;
...
@@ -72,7 +77,7 @@ const data = reactive({
...
@@ -72,7 +77,7 @@ const data = reactive({
{
{
required
:
true
,
required
:
true
,
message
:
"请输入手机号"
,
message
:
"请输入手机号"
,
trigger
:
[
"
change"
,
"
blur"
],
trigger
:
[
"blur"
],
},
},
{
{
// 自定义验证函数,见上说明
// 自定义验证函数,见上说明
...
@@ -81,14 +86,14 @@ const data = reactive({
...
@@ -81,14 +86,14 @@ const data = reactive({
},
},
message
:
"手机号码不正确"
,
message
:
"手机号码不正确"
,
// 触发器可以同时用blur和change
// 触发器可以同时用blur和change
trigger
:
[
"
change"
,
"
blur"
],
trigger
:
[
"blur"
],
},
},
],
],
code
:
[
code
:
[
{
{
required
:
true
,
required
:
true
,
message
:
"请输入验证码"
,
message
:
"请输入验证码"
,
trigger
:
[
"
change"
,
"
blur"
],
trigger
:
[
"blur"
],
},
},
],
],
},
},
...
@@ -145,6 +150,7 @@ watch(
...
@@ -145,6 +150,7 @@ watch(
const
getCode
=
async
()
=>
{
const
getCode
=
async
()
=>
{
if
(
uCode
.
value
.
canGetCode
)
{
if
(
uCode
.
value
.
canGetCode
)
{
// 模拟向后端请求验证码
// 模拟向后端请求验证码
let
timer
:
ReturnType
<
typeof
setTimeout
>
;
const
{
data
:
res
}
=
await
verification
(
data
.
formData
.
phone
);
const
{
data
:
res
}
=
await
verification
(
data
.
formData
.
phone
);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
data
.
codeValue
=
decrypt
(
res
.
data
);
data
.
codeValue
=
decrypt
(
res
.
data
);
...
@@ -154,7 +160,7 @@ const getCode = async () => {
...
@@ -154,7 +160,7 @@ const getCode = async () => {
setTimeout
(()
=>
{
setTimeout
(()
=>
{
uni
.
hideLoading
();
uni
.
hideLoading
();
clearTimeout
(
timer
);
clearTimeout
(
timer
);
var
timer
=
setTimeout
(()
=>
{
timer
=
setTimeout
(()
=>
{
data
.
flag
=
false
;
data
.
flag
=
false
;
},
300000
);
},
300000
);
// 这里此提示会被this.start()方法中的提示覆盖
// 这里此提示会被this.start()方法中的提示覆盖
...
@@ -177,8 +183,8 @@ onReady(() => {
...
@@ -177,8 +183,8 @@ onReady(() => {
const
submit
=
()
=>
{
const
submit
=
()
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
//
if (!data.flag) return toast("验证码失效");
if
(
!
data
.
flag
)
return
toast
(
"验证码失效"
);
//
if (data.formData.code != data.codeValue) return toast("验证码不正确");
if
(
data
.
formData
.
code
!=
data
.
codeValue
)
return
toast
(
"验证码不正确"
);
globalStore
.
setPhone
(
data
.
formData
.
phone
);
globalStore
.
setPhone
(
data
.
formData
.
phone
);
uni
.
reLaunch
({
url
:
"/pages/myReservation/index"
});
uni
.
reLaunch
({
url
:
"/pages/myReservation/index"
});
}
}
...
...
src/pages/refer/index.vue
浏览文件 @
02d67aa2
...
@@ -7,10 +7,13 @@
...
@@ -7,10 +7,13 @@
</template>
</template>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
appointmentConfig
}
from
"@/api/transfer"
;
import
{
appointmentConfig
}
from
"@/api/transfer"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
getUrlCode
}
from
"@/utils/util"
;
import
workGuide
from
"@/pages/workGuide/index.vue"
;
import
workGuide
from
"@/pages/workGuide/index.vue"
;
import
referForm
from
"./referForm.vue"
;
import
referForm
from
"./referForm.vue"
;
const
referFormRef
=
ref
();
const
referFormRef
=
ref
();
const
globalStore
=
useGlobalStore
();
const
paramsData
=
ref
({}
as
any
);
const
paramsData
=
ref
({}
as
any
);
// 初始化数据
// 初始化数据
...
@@ -42,6 +45,11 @@ onReady(() => {
...
@@ -42,6 +45,11 @@ onReady(() => {
init
();
init
();
referFormRef
.
value
.
initRules
();
referFormRef
.
value
.
initRules
();
});
});
onMounted
(()
=>
{
let
code
=
getUrlCode
().
code
;
if
(
code
)
globalStore
.
setCode
(
code
);
});
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/refer/referForm.vue
浏览文件 @
02d67aa2
...
@@ -110,7 +110,7 @@
...
@@ -110,7 +110,7 @@
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
verification
}
from
"@/api/transfer"
;
import
{
verification
}
from
"@/api/transfer"
;
import
{
isXgIDCard
,
toast
}
from
"@/utils/util"
;
import
{
decrypt
,
isXgIDCard
,
toast
}
from
"@/utils/util"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
depositReservation
}
from
"@/api/deposit"
;
import
{
depositReservation
}
from
"@/api/deposit"
;
...
@@ -171,6 +171,13 @@ const state = reactive({
...
@@ -171,6 +171,13 @@ const state = reactive({
trigger
:
[
"blur"
],
trigger
:
[
"blur"
],
},
},
],
],
code
:
[
{
required
:
true
,
message
:
"请输入验证码"
,
trigger
:
[
"blur"
],
},
],
FDAIDCard1
:
[
FDAIDCard1
:
[
{
{
required
:
true
,
required
:
true
,
...
@@ -267,6 +274,7 @@ const state = reactive({
...
@@ -267,6 +274,7 @@ const state = reactive({
codeValue
:
""
,
codeValue
:
""
,
codeDisabled
:
false
,
codeDisabled
:
false
,
disabled
:
false
,
disabled
:
false
,
flag
:
true
,
});
});
watch
(
watch
(
...
@@ -302,9 +310,9 @@ const isExist = async (idCard: string, type: number = 1) => {
...
@@ -302,9 +310,9 @@ const isExist = async (idCard: string, type: number = 1) => {
const
submit
=
()
=>
{
const
submit
=
()
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// if (state.tips == "重新获取"
) return toast("验证码失效");
if
(
!
state
.
flag
)
return
toast
(
"验证码失效"
);
//
if (state.codeValue !== state.parmeters.Model.code)
if
(
state
.
codeValue
!==
state
.
parmeters
.
Model
.
code
)
//
return toast("验证码不正确");
return
toast
(
"验证码不正确"
);
Reflect
.
deleteProperty
(
state
.
parmeters
.
Model
,
"code"
);
Reflect
.
deleteProperty
(
state
.
parmeters
.
Model
,
"code"
);
if
(
state
.
parmeters
.
Model
.
FReferToType
==
"本人查阅"
)
{
if
(
state
.
parmeters
.
Model
.
FReferToType
==
"本人查阅"
)
{
const
{
isIdCard
,
msg
}
=
await
isExist
(
const
{
isIdCard
,
msg
}
=
await
isExist
(
...
@@ -343,27 +351,35 @@ const radioChange = (e: string) => {
...
@@ -343,27 +351,35 @@ const radioChange = (e: string) => {
};
};
const
getCode
=
async
()
=>
{
const
getCode
=
async
()
=>
{
if
(
state
.
codeDisabled
||
uniA
.
$u
.
test
.
mobile
(
state
.
parmeters
.
Model
.
code
))
try
{
return
;
// if (state.codeDisabled || uniA.$u.test.mobile(state.parmeters.Model.code))
// return toast("手机号为空或手机号格式不正确")
;
// return
;
if
(
uCode
.
value
.
canGetCode
)
{
if
(
!
uCode
.
value
.
canGetCode
)
return
toast
(
"倒计时结束后再发送"
);
// 模拟向后端请求验证码
let
timer
:
ReturnType
<
typeof
setTimeout
>
;
const
{
data
:
res
}
=
await
verification
(
const
{
data
:
res
}
=
await
verification
(
state
.
parmeters
.
Model
.
FPhoneNumber
state
.
parmeters
.
Model
.
FPhoneNumber
);
);
if
(
res
.
code
==
200
)
{
state
.
codeValue
=
res
.
state
;
if
(
res
.
code
===
200
)
{
state
.
codeValue
=
decrypt
(
res
.
data
);
uni
.
showLoading
({
uni
.
showLoading
({
title
:
"正在获取验证码"
,
title
:
"正在获取验证码"
,
});
});
setTimeout
(()
=>
{
setTimeout
(()
=>
{
uni
.
hideLoading
();
uni
.
hideLoading
();
clearTimeout
(
timer
);
timer
=
setTimeout
(()
=>
{
state
.
flag
=
false
;
},
300000
);
toast
(
"验证码已发送"
);
toast
(
"验证码已发送"
);
uCode
.
value
.
start
();
uCode
.
value
.
start
();
},
2000
);
},
2000
);
}
}
}
else
{
}
catch
(
error
)
{
toast
(
"倒计时结束后再发送"
);
console
.
error
(
"获取验证码失败:"
,
error
);
// 处理错误逻辑,如显示错误提示等
}
}
};
};
...
...
src/pages/refer/referReservation.vue
浏览文件 @
02d67aa2
...
@@ -2,9 +2,8 @@
...
@@ -2,9 +2,8 @@
<appointmentTime
<appointmentTime
ref=
"appointmentTimeRef"
ref=
"appointmentTimeRef"
time-title=
"选择预约时间"
time-title=
"选择预约时间"
:show=
"!state.isReservation"
:prompt=
"state.paramsData"
:prompt=
"state.paramsData?.WXTSX?.FCONTENT"
:wxtsx-prompt-show=
"state.wxtsxPromptShow"
:wxts-prompt=
"state.paramsData?.WXTSS?.FCONTENT"
@
change=
"reservationChange"
@
change=
"reservationChange"
@
on-confirm=
"onConfirm"
@
on-confirm=
"onConfirm"
/>
/>
...
@@ -12,18 +11,18 @@
...
@@ -12,18 +11,18 @@
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
selectDateTime
,
appointmentConfig
}
from
"@/api/transfer"
;
import
{
selectDateTime
,
appointmentConfig
}
from
"@/api/transfer"
;
import
{
referReservation
}
from
"@/api/refer"
;
import
{
pushMessaging
,
referReservation
}
from
"@/api/refer"
;
import
{
zconfirm
,
toast
}
from
"@/utils/util"
;
import
{
zconfirm
,
toast
}
from
"@/utils/util"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
appointmentTime
from
"@/components/appointmentTime.vue"
;
import
appointmentTime
from
"@/components/appointmentTime.vue"
;
const
globalStore
=
useGlobalStore
();
const
globalStore
=
useGlobalStore
();
// pages/refer/referReservation
const
appointmentTimeRef
=
ref
();
const
appointmentTimeRef
=
ref
();
const
state
=
reactive
({
const
state
=
reactive
({
paramsData
:
{}
as
any
,
paramsData
:
{}
as
any
,
parmeters
:
{}
as
any
,
parmeters
:
{}
as
any
,
isReservation
:
false
,
isReservation
:
false
,
wxtsxPromptShow
:
false
,
fid
:
""
,
fid
:
""
,
});
});
const
list
=
ref
([]
as
any
);
const
list
=
ref
([]
as
any
);
...
@@ -53,7 +52,20 @@ const onConfirm = () => {
...
@@ -53,7 +52,20 @@ const onConfirm = () => {
parmeters
:
JSON
.
stringify
(
params
),
parmeters
:
JSON
.
stringify
(
params
),
});
});
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
state
.
isReservation
=
true
;
state
.
wxtsxPromptShow
=
true
;
let
pushParams
=
{
Code
:
globalStore
.
code
,
FDatetime
:
""
,
//预约时间
YYType
:
"档案查阅"
,
//预约类型:档案移交,档案查阅
};
list
.
value
.
map
((
item
:
any
)
=>
{
[...
item
.
morning
,
...
item
.
afternoon
].
map
((
col
:
any
)
=>
{
if
(
col
.
FEntryID
==
state
.
fid
)
{
pushParams
.
FDatetime
=
item
.
date
+
" "
+
col
.
Time
+
":00"
;
}
});
});
await
pushMessaging
(
pushParams
);
appointmentTimeRef
.
value
.
FEntryID
=
null
;
appointmentTimeRef
.
value
.
FEntryID
=
null
;
await
init
();
await
init
();
await
toast
(
"查阅预约成功"
);
await
toast
(
"查阅预约成功"
);
...
@@ -73,6 +85,7 @@ const initAppointmentConfig = async () => {
...
@@ -73,6 +85,7 @@ const initAppointmentConfig = async () => {
state
.
paramsData
.
WXTSX
=
item
.
WXTSX
[
0
];
state
.
paramsData
.
WXTSX
=
item
.
WXTSX
[
0
];
}
}
});
});
console
.
log
(
state
.
paramsData
);
}
}
};
};
...
...
src/pages/transfer/index.vue
浏览文件 @
02d67aa2
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
toast
,
isXgIDCard
}
from
"@/utils/util"
;
import
{
toast
,
isXgIDCard
,
getUrlCode
,
decrypt
}
from
"@/utils/util"
;
import
{
verification
,
appointmentConfig
}
from
"@/api/transfer"
;
import
{
verification
,
appointmentConfig
}
from
"@/api/transfer"
;
import
workGuide
from
"@/pages/workGuide/index.vue"
;
import
workGuide
from
"@/pages/workGuide/index.vue"
;
...
@@ -144,17 +144,18 @@ const data = reactive({
...
@@ -144,17 +144,18 @@ const data = reactive({
trigger
:
[
"change"
,
"blur"
],
trigger
:
[
"change"
,
"blur"
],
},
},
],
],
//
code: [
code
:
[
//
{
{
//
required: true,
required
:
true
,
//
message: "请输入验证码",
message
:
"请输入验证码"
,
// trigger: [
"blur"],
trigger
:
[
"blur"
],
//
},
},
//
],
],
},
},
tips
:
""
,
tips
:
""
,
codeValue
:
""
,
codeValue
:
""
,
codeDisabled
:
true
,
codeDisabled
:
true
,
flag
:
true
,
paramsData
:
{}
as
any
,
paramsData
:
{}
as
any
,
});
});
...
@@ -177,18 +178,23 @@ watch(
...
@@ -177,18 +178,23 @@ watch(
);
);
const
getCode
=
async
()
=>
{
const
getCode
=
async
()
=>
{
if
(
data
.
codeDisabled
||
uniA
.
$u
.
test
.
mobile
(
data
.
parmeters
.
Model
.
code
))
//
if (data.codeDisabled || uniA.$u.test.mobile(data.parmeters.Model.code))
return
;
//
return;
if
(
uCode
.
value
.
canGetCode
)
{
if
(
uCode
.
value
.
canGetCode
)
{
let
timer
:
ReturnType
<
typeof
setTimeout
>
;
// 模拟向后端请求验证码
// 模拟向后端请求验证码
const
{
data
:
res
}
=
await
verification
(
data
.
parmeters
.
Model
.
FPhoneNumber
);
const
{
data
:
res
}
=
await
verification
(
data
.
parmeters
.
Model
.
FPhoneNumber
);
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
data
.
codeValue
=
res
.
data
;
data
.
codeValue
=
decrypt
(
res
.
data
)
;
uni
.
showLoading
({
uni
.
showLoading
({
title
:
"正在获取验证码"
,
title
:
"正在获取验证码"
,
});
});
setTimeout
(()
=>
{
setTimeout
(()
=>
{
uni
.
hideLoading
();
uni
.
hideLoading
();
clearTimeout
(
timer
);
timer
=
setTimeout
(()
=>
{
data
.
flag
=
false
;
},
300000
);
toast
(
"验证码已发送"
);
toast
(
"验证码已发送"
);
uCode
.
value
.
start
();
uCode
.
value
.
start
();
},
2000
);
},
2000
);
...
@@ -211,9 +217,9 @@ const start = () => {
...
@@ -211,9 +217,9 @@ const start = () => {
const
submit
=
()
=>
{
const
submit
=
()
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
form
.
value
.
validate
(
async
(
valid
:
boolean
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// if (data.tips == "重新获取") return toast("验证码失效")
if
(
!
data
.
flag
)
return
toast
(
"验证码失效"
);
//
if (data.codeValue !== data.parmeters.Model.code)
if
(
data
.
codeValue
!==
data
.
parmeters
.
Model
.
code
)
// return toast("验证码不正确")
return
toast
(
"验证码不正确"
);
Reflect
.
deleteProperty
(
data
.
parmeters
.
Model
,
"code"
);
Reflect
.
deleteProperty
(
data
.
parmeters
.
Model
,
"code"
);
globalStore
.
setTransferData
(
data
.
parmeters
);
globalStore
.
setTransferData
(
data
.
parmeters
);
uni
.
navigateTo
({
url
:
"/pages/transfer/reservation"
});
uni
.
navigateTo
({
url
:
"/pages/transfer/reservation"
});
...
@@ -245,6 +251,11 @@ onReady(async () => {
...
@@ -245,6 +251,11 @@ onReady(async () => {
// console.log(data.paramsData);
// console.log(data.paramsData);
}
}
});
});
onMounted
(()
=>
{
let
code
=
getUrlCode
().
code
;
if
(
code
)
globalStore
.
setCode
(
code
);
});
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/transfer/reservation.vue
浏览文件 @
02d67aa2
...
@@ -30,6 +30,7 @@ import { baseUrl } from "@/utils/request";
...
@@ -30,6 +30,7 @@ import { baseUrl } from "@/utils/request";
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
useGlobalStore
}
from
"@/store/useStore"
;
import
{
hLoading
,
sLoading
,
toast
,
zconfirm
}
from
"@/utils/util"
;
import
{
hLoading
,
sLoading
,
toast
,
zconfirm
}
from
"@/utils/util"
;
import
{
selectDateTime
,
appointmentConfig
}
from
"@/api/transfer"
;
import
{
selectDateTime
,
appointmentConfig
}
from
"@/api/transfer"
;
import
{
pushMessaging
}
from
"@/api/refer"
;
import
appointmentTime
from
"@/components/appointmentTime.vue"
;
import
appointmentTime
from
"@/components/appointmentTime.vue"
;
const
uniA
:
any
=
uni
;
const
uniA
:
any
=
uni
;
...
@@ -102,15 +103,22 @@ const upload = (type: number) => {
...
@@ -102,15 +103,22 @@ const upload = (type: number) => {
const
res
=
JSON
.
parse
(
uploadFileRes
.
data
);
const
res
=
JSON
.
parse
(
uploadFileRes
.
data
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
state
.
isReservation
=
true
;
state
.
isReservation
=
true
;
let
pushParams
=
{
Code
:
globalStore
.
code
,
FDatetime
:
""
,
//预约时间
YYType
:
"档案移交"
,
//预约类型:档案移交,档案查阅
};
list
.
value
.
map
((
item
:
any
)
=>
{
list
.
value
.
map
((
item
:
any
)
=>
{
[...
item
.
morning
,
...
item
.
afternoon
].
map
((
col
:
any
)
=>
{
[...
item
.
morning
,
...
item
.
afternoon
].
map
((
col
:
any
)
=>
{
if
(
col
.
FEntryID
==
state
.
fid
)
{
if
(
col
.
FEntryID
==
state
.
fid
)
{
pushParams
.
FDatetime
=
item
.
date
+
" "
+
col
.
Time
+
":00"
;
state
.
successDate
=
`
${
item
.
date
.
split
(
"-"
)[
0
]}
月
${
state
.
successDate
=
`
${
item
.
date
.
split
(
"-"
)[
0
]}
月
${
item
.
date
.
split
(
"-"
)[
1
]
item
.
date
.
split
(
"-"
)[
1
]
}
日
${
parseInt
(
col
.
Time
?.
split
(
":"
)[
0
],
10
).
toString
()}
点
`;
}
日
${
parseInt
(
col
.
Time
?.
split
(
":"
)[
0
],
10
).
toString
()}
点
`;
}
}
});
});
});
});
await pushMessaging(pushParams);
appointmentTimeRef.value.FEntryID = null;
appointmentTimeRef.value.FEntryID = null;
fileUrl.value = null;
fileUrl.value = null;
await init();
await init();
...
...
src/pages/workGuide/index.vue
浏览文件 @
02d67aa2
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
src=
"@/static/img/logo.png"
src=
"@/static/img/logo.png"
width=
"100%"
width=
"100%"
height=
"240rpx"
height=
"240rpx"
mode=
"aspectFit"
border-radius=
"15"
border-radius=
"15"
/>
/>
<view
class=
"logo-detail"
>
{{
title
}}
</view>
<view
class=
"logo-detail"
>
{{
title
}}
</view>
...
...
src/store/useStore.ts
浏览文件 @
02d67aa2
...
@@ -10,6 +10,7 @@ export const useGlobalStore = defineStore({
...
@@ -10,6 +10,7 @@ export const useGlobalStore = defineStore({
referData
:
null
,
referData
:
null
,
infoData
:
{}
as
any
,
infoData
:
{}
as
any
,
phone
:
""
,
phone
:
""
,
code
:
""
,
};
};
},
},
getters
:
{},
getters
:
{},
...
@@ -26,6 +27,9 @@ export const useGlobalStore = defineStore({
...
@@ -26,6 +27,9 @@ export const useGlobalStore = defineStore({
setPhone
(
phone
:
string
)
{
setPhone
(
phone
:
string
)
{
this
.
phone
=
phone
;
this
.
phone
=
phone
;
},
},
setCode
(
code
:
string
)
{
this
.
code
=
code
;
},
},
},
persist
:
piniaPersistOption
(
"globalStore"
),
persist
:
piniaPersistOption
(
"globalStore"
),
});
});
...
...
src/utils/request.ts
浏览文件 @
02d67aa2
...
@@ -42,7 +42,6 @@ function request(
...
@@ -42,7 +42,6 @@ function request(
}
else
{
}
else
{
console
.
log
(
res
.
data
.
Result
,
"非200错误"
);
console
.
log
(
res
.
data
.
Result
,
"非200错误"
);
if
(
!
res
.
data
.
hasOwnProperty
(
"code"
))
return
resolve
(
res
.
data
);
if
(
!
res
.
data
.
hasOwnProperty
(
"code"
))
return
resolve
(
res
.
data
);
// res.data.has
//其余异样
//其余异样
reject
(
res
);
reject
(
res
);
}
}
...
...
src/utils/util.ts
浏览文件 @
02d67aa2
...
@@ -184,3 +184,17 @@ export const isXgIDCard = (str: string) => {
...
@@ -184,3 +184,17 @@ export const isXgIDCard = (str: string) => {
return
false
;
return
false
;
}
}
};
};
// 截取url中的code方法
export
const
getUrlCode
=
()
=>
{
const
url
=
location
.
search
;
const
theRequest
:
any
=
new
Object
();
if
(
url
.
indexOf
(
"?"
)
!=
-
1
)
{
const
str
=
url
.
substr
(
1
);
const
strs
=
str
.
split
(
"&"
);
for
(
let
i
:
any
=
0
;
i
<
strs
.
length
;
i
++
)
{
theRequest
[
strs
[
i
].
split
(
"="
)[
0
]]
=
strs
[
i
].
split
(
"="
)[
1
];
}
}
return
theRequest
;
};
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论