hldy_app_mini/pages/NursingNew/component/pleasetake/component/takehomep.vue

389 lines
9.9 KiB
Vue

<template>
<view v-if="isShow">
<view class="buttons-father">
<view class="boxtwo">
<view class="ipt">
<input type="text" placeholder="物料名称/物料简拼" v-model="form.wlParamInfo" @confirm="search" />
<image src="/static/index/procurement/x.png" mode="aspectFill" v-if="form.wlParamInfo"
@click="search(0)"></image>
</view>
<view class="scr" @click="search">
检索
</view>
<view class="shx" @click="ification = true">
<image src="/static/index/requestform/shaixuan.png" mode="aspectFill"></image>
<view class="shx-font">
筛选
</view>
</view>
<view class="shx" @click="chongzhi" v-if="form.categoryId!=''||form.wlParamInfo!='' ">
<image src="/static/index/requestform/chongzhi.png" mode="aspectFill"></image>
<view class="shx-font">
重置
</view>
</view>
</view>
<view class="boxtwo flexend">
<view class="qlthbtn">
<image src="/static/index/requestform/ql0.png" mode="aspectFill"></image>
<view class="shx-font" @click="changePage(1)">
请领单
</view>
<view class="qlthbtn-red" v-if="isQingling"></view>
</view>
<view class="qlthbtn">
<image src="/static/index/requestform/ql1.png" mode="aspectFill"></image>
<view class="shx-font" @click="changePage(2)">
回退单
</view>
<view class="qlthbtn-red" v-if="isRead"></view>
</view>
<view class="qlthbtn" @click="thshow = true">
<image src="/static/index/requestform/ql2.png" mode="aspectFill"></image>
<view class="shx-font">
退货
</view>
</view>
</view>
</view>
<addwl :Material="addMaterial" @delall="delall" @del="adddel" @submit="submit"></addwl>
<carditem :InvoicingList="listarr" @scrolltolower="scrolltolower" :status="status" @comfig="comfig"></carditem>
<takeing :show="takeshow" :objtake="objtake" @fill="takeshow = false" @right="right"></takeing>
<cgdclass @confirm="confirm" :show="ification" :typenum="0" ref="classication" @fill="ification = false">
</cgdclass>
<medetails :show="detaishow" @fill="detaishow = false" @confirm="confirm" :objtake="objtake"></medetails>
<tanchuang @back="tanshow = false" :show="tanshow" font="确定将该物料从本次请领清单中移除吗?" @right="del"></tanchuang>
<takerecord :objtake="objtake" :show="recordshow" @fill="recordshow = false"></takerecord>
<submits :show="subshow" :list="addMaterial" @fill="subshow = false" @config="tijiao"></submits>
<tanchuang @back="thshow = false" :show="thshow" font="是否发起退货流程?" @right="thclk"></tanchuang>
<errorshow :show="openerror" :font="errmsg" @close="openerror=false" />
</view>
</template>
<script setup lang="ts">
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
import { queryInvoicingList, wlzd, queryGwcInfo, addGwc, deleteGwcWl, removeAllGwc, submitQld, requireTH, queryQld } from '../api/api.js'
import addwl from '../common/addwl.vue';
import carditem from '../common/carditem.vue';
import takeing from '../common/takeing.vue';
import cgdclass from '../common/cgdclass.vue';
import medetails from '../common/medetails.vue';
import tanchuang from '../common/tanchuang.vue';
import takerecord from '../common/takerecord.vue';
import submits from '../common/submits.vue'
const form = reactive({
pageNo: 1,
pageSize: 10,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
wlParamInfo: '',
categoryId: '',
typeId: '',
medicationId: ''
})
const props = defineProps({
isShow: {
type: Boolean
},
});
const transition = ref(false);
watch(
() => props.isShow,
(newVal, oldVal) => {
listarr.value = [];
form.categoryId = '';
form.typeId = '';
form.medicationId = '';
form.pageNo = 1;
form.wlParamInfo = '',
config()
wuliao()
getreddian()
if (!oldVal && newVal) {
transition.value = false;
setTimeout(() => {
transition.value = true;
}, 50)
} else {
transition.value = false;
}
}
)
const takeshow = ref(false)
const ification = ref(false)
const detaishow = ref(false)
const tanshow = ref(false)
const recordshow = ref(false)
const subshow = ref(false)
const thshow = ref(false)
const openerror = ref(false)
const errmsg = ref('')
const classication = ref<InstanceType<typeof ChildComponent>>()
const addMaterial = ref([])
const isRead = ref(false)
const isQingling = ref(false)
const getreddian = () => {
let plzinfo0 = {
pageNo: 1,
pageSize: 1,
searchContent: "",
status: "3",
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
}
queryQld(plzinfo0).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) {
isRead.value = true;
} else {
isRead.value = false;
}
})
let plzinfo1 = {
pageNo: 1,
pageSize: 1,
searchContent: "",
status: "4",
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
}
queryQld(plzinfo1).then((res : any) => {
if (res.result.records[0].izYgRead == `N`) {
isQingling.value = true;
} else {
isQingling.value = false;
}
})
}
const wuliao = () => {
let obj = {
nuId: form.nuId,
elderId: form.elderId
}
queryGwcInfo(obj).then(res => {
// console.log(res)
addMaterial.value = res.result
})
}
const listarr = ref([])
const status = ref('loadmore')
const config = () => {
queryInvoicingList(form).then(res => {
res.result.records.forEach(item => {
item.zk = false;
item.scrollleft = 0;
})
listarr.value.push(...res.result.records)
status.value = (res.result.total == listarr.value.length ? 'nomore' : 'loadmore')
})
}
const thclk = () => {
requireTH({ nuId: form.nuId, elderId: form.elderId }).then(res => {
if (res.success) {
thshow.value = false;
uni.showToast({
icon: 'none',
title: res.message
})
} else {
thshow.value = false;
errmsg.value = res.message;
openerror.value = true;
console.log("?????")
}
})
}
const search = (x : number) => {
if (x === 0) { form.wlParamInfo = '' }
form.pageNo = 1;
listarr.value = [];
config();
}
const scrolltolower = () => {
if (status.value == 'loading' || status.value == 'nomore') { return }
status.value = 'loading';
form.pageNo++;
config()
}
const submit = () => {
wuliao();
subshow.value = true;
}
const adddel = (v) => {
listarr.value.forEach(item => {
if (item.wlId == v.wlId) {
objtake.value = item
}
})
if (!objtake.value.wlId) {
objtake.value = v;
}
tanshow.value = true;
console.log(objtake.value)
}
const del = () => {
let obj = {
nuId: form.nuId,
elderId: form.elderId,
wlId: objtake.value.wlId
}
console.log(obj)
deleteGwcWl(obj).then(res => {
if (res.success) {
wuliao();
tanshow.value = false;
objtake.value.isAdd = null;
objtake.value.qlNum = null;
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const delall = () => {
console.log({ nuId: form.nuId, elderId: form.elderId })
removeAllGwc({ nuId: form.nuId, elderId: form.elderId }).then(res => {
if (res.success) {
wuliao();
listarr.value.forEach(item => {
item.isAdd = null;
item.qlNum = null;
item.gwcId = null;
})
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const objtake = ref({})
const comfig = (v, i, t) => {
console.log(`看看数据`, v, i, t)
switch (t) {
case 0:
objtake.value = v;
if (v.isAdd == 1) {
tanshow.value = true;
} else {
takeshow.value = true;
}
break;
case 1:
objtake.value = v;
recordshow.value = true;
break;
case 2:
objtake.value = v;
detaishow.value = true;
break;
case 3:
let obj = {
nuId: form.nuId,
elderId: form.elderId,
wlId: v.wlId,
izZd: v.zhiDingId ? false : true
}
wlzd(obj).then(res => {
console.log(obj, res)
if (res.success) {
// objtake.value = v;
// objtake.value.zk = false;
// objtake.value.scrollleft = 0;
// objtake.value = v.zhiDingId?false:true;
// listarr.value.splice(i,1);
// listarr.value.unshift(v)
listarr.value = [];
form.pageNo = 1;
config()
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
break;
default:
break;
}
}
const right = (e, v) => {
console.log(v)
let obj = {
kfId: v.nuId,
wlId: v.wlId,
qlNum: e,
nuId: form.nuId,
elderId: form.elderId
}
addGwc(obj).then(res => {
if (res.success) {
takeshow.value = false;
v.isAdd = 1;
v.qlNum = e;
wuliao();
} else {
errmsg.value = res.message;
openerror.value = true;
}
})
}
const tijiao = () => {
let obj = {
nuId: form.nuId,
elderId: form.elderId
}
submitQld(obj).then(res => {
if (res.success && res.result.status == 'success') {
uni.showToast({
icon: 'success',
title: '提交成功'
})
setTimeout(() => {
subshow.value = false;
wuliao();
changePage(1)
}, 800)
} else {
// console.log("!!!!!",res)
errmsg.value = res.result.message?res.result.message:res.message
openerror.value = true;
}
})
}
const confirm = (e) => {
form.categoryId = e.categoryId;
form.typeId = e.typeId;
form.medicationId = e.medicationId;
form.pageNo = 1;
listarr.value = [];
config();
ification.value = false;
console.log(e)
}
const chongzhi = () => {
form.categoryId = '';
form.typeId = '';
form.medicationId = '';
form.pageNo = 1;
form.wlParamInfo = '',
listarr.value = [];
classication.value.typescroll(1, -1, {});
classication.value.qingkong();
classication.value.config();
}
const emit = defineEmits(['changePageNumber']) // 也可以用类型签名(见下面)
const changePage = (index : number) => {
emit('changePageNumber', index)
}
</script>
<style lang="less" scoped>
@import "../css/take.less";
</style>