| | |
| | | @click.stop="cancelOrder(item.id)"> |
| | | 取消 |
| | | </text> |
| | | <text class="blue-btn small-btn ml-10" |
| | | v-if="isShowOrder(item.status)" |
| | | @click.stop="confirmServiceOrder(item.id)"> |
| | | 确认预约 |
| | | </text> |
| | | <text class="blue-btn small-btn ml-10" |
| | | v-if="isShowStartServiceBtn(item.status, item.projs)" |
| | | @click.stop="startService(item.id)"> |
| | |
| | | </view> |
| | | </navigator> |
| | | <no-record :isShow="!list.length" txt="暂无服务单记录"></no-record> |
| | | <view v-if="list.length"> |
| | | <uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <script> |
| | | import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue"; |
| | | import searchBar from '../../components/searchBar/index.vue'; |
| | | import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue'; |
| | | export default { |
| | | components: { |
| | | HTabs, |
| | | searchBar |
| | | searchBar, |
| | | uniLoadMore |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | name: '待确认' |
| | | }, |
| | | { |
| | | state: 8, |
| | | state: 2, |
| | | name: '待排班' |
| | | }, |
| | | { |
| | | state: 2, |
| | | state: 3, |
| | | name: '待配料' |
| | | }, |
| | | { |
| | | state: 3, |
| | | state: 4, |
| | | name: '待服务' |
| | | }, |
| | | { |
| | | state: 4, |
| | | state: 5, |
| | | name: '服务中' |
| | | }, |
| | | { |
| | | state: 5, |
| | | state: 6, |
| | | name: '已完成' |
| | | } |
| | | ], |
| | | list: [], |
| | | userId: '' |
| | | userId: '', |
| | | loadStatus: 'more', |
| | | pageNum: 1 |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | if(options.status){ |
| | | this.orderStatus = Number(options.status); |
| | | } |
| | | if(options.queryKey){ |
| | | this.queryKey = options.queryKey; |
| | | } |
| | | this.loadList(); |
| | | this.userId = this.$httpUtils.getRoleInfo().id; |
| | | // 判断权限 |
| | | // #ifdef APP-PLUS |
| | | if(!this.$utils.hasPermission('fwdgl.add')){ |
| | | let webView = this.$mp.page.$getAppWebview(); |
| | | webView.setTitleNViewButtonStyle(0, { |
| | | width: 0, |
| | | }); |
| | | } |
| | | // #endif |
| | | }, |
| | | onPullDownRefresh(){ |
| | | this.reloadData(); |
| | | let timer = setTimeout(function () { |
| | | uni.stopPullDownRefresh(); |
| | | clearTimeout(timer); |
| | | timer = null; |
| | | }, 800); |
| | | }, |
| | | onReachBottom(){ |
| | | this.loadList() |
| | | }, |
| | | onNavigationBarButtonTap(Object){ |
| | | if(Object.key === 'add'){ |
| | |
| | | } |
| | | }, |
| | | methods:{ |
| | | reloadData(){ |
| | | this.list = []; |
| | | this.pageNum = 1; |
| | | this.loadStatus = 'more'; |
| | | this.loadList(); |
| | | }, |
| | | loadList(){ |
| | | if(this.loadStatus!=='more'){ |
| | | return; |
| | | } |
| | | this.$httpUtils.request('/api/serviceOrder/findServiceOrderList', { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | | pageNum: this.pageNum, |
| | | pageSize: 10, |
| | | queryKey: this.queryKey, |
| | | status: this.orderStatus |
| | | }, 'POST').then((res) => { |
| | | if(res.status == 200){ |
| | | this.list = res.rows; |
| | | let result = res.rows; |
| | | if(result.length < 10){ |
| | | this.loadStatus = 'noMore'; |
| | | } else { |
| | | this.pageNum ++ ; |
| | | this.loadStatus = 'more'; |
| | | } |
| | | this.list = this.list.concat(result); |
| | | } |
| | | }) |
| | | }, |
| | |
| | | isShowFooter(status, items, staffId){ |
| | | return this.isShowCancelBtn(status, items, staffId) || |
| | | this.isShowStartServiceBtn(status, items) || |
| | | this.isShowEndServiceBtn(status, items) |
| | | this.isShowEndServiceBtn(status, items) || |
| | | this.isShowOrder(status) |
| | | }, |
| | | // 是否显示取消按钮 |
| | | isShowCancelBtn(status, items, staffId){ |
| | | // 美疗师和下单顾问可以取消服务 |
| | | let isEnable = (items.some((item) => item.id == this.userId)) || (this.userId == staffId); |
| | | return status != 5 && status != 6 && status != 7 && status != 8 && isEnable; |
| | | return status != 5 && status != 6 && status != 7 && status != 8 && isEnable && this.$utils.hasPermission('fwdgl.cancel'); |
| | | }, |
| | | // 是否显示确认预约 |
| | | isShowOrder(status){ |
| | | return status == 9 && this.$utils.hasPermission('fwdgl.qryy'); |
| | | }, |
| | | // 是否显示开始服务按钮 |
| | | isShowStartServiceBtn(status, items){ |
| | | // 只有美疗师本人才可以开始服务 |
| | | let isEnable = items.some((item) => item.id == this.userId) |
| | | return status == 4 && isEnable; |
| | | return status == 4 && isEnable && this.$utils.hasPermission('fwdgl.begin'); |
| | | }, |
| | | // 是否显示结束服务按钮 |
| | | isShowEndServiceBtn(status, items){ |
| | | // 只有美疗师本人才可以开始服务 |
| | | let isEnable = items.some((item) => item.id == this.userId) |
| | | return status == 5 && isEnable; |
| | | return status == 5 && isEnable && this.$utils.hasPermission('fwdgl.end'); |
| | | }, |
| | | search(val){ |
| | | this.queryKey = val; |
| | | this.loadList(); |
| | | this.reloadData(); |
| | | }, |
| | | tabChange(index){ |
| | | if(this.orderStatus === index){ |
| | | return; |
| | | } |
| | | this.orderStatus = index; |
| | | this.loadList(); |
| | | this.reloadData(); |
| | | }, |
| | | // 取消订单 |
| | | cancelOrder(id){ |
| | |
| | | if (res.confirm) { |
| | | this.$httpUtils.request('/api/serviceOrder/cancelService/'+id).then((res) => { |
| | | if(res.status == 200){ |
| | | this.loadList() |
| | | this.reloadData() |
| | | } |
| | | this.$toast.info(res.info); |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // 确认预约 |
| | | confirmServiceOrder(id){ |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认预约吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | this.$httpUtils.request('/api/serviceOrder/confirmServiceOrder', { |
| | | id:id |
| | | }, 'POST').then((res) => { |
| | | if(res.status == 200){ |
| | | this.reloadData() |
| | | } |
| | | this.$toast.info(res.info); |
| | | }) |
| | |
| | | if (res.confirm) { |
| | | this.$httpUtils.request('/api/serviceOrder/startService/'+id).then((res) => { |
| | | if(res.status == 200){ |
| | | this.loadList() |
| | | this.reloadData() |
| | | } |
| | | this.$toast.info(res.info); |
| | | }) |
| | |
| | | if (res.confirm) { |
| | | this.$httpUtils.request('/api/serviceOrder/stopService/'+id).then((res) => { |
| | | if(res.status == 200){ |
| | | this.loadList() |
| | | this.reloadData() |
| | | } |
| | | this.$toast.info(res.info); |
| | | }) |
| | |
| | | return '已完成' |
| | | } else if(val == 7){ |
| | | return '服务单结束' |
| | | } else if(val == 9){ |
| | | return '待确认' |
| | | } else { |
| | | return '已取消' |
| | | } |