123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <template>
- <view>
- <view v-if="datalist.length>0">
- <!-- 预约 -->
- <block v-if="type==1">
- <view class="ylist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.reservatId)">
- <image :src="ysta" class="ystaimg" v-if="ite.visitType==3"></image>
- <image :src="ystb" class="ystaimg" v-if="ite.visitType==2"></image>
- <view class="ytop flexc">
- <view class="tit">{{ite.visitName.charAt(0)}}</view>
- <view class="cent">
- <view class="ctit">{{ite.visitName}}提交的预约来访申请</view>
- <view class="ctime">提交时间:{{ite.createTime}}</view>
- </view>
- <view class="right" v-if="ite.visitType==1">
- <image :src="ybga"></image>
- <view>待审核</view>
- </view>
-
- </view>
- <view class="ybox">
- <view class="yblist w50"><text>预约日期</text>{{ite.visitDate}}</view>
- <view class="yblist w50"><text>预约时间</text>{{ite.visitTime}}</view>
- <view class="yblist w50"><text>手机号码</text>{{ite.visitPhone}}</view>
- <view class="yblist w50"><text>人 数</text>{{ite.visitNum}}</view>
- <view class="yblist w50"><text>来访地点</text>{{kaType(ite.appointmentSite,adrlist)}}</view>
- <view class="yblist w50"><text>来访事由</text>{{ite.visitReason}}</view>
- </view>
- <view class="ybtn">
- <view class="ybtns btn1" @click.stop="getDelFn(ite.reservatId)">删除</view>
- <view class="flex1"></view>
- <block v-if="ite.visitType==1">
- <view class="ybtns btn2" @click.stop="gettypeFn(2,ite.reservatId)">拒绝</view>
- <view class="ybtns btn3" @click.stop="gettypeFn(3,ite.reservatId)">同意</view>
- </block>
-
- </view>
- </view>
- </block>
- <view class="shax" v-if="wtdt">{{wtdt}}</view>
- </view>
- <block v-else>
- <no-data></no-data>
- </block>
- </view>
- </template>
- <script>
- import { selectDictValue } from '@/utils/common.js';
- import noData from "@/components/nodata/nodata.vue"
- export default {
- props:{
- datalist: {
- type: Array,
- default () {
- return []
- }
- },
- adrlist:{
- type: Array,
- default () {
- return []
- }
- },
- wtdt:{
- type: String,
- default () {
- return ''
- }
- },
- type:{
- type: [String,Number],
- default () {
- return ''
- }
- },
- },
- components:{
- noData
- },
- data(){
- return{
- ybga:require("@/static/images/order/staff/ybg.png"),
- ysta:require("@/static/images/order/staff/ysta.png"),
- ystb:require("@/static/images/order/staff/ystb.png"),
- }
- },
- onLoad: function() {
- },
- methods:{
- kaType(data, list) {
- return selectDictValue(list, data);
- },
- getDelFn(id){
- var that=this;
- uni.showModal({
- title: '确认删除',
- content: "是否确认删除该预约",
- cancelText: '取消',
- confirmText: '确认',
- success: function(res) {
- if (res.confirm) {
- that.$emit("getDelFn",id)
- } else if (res.cancel) {
- // console.log('用户点击取消');
- }
- }
- });
- },
- gettypeFn(type,id){
- var that=this;
- var str="拒绝"
- if(type==3){
- str='同意'
- }
- uni.showModal({
- title: '确认'+str,
- content: "是否确认"+str+"该预约",
- cancelText: '取消',
- confirmText: '确认',
- success: function(res) {
- if (res.confirm) {
- var newobj={
- type:type,
- id:id
- }
- that.$emit("gettypeFn",newobj)
- } else if (res.cancel) {
- // console.log('用户点击取消');
- }
- }
- });
- },
- getDetail(e){
- this.$emit('getDetail',e)
- },
- typeFn(data){
- if(data){
- var newArr=[]
- var astr=data.split('-')
- astr.forEach(ite=>{
- var a=ite.substring(0,5);
- newArr.push(a)
- })
- return newArr.join('-')
- }else{
- return ''
- }
-
-
- },
- },
-
- }
- </script>
- <style lang="scss" scoped>
- // 预约
- .ylist{background: #FFFFFF;border-radius: 14rpx;margin-bottom: 30rpx;position: relative;
- .ystaimg{width: 140rpx;height: 140rpx;top: 22rpx;right: 22rpx;position: absolute;}
- .ytop{padding: 16rpx 0 24rpx 16rpx;
- .tit{width: 62rpx;height: 62rpx;background: #0391FD;border-radius: 6rpx;font-weight: 500;
- font-size: 34rpx;color: #FFFFFF;margin-right: 18rpx;text-align: center;line-height: 62rpx;flex: 0 0 auto;}
- .cent{
- flex: 1;
- .ctit{font-weight: bold;font-size: 28rpx;color: #161616;margin-bottom: 6rpx;}
- .ctime{font-weight: 500;font-size: 18rpx;color: #666666;}
- }
- .right{position: relative;flex: 0 0 auto;margin-left: 10rpx;
- image{width: 144rpx;height: 56rpx;}
- view{font-weight: 800;font-size: 22rpx;color: #FFFFFF;position: absolute;left: 0;top: 0;right: 0;bottom: 0;text-align: center;padding-left: 20rpx;box-sizing: border-box;line-height: 56rpx;}
- }
- }
- .ybox{padding: 0rpx 24rpx 24rpx;display: flex;flex-wrap: wrap;
- .yblist{display: flex;font-size: 24rpx;font-weight: 500;color: #161616;width: 100%;padding: 6rpx 0;line-height: 40rpx;
- text{font-weight: normal;color: #aaa;flex: 0 0 auto;width: 100rpx;text-align-last: justify;margin-right: 12rpx;}
- }
- }
- .ybtn{border-top: 2rpx solid #DADADA;padding: 20rpx 18rpx;display: flex;align-items: center;
- .ybtns{width: 130rpx;border-radius: 6rpx;height: 52rpx;font-weight: 500;font-size: 26rpx;display: flex;align-items: center;justify-content: center;box-sizing: border-box;flex: 0 0 auto;
- &.btn1{border: 2rpx solid #FC3838;color: #FC3838;}
- &.btn2{border: 2rpx solid #666666;color: #666666;}
- &.btn3{background-color: #0391FD;color: #ffffff;margin-left: 22rpx;}
- }
- }
- }
- </style>
|