dev
This commit is contained in:
parent
3ea97ef532
commit
fe8d7fda28
|
|
@ -60,6 +60,9 @@ let change_search = () => {
|
|||
init()
|
||||
}
|
||||
const formatDate = (isoStr:any) => {
|
||||
if (!isoStr){
|
||||
return ''
|
||||
}
|
||||
const date = new Date(isoStr);
|
||||
return `${date.getFullYear()}-${(date.getMonth()+1).toString().padStart(2,'0')}-${date.getDate().toString().padStart(2,'0')}`;
|
||||
}
|
||||
|
|
@ -79,12 +82,23 @@ const formatDate = (isoStr:any) => {
|
|||
</div>
|
||||
<div class="content">
|
||||
<el-table :data="tableData" style="width: 100%;height: 100%">
|
||||
<el-table-column prop="code" label="库存初始化编码" show-overflow-tooltip/>
|
||||
<el-table-column prop="wholeNumber" label="初始化商品整量数量"/>
|
||||
<el-table-column prop="name" label="商品名称" />
|
||||
<el-table-column prop="code" label="库存初始化编码" />
|
||||
<el-table-column prop="wholeNumber" label="初始化商品整量数量">
|
||||
<template #default="scope">
|
||||
{{scope.row.wholeNumber}}{{scope.row.packagingUnit}}
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column prop="fragmentNumber" label="初始化商品分量数量">
|
||||
<template #default="scope">
|
||||
{{scope.row.fragmentNumber}}{{scope.row.minPackagingUnit}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createDate" label="初始化日期"/>
|
||||
<el-table-column prop="uploadStatus" label="状态">
|
||||
<template #default="{row}">
|
||||
{{ row.uploadStatus == 0 ? '未上传' : row.uploadStatus == 1 ? '已上传' : '异常' }}
|
||||
{{ row.uploadStatus == 0 ? '未上传' : row.uploadStatus == 1 ? '已上传' :row.uploadStatus == 2 ? '异常':"无需上报" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="uploadMessage" label="上传状态信息" show-overflow-tooltip/>
|
||||
|
|
@ -93,7 +107,7 @@ const formatDate = (isoStr:any) => {
|
|||
{{ formatDate(row.uploadDatetime) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="fragmentNumber" label="初始化商品分量数量"/>
|
||||
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@
|
|||
<div class="container">
|
||||
<div class="tip">
|
||||
<el-select
|
||||
v-model="searchInfo.type"
|
||||
v-model="searchInfo.socialType"
|
||||
placeholder="变更类型"
|
||||
clearable style="width: 240px;" @clear="init()">
|
||||
<el-option
|
||||
v-for="(item,key) in typeMapping"
|
||||
v-for="(item,key) in socialTypeMapping"
|
||||
:key="key"
|
||||
:label="item"
|
||||
:value="key"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="searchStatus.type"
|
||||
v-model="searchStatus.uploadStatus"
|
||||
placeholder="上传状态"
|
||||
clearable style="width: 240px;margin: 0 10px" @clear="init()">
|
||||
<el-option
|
||||
|
|
@ -34,11 +34,18 @@
|
|||
</div>
|
||||
<div class="content">
|
||||
<el-table :data="tableData" style="width: 100%;height: 100%">
|
||||
<el-table-column prop="name" label="商品名称"/>
|
||||
|
||||
<el-table-column prop="type" label="库存变更类型" show-overflow-tooltip>
|
||||
<template #default="{row}">
|
||||
{{ typeMapping[row.type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="socialType" label="医保库存变更类型" show-overflow-tooltip>
|
||||
<template #default="{row}">
|
||||
{{ socialTypeMapping[row.socialType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="beforeFragmentNumber" label="前库存" show-overflow-tooltip>
|
||||
<template #default="{row}">
|
||||
{{ row.beforeWholeNumber }}{{ row.packagingUnit }}
|
||||
|
|
@ -114,11 +121,11 @@ const tableData = ref([])
|
|||
let type = ref<number>()
|
||||
let typeName = ref('')
|
||||
const searchInfo = ref({
|
||||
type: '',
|
||||
socialType: '',
|
||||
keyword: '',
|
||||
})
|
||||
const searchStatus = ref({
|
||||
type: '',
|
||||
const searchStatus = ref<any>({
|
||||
socialType: '',
|
||||
keyword: '',
|
||||
})
|
||||
const value1 = ref([])
|
||||
|
|
@ -133,7 +140,7 @@ interface TypeMapping {
|
|||
[key: number]: string;
|
||||
}
|
||||
|
||||
const typeMapping: TypeMapping = {
|
||||
const socialTypeMapping: TypeMapping = {
|
||||
101: '调拨入库',
|
||||
102: '调拨出库',
|
||||
103: '盘盈',
|
||||
|
|
@ -143,6 +150,17 @@ const typeMapping: TypeMapping = {
|
|||
107: '其他出库',
|
||||
108: '初始化入库'
|
||||
}
|
||||
const typeMapping: TypeMapping = {
|
||||
1: "初始化",
|
||||
2: "采购入库",
|
||||
3: "盘盈入库",
|
||||
4: "发药出库",
|
||||
5: "领用出库",
|
||||
6: "报损出库",
|
||||
7: "盘亏出库",
|
||||
8: "退货出库",
|
||||
9: "零售退款入库"
|
||||
}
|
||||
|
||||
interface UploadStatus {
|
||||
[key: number]: string;
|
||||
|
|
@ -152,6 +170,7 @@ const uploadStatus: UploadStatus = {
|
|||
0: '未上传',
|
||||
1: '已上传',
|
||||
2: '异常',
|
||||
3: "无需上报",
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
|
|
@ -162,10 +181,10 @@ let init = () => {
|
|||
const query = {
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
type: Number(searchInfo.value.type) || "",
|
||||
uploadStatus: searchStatus.value.type || "",
|
||||
createTimeBefore: value1.value[0] ? formatDate(value1.value[0]) : "",
|
||||
createTimeAfter: value1.value[1] ? formatDate(value1.value[1]) : "",
|
||||
socialType: Number(searchInfo.value.socialType) || null,
|
||||
uploadStatus: searchStatus.value.uploadStatus || null,
|
||||
createTimeBefore: value1.value ? formatDate(value1.value[0]) : null,
|
||||
createTimeAfter: value1.value ? formatDate(value1.value[1]) : null,
|
||||
}
|
||||
post("social/upload/get3502List", {query: query}).then((res: any) => {
|
||||
tableData.value = res.list
|
||||
|
|
@ -189,7 +208,9 @@ let change_search = () => {
|
|||
}
|
||||
// 转成YYYY-MM-DD格式
|
||||
const formatDate = (isoStr: any) => {
|
||||
console.log(isoStr, "isoStr")
|
||||
if (!isoStr) {
|
||||
return ''
|
||||
}
|
||||
const date = new Date(isoStr);
|
||||
return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
||||
}
|
||||
|
|
@ -198,10 +219,12 @@ const formatDate = (isoStr: any) => {
|
|||
|
||||
<style scoped lang="scss">
|
||||
@use "@/assets/scss/base.scss";
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
|
||||
.top {
|
||||
height: 60px;
|
||||
|
||||
|
|
@ -209,6 +232,7 @@ const formatDate = (isoStr: any) => {
|
|||
width: 300px;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
|
|
|||
|
|
@ -2,18 +2,18 @@
|
|||
<div class="container">
|
||||
<div class="tip">
|
||||
<el-select
|
||||
v-model="searchInfo.type"
|
||||
v-model="searchInfo.socialType"
|
||||
placeholder="变更类型"
|
||||
clearable style="width: 240px;" @clear="init()">
|
||||
<el-option
|
||||
v-for="(item,key) in typeMapping"
|
||||
v-for="(item,key) in socialTypeMapping"
|
||||
:key="key"
|
||||
:label="item"
|
||||
:value="key"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="searchStatus.type"
|
||||
v-model="searchStatus.uploadStatus"
|
||||
placeholder="上传状态"
|
||||
clearable style="width: 240px;margin: 0 10px" @clear="init()">
|
||||
<el-option
|
||||
|
|
@ -23,32 +23,28 @@
|
|||
:value="key"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="in_out_obj.type"
|
||||
placeholder="进货,退货"
|
||||
clearable style="width: 240px;margin: 0 10px" @clear="init()">
|
||||
<el-option
|
||||
v-for="(item,key) in in_out"
|
||||
:key="key"
|
||||
:label="item"
|
||||
:value="key"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<el-button type="primary" style="margin-left: 10px" @click="change_search">搜索</el-button>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-table :data="tableData" style="width: 100%;height: 100%">
|
||||
<el-table-column prop="name" label="商品名称"/>
|
||||
<el-table-column prop="number" label="进货,退货数量" show-overflow-tooltip>
|
||||
<template #default="{row}">
|
||||
<el-icon v-if="row.number<0" style="font-size: 9px"><Minus /></el-icon>
|
||||
<el-icon v-if="row.number>0" style="font-size: 9px"><Plus /></el-icon>
|
||||
<span>
|
||||
<template v-if="row.number!=0">
|
||||
{{Math.abs(row.number)}}
|
||||
{{Math.abs(row.number)}}{{row.packagingUnit}}
|
||||
</template>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="socialType" label="医保库存变更类型" show-overflow-tooltip>
|
||||
<template #default="{row}">
|
||||
{{ socialTypeMapping[row.socialType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="uploadStatus" label="状态">
|
||||
<template #default="{row}">
|
||||
{{ uploadStatus[row.uploadStatus as keyof typeof uploadStatus] }}
|
||||
|
|
@ -60,11 +56,6 @@
|
|||
{{ formatDate(row.uploadDatetime) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="type" label="库存变更类型">
|
||||
<template #default="{row}">
|
||||
{{ typeMapping[row.type as keyof typeof typeMapping] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
|
|
@ -89,20 +80,15 @@ import {Minus, Plus} from "@element-plus/icons-vue";
|
|||
const tableData = ref([])
|
||||
|
||||
// 搜索相关
|
||||
const searchInfo=ref({
|
||||
type:'',
|
||||
keyword: '',
|
||||
const searchInfo=ref<any>({
|
||||
})
|
||||
const searchStatus=ref({
|
||||
type:'',
|
||||
keyword: '',
|
||||
})
|
||||
const in_out_obj=ref({
|
||||
type:'',
|
||||
keyword: '',
|
||||
const searchStatus=ref<any>({
|
||||
})
|
||||
interface TypeMapping {
|
||||
[key: number]: string;
|
||||
}
|
||||
// 定义 type 与 typeName 的映射关系
|
||||
const typeMapping = {
|
||||
const socialTypeMapping: TypeMapping = {
|
||||
101: '调拨入库',
|
||||
102: '调拨出库',
|
||||
103: '盘盈',
|
||||
|
|
@ -116,10 +102,7 @@ const uploadStatus = {
|
|||
0: '未上传',
|
||||
1: '已上传',
|
||||
2: '异常',
|
||||
}
|
||||
const in_out = {
|
||||
106: '进货',
|
||||
107: '退货',
|
||||
3: '无需上报',
|
||||
}
|
||||
|
||||
// 分页相关
|
||||
|
|
@ -133,8 +116,8 @@ let init = ()=>{
|
|||
const query = {
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
type:searchInfo.value.type||in_out_obj.value.type||'',
|
||||
uploadStatus:searchStatus.value.type||'',
|
||||
socialType:searchInfo.value.socialType||null,
|
||||
uploadStatus:searchStatus.value.uploadStatus ||null,
|
||||
}
|
||||
post("social/upload/get3503List",{query: query}).then((res:any)=>{
|
||||
tableData.value = res.list
|
||||
|
|
@ -156,7 +139,9 @@ let change_search=()=>{
|
|||
}
|
||||
// 转成YYYY-MM-DD格式
|
||||
const formatDate = (isoStr:any) => {
|
||||
console.log(isoStr,"isoStr")
|
||||
if (!isoStr){
|
||||
return "";
|
||||
}
|
||||
const date = new Date(isoStr);
|
||||
return `${date.getFullYear()}-${(date.getMonth()+1).toString().padStart(2,'0')}-${date.getDate().toString().padStart(2,'0')}`;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ let changePage = (value: number) => {
|
|||
const query = {
|
||||
pageNum: value,
|
||||
pageSize: pageSize.value,
|
||||
code: code.value
|
||||
}
|
||||
post("social/upload/get3505List",{query: query}).then((res:any)=>{
|
||||
tableData.value = res.list
|
||||
|
|
@ -40,6 +41,14 @@ let changePage = (value: number) => {
|
|||
let change_search = ()=>{
|
||||
init()
|
||||
}
|
||||
// 转成YYYY-MM-DD格式
|
||||
const formatDate = (isoStr:any) => {
|
||||
if (!isoStr){
|
||||
return "";
|
||||
}
|
||||
const date = new Date(isoStr);
|
||||
return `${date.getFullYear()}-${(date.getMonth()+1).toString().padStart(2,'0')}-${date.getDate().toString().padStart(2,'0')}`;
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
@ -50,23 +59,17 @@ let change_search = ()=>{
|
|||
style="width: 240px"
|
||||
placeholder="请输入库存初始化编码"
|
||||
:suffix-icon="Search"
|
||||
size="large" clearable
|
||||
clearable
|
||||
@change="change_search"/>
|
||||
<el-button type="primary" style="margin-left: 10px" @click="change_search">搜索</el-button>
|
||||
</div>
|
||||
<div class="content">
|
||||
<el-table :data="tableData" style="width: 100%;height: 100%">
|
||||
<el-table-column prop="retailOrderCode" label="订单号" show-overflow-tooltip/>
|
||||
<el-table-column prop="goodsName" label="商品名称"/>
|
||||
<el-table-column prop="chargeOrderCode" label="订单号" show-overflow-tooltip/>
|
||||
<el-table-column prop="number" label="变化量">
|
||||
<template #default="{row}">
|
||||
{{row.type ==1 ? "+"+row.number : "-"+row.number }}{{row.unit}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="feedetlSn" label="详情流水号"/>
|
||||
<el-table-column prop="createTime" label="初始化日期"/>
|
||||
<el-table-column prop="uploadStatus" label="状态">
|
||||
<template #default="{row}">
|
||||
{{row.uploadStatus ==0 ? '未上传' :row.uploadStatus ==1 ? '已上传': '异常' }}
|
||||
{{row.type ==1 ? row.number : "+"+row.number }}{{row.unit}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="uploadMessage" label="变更类型" show-overflow-tooltip>
|
||||
|
|
@ -74,6 +77,18 @@ let change_search = ()=>{
|
|||
{{row.type ==1 ? '销售' :row.type ==2 ? '退货': '异常' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="feedetlSn" label="详情流水号" width="250"/>
|
||||
<el-table-column prop="createTime" label="初始化日期">
|
||||
<template #default="{row}">
|
||||
{{formatDate(row.createTime)}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="uploadStatus" label="状态">
|
||||
<template #default="{row}">
|
||||
{{row.uploadStatus ==0 ? '未上传' :row.uploadStatus ==1 ? '已上传':row.uploadStatus ==2 ? '无需上报':"异常"}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column prop="uploadDatetime" label="最近上传时间"/>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -76,16 +76,16 @@
|
|||
}
|
||||
).then(() => {
|
||||
// 如果验证通过,发送请求
|
||||
alert("提交冲正,代码注释了,防止在正式库冲正")
|
||||
// post("social/reconciliation/reversal", {data: formData.value}).then((res: any) => {
|
||||
// ElMessage({
|
||||
// message: "冲正成功",
|
||||
// type: 'success',
|
||||
// plain: true
|
||||
// })
|
||||
// formRef.value?.resetFields();
|
||||
// close()
|
||||
// });
|
||||
// alert("提交冲正,代码注释了,防止在正式库冲正")
|
||||
post("social/reconciliation/reversal", {data: formData.value}).then((res: any) => {
|
||||
ElMessage({
|
||||
message: "冲正成功",
|
||||
type: 'success',
|
||||
plain: true
|
||||
})
|
||||
formRef.value?.resetFields();
|
||||
close()
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,12 @@
|
|||
<el-table-column label="结算笔数" prop="settlementCount"></el-table-column>
|
||||
<el-table-column label="对账结果" prop="reconciliationResult">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.reconciliationResult == null" type="success">未对账</el-tag>
|
||||
<el-tag v-else type="info">{{ scope.row.reconciliationResult }}</el-tag>
|
||||
<el-tag v-if="scope.row.reconciliationResult == null" type="info">未对账</el-tag>
|
||||
<el-tag v-if="scope.row.reconciliationResult == 1" type="success">{{ reconciliationResult[1] }}</el-tag>
|
||||
<el-tag v-if="scope.row.reconciliationResult != null&&scope.row.reconciliationResult != 1" type="danger">{{
|
||||
reconciliationResult[scope.row.reconciliationResult as keyof typeof reconciliationResult] || '未知状态'
|
||||
}}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
|
|
@ -41,6 +45,8 @@ import {onMounted, ref} from "vue";
|
|||
import {formatDateArray, getThisMonth, getToday} from "@/utils/dateUtils.ts";
|
||||
import {post} from "@/utils/request.ts";
|
||||
import DetailList from "@/components/social/reconciliation/DetailList.vue";
|
||||
import {ElMessage} from "element-plus";
|
||||
import {reconciliationResult} from "../../assets/config/constants.ts";
|
||||
|
||||
const selectDate = ref<any>();
|
||||
const changeDate = (dates: Date[]) => {
|
||||
|
|
@ -48,6 +54,18 @@ const changeDate = (dates: Date[]) => {
|
|||
console.log(selectDate.value);
|
||||
getList()
|
||||
};
|
||||
|
||||
interface TypeMapping {
|
||||
[key: number]: string;
|
||||
}
|
||||
|
||||
const accountRecordResult: TypeMapping = {
|
||||
0: "平",
|
||||
1: "不平",
|
||||
101: "中心多",
|
||||
102: "医药机构多",
|
||||
103: "数据不一致",
|
||||
};
|
||||
const list = ref<any>();
|
||||
const getList = () => {
|
||||
post("social/reconciliation/getList", {beginTime: selectDate.value[0], endTime: selectDate.value[1]}).then(
|
||||
|
|
@ -61,7 +79,10 @@ const accountRecordDo = (row: any) => {
|
|||
let data = {...row};
|
||||
data.beginTime = selectDate.value[0];
|
||||
data.endTime = selectDate.value[1];
|
||||
post("social/reconciliation/totalDo", {data: data})
|
||||
post("social/reconciliation/totalDo", {data: data}).then((res: any) => {
|
||||
ElMessage.success(res.stmtinfo.stmt_rslt_dscr);
|
||||
row.reconciliationResult = res.stmtinfo.stmt_rslt
|
||||
})
|
||||
}
|
||||
|
||||
const detailsDo = (row: any) => {
|
||||
|
|
|
|||
|
|
@ -15,14 +15,18 @@
|
|||
<el-table :data="tableData" border style="width: 100%">
|
||||
<el-table-column prop="chargeTime" label="结算时间" width="180"></el-table-column>
|
||||
<el-table-column prop="customer" label="患者" width="180"></el-table-column>
|
||||
<el-table-column prop="projectCode" label="订单号" width="180"></el-table-column>
|
||||
<el-table-column prop="projectCode" label="订单号" width="240"></el-table-column>
|
||||
<el-table-column prop="source" label="结算类型" width="180">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.source == 0" type="success">零售</el-tag>
|
||||
<el-tag v-else>{{scope.row.source}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="netReceipts" label="结算金额" width="180"></el-table-column>
|
||||
<el-table-column prop="netReceipts" label="结算金额" width="180">
|
||||
<template #default="scope">
|
||||
¥{{scope.row.netReceipts}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="dockerName" label="医生" width="180"></el-table-column>
|
||||
<el-table-column prop="salePersonName" label="收费员" width="180"></el-table-column>
|
||||
<el-table-column prop="type" label="交易类型" width="180">
|
||||
|
|
@ -39,7 +43,7 @@
|
|||
<script setup lang="ts">
|
||||
import {onMounted, ref} from "vue";
|
||||
import {post} from "@/utils/request.ts";
|
||||
import {getToday, formatDateArray} from "@/utils/dateUtils.ts";
|
||||
import {getToday, formatDateArray, getThisMonth} from "@/utils/dateUtils.ts";
|
||||
import {apiConfig} from "@/assets/config/apiConfig.ts";
|
||||
|
||||
const tableData = ref([])
|
||||
|
|
@ -56,7 +60,7 @@ const getTableData = () => {
|
|||
})
|
||||
}
|
||||
onMounted(() => {
|
||||
const today = getToday()
|
||||
const today = getThisMonth()
|
||||
date.value = [today.start, today.end]
|
||||
getTableData()
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue