Commit 5c18c61b authored by 罗成兵's avatar 罗成兵

分配记录

parent 6250f541
......@@ -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: {
......
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
......@@ -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
......
......@@ -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>
......
......@@ -22,13 +22,13 @@
{{detailInfo.womanName || '--'}}
</a-descriptions-item>
<a-descriptions-item label="证件类型">
{{detailInfo.womenCertificateType || '--'}}
{{detailInfo.womenCertificateTypeName || '--'}}
</a-descriptions-item>
<a-descriptions-item label="证件号码">
{{detailInfo.womenIdCard || '--'}}
</a-descriptions-item>
<a-descriptions-item label="是否曾经怀孕">
{{detailInfo.oncePregnant || '--'}}
{{detailInfo.oncePregnantName || '--'}}
</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.menCertificateTypeName || '--'}}
</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.signedModeName || '--'}}
</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="上传照片">
......
......@@ -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);
......
/*
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();
}
*/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment