Commit 2134568f authored by 罗成兵's avatar 罗成兵

Merge branch 'gcl' of http://gitlab.yiboshi.com/ynby/folacin-front into gcl

 Conflicts:
	.env.dev
	src/views/Home.vue
parents 629aacfb f037cbb7
NODE_ENV = dev NODE_ENV = dev
VUE_APP_BASE_URL1 = http://123.56.183.13:8083 VUE_APP_BASE_URL = http://123.56.183.13:8083
VUE_APP_BASE_URL = http://127.0.0.1:8082 VUE_APP_BASE_URL2 = http://127.0.0.1:8082
VUE_APP_BASE_PATH = https://beta-yac.yiboshi.com VUE_APP_BASE_PATH = https://beta-yac.yiboshi.com
VUE_APP_KEY_WORD = 'XwKsGlMcdPMEhR1B' VUE_APP_KEY_WORD = 'XwKsGlMcdPMEhR1B'
NODE_ENV = prod NODE_ENV = prod
VUE_APP_BASE_URL = https://beta-yjservice.yiboshi.com VUE_APP_BASE_URL = http://123.56.183.13:8083
VUE_APP_BASE_PATH = https://beta-yac.yiboshi.com VUE_APP_BASE_PATH = https://beta-yac.yiboshi.com
VUE_APP_KEY_WORD = 'XwKsGlMcdPMEhR1B' VUE_APP_KEY_WORD = 'XwKsGlMcdPMEhR1B'
...@@ -45,8 +45,8 @@ export default { ...@@ -45,8 +45,8 @@ export default {
fetchAllEnum(params) {//获取所有枚举值 fetchAllEnum(params) {//获取所有枚举值
return fetch(`/basic-info/v1/basic-info/basic-sys-enum/all-enum`, params) return fetch(`/basic-info/v1/basic-info/basic-sys-enum/all-enum`, params)
}, },
fetchAreaByCode(areaCode) {//根据区域编码获取下级地区 fetchAreaByCode(params) {//根据区域编码获取下级地区
return fetch(`/v1/folacin-admin/sys-dict-area/child-area/${areaCode}`) return fetch(`/v1/folacin-admin/sys-dict-area/child-area/${params.areaCode}`)
}, },
//知情同意书 //知情同意书
fetchConsentInfo() {//查询单位的知情同意书 fetchConsentInfo() {//查询单位的知情同意书
...@@ -57,6 +57,9 @@ export default { ...@@ -57,6 +57,9 @@ export default {
}, },
fetchUpdateConsentInfo(params) {//更新单位的知情同意书 fetchUpdateConsentInfo(params) {//更新单位的知情同意书
return fetch(`/v1/folacin-admin/folacin-consent-info/${params.id}`, params, "put", "json") return fetch(`/v1/folacin-admin/folacin-consent-info/${params.id}`, params, "put", "json")
},
fetchAllDoctor() {//查询当前单位下的所有医生
return fetch(`/v1/folacin-admin/folacin-provide-record/doctor`)
} }
}, },
...@@ -184,7 +187,13 @@ export default { ...@@ -184,7 +187,13 @@ export default {
//叶酸发放登记 //叶酸发放登记
folviteDistributionManage: { folviteDistributionManage: {
fetchFolviteDistributionList(params) {//叶酸发放登记列表 fetchFolviteDistributionList(params) {//叶酸发放登记列表
return fetch('/stock-info/v1/stock-info/stock-apply-record', params) return fetch('/v1/folacin-admin/folacin-resident-info/grant-page', params)
},
fetchAddFolviteDistribution(params) {//叶酸发放
return fetch('/v1/folacin-admin/folacin-resident-info/direct-grant', params,'post', 'json')
},
fetchFolviteDistributionDetail(params) {//叶酸发放查看详情
return fetch(`/v1/folacin-admin/folacin-resident-info/grant-details/${params.residentId}`)
}, },
}, },
//物资调拨管理 //物资调拨管理
...@@ -229,8 +238,14 @@ export default { ...@@ -229,8 +238,14 @@ export default {
}, },
folviteApplyManage: { folviteApplyManage: {
fetchFolviteApplyList(params) {//叶酸申请列表 fetchFolviteApplyList(params) {//叶酸申请列表
return fetch('/v1/folacin-admin/folacin-resident-apply', params) return fetch('/v1/folacin-admin/folacin-resident-info/apply', params)
},
delFolviteApplyById(params) {//删除叶酸申请
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}`);
}
}, },
fyManage: { fyManage: {
//从妇幼系统获取菜单及用户信息 //从妇幼系统获取菜单及用户信息
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<a-layout> <a-layout>
<a-layout-content class="layout_container" style="background: #fff"> <a-layout-content class="layout_container" style="background: #fff">
<div style="padding: 24px;"> <div style="padding: 24px;">
<a-tabs type="card" :tabBarGutter="10" v-model="$store.state.activeKeyInfo" @change="onChange"> <a-tabs type="card" :tabBarGutter="10" v-model="$store.state.activeKeyInfo" @change="onChange">
<a-tab-pane v-for="(item, index) in $store.state.tabsInfo" :key="item.frontActionUrl"> <a-tab-pane v-for="(item, index) in $store.state.tabsInfo" :key="item.frontActionUrl" >
<span slot="tab"> <span slot="tab">
<span v-if="item.frontActionUrl != '/Home/distributionWarehousing' && item.frontActionUrl != '/Home/folviteApply'" <span v-if="item.frontActionUrl != '/Home/distributionWarehousing' && item.frontActionUrl != '/Home/folviteApply'"
>{{item.name}}</span> >{{item.name}}</span>
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
</span> </span>
<!--<span>{{item.name}}</span>--> <!--<span>{{item.name}}</span>-->
</span> </span>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
<router-view></router-view> <router-view></router-view>
</div> </div>
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
data() { data() {
return { return {
// 菜单 // 菜单
menuList: [], menuList:[],
// 选中的菜单 // 选中的菜单
activeItem: [], activeItem: [],
// tabs标签 // tabs标签
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
}) })
} else { } else {
console.log('没有token') console.log('没有token')
window.top.postMessage({messageType: "LOGOUT"}, '*')//给最顶层窗口发送token失效通知 window.top.postMessage({messageType:"LOGOUT"}, '*')//给最顶层窗口发送token失效通知
return return
} }
}, },
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
window.sessionStorage.setItem('activeItem', '/Home/inStock') window.sessionStorage.setItem('activeItem', '/Home/inStock')
} }
if (!window.sessionStorage.getItem('activeKey')) { if (!window.sessionStorage.getItem('activeKey')) {
this.$router.push({path: '/Home/inStock'}) this.$router.push({path:'/Home/inStock'})
this.$store.commit('changeActKey', '/Home/inStock') this.$store.commit('changeActKey', '/Home/inStock')
} }
const tabs = JSON.parse(window.sessionStorage.getItem('tabs')); const tabs = JSON.parse(window.sessionStorage.getItem('tabs'));
...@@ -122,29 +122,25 @@ ...@@ -122,29 +122,25 @@
<style lang="less"> <style lang="less">
.index_body { .index_body {
.ant-tabs-bar { .ant-tabs-bar {
border-bottom: 1px solid rgba(255, 77, 128, .2) !important; border-bottom: 1px solid rgba(255,77,128,.2)!important;
} }
.ant-tabs-nav-scroll { .ant-tabs-nav-scroll {
margin-left: 0px !important; margin-left: 0px!important;
} }
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-nav-container { .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-nav-container {
height: 35px !important; height: 35px!important;
} }
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab { .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab {
height: 35px !important; height: 35px!important;
color: #F8F8FF !important; color: #F8F8FF!important;
line-height: 35px !important; line-height: 35px!important;
background: rgba(255, 77, 128, .5); background: rgba(255,77,128, .5);
border-bottom: 0px solid #FF4D80; border-bottom: 0px solid #FF4D80;
border-top-left-radius: 10px; border-top-left-radius: 10px;
border-top-right-radius: 10px; border-top-right-radius: 10px;
} }
.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active { .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active {
height: 35px !important; height: 35px!important;
color: #fff; color: #fff;
background: #FF4D80; background: #FF4D80;
border-color: #FF4D80; border-color: #FF4D80;
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
ready(editor) { ready(editor) {
//编辑器实例 //编辑器实例
this.UEditor = editor; this.UEditor = editor;
this.$emit('baiduEditorReady', true)
}, },
//获取内容 //获取内容
getContent() { getContent() {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<a-col :span="24"> <a-col :span="24">
<!--label="模板内容"--> <!--label="模板内容"-->
<a-form-model-item prop="content" :wrapper-col="{span: 24}"> <a-form-model-item prop="content" :wrapper-col="{span: 24}">
<baiduEditor ref="baiduEditor" v-model="formData.content"></baiduEditor> <baiduEditor @baiduEditorReady="getEditorreadyed" ref="baiduEditor" v-model="formData.content"></baiduEditor>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -45,21 +45,30 @@ ...@@ -45,21 +45,30 @@
created() { created() {
}, },
mounted() { mounted() {
let vm = this;
this.$api.common.fetchConsentInfo().then(res => {
if (res.code == 'SUCCESS') {
if (isBlank(res.data)) {
this.modeType = 'add';
} else {
vm.$refs.baiduEditor.setContent(res.data.content, false)
this.formData.content = res.data.content;
this.formData.id = res.data.id;
}
}
})
}, },
methods: { methods: {
getEditorreadyed(val) {
if (val) {
this.getEditorContent()
}
},
getEditorContent() {
let vm = this;
this.$api.common.fetchConsentInfo().then(res => {
if (res.code == 'SUCCESS') {
if (isBlank(res.data)) {
this.modeType = 'add';
} else {
// vm.$nextTick(() => {
vm.$refs.baiduEditor.setContent(res.data.content, false)
vm.formData.content = res.data.content;
vm.formData.id = res.data.id;
// })
}
}
})
},
// 弹窗确定按钮 // 弹窗确定按钮
submitForm() { submitForm() {
let vm = this; let vm = this;
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<div class="inStockManage"> <div class="inStockManage">
<a-form layout="inline" class="search_form"> <a-form layout="inline" class="search_form">
<a-form-item label="领取状态"> <a-form-item label="领取状态">
<a-select v-model="searchForm.factoryId" placeholder="请选择" style="width: 250px"> <a-select v-model="searchForm.status" placeholder="请选择" style="width: 250px">
<a-select-option value="">全部</a-select-option> <a-select-option value="">全部</a-select-option>
<a-select-option v-for="item in allFactoryInfo" :key="item.id" :value="item.id"> <a-select-option v-for="item in statusList" :key="item.enumValue" :value="item.enumValue">
{{item.factoryName}} {{item.enumName}}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
{{record.expireDate | formatDate}} {{record.expireDate | formatDate}}
</template> </template>
<template slot="action" slot-scope="record"> <template slot="action" slot-scope="record">
<a-button type="link" size="small" @click="toDetail(record)">发放</a-button> <a-button type="link" size="small" @click="toDetail(record)" :disabled="record.status==0">发放</a-button>
<a-button type="link" size="small" @click="deleteConfirm(record)">删除</a-button> <a-button type="link" size="small" @click="deleteConfirm(record)" :disabled="record.status==0">删除</a-button>
</template> </template>
</a-table> </a-table>
<a-pagination <a-pagination
...@@ -53,53 +53,53 @@ ...@@ -53,53 +53,53 @@
</div> </div>
</template> </template>
<script> <script>
import {isEmptyParams} from "../../utils/common"; import {getEnumByFlag, isEmptyParams} from "../../utils/common";
import moment from 'moment' import moment from 'moment'
const columns = [ const columns = [
{ {
title: '女方姓名', title: '女方姓名',
dataIndex: 'medicineName', dataIndex: 'womanName',
ellipsis: true ellipsis: true
}, },
{ {
title: '证件类型', title: '证件类型',
dataIndex: 'typeName', dataIndex: 'womenCertificateType',
ellipsis: true ellipsis: true
}, },
{ {
title: '证件号码', title: '证件号码',
width: '120px', width: '120px',
dataIndex: 'factoryName', dataIndex: 'womenIdCard',
ellipsis: true ellipsis: true
}, },
{ {
title: '男方姓名', title: '男方姓名',
dataIndex: 'batchNumber', dataIndex: 'manName',
ellipsis: true ellipsis: true
}, },
{ {
title: '证件类型', title: '证件类型',
dataIndex: 'specs', dataIndex: 'menCertificateType',
ellipsis: true ellipsis: true
}, },
{ {
title: '证件号码', title: '证件号码',
width: '120px', width: '120px',
scopedSlots: {customRender: 'expireDateS'}, dataIndex: 'menIdCard'
}, },
{ {
title: '联系电话', title: '联系电话',
dataIndex: 'isHistoryName', dataIndex: 'telephone',
ellipsis: true ellipsis: true
}, },
{ {
title: '领取状态', title: '领取状态',
dataIndex: 'specs', dataIndex: 'statusName',
ellipsis: true ellipsis: true
}, },
{ {
title: '领取日期', title: '领取日期',
dataIndex: 'stockNum', dataIndex: 'provideDate',
ellipsis: true ellipsis: true
}, },
{ {
...@@ -116,11 +116,9 @@ ...@@ -116,11 +116,9 @@
return { return {
// 搜索框对象 // 搜索框对象
searchForm: { searchForm: {
medicalName: '', status: '',
factoryId: '',
produceDate: undefined
}, },
allFactoryInfo: [], statusList: [],
pagination: { pagination: {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
...@@ -133,16 +131,11 @@ ...@@ -133,16 +131,11 @@
} }
}, },
created() { created() {
this.statusList = getEnumByFlag('folacin_resident_info_status')
this.getFolviteApplyList() this.getFolviteApplyList()
this.getAllFactory()
}, },
methods: { methods: {
getAllFactory() {
let par = {}
this.$api.common.fetchAllFactory(par).then(({data = []}) => {
this.allFactoryInfo = data
})
},
searchList() { searchList() {
this.pagination.pageIndex = 1 this.pagination.pageIndex = 1
this.getFolviteApplyList() this.getFolviteApplyList()
...@@ -194,10 +187,10 @@ ...@@ -194,10 +187,10 @@
let par = { let par = {
id: record.id id: record.id
} }
this.$api.systemManage.deleteRoleOneById(par).then(res => { this.$api.folviteApplyManage.delFolviteApplyById(par).then(res => {
if (res.code === 'SUCCESS') { if (res.code === 'SUCCESS') {
this.pagination.pageIndex = 1; this.pagination.pageIndex = 1;
this.getCondomInfoList() this.searchList()
this.$message.success('删除成功!') this.$message.success('删除成功!')
} }
}) })
...@@ -209,7 +202,11 @@ ...@@ -209,7 +202,11 @@
}); });
}, },
toDetail(record) { toDetail(record) {
this.$router.push({path:'/folviteApply/grant', query: record}) let params = {
...record,
routerFlag: 'update'
}
this.$router.push({path:'/folviteDistribution/add', query: params})
} }
}, },
} }
......
...@@ -20,31 +20,30 @@ ...@@ -20,31 +20,30 @@
<a-button slot="extra">身份证识别</a-button> <a-button slot="extra">身份证识别</a-button>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="姓名" prop="sendContact"> <a-form-model-item label="姓名" prop="womanName">
<a-input placeholder="请输入姓名" v-model="formData.sendContact"></a-input> <a-input placeholder="请输入姓名" v-model="formData.womanName"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="证件类型" prop="sendPhone"> <a-form-model-item label="证件类型" prop="womenCertificateType">
<a-select v-model="formData.receiveUnitId" placeholder="请选择" <a-select v-model="formData.womenCertificateType" placeholder="请选择">
@click.native="getChildUnitList"> <a-select-option v-for="item in certificateTypeList"
<a-select-option v-for="item in childUnitList" :key="item.enumValue" :value="item.enumValue"
:key="item.id" :value="item.id"
> >
{{item.unitName}} {{item.enumName}}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="证件号码" prop="sendDate"> <a-form-model-item label="证件号码" prop="womenIdCard">
<a-input placeholder="请输入证件号码" v-model="formData.sendContact"></a-input> <a-input placeholder="请输入证件号码" v-model="formData.womenIdCard"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="是否曾经怀孕" prop="receiveUnitId"> <a-form-model-item label="是否曾经怀孕" prop="oncePregnant">
<a-radio-group v-model="formData.sendContact" @change="onChangePregnant"> <a-radio-group v-model="formData.oncePregnant" @change="onChangePregnant">
<a-radio :value="1"> <a-radio :value="1">
</a-radio> </a-radio>
...@@ -55,8 +54,8 @@ ...@@ -55,8 +54,8 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="孕次" prop="sendContact" v-if="womanPregnant"> <a-form-model-item label="孕次" prop="pregnantNum" v-if="womanPregnant">
<a-input v-toInt placeholder="请输入" v-model="formData.sendContact"></a-input> <a-input v-toInt placeholder="请输入" v-model="formData.pregnantNum"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -69,26 +68,25 @@ ...@@ -69,26 +68,25 @@
<a-button slot="extra">身份证识别</a-button> <a-button slot="extra">身份证识别</a-button>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="姓名" prop="sendContact"> <a-form-model-item label="姓名" prop="manName">
<a-input placeholder="请输入姓名" v-model="formData.sendContact"></a-input> <a-input placeholder="请输入姓名" v-model="formData.manName"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="证件类型" prop="sendPhone"> <a-form-model-item label="证件类型" prop="menCertificateType">
<a-select v-model="formData.receiveUnitId" placeholder="请选择" <a-select v-model="formData.menCertificateType" placeholder="请选择">
@click.native="getChildUnitList"> <a-select-option v-for="item in certificateTypeList"
<a-select-option v-for="item in childUnitList" :key="item.enumValue" :value="item.enumValue"
:key="item.id" :value="item.id"
> >
{{item.unitName}} {{item.enumName}}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="证件号码" prop="sendDate"> <a-form-model-item label="证件号码" prop="menIdCard">
<a-input placeholder="请输入证件号码" v-model="formData.sendContact"></a-input> <a-input placeholder="请输入证件号码" v-model="formData.menIdCard"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
...@@ -100,39 +98,45 @@ ...@@ -100,39 +98,45 @@
</div> </div>
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="联系电话" prop="sendContact" :labelCol="{span: 3}" <a-form-model-item label="联系电话" prop="telephone" :labelCol="{span: 3}"
:wrapperCol="{span: 8}"> :wrapperCol="{span: 8}">
<a-input placeholder="请输入联系电话" v-model="formData.sendContact"></a-input> <a-input placeholder="请输入联系电话" v-model="formData.telephone"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="现住地址" prop="sendPhone" :labelCol="{span: 3}" <a-form-model-item label="现住地址" prop="presentCode" :labelCol="{span: 3}"
:wrapperCol="{span: 20}"> :wrapperCol="{span: 20}">
<a-input placeholder="请输入现住地址" v-model="formData.sendPhone"></a-input> <!--<a-input placeholder="请输入现住地址" v-model="formData.presentCode"></a-input>-->
<a-cascader v-model="formData.presentCode"
change-on-select
:options="areaInfo"
:fieldNames="fieldNames"
:load-data="loadAreaData"
@click.native="initLoadAreaData"
placeholder="请选择"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="详细地址" prop="sendDate" :labelCol="{span: 3}" <a-form-model-item label="详细地址" prop="nowAddress" :labelCol="{span: 3}"
:wrapperCol="{span: 20}"> :wrapperCol="{span: 20}">
<a-input placeholder="请输入详细地址" v-model="formData.sendPhone"></a-input> <a-input placeholder="请输入详细地址" v-model="formData.nowAddress"></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="签署方式" prop="receiveUnitId"> <a-form-model-item label="签署方式" prop="signedMode">
<a-select v-model="formData.receiveUnitId" placeholder="请选择" <a-select v-model="formData.signedMode" placeholder="请选择" disabled>
@click.native="getChildUnitList"> <a-select-option v-for="item in signedModeList"
<a-select-option v-for="item in childUnitList" :key="item.enumValue" :value="item.enumValue"
:key="item.id" :value="item.id"
> >
{{item.unitName}} {{item.enumName}}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="签署日期" prop="sendContact"> <a-form-model-item label="签署日期" prop="parentDate">
<a-date-picker v-model="formData.produceDate" format="YYYY-MM-DD" style="width: 100%"/> <a-date-picker v-model="formData.parentDate" format="YYYY-MM-DD" style="width: 100%"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="21" :offset="3"> <a-col :span="21" :offset="3">
...@@ -141,11 +145,16 @@ ...@@ -141,11 +145,16 @@
<div slot="title" style="text-align: center;padding: 10px 0px"> <div slot="title" style="text-align: center;padding: 10px 0px">
<span style="color: #262626;font-size: 14px">知情同意书</span> <span style="color: #262626;font-size: 14px">知情同意书</span>
</div> </div>
<div>
<div v-html="bookHtmlContent.content">
</div>
</div>
</a-card> </a-card>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="21" :offset="3"> <!-- <a-col :span="21" :offset="3">
<a-form-model-item :wrapperCol="{span: 23}"> <a-form-model-item :wrapperCol="{span: 23}">
<div style="border: 1px dashed #EEEEEE"> <div style="border: 1px dashed #EEEEEE">
<div class="sign">签字</div> <div class="sign">签字</div>
...@@ -162,7 +171,7 @@ ...@@ -162,7 +171,7 @@
</div> </div>
</div> </div>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>-->
</a-row> </a-row>
</a-card> </a-card>
<div style="margin: 30px 0px"> <div style="margin: 30px 0px">
...@@ -171,17 +180,17 @@ ...@@ -171,17 +180,17 @@
<div style="clear: both"></div> <div style="clear: both"></div>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="发放日期" prop="sendContact"> <a-form-model-item label="发放日期" prop="provideDate">
<a-date-picker v-model="formData.produceDate" format="YYYY-MM-DD" style="width: 100%"/> <a-date-picker v-model="formData.provideDate" format="YYYY-MM-DD" style="width: 100%"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="发放医生" prop="receiveUnitId"> <a-form-model-item label="发放医生" prop="provideDoctorId">
<a-select v-model="formData.receiveUnitId" placeholder="请选择" @click.native="getChildUnitList"> <a-select v-model="formData.provideDoctorId" placeholder="请选择">
<a-select-option v-for="item in childUnitList" <a-select-option v-for="item in doctorInfoList"
:key="item.id" :value="item.id" :key="item.id" :value="item.id"
> >
{{item.unitName}} {{item.staffName}}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
...@@ -189,20 +198,20 @@ ...@@ -189,20 +198,20 @@
<a-col :span="21" :offset="3"> <a-col :span="21" :offset="3">
<a-form-model-item :wrapperCol="{span: 23}"> <a-form-model-item :wrapperCol="{span: 23}">
<a-button type="primary" @click="openStockModel" style="margin-bottom: 10px">请选择要发放的叶酸种类</a-button> <a-button type="primary" @click="openStockModel" style="margin-bottom: 10px">请选择要发放的叶酸种类</a-button>
<a-table :dataSource="formData.detailedList" rowKey="id" :pagination="false" class="modal_table" <a-table :dataSource="formData.provideRecordList" rowKey="id" :pagination="false" class="table_input tab_error"
bordered> bordered>
<a-table-column title="供应商名称" data-index="typeName"></a-table-column> <a-table-column title="供应商名称" data-index="supplierName"></a-table-column>
<a-table-column title="品牌" data-index="factoryName"></a-table-column> <a-table-column title="品牌" data-index="brandName"></a-table-column>
<a-table-column title="批次号" data-index="batchNumber"></a-table-column> <a-table-column title="批次号" data-index="batchNumber"></a-table-column>
<a-table-column title="当前库存" data-index="stockNum"></a-table-column> <a-table-column title="当前库存" data-index="number"></a-table-column>
<a-table-column title="发放数量" width="190px" fixed="right"> <a-table-column title="发放数量" width="190px" fixed="right">
<template slot-scope="text, record, index"> <template slot-scope="text, record, index">
<a-form-model-item :prop="'detailedList.' + index + '.sendNum'" <a-form-model-item :prop="'provideRecordList.' + index + '.sendNumber'"
:rules="formRules.sendNum" class="tab_input_r"> :rules="formRules.sendNumber" class="tab_input_r">
<a-input type="number" <a-input type="number"
v-toInt v-toInt
v-model="record.sendNum" v-model="record.sendNumber"
placeholder="请输入分配数量" placeholder="请输入发放数量"
style="width: 150px;margin-top: 20px" style="width: 150px;margin-top: 20px"
@change="getChangeRecord(record)" @change="getChangeRecord(record)"
> >
...@@ -228,14 +237,19 @@ ...@@ -228,14 +237,19 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-model-item label="备注" prop="sendDate" :labelCol="{span: 3}" :wrapperCol="{span: 20}"> <a-form-model-item label="备注" prop="remarks" :labelCol="{span: 3}" :wrapperCol="{span: 20}">
<a-textarea placeholder="请输入备注" v-model="formData.sendPhone" :rows="5"></a-textarea> <a-textarea placeholder="请输入备注" v-model="formData.remarks" :rows="5"></a-textarea>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</a-form-model> </a-form-model>
<!-- 选择叶酸种类弹框-->
<div>
<in-stock-manage-info ref="inStockManageInfo" @selectedIdList="getChecked" v-if="readyGetChecked"></in-stock-manage-info>
</div>
<div style="text-align: center;margin-top: 16px"> <div style="text-align: center;margin-top: 16px">
<a-button @click="goBack">取消</a-button> <a-button @click="goBack">取消</a-button>
<a-button type="primary" @click="addMaterialDis" style="margin-left: 8px">发放</a-button> <a-button type="primary" :loading="spinning" @click="addMaterialDis" style="margin-left: 8px">发放</a-button>
</div> </div>
</a-card> </a-card>
</a-spin> </a-spin>
...@@ -244,13 +258,14 @@ ...@@ -244,13 +258,14 @@
</template> </template>
<script> <script>
import {checkPhone, closedDetail} from "../../../utils/common"; import {checkPhone, closedDetail, getEnumByFlag} from "../../../utils/common";
import moment from 'moment' import moment from 'moment'
import InStockManageInfo from "./inStockManageInfo";
let vm = this let vm = this
let recordInfo = {} let recordInfo = {}
export default { export default {
components: {}, components: {InStockManageInfo},
data() { data() {
return { return {
unitInfo: JSON.parse(window.sessionStorage.getItem('networkInfo')), unitInfo: JSON.parse(window.sessionStorage.getItem('networkInfo')),
...@@ -258,42 +273,79 @@ ...@@ -258,42 +273,79 @@
spinning: false, spinning: false,
// 弹窗内表单 // 弹窗内表单
formData: { formData: {
detailedList: [], womanName: undefined,
sendUnitId: undefined, womenCertificateType: '1',
sendUnitName: undefined, womenIdCard: undefined,
receiveUnitId: undefined, oncePregnant: 1,
sendDate: undefined, pregnantNum: undefined,
sendContact: undefined, manName: undefined,
sendPhone: undefined, menCertificateType: '1',
relationType: undefined, menIdCard: undefined,
purchasePhone: undefined, telephone: undefined,
presentCode: undefined,
nowAddress: undefined,
signedMode: '1',
parentDate: undefined,
provideDate: undefined,
provideDoctorId: undefined,
provideRecordList: [],
remarks: undefined,
}, },
childUnitList: [],
formRules: { formRules: {
sendUnitName: [ womanName: [
{required: true, message: '请选择发货单位'} {required: true, message: '请输入姓名'}
],
womenCertificateType: [
{required: true, message: '请选择证件类型'}
], ],
relationType: [ womenIdCard: [
{required: true, message: '请选择出库类型'} {required: true, message: '请输入证件号码'}
], ],
purchasePhone: [ oncePregnant: [
{required: true, message: '请填写收货人电话'}, {required: true, message: '请选择是否曾经怀孕'}
],
pregnantNum: [
{required: true, message: '请输入孕次'}
],
manName: [
{required: true, message: '请输入姓名'}
],
menCertificateType: [
{required: true, message: '请选择证件类型'}
],
menIdCard: [
{required: true, message: '请输入证件号码'}
],
telephone: [
{required: true, message: '请输入联系电话'},
{validator: checkPhone}, {validator: checkPhone},
], ],
receiveUnitId: [ presentCode: [
{required: true, message: '请选择收货单位'} {required: true, message: '请选择选择现住地址'}
],
nowAddress: [
{required: true, message: '请输入详细地址'}
],
signedMode: [
{required: true, message: '请选择签署方式'}
],
parentDate: [
{required: true, message: '请选择签署日期'}
], ],
sendDate: [ provideDate: [
{required: true, message: '请选择出库日期'} {required: true, message: '请选择发放日期'}
], ],
sendNum: [ provideDoctorId: [
{required: true, message: '请填写分配数量'}, {required: true, message: '请选择发放医生'}
],
sendNumber: [
{required: true, message: '请输入发放数量'},
{ {
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if (value == '' || value == undefined) { if (value == '' || value == undefined) {
callback() callback()
} }
if (value <= recordInfo.stockNum) { if (value <= recordInfo.number) {
callback() callback()
} else { } else {
callback(new Error('超出当前库存!')); callback(new Error('超出当前库存!'));
...@@ -301,140 +353,191 @@ ...@@ -301,140 +353,191 @@
}, },
}, },
], ],
sendContact: [ remarks: [
{required: true, message: '请填写发货人'} {required: true, message: '请输入备注'}
],
sendPhone: [
{required: true, message: '请填写联系电话'},
{validator: checkPhone},
], ],
}, },
womanPregnant: false,//是否怀孕 womanPregnant: false,//是否怀孕
options: { options: {
penColor: "#000",//画笔颜色 penColor: "#000",//画笔颜色
}, },
certificateTypeList: [],
signedModeList: [],
bookHtmlContent: '',
modalinfo: {
selectedRowKeys: []
},
readyGetChecked: true,
doctorInfoList: [],
areaInfo:[],
fieldNames: {
label: 'areaName',
value: 'areaCode',
children: 'children'
},
routerParams: {}
} }
}, },
created() { created() {
this.getSelectedMedical() this.routerParams = this.$route.query
this.formData.sendUnitId = this.unitInfo.id this.certificateTypeList = getEnumByFlag('folacin_resident_info_certificate_type')
this.formData.sendUnitName = this.unitInfo.unitName this.signedModeList = getEnumByFlag('folacin_resident_info_signed_mode')
this.getBookHtmlContent()
this.getAllDoctorList()
if (this.routerParams.routerFlag == 'update') {//从申请过来的发放
this.getStockListDetail()
} else {//由新增过来的发放
this.initLoadAreaData()
}
}, },
methods: { methods: {
getStockListDetail() {
this.spinning = true
let par = {
residentId: this.routerParams.id
}
this.$api.folviteDistributionManage.fetchFolviteDistributionDetail(par).then(({data = [], code}) => {
this.areaInfo = [{areaCode: data.presentCode, areaName: data.presentCodeName}]
this.formData = {
womanName: data.womanName,
womenCertificateType: data.womenCertificateType.toString(),
womenIdCard: data.womenIdCard,
oncePregnant: +data.oncePregnant,
pregnantNum: data.pregnantNum,
manName: data.manName,
menCertificateType: data.menCertificateType.toString(),
menIdCard: data.menIdCard,
telephone: data.telephone,
presentCode: [data.presentCode],
nowAddress: data.nowAddress,
signedMode: data.signedMode.toString(),
parentDate: data.parentDate,
provideDate: data.provideDate,
provideDoctorId: data.provideDoctorId,
provideRecordList: data.provideRecordList,
remarks: data.remarks,
}
this.spinning = false
}).catch(() => {
this.spinning = false
})
},
initLoadAreaData() {
this.areaInfo = []
this.loadAreaData([{areaCode: 0}])
},
loadAreaData(selectedOptions) {
const targetOption = selectedOptions[selectedOptions.length - 1];
targetOption.loading = true;
this.$api.common.fetchAreaByCode({areaCode: targetOption.areaCode}).then(({data = []}) => {
targetOption.loading = false;
data.forEach(item => {
item['isLeaf'] = false
})
if (targetOption.areaCode == 0) {
this.areaInfo = [...data]
} else {
targetOption.children = [...data]
this.areaInfo = [...this.areaInfo]
}
})
},
getBookHtmlContent() {//获取用户知情书模板
this.$api.common.fetchConsentInfo().then(({data}) => {
this.bookHtmlContent = data
})
},
getAllDoctorList() {
this.$api.common.fetchAllDoctor().then(({data}) => {
this.doctorInfoList = data
})
},
//------签字----------- //------签字-----------
reWrite() { reWrite() {
this.$refs.signaturePad.clearSignature(); this.$refs.signaturePad.clearSignature();
}, },
save() { save() {
const {isEmpty, data} = this.$refs.signaturePad.saveSignature(); const {isEmpty, data} = this.$refs.signaturePad.saveSignature();
console.log(isEmpty); // console.log(isEmpty);
console.log(data); // console.log(data);
},
getChecked(val) {
this.readyGetChecked = false
this.$refs.inStockManageInfo.visible = false
this.modalinfo.selectedRowKeys = [...val]
this.getSelectedMedical(val)
}, },
// 删除药具 // 删除药具
confirm(index) { confirm(index) {
this.formData.detailedList.splice(index, 1); this.formData.provideRecordList.splice(index, 1);
}, },
//获取改变的当前项 //获取改变的当前项
getChangeRecord(record) { getChangeRecord(record) {
recordInfo = record recordInfo = record
}, },
getSelectedMedical() {//获取被选中的药具 getSelectedMedical(val) {//获取被选中的药具
let par = { if (val.length > 0) {
idList: this.$route.query.selected
}
this.$api.stockManage.fetchMedicalListByIds(par).then(({data = []}) => {
this.formData.detailedList = data
})
},
// 获取当前单位的下级单位
getChildUnitList() {
if (this.formData.relationType == 11) {
let par = { let par = {
areaCode: JSON.parse(window.sessionStorage.getItem('networkInfo')).areaCode, idList: val.join(',')
} }
this.$api.networkManage.fetchNetworkListByAreaCode(par).then(({code, data}) => { this.$api.stockManage.fetchMedicalListByIds(par).then(({data = []}) => {
if (code === 'SUCCESS') { this.formData.provideRecordList = data
data.forEach(item => {
item['unitName'] = item.netName
})
this.childUnitList = data;
}
}) })
} else {
let params = {
id: JSON.parse(window.sessionStorage.getItem('userInfo')).unitId,
};
this.$api.common.fetchUnitInfo(params).then(({code, data}) => {
if (code === 'SUCCESS') {
this.childUnitList = data;
}
});
} }
}, },
addMaterialDis() {//发放 addMaterialDis() {//发放
let vm = this
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
if (this.formData.detailedList.length === 0) { if (this.formData.provideRecordList.length === 0) {
this.$message.warning('分配物资不能为空!'); this.$message.warning('发放叶酸不能为空!');
} else { } else {
this.spinning = true; this.spinning = true;
let reviceUnitName = undefined let params ={}
let receiveNetworkId = undefined this.formData.provideRecordList.forEach(item => {
let receiveNetworkName = undefined item.stockId = item.id
let params = {} });
if (this.formData.relationType == 11) { const {parentDate, provideDate,presentCode,provideDoctorId, ...others} = vm.formData
receiveNetworkId = this.formData.receiveUnitId
receiveNetworkName = this.childUnitList.filter(item => item.id == this.formData.receiveUnitId)[0].unitName let parentTime = moment(parentDate).format('YYYY-MM-DD')
this.formData.receiveUnitId = undefined let provideTme = moment(provideDate).format('YYYY-MM-DD')
reviceUnitName = undefined let presentCodeInfo = presentCode[presentCode.length -1]
params = { let provideDoctorInfo = vm.doctorInfoList.filter(item => item.id == provideDoctorId)
...this.formData, params ={
sendDate: moment(this.formData.sendDate).format('yyyy-MM-DD'), parentDate: parentTime,
purchaseUnitId: receiveNetworkId, provideDate: provideTme,
purchaseUnitName: receiveNetworkName, presentCode: presentCodeInfo,
receiveNetworkId: receiveNetworkId, provideDoctorId: provideDoctorInfo[0].id,
receiveNetworkName: receiveNetworkName provideDoctorName: provideDoctorInfo[0].staffName,
}; ...others
}
if (this.routerParams.routerFlag == 'update') {
params.applyId = this.routerParams.id
this.$api.folviteApplyManage.addFolviteDistributionByApply(params).then(({code}) => {
this.spinning = false;
if (code === 'SUCCESS') {
this.$message.success('发放成功!');
this.goBack()
}
}).catch(() => {
this.spinning = false
})
} else { } else {
reviceUnitName = this.childUnitList.filter(item => item.id == this.formData.receiveUnitId)[0].unitName this.$api.folviteDistributionManage.fetchAddFolviteDistribution(params).then(({code}) => {
params = { this.spinning = false;
...this.formData, if (code === 'SUCCESS') {
sendDate: moment(this.formData.sendDate).format('yyyy-MM-DD'), this.$message.success('发放成功!');
purchaseUnitId: this.formData.receiveUnitId, this.goBack()
purchaseUnitName: reviceUnitName, }
receiveUnitName: reviceUnitName }).catch(() => {
}; this.spinning = false
})
} }
let detailedList = [];
this.formData.detailedList.forEach(item => {
detailedList.push({
medicalId: item.medicalId,
breedId: item.breedId,
batchId: item.batchId,
batchNumber: item.batchNumber,
produceDate: item.produceDate,
expireDate: item.expireDate,
sendNum: item.sendNum,
matSpecs: item.specs
});
});
params.detailedList = detailedList;
this.$api.stockManage.fetchDispatchGoods(params).then(({code}) => {
this.spinning = false;
if (code === 'SUCCESS') {
this.$message.success('调拨分配成功!');
// window.history.go(-1)
this.goBack()
} else {
// this.$message.error('调拨分配失败!')
}
});
} }
} else {
return false;
} }
}); });
}, },
...@@ -448,6 +551,11 @@ ...@@ -448,6 +551,11 @@
}, },
//打开库存弹框 //打开库存弹框
openStockModel() { openStockModel() {
this.readyGetChecked = true
let vm = this
this.$nextTick(() => {
vm.$refs.inStockManageInfo.visible = true
})
}, },
goBack() { goBack() {
...@@ -497,4 +605,11 @@ ...@@ -497,4 +605,11 @@
float: right; float: right;
margin-top: 10px; margin-top: 10px;
} }
.table_input {
.ant-table-tbody > tr > td {
padding: 5px!important;
overflow-wrap: break-word;
}
}
</style> </style>
...@@ -19,19 +19,19 @@ ...@@ -19,19 +19,19 @@
</div> </div>
<a-descriptions bordered> <a-descriptions bordered>
<a-descriptions-item label="姓名"> <a-descriptions-item label="姓名">
{{detailInfo.medicalName || '--'}} {{detailInfo.womanName || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="证件类型"> <a-descriptions-item label="证件类型">
{{detailInfo.breedName || '--'}} {{detailInfo.womenCertificateType || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="证件号码"> <a-descriptions-item label="证件号码">
{{detailInfo.batchNumber || '--'}} {{detailInfo.womenIdCard || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="是否曾经怀孕"> <a-descriptions-item label="是否曾经怀孕">
{{detailInfo.expireDate || '--'}} {{detailInfo.oncePregnant || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="孕次"> <a-descriptions-item label="孕次">
{{detailInfo.expireDate || '--'}} {{detailInfo.pregnantNum || '--'}}
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
<div class="detail_title" style="border-top: 0px"> <div class="detail_title" style="border-top: 0px">
...@@ -42,13 +42,13 @@ ...@@ -42,13 +42,13 @@
</div> </div>
<a-descriptions bordered> <a-descriptions bordered>
<a-descriptions-item label="姓名"> <a-descriptions-item label="姓名">
{{detailInfo.medicalName || '--'}} {{detailInfo.manName || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="证件类型"> <a-descriptions-item label="证件类型">
{{detailInfo.breedName || '--'}} {{detailInfo.menCertificateType || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="证件号码"> <a-descriptions-item label="证件号码">
{{detailInfo.batchNumber || '--'}} {{detailInfo.menIdCard || '--'}}
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
<div class="detail_title" style="border-top: 0px"> <div class="detail_title" style="border-top: 0px">
...@@ -59,19 +59,19 @@ ...@@ -59,19 +59,19 @@
</div> </div>
<a-descriptions bordered> <a-descriptions bordered>
<a-descriptions-item label="联系电话"> <a-descriptions-item label="联系电话">
{{detailInfo.medicalName || '--'}} {{detailInfo.telephone || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="现在住址"> <a-descriptions-item label="现在住址">
{{detailInfo.breedName || '--'}} {{detailInfo.presentCode || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="详细地址"> <a-descriptions-item label="详细地址">
{{detailInfo.batchNumber || '--'}} {{detailInfo.nowAddress || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="签署方式"> <a-descriptions-item label="签署方式">
{{detailInfo.batchNumber || '--'}} {{detailInfo.signedMode || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="签署日期"> <a-descriptions-item label="签署日期">
{{detailInfo.batchNumber || '--'}} {{detailInfo.parentDate || '--'}}
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
<a-descriptions bordered layout="vertical" class="no_border"> <a-descriptions bordered layout="vertical" class="no_border">
...@@ -87,13 +87,13 @@ ...@@ -87,13 +87,13 @@
<div style="clear: both"></div> <div style="clear: both"></div>
<a-descriptions bordered :column="2"> <a-descriptions bordered :column="2">
<a-descriptions-item label="发放日期"> <a-descriptions-item label="发放日期">
{{detailInfo.medicalName || '--'}} {{detailInfo.provideDate || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="发放医生"> <a-descriptions-item label="发放医生">
{{detailInfo.breedName || '--'}} {{detailInfo.provideDoctorName || '--'}}
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item label="备注"> <a-descriptions-item label="备注">
{{detailInfo.breedName || '--'}} {{detailInfo.remarks || '--'}}
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
<div class="detail_title" style="border-top: 0px"> <div class="detail_title" style="border-top: 0px">
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
</div> </div>
<div style="clear: both"></div> <div style="clear: both"></div>
</div> </div>
<a-table :dataSource="detailInfo.tableData" <a-table :dataSource="detailInfo.provideRecordList"
:columns="columns" :columns="columns"
rowKey="id" rowKey="id"
:pagination="false" :pagination="false"
...@@ -123,17 +123,17 @@ ...@@ -123,17 +123,17 @@
const columns = [ const columns = [
{ {
title: '供应商', title: '供应商',
dataIndex: 'medicineName', dataIndex: 'supplierName',
ellipsis: true ellipsis: true
}, },
{ {
title: '品牌', title: '品牌',
dataIndex: 'typeName', dataIndex: 'brandName',
ellipsis: true ellipsis: true
}, },
{ {
title: '批次号', title: '批次号',
dataIndex: 'factoryName', dataIndex: 'batchNumber',
ellipsis: true ellipsis: true
}, },
{ {
...@@ -142,8 +142,8 @@ ...@@ -142,8 +142,8 @@
ellipsis: true ellipsis: true
}, },
{ {
title: '发放数量(瓶)', title: '发放数量',
dataIndex: 'specs', dataIndex: 'sendNumber',
ellipsis: true ellipsis: true
}, },
] ]
...@@ -164,9 +164,9 @@ ...@@ -164,9 +164,9 @@
getStockListDetail() { getStockListDetail() {
this.spinning = true this.spinning = true
let par = { let par = {
id: this.routerParams.id residentId: this.routerParams.id
} }
this.$api.stockManage.fetchInStockLisDetail(par).then(({data = [], code}) => { this.$api.folviteDistributionManage.fetchFolviteDistributionDetail(par).then(({data = [], code}) => {
this.spinning = false this.spinning = false
this.detailInfo = data this.detailInfo = data
}) })
......
<template>
<div class="inStockManage">
<a-modal title="选择要发放的叶酸种类" v-if="visible" :visible="visible" @cancel="visible = false" @ok="getChecked" :maskClosable="false"
width="1100px" >
<a-form layout="inline" class="search_form">
<a-form-item label="供应商名称">
<a-select v-model="searchForm.supplierId" placeholder="请选择" style="width: 250px">
<a-select-option value="">全部</a-select-option>
<a-select-option v-for="item in allSupplyInfo" :key="item.id" :value="item.id">
{{item.supplierName}}
</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="品牌">
<a-select v-model="searchForm.brandId" placeholder="请选择" style="width: 250px">
<a-select-option value="">全部</a-select-option>
<a-select-option v-for="item in brandList" :key="item.enumValue" :value="item.enumValue">
{{item.enumName}}
</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="入库日期">
<a-date-picker v-model="searchForm.enterDate" format="YYYY-MM-DD" style="width: 250px"/>
</a-form-item>
<a-button type="primary" class="search_btn" @click="searchList">搜索</a-button>
<a-button class="search_btn" style="margin-left: 10px" @click="restSearchForm">清空</a-button>
<div style="float: right;line-height: 32px;background-color: #E6F7FF;margin-top: 16px;cursor: pointer"
@click="showSelectedMedical"
v-if="selectedRowKeys.length > 0"
>
<a-popover v-model="selectedVisible" trigger="click" placement="bottomRight">
<div slot="content" style="min-width: 300px">
<div>
<span style="padding: 5px 16px;color: #FF4D80">已选择叶酸({{selectedRowKeys.length}})</span>
</div>
<div style="margin-top: 10px">
<a-list
item-layout="horizontal"
:data-source="selectedRowList"
>
<a-list-item slot="renderItem" slot-scope="item, index">
<a slot="actions" @click="delSelectedKey(index)">删除</a>
<a-list-item-meta
:description="item.brandName"
>
</a-list-item-meta>
</a-list-item>
</a-list>
</div>
</div>
<span style="padding: 5px 16px;color: #FF4D80">已选择叶酸{{selectedRowKeys.length}}<a-icon type="down"
style="margin-left:10px;font-size: 10px"/> </span>
</a-popover>
</div>
</a-form>
<div style="clear: both"></div>
<a-table :dataSource="tableData"
:columns="columns"
rowKey="id"
:loading="loading"
:pagination="false"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
>
<template slot="produceDateS" slot-scope="record">
{{record.produceDate | formatDate}}
</template>
<template slot="expireDateS" slot-scope="record">
{{record.expireDate | formatDate}}
</template>
</a-table>
<a-pagination
v-if="pagination.total > 0"
:total="pagination.total"
show-size-changer
show-quick-jumper
v-model="pagination.pageIndex"
:page-size="pagination.pageSize"
:page-size-options="pagination.pageSizeOptions"
@showSizeChange="showSizeChange"
@change="change"
:showTotal="() => `共 ${pagination.total} 条`"
/>
<div style="clear: both"></div>
</a-modal>
</div>
</template>
<script>
import {isNotBlank, isEmptyParams} from "../../../utils/common";
import moment from 'moment'
const columns = [
{
title: '品牌',
dataIndex: 'brandName',
ellipsis: true
},
{
title: '供应商名称',
dataIndex: 'supplierName',
ellipsis: true
},
{
title: '批次号',
width: '120px',
dataIndex: 'batchNumber',
ellipsis: true
},
{
title: '生产日期',
// dataIndex: 'produceDate',
scopedSlots: {customRender: 'produceDateS'},
},
{
title: '有效期',
width: '120px',
scopedSlots: {customRender: 'expireDateS'},
},
{
title: '单价(元)',
dataIndex: 'unitPrice',
ellipsis: true
},
{
title: '规格',
dataIndex: 'specs',
ellipsis: true
},
{
title: '库存总数',
dataIndex: 'number',
ellipsis: true
},
{
title: '入库日期',
dataIndex: 'enterDate',
ellipsis: true
},
]
export default {
components: {},
data() {
return {
// 搜索框对象
searchForm: {
brandName: '',
supplierId: '',
brandId:'',
enterDate: undefined
},
pagination: {
pageIndex: 1,
pageSize: 10,
total: 0,
pageSizeOptions: ['10', '20', '30', '40', '50'],
},
columns,
tableData: [],
loading: false,
allSupplyInfo: [],
brandList: [],
selectedRowKeys: [],
selectedVisible: false,
selectedRowList: [],
visible: false
}
},
created() {
this.getInStockList();
this.getAllSupply();
this.brandList = JSON.parse(sessionStorage.getItem("allEnum"))["folacin_stock_record_brand_id"];
},
methods: {
getAllSupply() {
let par = {}
this.$api.common.fetchAllSupply(par).then(({data = []}) => {
this.allSupplyInfo = data
})
},
searchList() {
this.pagination.pageIndex = 1
this.getInStockList()
},
getInStockList() {
this.loading = true
let pars = isEmptyParams(this.searchForm);
if (isNotBlank( pars.enterDate)){
pars.enterDate = moment(pars.enterDate).format('YYYY-MM-DD')
}
let par = {
...pars,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize
}
console.log(par);
this.$api.stockManage.fetchInStockList(par).then(({data = {}}) => {
const {dataList = [], total = 0} = data
this.tableData = dataList
this.pagination.total = total
this.loading = false
}).catch(() => {
this.loading = false
})
},
// 分页
showSizeChange(pageNum, pageSize) {
this.pagination.pageIndex = 1;
this.pagination.pageSize = pageSize;
this.getInStockList()
},
change(pageNum, pageSize) {
this.pagination.pageIndex = pageNum;
this.pagination.pageSize = pageSize;
this.getInStockList()
},
showSelectedMedical() {//显示选中的药具
let par = {
idList: this.selectedRowKeys
}
this.$api.stockManage.fetchMedicalListByIds(par).then(({data = []}) => {
this.selectedRowList = data
})
},
onSelectChange(selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys;
if (this.selectedRowKeys.length == 0) {
this.selectedVisible = false
}
},
delSelectedKey(index) {
this.selectedRowKeys.splice(index, 1)
this.selectedRowList.splice(index, 1)
if (this.selectedRowKeys.length == 0) {
this.selectedVisible = false
}
},
restSearchForm() {
this.searchForm = {
brandName: '',
supplierId: '',
enterDate: undefined
}
this.searchList()
},
onSelectChange(selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys;
},
getChecked() {
this.$emit('selectedIdList', this.selectedRowKeys)
}
},
}
</script>
<style lang="less" scoped>
// 文件上传样式
.ant-upload-select-picture-card i {
font-size: 32px;
color: #999;
}
.ant-upload-select-picture-card .ant-upload-text {
margin-top: 6px;
color: #666;
}
.btn_space {
margin-right: 5px;
}
/* .search_form {
margin-top: -17px;
border: 1px solid rgba(255,77,128, .2);
border-top: 0px;
padding: 30px;
}*/
</style>
...@@ -55,23 +55,17 @@ ...@@ -55,23 +55,17 @@
}, },
{ {
title: '姓名', title: '姓名',
dataIndex: 'residentId', dataIndex: 'womanName',
ellipsis: true ellipsis: true
}, },
{ {
title: '证件号码', title: '证件号码',
width: '120px', dataIndex: 'womenIdCard',
dataIndex: 'residentId',
ellipsis: true ellipsis: true
}, },
{ {
title: '联系电话', title: '联系电话',
dataIndex: 'residentId', dataIndex: 'telephone',
ellipsis: true
},
{
title: '发放数量(瓶)',
dataIndex: 'number',
ellipsis: true ellipsis: true
}, },
/* { /* {
...@@ -81,12 +75,12 @@ ...@@ -81,12 +75,12 @@
},*/ },*/
{ {
title: '现住址', title: '现住址',
dataIndex: 'residentId', dataIndex: 'nowAddress',
ellipsis: true ellipsis: true
}, },
{ {
title: '登记人', title: '发放医生',
dataIndex: 'provideDoctorId', dataIndex: 'provideDoctorName',
ellipsis: true ellipsis: true
}, },
{ {
...@@ -157,7 +151,7 @@ ...@@ -157,7 +151,7 @@
this.searchList() this.searchList()
}, },
toAdd() { toAdd() {
this.$router.push({path:'/folviteDistribution/add'}) this.$router.push({path:'/folviteDistribution/add', query: {routerFlag: 'add'}})
}, },
toDetail(record) { toDetail(record) {
this.$router.push({path:'/folviteDistribution/detail', query: record}) this.$router.push({path:'/folviteDistribution/detail', query: record})
......
...@@ -35,8 +35,15 @@ ...@@ -35,8 +35,15 @@
<a-col :span="12"> <a-col :span="12">
<a-form-model-item label="联系地址" <a-form-model-item label="联系地址"
prop="areaCode"> prop="areaCode">
<allAreaSelect v-model="formData.areaCode"></allAreaSelect> <!-- <allAreaSelect v-model="formData.areaCode"></allAreaSelect>
{{formData.areaName}} {{formData.areaName}}-->
<a-cascader v-model="formData.areaCode"
change-on-select
:options="areaInfo"
:fieldNames="fieldNames"
:load-data="loadAreaData"
@click.native="initLoadAreaData"
placeholder="请选择"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
...@@ -105,31 +112,67 @@ ...@@ -105,31 +112,67 @@
{required: true, message: '请输入详细地址', trigger: 'change'} {required: true, message: '请输入详细地址', trigger: 'change'}
], ],
}, },
queryParams: {} queryParams: {},
areaInfo: [],
fieldNames: {
label: 'areaName',
value: 'areaCode',
children: 'children'
},
} }
}, },
created() { created() {
this.queryParams = this.$route.query; this.queryParams = this.$route.query;
if (this.queryParams.modeType === "update") { if (this.queryParams.modeType === "update") {
this.$api.common.fetchSupplyById(this.queryParams.id).then(res => { this.$api.common.fetchSupplyById(this.queryParams.id).then(({data, code}) => {
if (res.code === 'SUCCESS') { if (code === 'SUCCESS') {
this.formData = res.data; this.areaInfo = [{areaCode: data.areaCode, areaName: data.areaName}]
const {areaCode, ...others} = data
this.formData = {...others};
this.formData.areaCode = [areaCode]
} }
}).catch(() => { }).catch(() => {
}); });
} else {
this.initLoadAreaData()
} }
}, },
methods: { methods: {
initLoadAreaData() {
this.areaInfo = []
this.loadAreaData([{areaCode: 0}])
},
loadAreaData(selectedOptions) {
const targetOption = selectedOptions[selectedOptions.length - 1];
targetOption.loading = true;
this.$api.common.fetchAreaByCode({areaCode: targetOption.areaCode}).then(({data = []}) => {
targetOption.loading = false;
data.forEach(item => {
item['isLeaf'] = false
})
if (targetOption.areaCode == 0) {
this.areaInfo = [...data]
} else {
targetOption.children = [...data]
this.areaInfo = [...this.areaInfo]
}
console.log(this.areaInfo)
})
},
// 弹窗确定按钮 // 弹窗确定按钮
submitForm() { submitForm() {
let vm = this; let vm = this;
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate(valid => {
if (valid) { if (valid) {
vm.subLoad = true vm.subLoad = true
const {areaCode, areaName, ...others} = vm.formData
let areaInfo = areaCode[areaCode.length -1]
let par = { let par = {
...vm.formData areaCode: areaInfo,
...others
}; };
if (this.queryParams.modeType === 'add') { if (this.queryParams.modeType === 'add') {
vm.$api.common.fetchAddSupply(par).then(res => { vm.$api.common.fetchAddSupply(par).then(res => {
......
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