Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
folacin-front
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
ynby
folacin-front
Commits
5c18c61b
Commit
5c18c61b
authored
Jul 22, 2021
by
罗成兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分配记录
parent
6250f541
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
214 additions
and
21 deletions
+214
-21
index.js
src/api/index.js
+4
-1
index_dev.js
src/router/index_dev.js
+99
-0
folviteApply.vue
src/views/indexComponent/folviteApply/folviteApply.vue
+2
-2
addFolviteDistribution.vue
...folviteDistribution/components/addFolviteDistribution.vue
+1
-1
folviteDistributionDetail.vue
...viteDistribution/components/folviteDistributionDetail.vue
+8
-5
folviteDistribution.vue
...ndexComponent/folviteDistribution/folviteDistribution.vue
+99
-9
loginApi.js
src/views/utils/loginApi.js
+1
-3
No files found.
src/api/index.js
View file @
5c18c61b
...
...
@@ -196,6 +196,9 @@ export default {
fetchFolviteDistributionDetail
(
params
)
{
//叶酸发放查看详情
return
fetch
(
`/v1/folacin-admin/folacin-resident-info/grant-details/
${
params
.
residentId
}
`
)
},
fetchFolviteUploadConsent
(
params
)
{
//上传知情同意书
return
fetch
(
`/v1/folacin-admin/folacin-resident-info/upload-consent/
${
params
.
id
}
/
${
params
.
consentId
}
`
,
{},
'post'
)
},
},
//物资调拨管理
allocationManagement
:
{
...
...
@@ -245,7 +248,7 @@ export default {
return
fetch
(
`/v1/folacin-admin/folacin-resident-info/delete/
${
params
.
id
}
`
,
params
,
'delete'
,
'json'
);
},
addFolviteDistributionByApply
(
params
)
{
//对申请记录进行发放
return
fetch
(
`/v1/folacin-admin/folacin-resident-info/apply-grant/
${
params
.
applyId
}
`
,
params
,
"post"
,
'json'
);
return
fetch
(
`/v1/folacin-admin/folacin-resident-info/apply-grant/
${
params
.
applyId
}
`
,
params
,
"post"
,
'json'
);
}
},
fyManage
:
{
...
...
src/router/index_dev.js
0 → 100644
View file @
5c18c61b
import
Vue
from
'vue'
import
VueRouter
from
'vue-router'
import
storeInfo
from
'../store/index'
// 进度条
import
NProgress
from
'nprogress'
let
activeUrl
=
window
.
sessionStorage
.
getItem
(
'activeItem'
)
||
'/Home/inStock'
NProgress
.
configure
({
showSpinner
:
false
});
Vue
.
use
(
VueRouter
)
const
routes
=
[
{
path
:
'/'
,
redirect
:
activeUrl
},
{
path
:
'/Login'
,
component
:
()
=>
import
(
'@/views/Login.vue'
)},
{
path
:
'/unitLogin'
,
component
:
()
=>
import
(
'@/views/Login.vue'
)},
{
path
:
'/Home'
,
component
:
()
=>
import
(
'@/views/Home_dev.vue'
),
children
:
[
// 叶酸发放
{
path
:
'folviteIndex'
,
name
:
'首页'
,
component
:
()
=>
import
(
'@/views/Index.vue'
)},
//在库管理
{
path
:
'inStock'
,
name
:
'在库管理'
,
component
:
()
=>
import
(
'@/views/indexComponent/inStockManage/inStockManage.vue'
)},
//叶酸发放登记
{
path
:
'folviteDistribution'
,
name
:
'叶酸发放登记列表'
,
component
:
()
=>
import
(
'@/views/indexComponent/folviteDistribution/folviteDistribution.vue'
)},
//分配入库
{
path
:
'distributionWarehousing'
,
name
:
'分配入库列表'
,
component
:
()
=>
import
(
'@/views/indexComponent/distributionWarehousing/distributionWarehousing.vue'
)},
//发货方分配记录
{
path
:
'sendRecord'
,
name
:
'分配入库列表'
,
component
:
()
=>
import
(
'@/views/indexComponent/distributionWarehousing/sendRecord.vue'
)},
//出入库记录
{
path
:
'stockTransfer'
,
name
:
'出入库记录'
,
component
:
()
=>
import
(
'@/views/indexComponent/stockTransfer/stockTransfer.vue'
)},
//叶酸申请管理
{
path
:
'folviteApply'
,
name
:
'叶酸申请管理'
,
component
:
()
=>
import
(
'@/views/indexComponent/folviteApply/folviteApply.vue'
)},
//知情同意书管理
{
path
:
'InformedConsent'
,
name
:
'知情同意书'
,
component
:
()
=>
import
(
'@/views/indexComponent/InformedConsent/InformedConsent.vue'
)},
//供应商管理
{
path
:
'supplyManage'
,
name
:
'供应商管理'
,
component
:
()
=>
import
(
'@/views/indexComponent/supplyManage/supplyManage.vue'
)},
],
},
//在库管理
{
path
:
'/inStock/add'
,
name
:
'库存录入'
,
secondFlag
:
true
,
component
:
()
=>
import
(
'@/views/indexComponent/inStockManage/components/addStock.vue'
)},
{
path
:
'/inStock/addMaterialDistribution'
,
name
:
'调拨分配'
,
component
:
()
=>
import
(
'@/views/indexComponent/inStockManage/components/addMaterialDistribution.vue'
)},
{
path
:
'/inStock/inStockManageDetail'
,
name
:
'在库详情'
,
component
:
()
=>
import
(
'@/views/indexComponent/inStockManage/components/inStockManageDetail.vue'
)},
//叶酸发放登记
{
path
:
'/folviteDistribution/add'
,
name
:
'叶酸发放登记'
,
component
:
()
=>
import
(
'@/views/indexComponent/folviteDistribution/components/addFolviteDistribution.vue'
)},
{
path
:
'/folviteDistribution/detail'
,
name
:
'叶酸发放详情'
,
component
:
()
=>
import
(
'@/views/indexComponent/folviteDistribution/components/folviteDistributionDetail.vue'
)},
//分配入库
{
path
:
'/distributionWarehousing/add'
,
name
:
'分配入库'
,
component
:
()
=>
import
(
'@/views/indexComponent/distributionWarehousing/components/addDistributionWarehousing.vue'
)},
{
path
:
'/distributionWarehousing/detail'
,
name
:
'分配入库详情'
,
component
:
()
=>
import
(
'@/views/indexComponent/distributionWarehousing/components/distributionWarehousingDetail.vue'
)},
//叶酸申请管理
{
path
:
'/folviteApply/grant'
,
name
:
'叶酸申请发放'
,
component
:
()
=>
import
(
'@/views/indexComponent/folviteApply/components/folviteApplyGrant.vue'
)},
//供应商管理
{
path
:
'/supplyManage/add'
,
name
:
'新增供应商'
,
component
:
()
=>
import
(
'@/views/indexComponent/supplyManage/components/addSupply.vue'
)},
]
const
router
=
new
VueRouter
({
mode
:
'hash'
,
base
:
process
.
env
.
BASE_URL
,
routes
})
// 路由守卫
router
.
beforeEach
((
to
,
form
,
next
)
=>
{
NProgress
.
start
();
if
(
to
.
path
===
'/Home/folviteIndex'
)
{
return
next
();
};
//未匹配到配置路由,默认跳转登录页
if
(
to
.
matched
.
length
===
0
){
next
(
"/Login"
);
return
;
}
if
(
to
.
path
===
'/Login'
){
next
();
return
;
}
const
token
=
window
.
sessionStorage
.
getItem
(
'token'
);
if
(
token
)
{
next
();
}
else
{
next
(
"/Login"
);
//window.top.postMessage({messageType:"LOGOUT"}, '*')
}
});
router
.
afterEach
((
to
,
form
,
next
)
=>
{
NProgress
.
done
();
});
// 解决重复点击二级菜单报错的问题
const
originalPush
=
VueRouter
.
prototype
.
push
;
VueRouter
.
prototype
.
push
=
function
push
(
location
)
{
return
originalPush
.
call
(
this
,
location
).
catch
(
err
=>
err
);
// return originalPush.call(this, location);
}
export
default
router
src/views/indexComponent/folviteApply/folviteApply.vue
View file @
5c18c61b
...
...
@@ -33,8 +33,8 @@
{{
record
.
expireDate
|
formatDate
}}
</
template
>
<
template
slot=
"action"
slot-scope=
"record"
>
<a-button
type=
"link"
size=
"small"
@
click=
"toDetail(record)"
:disabled=
"record.status==
0
"
>
发放
</a-button>
<a-button
type=
"link"
size=
"small"
@
click=
"deleteConfirm(record)"
:disabled=
"record.status==
0
"
>
删除
</a-button>
<a-button
type=
"link"
size=
"small"
@
click=
"toDetail(record)"
:disabled=
"record.status==
=2
"
>
发放
</a-button>
<a-button
type=
"link"
size=
"small"
@
click=
"deleteConfirm(record)"
:disabled=
"record.status==
=2
"
>
删除
</a-button>
</
template
>
</a-table>
<a-pagination
...
...
src/views/indexComponent/folviteDistribution/components/addFolviteDistribution.vue
View file @
5c18c61b
...
...
@@ -54,7 +54,7 @@
</a-form-model-item>
</a-col>
<a-col
:span=
"12"
>
<a-form-model-item
label=
"孕次"
prop=
"pregnantNum"
v-if=
"
womanPregnant
"
>
<a-form-model-item
label=
"孕次"
prop=
"pregnantNum"
v-if=
"
formData.oncePregnant==1
"
>
<a-input
v-toInt
placeholder=
"请输入"
v-model=
"formData.pregnantNum"
></a-input>
</a-form-model-item>
</a-col>
...
...
src/views/indexComponent/folviteDistribution/components/folviteDistributionDetail.vue
View file @
5c18c61b
...
...
@@ -22,13 +22,13 @@
{{
detailInfo
.
womanName
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"证件类型"
>
{{
detailInfo
.
womenCertificateType
||
'--'
}}
{{
detailInfo
.
womenCertificateType
Name
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"证件号码"
>
{{
detailInfo
.
womenIdCard
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"是否曾经怀孕"
>
{{
detailInfo
.
oncePregnant
||
'--'
}}
{{
detailInfo
.
oncePregnant
Name
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"孕次"
>
{{
detailInfo
.
pregnantNum
||
'--'
}}
...
...
@@ -45,7 +45,7 @@
{{
detailInfo
.
manName
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"证件类型"
>
{{
detailInfo
.
menCertificateType
||
'--'
}}
{{
detailInfo
.
menCertificateType
Name
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"证件号码"
>
{{
detailInfo
.
menIdCard
||
'--'
}}
...
...
@@ -68,11 +68,14 @@
{{
detailInfo
.
nowAddress
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"签署方式"
>
{{
detailInfo
.
signedMode
||
'--'
}}
{{
detailInfo
.
signedMode
Name
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"签署日期"
>
<a-descriptions-item
label=
"签署日期
1
"
>
{{
detailInfo
.
parentDate
||
'--'
}}
</a-descriptions-item>
<a-descriptions-item
label=
"线下知情同意书"
>
<img
width=
"120px"
height=
"120px"
:src=
"detailInfo.consentUrl"
/>
</a-descriptions-item>
</a-descriptions>
<a-descriptions
bordered
layout=
"vertical"
class=
"no_border"
>
<a-descriptions-item
label=
"上传照片"
>
...
...
src/views/indexComponent/folviteDistribution/folviteDistribution.vue
View file @
5c18c61b
...
...
@@ -6,9 +6,12 @@
<a-input
v-model=
"searchForm.womenIdCard"
placeholder=
"请输入证件号码"
style=
"width: 250px"
></a-input>
</a-form-item>
<a-form-item>
<!--
<a-button
class=
"search_btn"
@
click=
"restSearchForm"
>
读卡识别
</a-button>
-->
<a-button
type=
"primary"
icon=
"search"
class=
"search_btn"
style=
"margin-left: 10px"
@
click=
"searchList"
>
搜索
</a-button>
<a-button
class=
"search_btn"
icon=
"close"
style=
"margin-left: 10px"
@
click=
"restSearchForm"
>
清空
</a-button>
<!--
<a-button
class=
"search_btn"
@
click=
"restSearchForm"
>
读卡识别
</a-button>
-->
<a-button
type=
"primary"
icon=
"search"
class=
"search_btn"
style=
"margin-left: 10px"
@
click=
"searchList"
>
搜索
</a-button>
<a-button
class=
"search_btn"
icon=
"close"
style=
"margin-left: 10px"
@
click=
"restSearchForm"
>
清空
</a-button>
</a-form-item>
<a-button
type=
"primary"
icon=
"plus"
class=
"search_btn"
style=
"float: right"
@
click=
"toAdd"
>
发放登记
</a-button>
<div
style=
"clear: both"
></div>
...
...
@@ -28,8 +31,43 @@
<
template
slot=
"action"
slot-scope=
"record"
>
<!--
<a-button
type=
"link"
size=
"small"
@
click=
"openChildModal(record)"
>
人工发放
</a-button>
-->
<a-button
type=
"link"
size=
"small"
@
click=
"toDetail(record)"
>
查看
</a-button>
<a-button
type=
"link"
v-if=
"record.source===1&&record.isSigned===2"
size=
"small"
@
click=
"uploadConsentInfo(record)"
>
上传线下同意书
</a-button>
</
template
>
</a-table>
<a-modal
title=
"上传知情同意书"
:visible=
"visible"
@
cancel=
"visible = false"
@
ok=
"onsubmit"
:maskClosable=
"false"
width=
"600px"
>
<span>
上传知情同意书:
</span>
<a-upload
style=
"display: inline"
name=
"file"
list-type=
"picture-card"
accept=
".jpg,.png"
:multiple=
"true"
:action=
"uploadAction"
:headers=
"headers"
@
change=
"handleChange"
:file-list=
"fileList"
>
<div>
<a-icon
type=
"plus"
/>
<div
class=
"ant-upload-text"
>
上传本地文件
</div>
</div>
</a-upload>
<div>
<br>
温馨提示:请上传JPG、PNG格式图片,图片大小不超过5M
<br>
<br>
</div>
</a-modal>
<a-modal
:visible=
"previewVisible"
:footer=
"null"
@
cancel=
"previewVisible=false"
>
<img
alt=
"example"
style=
"width: 100%"
:src=
"imageUrl"
/>
</a-modal>
<a-pagination
v-if=
"pagination.total > 0"
:total=
"pagination.total"
...
...
@@ -47,6 +85,7 @@
<
script
>
import
{
isEmptyParams
}
from
"../../utils/common"
;
import
moment
from
'moment'
const
columns
=
[
{
title
:
'发放日期'
,
...
...
@@ -83,9 +122,15 @@
dataIndex
:
'provideDoctorName'
,
ellipsis
:
true
},
{
title
:
'类型'
,
dataIndex
:
'sourceName'
,
ellipsis
:
true
},
{
title
:
'操作'
,
align
:
'center'
,
width
:
"200px"
,
scopedSlots
:
{
customRender
:
'action'
},
},
]
...
...
@@ -93,9 +138,10 @@
components
:
{},
data
()
{
return
{
// 搜索框对象
searchForm
:
{
womenIdCard
:
undefined
womenIdCard
:
undefined
},
pagination
:
{
pageIndex
:
1
,
...
...
@@ -106,12 +152,24 @@
columns
,
tableData
:
[],
loading
:
false
,
visible
:
false
,
previewVisible
:
false
,
imageUrl
:
""
,
headers
:
{
Authorization
:
sessionStorage
.
getItem
(
"token"
)
},
uploadAction
:
process
.
env
.
VUE_APP_BASE_URL
+
"/v1/folacin-admin/sys-pictures-info/upload-img"
,
fileList
:
[],
formData
:
{
consentId
:
""
,
id
:
""
}
}
},
created
()
{
this
.
routerParams
=
this
.
$route
.
query
this
.
routerParams
=
this
.
$route
.
query
;
if
(
this
.
routerParams
.
menuId
)
{
window
.
sessionStorage
.
setItem
(
'menuId'
,
this
.
routerParams
.
menuId
)
window
.
sessionStorage
.
setItem
(
'menuId'
,
this
.
routerParams
.
menuId
)
;
}
this
.
getFolviteDistributionList
()
},
...
...
@@ -150,15 +208,46 @@
},
restSearchForm
()
{
this
.
searchForm
=
{
idCar
:
undefined
idCar
:
undefined
}
this
.
searchList
()
},
toAdd
()
{
this
.
$router
.
push
({
path
:
'/folviteDistribution/add'
,
query
:
{
routerFlag
:
'add'
}})
this
.
$router
.
push
({
path
:
'/folviteDistribution/add'
,
query
:
{
routerFlag
:
'add'
}})
},
toDetail
(
record
)
{
this
.
$router
.
push
({
path
:
'/folviteDistribution/detail'
,
query
:
record
})
this
.
$router
.
push
({
path
:
'/folviteDistribution/detail'
,
query
:
{
id
:
record
.
id
}})
},
uploadConsentInfo
(
row
)
{
this
.
formData
.
id
=
row
.
id
;
this
.
visible
=
true
;
},
handleChange
(
info
)
{
let
fileList
=
[...
info
.
fileList
];
fileList
=
fileList
.
slice
(
-
1
);
fileList
=
fileList
.
map
(
file
=>
{
if
(
file
.
response
)
{
this
.
imageUrl
=
file
.
response
.
data
.
trueDownloadUrl
;
this
.
formData
.
consentId
=
file
.
response
.
data
.
id
;
}
return
file
;
});
this
.
fileList
=
fileList
;
},
onsubmit
()
{
if
(
this
.
$api
.
utils
.
isBlank
(
this
.
formData
.
consentId
))
{
this
.
$message
.
warning
(
'请上传文件'
);
return
;
}
this
.
$api
.
folviteDistributionManage
.
fetchFolviteUploadConsent
(
this
.
formData
).
then
(
res
=>
{
if
(
res
.
code
===
'SUCCESS'
)
{
this
.
fileList
=
[];
this
.
formData
.
consentId
=
""
;
this
.
searchList
();
this
.
visible
=
false
;
}
})
}
},
}
...
...
@@ -178,6 +267,7 @@
.btn_space {
margin-right: 5px;
}
/* .search_form {
margin-top: -16px;
border: 1px solid rgba(255,77,128, .2);
...
...
src/views/utils/loginApi.js
View file @
5c18c61b
/*
import
axios
from
'axios'
;
import
{
Base64
}
from
"js-base64"
;
import
CryptoJS
from
'crypto-js'
...
...
@@ -42,5 +42,3 @@ export const aesEncrypt = word => {
var
encrypted
=
CryptoJS
.
AES
.
encrypt
(
srcs
,
key
,
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
});
return
encrypted
.
toString
();
}
*/
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