You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

286 lines
10 KiB

<template>
<view class="container">
<block v-if="isload">
<view class="orderinfo">
<view class="item">
<text class="t1">提交人</text>
<text class="flex1"></text>
<image :src="detail.headimg" style="width:80rpx;height:80rpx;margin-right:8rpx"/>
<text style="height:80rpx;line-height:80rpx">{{detail.nickname}}</text>
</view>
<view class="item">
<text class="t1">{{t('会员')}}ID</text>
<text class="t2">{{detail.mid}}</text>
</view>
<view class="item">
<text class="t1">标题</text>
<text class="t2">{{detail.title}}</text>
</view>
<view v-for="(item, index) in formcontent" :key="index" class="item">
<text class="t1">{{item.val1}}</text>
<text class="t2" v-if="item.key!='upload'">{{detail['form'+index]}}</text>
<view class="t2" style="display: flex; justify-content: flex-end;" v-else>
<view v-for="(sub, indx) in detail['form'+index]">
<image :src="sub" style="width:50px; margin-left: 10rpx;" mode="widthFix" @tap="previewImage" :data-url="sub"></image>
</view>
</view>
</view>
<view class="item">
<text class="t1">提交时间</text>
<text class="t2">{{detail.createtime}}</text>
</view>
<view class="item">
<text class="t1">审核状态</text>
<text class="t2" v-if="detail.status==0 && (!detail.payorderid||detail.paystatus==1)" style="color:#88e">待处理</text>
<text class="t2" v-if="detail.status==0 && detail.payorderid && detail.paystatus==0" style="color:red">待支付</text>
<text class="t2" v-if="detail.status==1" style="color:green">处理中</text>
<text class="t2" v-if="detail.status==2" style="color:green">已完成</text>
<text class="t2" v-if="detail.status==-1" style="color:red">已驳回</text>
</view>
<view class="item" v-if="detail.status==-1">
<text class="t1">驳回原因</text>
<text class="t2" style="color:red">{{detail.reason}}</text>
</view>
<block v-if="form.payset==1">
<view class="item">
<text class="t1">付款金额</text>
<text class="t2" style="font-size:32rpx;color:#e94745">¥{{detail.money}}</text>
</view>
<view class="item">
<text class="t1">付款方式</text>
<text class="t2">{{detail.paytype}}</text>
</view>
<view class="item">
<text class="t1">付款状态</text>
<text class="t2" v-if="detail.paystatus==1 && detail.isrefund==0" style="color:green">已付款</text>
<text class="t2" v-if="detail.paystatus==1 && detail.isrefund==1" style="color:red">已退款</text>
<text class="t2" v-if="detail.paystatus==0" style="color:red">未付款</text>
</view>
<view class="item" v-if="detail.paystatus>0 && detail.paytime">
<text class="t1">付款时间</text>
<text class="t2">{{detail.paytime}}</text>
</view>
</block>
</view>
<view style="width:100%;height:160rpx"></view>
<view class="bottom notabbarbot">
<view v-if="detail.status!=2" class="btn2" @tap="setst" :data-st="1" :data-id="detail.id">立即处理</view>
<view v-if="detail.status>0" class="btn2" @tap="jindu" :data-id="detail.id">查看进度</view>
<view v-if="detail.status==0" class="btn2" @tap="setst2" :data-st="-1" :data-id="detail.id">驳回</view>
<view class="btn2" @tap="del" :data-id="detail.id">删除</view>
</view>
<uni-popup id="dialogSetst2" ref="dialogSetst2" type="dialog">
<uni-popup-dialog mode="input" title="驳回原因" :value="detail.reason" placeholder="请输入驳回原因" @confirm="setst2confirm"></uni-popup-dialog>
</uni-popup>
</block>
<view class="modal" v-if="ishowjindu">
<view class="modal_jindu">
<view class="close" @tap="closejd"><image :src="event_rul + '/static/img/static/img/close.png'" /></view>
<block v-if="jdlist.length>0">
<view class="item " v-for="(item,index) in jdlist" style="display: flex;">
<view class="f1"><image :src="event_rul +'/static/img/static/img/jindu' + (index==0?'2':'1') + '.png'"></image></view>
<view class="f2">
<text class="t2"> 时间:{{item.time}}</text>
<text class="t1">{{item.desc}}({{item.remark}}) </text>
</view>
</view>
</block>
<block v-else>
<view style="font-size:14px;color:#f05555;padding:10px;">等待处理</view>
</block>
</view>
</view>
<view class="modal" v-if="showstatus">
<view class="modal_jindu">
<form @submit="formsubmit">
<view class="close" @tap="close"><image :src="event_rul + '/static/img/static/img/close.png'" /></view>
<view class="title">选择流程</view>
<view class="uni-list">
<radio-group name="liucheng">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in lclist">
<view>
<radio :value="''+item.id" style="transform:scale(0.7)"/>
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
<view class="beizhu flex">
<label>备注:</label><textarea placeholder="输入内容" name="content" maxlength="-1"></textarea>
</view>
</view>
<button class="btn" form-type="submit">提交</button>
</form>
</view>
</view>
<loading v-if="loading"></loading>
<dp-tabbar :opt="opt"></dp-tabbar>
<popmsg ref="popmsg"></popmsg>
</view>
</template>
<script>
var app = getApp();
export default {
data() {
return {
opt:{},
loading:false,
isload: false,
menuindex:-1,
detail:{},
formcontent:[],
showstatus:0,
ishowjindu:false,
jdlist:[],
event_rul: app.globalData.event_url,
};
},
onLoad: function (opt) {
this.opt = app.getopts(opt);
this.getdata();
this.getliucheng();
},
onPullDownRefresh: function () {
this.getdata();
},
methods: {
getdata: function () {
var that = this;
that.loading = true;
app.get('ApiAdminWorkorder/formdetail', {id: that.opt.id}, function (res) {
that.loading = false;
that.form = res.form;
that.formcontent = res.formcontent;
that.detail = res.detail;
that.loaded();
});
},
getliucheng:function(e){
var that=this
app.post('ApiAdminWorkorder/getliucheng', {}, function (res) {
var lclist = res.datalist;
that.lclist = lclist;
});
},
setst:function(e){
var that = this;
var id = e.currentTarget.dataset.id;
that.id=id
that.showstatus=true;
},
close:function(e){
var that=this
that.showstatus=false
},
formsubmit: function (e) {
var that = this;
var formdata = e.detail.value;
var content = formdata.content;
var liucheng = formdata.liucheng;
if (liucheng == '') {
app.error('请选择流程');
return false;
}
app.showLoading();
app.post('ApiAdminWorkorder/addjindu', {logid:that.id,lcid:liucheng,content: content}, function (res) {
var res = res
app.showLoading(false);
if (res.status == 1) {
app.success('处理成功');
setTimeout(function () {
that.getdata();
that.showstatus = false
}, 1000);
} else {
app.alert(res.msg);
}
});
},
setst2:function(e){
this.$refs.dialogSetst2.open();
},
setst2confirm:function(done,value){
this.$refs.dialogSetst2.close();
var that = this;
app.post('ApiAdminWorkorder/formsetst', {id: that.opt.id,st:-1,reason:value}, function (data) {
app.success(data.msg);
setTimeout(function () {
that.getdata();
}, 1000);
});
},
del:function(e){
var that = this;
var id = e.currentTarget.dataset.id;
app.confirm('确定要删除吗?',function(){
app.post('ApiAdminWorkorder/formdel', {id:id}, function (res) {
app.success(res.msg);
setTimeout(function () {
app.goto('/admin/index/index');
},1000);
})
});
},
jindu:function(e){
var that=this
that.ishowjindu=true
var id = e.currentTarget.dataset.id
//读取进度表
app.post('ApiWorkorder/selectjindu', { id: id }, function (res) {
if(res.status==1){
var data = res.data
that.jdlist =data
}
})
},
closejd:function(e){
var that=this
that.ishowjindu=false
}
}
};
</script>
<style>
.orderinfo{ width:100%;margin-top:10rpx;padding: 14rpx 3%;background: #FFF;}
.orderinfo .item{display:flex;width:100%;padding:20rpx 0;border-bottom:1px dashed #ededed;}
.orderinfo .item:last-child{ border-bottom: 0;}
.orderinfo .item .t1{width:200rpx;}
.orderinfo .item .t2{flex:1;text-align:right}
.orderinfo .item .red{color:red}
.bottom{ width: 100%;height:92rpx;padding: 0 20rpx;background: #fff; position: fixed; bottom: 0px;left: 0px;display:flex;justify-content:flex-end;align-items:center;}
.btn1{margin-left:20rpx;width:160rpx;height:60rpx;line-height:60rpx;color:#fff;border-radius:3px;text-align:center}
.btn2{margin-left:20rpx;width:160rpx;height:60rpx;line-height:60rpx;color:#333;background:#fff;border:1px solid #cdcdcd;border-radius:3px;text-align:center}
.btn3{position:absolute;top:60rpx;right:10rpx;font-size:24rpx;width:120rpx;height:50rpx;line-height:50rpx;color:#333;background:#fff;border:1px solid #cdcdcd;border-radius:3px;text-align:center}
.modal{ position: fixed; background:rgba(0,0,0,0.3); width: 100%; height: 100%; top:0; z-index: 100;}
.modal .modal_jindu{ background: #fff; position: absolute; top: 20%; align-items: center; margin: auto; width: 90%; left: 30rpx; border-radius: 10rpx; padding: 40rpx;}
.modal_jindu .close image { width: 20rpx; height: 20rpx; position: absolute; top:10rpx; right: 20rpx;}
.modal_jindu .title{ font-size: 32rpx; font-weight: bold;}
.uni-list{ margin-top: 30rpx;}
.uni-list-cell{ display: flex; height: 80rpx;}
.beizhu label{ width: 100rpx;}
.modal_jindu .btn{ background: #1658c6; border-radius: 3px;line-height: 24px; border: none; padding: 0 10px;color: #fff;font-size: 20px; text-align: center; width: 300px; display: flex; height: 40px; justify-content: center;align-items: center;}
.modal_jindu .item .f1{ width:60rpx;position:relative}
/*.logistics img{width: 15px; height: 15px; position: absolute; left: -8px; top:11px;}*/
.modal_jindu .item .f1 image{width: 30rpx; height: 100%; position: absolute; left: -16rpx; top: 0rpx;}
.modal_jindu .item .f2{display:flex;flex-direction:column;flex:auto;padding:10rpx 0}
.modal_jindu .item .f2 .t1{font-size: 30rpx;}
.modal_jindu .item .f2 .t1{font-size: 26rpx;}
</style>