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

1024 lines
24 KiB
Vue
Raw Normal View History

2025-11-26 13:26:22 +08:00
<template>
2025-12-03 14:14:37 +08:00
<view class="buttons-father" :style="transition?{opacity: `1`}:{opacity: `0`}" v-show="isShow">
2025-12-02 16:13:23 +08:00
<view class="ipt">
<input type="text" v-model="plzinfo.searchContent" placeholder="请领单号" @confirm="clickconfirm" />
</view>
<view class="scr" @click="clickconfirm">
检索
</view>
<view class="shx" @click="chongzhi">
<image src="/static/index/requestform/chongzhi.png" mode="aspectFill"></image>
<view class="shx-font">
重置
2025-11-26 13:26:22 +08:00
</view>
2025-12-02 16:13:23 +08:00
</view>
2025-12-03 14:14:37 +08:00
<view class="right-button" @click="badshow=true" v-show="plsbuy[lefttarget]?.status==`1`">
<image src="/static/index/warehouse/procurement/picking/bebad.png" />
<view>
作废
</view>
</view>
<view class="right-button" @click="shouhuoshow=true" v-show="plsbuy[lefttarget]?.status==`4`">
<image src="/static/index/warehouse/procurement/picking/shouhuo.png" />
<view>
收货
</view>
</view>
<nomessage cont="暂无数据" :show="nomessageshow" />
2025-12-02 16:13:23 +08:00
</view>
2025-12-03 14:14:37 +08:00
<tanchuang :show="badshow" font="确定要作废这个请领单吗" @back="badshow=false;" @right="zuofei"> </tanchuang>
<tanchuang :show="shouhuoshow" font="这个请领单确定要收货吗" @back="shouhuoshow=false;" @right="shouhuo"> </tanchuang>
<view class="other-contain" :style="transition?{opacity: `1`}:{opacity: `0`}" v-show="isShow && !nomessageshow">
2025-12-02 16:13:23 +08:00
<view class="other-contain-left">
<view class="left-selecttype">
<view :class="selectType===index?`selecttype-target`: `selecttype`" v-for="(item,index) in tagsarray"
@click="changetype(index)">
{{ item }}
2025-11-26 13:26:22 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="heng-blue" :style="{ left: `${selectType === 0 ? 11.5 : 12 + selectType * 18.5}%` }">
2025-11-26 13:26:22 +08:00
</view>
</view>
2025-12-02 16:13:23 +08:00
<scroll-view scroll-y="true" scroll-with-animation class="left-menu-scroll" :scroll-top="leftscrolltop"
2025-12-03 14:14:37 +08:00
@scrolltolower="plsbuytolower" :lower-threshold="200">
2025-12-02 16:13:23 +08:00
<view style="height: 1%;"></view>
<view class="pls-card" v-for="(v,i) in plsbuy" :key='i' @click="clickLeftMenu(i,v)" :style="{
2025-11-26 17:17:33 +08:00
borderColor: i === lefttarget ? '' : 'transparent',
background: i === lefttarget ? '#fff' : 'rgba(255,255,255,0.6)'
}">
2025-12-02 16:13:23 +08:00
<view
style="background: #ff5757;position: absolute;width: 1.3vw;height: 1.3vw;border-radius: 50%;right: -0.5vw;top: -0.2vw;"
2025-12-03 14:14:37 +08:00
v-if="v.izYgRead=='N'">
2025-12-02 16:13:23 +08:00
</view>
<view class="pls-card-title">
<view class="middle-title-spec">
请领单号
</view>
<view class="title-left">
{{ v.qldNo }}
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
</view>
<view class="pls-card-middle">
<view class="middle-heng"></view>
<view class="pls-card-middle-one">
<view class="middle-title">
{{ v.tjTime.replace(/-/g, '.') }}
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="middle-heng-father">
<image class="middle-ball-img" src="/static/index/requestform/isok.png" />
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="end-font">
2025-11-26 17:17:33 +08:00
2025-12-02 16:13:23 +08:00
<view>
待出库
</view>
<view style="font-size: 25rpx;">
{{ "[ " + v.tjByName + " ]" }}
2025-11-26 17:17:33 +08:00
</view>
</view>
2025-12-02 16:13:23 +08:00
</view>
<view class="pls-card-middle-one">
<view class="middle-title"
:style=" v?.status === '2' || v?.status === '3' ?{color:`#FF5757`}:{}">
{{
Number(v.status)>1?
v?.status === '2'
? v.zfTime?.slice(0,10).replace(/-/g, '.')
: v?.status === '3'
? v.htTime?.slice(0,10).replace(/-/g, '.')
: v.ckTime?.slice(0,10).replace(/-/g, '.')
: ""
}}
2025-11-27 13:39:56 +08:00
2025-12-02 16:13:23 +08:00
</view>
<view class="middle-heng-father">
2025-12-12 17:02:33 +08:00
<image class="middle-ball-img" style="width: 32rpx;height: 32rpx;"
v-if="v?.status === '2' || v?.status === '3'"
src="/static/index/requestform/iserror.png" />
<view class="middle-ball" v-else-if="v?.status === '1'">
2025-12-09 15:21:01 +08:00
</view>
2025-12-02 16:13:23 +08:00
<image class="middle-ball-img" v-else src="/static/index/requestform/isok.png" />
</view>
<view class="end-font">
2025-11-26 17:17:33 +08:00
2025-12-02 16:13:23 +08:00
<view :style="v?.status === '2' || v?.status === '3' ?{color:`#FF5757`}:{}">
{{
v?.status === '2'
? `已作废`
: v?.status === '3'
? `已回退`
: `已出库`
}}
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view style="font-size: 25rpx;" v-if="Number(v.status)>1"
:style=" v?.status === '2' || v?.status === '3' ?{color:`#FF5757`}:{}">
{{ "[ " + (v?.status === '2'
? v?.zfByName
: v?.status === '3'
? v?.htByName
: v?.ckByName)+ " ]" }}
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
</view>
</view>
<view class="pls-card-middle-one">
<view class="middle-title">
{{ Number(v.status)==5 ? v.shTime?.slice(0,10).replace(/-/g, '.') :""}}
</view>
2025-11-26 17:17:33 +08:00
2025-12-02 16:13:23 +08:00
<view class="middle-heng-father">
2025-11-26 17:17:33 +08:00
2025-12-02 16:13:23 +08:00
<!-- <view class="middle-ball" :style="{backgroundColor: `#1083F8`}"></view> -->
2025-12-09 15:09:33 +08:00
<view class="middle-ball" :style="Number(v.status)==4?{}:{backgroundColor: `#E5E5E5`}"
2025-12-02 16:13:23 +08:00
v-if="Number(v.status)!=5"></view>
<image class="middle-ball-img" v-else src="/static/index/requestform/isok.png" />
</view>
<view class="end-font">
<view v-if="v?.cgdType!='9'">
已收货
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view style="font-size: 25rpx;" v-if="Number(v.status)==5">
{{ "[ " + v.shByName + " ]" }}
2025-11-26 17:17:33 +08:00
</view>
</view>
</view>
2025-12-02 16:13:23 +08:00
</view>
<view class="pls-card-end">
<view class="end-left">
<image class="end-left-img" src="/static/index/requestform/gongyingshang.png" />
<view class="end-left-font">
{{ v.nuName }}
2025-11-26 17:17:33 +08:00
</view>
</view>
2025-12-02 16:13:23 +08:00
<view :class="v?.status === '2' || v?.status === '3' ?`tag-fail`:`tag-success`">
{{ v.statusText }}
</view>
2025-11-26 17:17:33 +08:00
</view>
2025-12-02 16:13:23 +08:00
</view>
</scroll-view>
</view>
<view class="other-contain-right">
<scroll-view scroll-y="true" scroll-with-animation class="right-contain">
<view class="right-ones">
<view class="right-one" v-for="(item,index) in rightarray" :key="index">
<view class="right-one-left">
<image class="left-image"
2025-12-09 15:21:01 +08:00
:src="item.materialInfo.materialImg?serverUrl+item.materialInfo.materialImg:'/static/index/procurement/k.png'"
2025-12-02 16:13:23 +08:00
mode="aspectFill"></image>
<view class="left-tages" style="margin-top: -15rpx;">
2025-12-10 16:29:41 +08:00
{{ item.materialInfo.categoryName}}
2025-11-27 16:21:31 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="left-tages">
2025-12-10 16:29:41 +08:00
{{ item.materialInfo.typeName}}
2025-12-02 16:13:23 +08:00
</view>
</view>
<view class="right-one-right">
<view class="right-title">
2025-12-09 15:21:01 +08:00
{{ item.materialInfo.materialName }}
2025-12-02 16:13:23 +08:00
</view>
<view class="right-setting">
规格型号
</view>
<view class="right-mm">
2025-12-09 15:21:01 +08:00
{{ item.materialInfo.materialNo }}
2025-12-02 16:13:23 +08:00
</view>
<view class="right-down">
<view class="">
<view class="right-first-num">
{{ item.qlNum }}
</view>
<view class="right-first-type">
请领数量
</view>
2025-11-27 16:21:31 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="right-shu"></view>
<view class="">
<view class="right-first-num" style="font-weight: 500;">
2025-12-09 15:21:01 +08:00
{{ item.materialInfo.materialUnits }}
2025-11-27 16:21:31 +08:00
</view>
2025-12-02 16:13:23 +08:00
<view class="right-first-type">
请领单位
2025-11-27 16:21:31 +08:00
</view>
</view>
</view>
2025-11-27 13:39:56 +08:00
</view>
2025-11-26 13:26:22 +08:00
2025-12-02 16:13:23 +08:00
</view>
</view>
2025-12-03 14:14:37 +08:00
<defaultr cont="暂无数据" v-if="rightarray.length==0 && rightdonghua"
style="width: 30%;height: 30%;position: absolute;">
</defaultr>
2025-12-02 16:13:23 +08:00
</scroll-view>
</view>
2025-12-12 17:02:33 +08:00
<errorshow :show="openerror" :font="errormessage" @close="openerror=false" />
2025-12-02 16:13:23 +08:00
</view>
2025-11-26 13:26:22 +08:00
</template>
<script setup lang="ts">
2025-12-02 16:13:23 +08:00
import { ref, onMounted, onBeforeUnmount, computed, nextTick, watch, reactive } from 'vue';
2025-11-26 17:17:33 +08:00
import { onShow, onLoad, onHide, onPageScroll } from "@dcloudio/uni-app"
2025-12-12 17:02:33 +08:00
import { queryQld, queryQldWlInfo, transRead, cancellation, confirmReceipt } from '../api/api.js'
2025-12-03 14:14:37 +08:00
import nomessage from '../common/nomessage.vue'
import defaultr from '../common/default.vue'
const props = defineProps({
isShow: {
2025-12-10 16:29:41 +08:00
type: Boolean,
required: true,
2025-12-03 14:14:37 +08:00
},
});
2025-11-26 17:17:33 +08:00
const tagsarray = ref(["全部", "待出库", "已出库", "已收货 ", "已作废"])
2025-12-02 16:13:23 +08:00
// const nottrue = Array(10).fill(null)
2025-12-03 14:14:37 +08:00
// 使用watch监听isShow变化
const transition = ref(false);
watch(
() => props.isShow,
(newVal, oldVal) => {
2025-12-11 17:30:09 +08:00
// console.log("??????",newVal, oldVal)
2025-12-03 14:14:37 +08:00
// 当旧值为false新值为true时延迟0.2秒调用方法
2025-12-10 17:30:16 +08:00
if (!oldVal && newVal) {
2025-12-12 17:02:33 +08:00
cannomessage.value = true
2025-12-03 14:14:37 +08:00
transition.value = false;
2025-12-10 16:29:41 +08:00
chongzhi()
2025-12-10 17:30:16 +08:00
// firstgetqueryCgdList();
2025-12-03 14:14:37 +08:00
setTimeout(() => {
transition.value = true;
}, 50)
} else {
transition.value = false;
}
2025-11-26 17:17:33 +08:00
2025-12-03 14:14:37 +08:00
}
)
2025-11-26 13:26:22 +08:00
onMounted(() => {
2025-12-02 16:13:23 +08:00
2025-11-26 13:26:22 +08:00
})
const lanjie = ref(false);
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
const selectType = ref(0)
2025-11-26 17:17:33 +08:00
const changetype = (index : number) => {
2025-12-03 14:14:37 +08:00
if ((selectType.value == index) && index) {
return
}
leftscrolltop.value = 1
setTimeout(() => {
leftscrolltop.value = 0
}, 50)
lefttarget.value = 0
2025-11-26 13:26:22 +08:00
selectType.value = index
2025-12-02 16:13:23 +08:00
plzinfo.pageNo = 1;
plzinfo.canpull = true;
2025-12-12 17:02:33 +08:00
2025-12-02 16:13:23 +08:00
switch (index) {
case 0:
plzinfo.status = `1,2,4,5`
break
case 1:
plzinfo.status = `1`
break
case 2:
plzinfo.status = `4`
break
case 3:
plzinfo.status = `5`
break
case 4:
plzinfo.status = `2`
break
}
firstgetqueryCgdList()
}
const clickconfirm = () => {
if (chongzhiLock) return
chongzhiLock = true
plzinfo.pageNo = 1;
plzinfo.canpull = true;
2025-12-03 14:14:37 +08:00
lefttarget.value = 0
2025-12-02 16:13:23 +08:00
firstgetqueryCgdList()
2025-12-03 14:14:37 +08:00
leftscrolltop.value = 1
setTimeout(() => {
leftscrolltop.value = 0
}, 10)
2025-12-02 16:13:23 +08:00
setTimeout(() => chongzhiLock = false, 500)
}
let chongzhiLock = false
const chongzhi = () => {
if (chongzhiLock) return
chongzhiLock = true
plzinfo.searchContent = ""
changetype(0)
2025-12-10 17:30:16 +08:00
// firstgetqueryCgdList()
2025-12-02 16:13:23 +08:00
setTimeout(() => chongzhiLock = false, 500)
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
const plsbuy = ref([])
const alltotal = ref(0);
const lefttarget = ref(0)
const plzinfo = reactive({
pageNo: 1,
2025-12-03 14:14:37 +08:00
pageSize: 5,
2025-11-26 17:17:33 +08:00
canpull: true,
2025-12-02 16:13:23 +08:00
searchContent: "",
status: "1,2,4,5",
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
2025-11-26 17:17:33 +08:00
})
2025-12-02 16:13:23 +08:00
2025-11-26 17:17:33 +08:00
const nomessageshow = ref(false);
const leftscrolltop = ref(0)
2025-12-02 16:13:23 +08:00
const rightarray = ref([]);
2025-12-03 14:14:37 +08:00
// 检测锁
const cannomessage = ref(true)
const rightdonghua = ref(true);
2025-11-26 17:17:33 +08:00
const firstgetqueryCgdList = () => {
2025-12-02 16:13:23 +08:00
queryQld(plzinfo).then((res : any) => {
2025-12-03 14:14:37 +08:00
transition.value = true;
2025-12-11 17:30:09 +08:00
// console.log("kankan",res)
2025-12-03 14:14:37 +08:00
if (((res.message === "缺少参数") || (!res.result?.total)) && cannomessage.value) {
2025-11-26 17:17:33 +08:00
nomessageshow.value = true;
2025-12-03 14:14:37 +08:00
return
2025-11-26 17:17:33 +08:00
}
2025-12-12 17:02:33 +08:00
2025-12-03 14:14:37 +08:00
cannomessage.value = false
plsbuy.value = []
plsbuy.value.push(...res.result.records)
// console.log("入参", plzinfo)
// console.log("查看数组", res.result.records)
alltotal.value = res.result.total
2025-11-26 17:17:33 +08:00
// console.log("请购单数据呢???", res)
2025-12-02 16:13:23 +08:00
if (res.result.records.length) {
2025-12-03 14:14:37 +08:00
rightdonghua.value = false;
2025-12-02 16:13:23 +08:00
queryQldWlInfo({ qldNo: res.result.records[0].qldNo }).then((element : any) => {
2025-12-03 14:14:37 +08:00
rightarray.value = []
2025-12-10 17:30:16 +08:00
// console.log("////",element.result)
2025-12-02 16:13:23 +08:00
rightarray.value.push(...element.result)
2025-12-03 14:14:37 +08:00
rightdonghua.value = true;
2025-12-02 16:13:23 +08:00
})
2025-12-12 17:02:33 +08:00
} else {
2025-12-11 17:30:09 +08:00
rightarray.value = []
2025-12-02 16:13:23 +08:00
}
2025-11-26 17:17:33 +08:00
if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false;
}
})
}
const setout = ref(true)
let times = null
const plsbuytolower = () => {
if (!setout.value) { return }
plzinfo.pageNo++;
getqueryCgdList()
setout.value = false
times = setTimeout(() => {
setout.value = true
}, 500)
}
//获得采购单列表
const getqueryCgdList = () => {
if (!plzinfo.canpull) return
2025-12-02 16:13:23 +08:00
queryQld(plzinfo).then((res : any) => {
2025-12-03 14:14:37 +08:00
console.log("???加载", res.result.records)
2025-11-26 17:17:33 +08:00
plsbuy.value.push(...res.result.records)
alltotal.value = res.result.total
if (res.result.records.length < plzinfo.pageSize) {
plzinfo.canpull = false;
}
})
}
const clickLeftMenu = (index : any, item : any) => {
let num = Math.ceil((index + 1))
2025-12-03 14:14:37 +08:00
leftscrolltop.value = (num - 2) * 175.4;
2025-11-26 17:17:33 +08:00
lefttarget.value = index;
2025-12-03 14:14:37 +08:00
rightdonghua.value = false;
2025-12-02 16:13:23 +08:00
queryQldWlInfo({ qldNo: plsbuy.value[index].qldNo }).then((element : any) => {
2025-12-03 14:14:37 +08:00
rightarray.value = [];
2025-12-02 16:13:23 +08:00
rightarray.value.push(...element.result)
2025-12-03 14:14:37 +08:00
rightdonghua.value = true;
2025-12-02 16:13:23 +08:00
})
2025-11-26 17:17:33 +08:00
// form.cgdId = plsbuy.value[index].id
// form.pageNo = 1
// form.canpull = true;
// // console.log("!!!!",form)
// queryCgdInfoList(form).then(res => {
// InvoicingList.value = []
// // console.log("数据呢", res.result.records)
// InvoicingList.value.push(...res.result.records);
// if (form.pageNo) {
// clickmiddle(0);
// }
// })
2025-12-03 14:14:37 +08:00
if (item.izYgRead == 'N') {
let param = {
status: `yg`,
qldNo: plsbuy.value[index].qldNo,
}
transRead(param).then((res : any) => {
if (res.success) {
item.izYgRead = 'Y'
}
})
}
2025-11-26 17:17:33 +08:00
}
2025-12-02 16:13:23 +08:00
const serverUrl = ref("")
2025-11-26 17:17:33 +08:00
onLoad(() => {
2025-12-02 16:13:23 +08:00
// console.log("查看",uni.getStorageSync('NUall'))
2025-12-12 17:02:33 +08:00
2025-12-02 16:13:23 +08:00
serverUrl.value = uni.getStorageSync('serverUrl') + '/sys/common/static/';
2025-11-26 17:17:33 +08:00
// getSelectList();
})
2025-12-12 17:02:33 +08:00
const openerror = ref(false);
const errormessage = ref("")
2025-12-03 14:14:37 +08:00
const badshow = ref(false)
const zuofei = () => {
2025-12-15 17:09:12 +08:00
let data = {
qldNo: plsbuy.value[lefttarget.value].qldNo,
nuId: uni.getStorageSync('nuId'),
elderId: uni.getStorageSync('NUall').elderId,
nuName: uni.getStorageSync('nuName'),
elderName: uni.getStorageSync(`NUall`).elderInfo.name
2025-12-03 14:14:37 +08:00
2025-12-15 17:09:12 +08:00
}
cancellation(data).then((res : any) => {
2025-12-04 08:36:59 +08:00
console.log('作废', res)
2025-12-03 14:14:37 +08:00
badshow.value = false
2025-12-12 17:02:33 +08:00
if (res.success) {
2025-12-04 08:36:59 +08:00
plsbuy.value[lefttarget.value] = res.result.result
2025-12-12 17:02:33 +08:00
} else {
2025-12-03 14:14:37 +08:00
plzinfo.pageNo = 1;
plzinfo.canpull = true;
leftscrolltop.value = 1
setTimeout(() => {
leftscrolltop.value = 0
}, 50)
lefttarget.value = 0
firstgetqueryCgdList();
}
2025-12-12 17:02:33 +08:00
2025-12-03 14:14:37 +08:00
setTimeout(() => {
2025-12-12 17:02:33 +08:00
if (res.success) {
uni.showToast({
title: res.result.message,
icon: 'none', // 'none' 表示不带图标
duration: 3000
})
} else {
openerror.value = true;
errormessage.value = res.message
}
2025-12-03 14:14:37 +08:00
}, 300)
})
}
const shouhuoshow = ref(false)
const shouhuo = () => {
let param = {
qldNo: plsbuy.value[lefttarget.value].qldNo,
elderId: uni.getStorageSync('NUall').elderId,
nuId: uni.getStorageSync('nuId')
}
confirmReceipt(param).then((res : any) => {
2025-12-12 17:02:33 +08:00
console.log('收货', param, res)
2025-12-03 14:14:37 +08:00
shouhuoshow.value = false
2025-12-12 17:02:33 +08:00
if (res.success) {
2025-12-04 08:36:59 +08:00
plsbuy.value[lefttarget.value] = res.result.result
2025-12-12 17:02:33 +08:00
} else {
2025-12-03 14:14:37 +08:00
plzinfo.pageNo = 1;
leftscrolltop.value = 1
setTimeout(() => {
leftscrolltop.value = 0
}, 50)
lefttarget.value = 0
plzinfo.canpull = true;
firstgetqueryCgdList();
}
2025-12-12 17:02:33 +08:00
2025-12-03 14:14:37 +08:00
setTimeout(() => {
2025-12-12 17:02:33 +08:00
if (res.success) {
uni.showToast({
title: res.result.message,
icon: 'none', // 'none' 表示不带图标
duration: 3000
})
} else {
openerror.value = true;
errormessage.value = res.message
}
2025-12-03 14:14:37 +08:00
}, 300)
2025-12-12 17:02:33 +08:00
2025-12-03 14:14:37 +08:00
})
}
2025-11-26 13:26:22 +08:00
</script>
<style scoped lang="less">
.right-container-tem {
display: flex;
.right-container-tem-text {
font-size: 30rpx;
margin-right: 20rpx;
}
.right-container-tem-img {
width: 38rpx;
height: 38rpx;
}
}
2025-11-26 17:17:33 +08:00
.buttons-father {
2025-11-26 13:26:22 +08:00
width: 100%;
2025-11-26 17:17:33 +08:00
height: 90rpx;
2025-12-03 14:14:37 +08:00
transition: opacity 1s ease;
2025-11-26 13:26:22 +08:00
display: flex;
2025-12-03 14:14:37 +08:00
position: relative;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
.ipt {
display: flex;
align-items: center;
2025-11-27 16:21:31 +08:00
width: 16vw;
2025-11-26 13:26:22 +08:00
background: #E2E4E9;
border-radius: 1.65vw;
height: 3.3vw;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
image {
width: 2.2vw;
height: 2.2vw;
2025-11-26 17:17:33 +08:00
margin: 0 0.5vw;
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
input {
width: 18vw;
height: 3.5vw;
font-size: 1.4vw;
padding-left: 1.6vw;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
}
}
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
.scr {
border-radius: 1.65vw;
font-weight: 400;
font-size: 1.4vw;
display: flex;
justify-content: center;
align-items: center;
margin: 0 0 0 0.7vw;
2025-12-03 14:14:37 +08:00
background-color: #fff;
2025-11-26 13:26:22 +08:00
border: 1px solid #D9DADC;
color: #555555;
2025-12-03 14:14:37 +08:00
width: 6.5vw;
height: 3.3vw;
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
.shx {
width: 6.5vw;
height: 3.3vw;
2025-12-03 14:14:37 +08:00
background-color: #fff;
2025-11-26 13:26:22 +08:00
border-radius: 1.65vw;
2025-12-03 14:14:37 +08:00
border: 1px solid #D9DADC;
2025-11-26 13:26:22 +08:00
font-weight: 400;
2025-12-03 14:14:37 +08:00
font-size: 1.4vw;
2025-11-26 13:26:22 +08:00
display: flex;
justify-content: center;
align-items: center;
margin: 0 0 0 0.5vw;
color: #555555;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
image {
2025-12-03 14:14:37 +08:00
width: 1.5vw;
height: 1.5vw;
2025-11-26 13:26:22 +08:00
margin: 0 0.2vw 0 0;
}
2025-11-26 17:17:33 +08:00
2025-12-03 14:14:37 +08:00
}
.right-button {
position: absolute;
right: 1.8vw;
top: 0;
width: 6.5vw;
height: 3.3vw;
background-color: #fff;
border-radius: 1.65vw;
border: 1px solid #D9DADC;
font-weight: 400;
font-size: 1.4vw;
display: flex;
justify-content: center;
align-items: center;
// margin: 0 0 0 0.5vw;
color: #555555;
image {
width: 1.5vw;
height: 1.5vw;
margin: 0.1vw 0.2vw 0 0;
2025-11-26 13:26:22 +08:00
}
}
2025-12-02 16:13:23 +08:00
2025-12-03 14:14:37 +08:00
.right-button:active,
2025-12-02 16:13:23 +08:00
.scr:active,
.shx:active {
color: #1083F8;
background: linear-gradient(-45deg, rgba(223, 244, 252, 1), rgba(204, 228, 249, 0.43));
border: 1rpx solid #1083F8;
transition: .4s;
-webkit-transform-style: preserve-3d;
-webkit-overflow-scrolling: touch;
}
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
.other-contain {
2025-11-26 13:26:22 +08:00
width: 100%;
height: 1050rpx;
display: flex;
2025-12-03 14:14:37 +08:00
transition: opacity 1s ease;
2025-11-26 17:17:33 +08:00
.other-contain-left {
2025-11-26 13:26:22 +08:00
width: 35%;
height: 100%;
2025-11-26 17:17:33 +08:00
.left-menu-scroll {
margin-top: 3%;
2025-12-08 16:51:24 +08:00
height: 91%;
2025-11-26 17:17:33 +08:00
width: 100%;
// position: relative;
// overflow: auto;
// background-color: red;
.pls-card {
width: 98%;
height: 25.3vh;
border: #0f9fff 3rpx solid;
background-color: #fff;
border-radius: 40rpx;
2025-11-27 16:21:31 +08:00
margin-bottom: 1.5vh;
2025-11-26 17:17:33 +08:00
// margin: 1vh 0;
padding: 0 30rpx;
position: relative;
.pls-card-title {
height: 5.5vh;
width: 105%;
display: flex;
justify-content: space-between;
align-items: flex-end;
2025-11-27 13:39:56 +08:00
padding-left: 10rpx;
padding-right: 35rpx;
.middle-title-spec {
color: #888888;
font-size: 29rpx;
}
2025-11-26 17:17:33 +08:00
.title-left {
font-weight: 600;
2025-11-27 13:39:56 +08:00
font-size: 34rpx;
// color: #888888;
2025-11-26 17:17:33 +08:00
}
.title-right {
display: flex;
align-items: flex-end;
font-size: 30rpx;
position: relative;
.title-right-big {
font-weight: 600;
font-size: 40rpx;
margin-right: 35rpx;
color: #555555;
}
.title-right-img {
position: absolute;
right: -10rpx;
bottom: 6rpx;
width: 40rpx;
height: 40rpx;
}
}
}
.pls-card-middle {
width: 100%;
height: 11vh;
2025-11-27 13:39:56 +08:00
margin-top: 1.5vh;
2025-11-26 17:17:33 +08:00
display: flex;
position: relative;
.middle-heng {
position: absolute;
left: 4%;
top: 35%;
transform: translateY(-35%);
width: 92%;
height: 2px;
/* 虚线粗细 */
background-image: repeating-linear-gradient(to right,
#E5E5E5 0,
#E5E5E5 6px,
transparent 6px,
transparent 10px);
}
.pls-card-middle-one {
width: 33.3%;
height: 100%;
// background-color: yellow;
.middle-title {
width: 100%;
2025-11-28 10:19:59 +08:00
height: 2.1vh;
2025-11-26 17:17:33 +08:00
// background-color: #007CFF;
color: #888888;
text-align: center;
font-size: 25rpx;
overflow: hidden;
}
.middle-heng-father {
width: 100%;
height: 4vh;
position: relative;
.middle-ball-img {
width: 35rpx;
height: 35rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.middle-ball {
width: 20rpx;
height: 20rpx;
background-color: #1083F8;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
}
}
.end-font {
width: 100%;
height: 6vh;
text-align: center;
color: #666666;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
2025-12-10 17:30:16 +08:00
font-size: 25rpx;
2025-11-26 17:17:33 +08:00
}
}
}
.pls-card-end {
width: 100%;
2025-11-27 13:39:56 +08:00
height: 6vh;
2025-11-26 17:17:33 +08:00
display: flex;
justify-content: space-between;
position: relative;
2025-11-27 13:39:56 +08:00
padding-left: 15rpx;
margin-top: 10rpx;
2025-11-26 17:17:33 +08:00
.end-left {
height: 100%;
display: flex;
align-items: center;
.end-left-img {
2025-11-27 13:39:56 +08:00
width: 35rpx;
height: 35rpx;
2025-11-26 17:17:33 +08:00
}
.end-left-font {
margin-top: 3rpx;
width: 400rpx;
// background-color: #007CFF;
// font-size: 26rpx;
color: #666666;
2025-11-27 13:39:56 +08:00
margin-left: 3rpx;
2025-11-26 17:17:33 +08:00
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.tag-fail {
width: 120rpx;
height: 50rpx;
border-radius: 30rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #FDEBEC;
color: #FF5757;
2025-11-27 16:21:31 +08:00
border: 1rpx solid #FF5757;
2025-11-26 17:17:33 +08:00
position: absolute;
2025-11-27 13:39:56 +08:00
right: 0rpx;
2025-11-26 17:17:33 +08:00
bottom: 20rpx;
}
.tag-success {
width: 120rpx;
height: 50rpx;
border-radius: 30rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #ECF6FF;
color: #1083F8;
border: 1rpx solid #1083F8;
position: absolute;
2025-11-27 13:39:56 +08:00
right: 0rpx;
2025-11-26 17:17:33 +08:00
bottom: 20rpx;
}
}
}
}
.left-selecttype {
2025-11-27 13:39:56 +08:00
width: 98%;
2025-11-26 13:26:22 +08:00
height: 80rpx;
border-radius: 40rpx;
background-color: #FFFFFF;
display: flex;
2025-11-26 17:17:33 +08:00
padding-right: 30rpx;
padding-left: 15rpx;
2025-11-28 10:19:59 +08:00
position: relative;
2025-12-02 16:13:23 +08:00
2025-11-26 17:17:33 +08:00
.heng-blue {
2025-11-26 13:26:22 +08:00
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 25rpx;
height: 8rpx;
border-radius: 10rpx;
background-color: #1083F8;
2025-11-28 10:19:59 +08:00
transition: 0.3s all ease;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
.selecttype {
2025-11-26 13:26:22 +08:00
width: 20%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: #999999;
font-size: 31rpx;
position: relative;
2025-11-26 17:17:33 +08:00
2025-11-26 13:26:22 +08:00
}
2025-11-26 17:17:33 +08:00
.selecttype-target {
2025-11-26 13:26:22 +08:00
width: 20%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: #222222;
font-size: 31rpx;
font-weight: 600;
position: relative;
}
}
}
2025-11-26 17:17:33 +08:00
.other-contain-right {
2025-11-27 13:39:56 +08:00
width: 64%;
margin-left: 1%;
2025-12-12 17:24:02 +08:00
height: 100.5%;
2025-12-02 16:13:23 +08:00
.right-contain {
2025-11-27 13:39:56 +08:00
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
2025-12-03 14:14:37 +08:00
position: relative;
2025-12-02 16:13:23 +08:00
.right-ones {
2025-11-27 13:39:56 +08:00
display: flex;
width: 100%;
flex-wrap: wrap;
2025-12-02 16:13:23 +08:00
2025-12-03 14:14:37 +08:00
2025-12-02 16:13:23 +08:00
.right-one {
2025-11-27 13:39:56 +08:00
width: 570rpx;
height: 261rpx;
margin-right: 20rpx;
margin-bottom: 15rpx;
background-color: #fff;
border-radius: 30rpx;
2025-11-27 16:21:31 +08:00
display: flex;
2025-12-02 16:13:23 +08:00
.right-one-left {
2025-11-27 16:21:31 +08:00
height: 100%;
width: 40%;
display: flex;
flex-direction: column;
align-items: center;
2025-12-02 16:13:23 +08:00
.left-image {
2025-12-15 17:09:12 +08:00
width: 140rpx;
height: 140rpx;
2025-12-02 16:13:23 +08:00
// margin: 15rpx 0;
margin-top: 10rpx;
margin-bottom: 15rpx;
2025-11-27 16:21:31 +08:00
// margin-top: 5rpx;
}
2025-12-02 16:13:23 +08:00
.left-tages {
2025-11-27 16:21:31 +08:00
width: 130rpx;
height: 43rpx;
border-radius: 30rpx;
display: flex;
justify-content: center;
align-items: center;
color: #555555;
border: 1rpx solid #D2D2D2;
margin-top: 5rpx;
font-size: 23rpx;
}
}
2025-12-02 16:13:23 +08:00
.right-one-right {
2025-11-27 16:21:31 +08:00
height: 100%;
width: 60%;
2025-12-02 16:13:23 +08:00
.right-title {
2025-11-27 16:21:31 +08:00
font-size: 34rpx;
font-weight: 600;
margin-top: 25rpx;
color: #222222;
2025-12-02 16:13:23 +08:00
width: 300rpx;
overflow: hidden;
/* 必须 */
white-space: nowrap;
/* 强制单行 */
text-overflow: ellipsis;
/* 显示省略号 */
2025-11-27 16:21:31 +08:00
}
2025-12-02 16:13:23 +08:00
.right-setting {
2025-11-27 16:21:31 +08:00
color: #888888;
margin-top: 5rpx;
font-size: 25rpx;
}
2025-12-02 16:13:23 +08:00
.right-mm {
2025-11-27 16:21:31 +08:00
color: #555555;
font-size: 28rpx;
}
2025-12-02 16:13:23 +08:00
.right-down {
2025-11-27 16:21:31 +08:00
display: flex;
margin-top: 15rpx;
2025-12-02 16:13:23 +08:00
.right-first-num {
2025-11-27 16:21:31 +08:00
font-size: 35rpx;
color: #555555;
font-weight: 600;
}
2025-12-02 16:13:23 +08:00
.right-first-type {
2025-11-27 16:21:31 +08:00
color: #888888;
font-size: 23rpx;
}
2025-12-02 16:13:23 +08:00
.right-shu {
2025-11-27 16:21:31 +08:00
width: 2rpx;
height: 50rpx;
background-color: #C9C9C9;
margin: 0 40rpx;
margin-top: 10rpx;
}
}
}
2025-11-27 13:39:56 +08:00
}
}
2025-12-02 16:13:23 +08:00
2025-11-27 13:39:56 +08:00
}
2025-11-26 13:26:22 +08:00
}
}
</style>