You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
4.4 KiB
Vue
173 lines
4.4 KiB
Vue
<template>
|
|
<view :class="isLogin ? '' : 'm-login-false'">
|
|
<view class="m-panel" :class="!loading && speed == 0 ? 'g_bg_f_5' : ''">
|
|
<view class="link g_bg_f" :class="!loading && speed == 0 ? '' : ''">
|
|
<g-loading bg="#f5f5f5" v-if="loading && speed == -1" />
|
|
<view v-if="!loading && speed == 0 && isLogin" style="background-color: #f5f5f5">
|
|
<view>
|
|
<view class="g_h_100"></view>
|
|
<g-empty :text="isLogin ? '暂无数据' : '请登录'" />
|
|
</view>
|
|
</view>
|
|
<view v-if="!isLogin" style="background-color: #f5f5f5" class="m-log g_flex_column_start">
|
|
<view>
|
|
<g-empty text="您还有没有登录,请登录后查看工单" />
|
|
<view class="g_h_32"></view>
|
|
<g-button btnText="去登录" size="small" class="g_mt_32" @clickBtn="goLogin" />
|
|
</view>
|
|
</view>
|
|
<scroll-view v-if="speed > 0" :style="{ height: `calc(100vh - ${navInfo.statusBarHeight + 62}px)` }" :scroll-y="true" @scrolltolower="reachBottom" :lower-threshold="100">
|
|
<view class="" style="min-height: calc(100% - 90px)">
|
|
<view class="item g_pt_18 g_pl_10 g_pr_10" hover-class="g_bg_f_5" v-for="(item, index) in query.list" :key="index" @click="goDetail(item, index)">
|
|
<view class="g_border_e_b g_flex_row_start g_pb_18">
|
|
<view class="g_flex_none g_mr_12 g_w_44 g_h_44 g_radius_50 g_flex_c" @click.stop="goTel(item.tel)">
|
|
<image :src="cdnBaseImg + 'blueTel.svg'" class="g_w_44 g_h_44" v-if="item.tel"></image>
|
|
<image :src="cdnBaseImg + 'order_tel_gray.svg'" class="g_w_44 g_h_44" v-else></image>
|
|
</view>
|
|
<view class="g_flex_1 g_flex_row_start">
|
|
<view class="g_flex_1 g_flex_column_between">
|
|
<view class="g_fs_16 g_c_3 g_fw_bold g_ell_1"> {{ item.userName }}{{ item.setTitle }} </view>
|
|
<view class="g_fs_14 g_c_6 g_ell_1">{{ item.storeJobName + "@" + item.upAgencyName }}</view>
|
|
</view>
|
|
<view class="g_flex_none g_ml_20 g_flex_column_between">
|
|
<view class="g_fs_14 g_c_9 g_flex_row_end">{{ item.time }}</view>
|
|
<view class="g_fs_14 g_c_3 g_flex_row_end">{{ item.status_text }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="g_bg_f_5">
|
|
<g-panel-hr :str="query.isFinish >= 0 && query.isFinish < query.size ? speed + '个工单' : '加载中'" />
|
|
</view>
|
|
<!-- #ifdef H5 -->
|
|
<view class="g-h-100"></view>
|
|
<!-- #endif -->
|
|
</scroll-view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
// 组件名称
|
|
name: "",
|
|
// 局部注册的组件
|
|
components: {},
|
|
// 组件参数 接收来自父组件的数据
|
|
props: {
|
|
from: {
|
|
type: String,
|
|
default: () => {
|
|
return "default";
|
|
},
|
|
},
|
|
list: {
|
|
type: Array,
|
|
default: () => {
|
|
return [];
|
|
},
|
|
},
|
|
speed: {
|
|
type: Number,
|
|
default: () => {
|
|
return -1;
|
|
},
|
|
},
|
|
query: {
|
|
type: Object,
|
|
default: () => {
|
|
return {
|
|
page: 1,
|
|
size: 10,
|
|
list: [],
|
|
isFinish: -1,
|
|
};
|
|
},
|
|
},
|
|
tabActive: {
|
|
type: Number,
|
|
default: () => {
|
|
return 0;
|
|
},
|
|
},
|
|
loading: {
|
|
type: Boolean,
|
|
default: () => {
|
|
return true;
|
|
},
|
|
},
|
|
isLogin: {
|
|
type: Boolean,
|
|
},
|
|
navInfo: {
|
|
type: Object,
|
|
default: () => {
|
|
return {};
|
|
},
|
|
},
|
|
},
|
|
// 组件状态值
|
|
data() {
|
|
return {
|
|
cdnBaseImg: this.G.store().cdnBaseImg,
|
|
};
|
|
},
|
|
// 计算属性
|
|
computed: {},
|
|
// 侦听器
|
|
watch: {},
|
|
created() {},
|
|
mounted() {},
|
|
// 组件方法
|
|
methods: {
|
|
reachBottom() {
|
|
let that = this;
|
|
console.log(123123);
|
|
console.log("that.query", that.query);
|
|
this.G.isLogin();
|
|
if (this.G.isLogin()) {
|
|
if (that.query.isFinish == -1 || that.query.isFinish == that.query.size) {
|
|
that.query.page++;
|
|
that.$emit("update:query", that.query);
|
|
that.$emit("uploadList");
|
|
}
|
|
}
|
|
},
|
|
goDetail($item, $index) {
|
|
let that = this;
|
|
uni.navigateTo({
|
|
url: `/root/detail/applyTob?id=${$item.id}&type=${that.tabActive + 1}&relationId=${$item.relationId}`,
|
|
// url: "/root/detail/apply?id=" + $item.id + "&type=" + (that.tabActive + 1),
|
|
});
|
|
},
|
|
goLogin() {
|
|
uni.reLaunch({
|
|
url: "/pages/login/index",
|
|
});
|
|
},
|
|
goTel($item) {
|
|
console.log($item);
|
|
if ($item) {
|
|
uni.makePhoneCall({
|
|
phoneNumber: $item,
|
|
});
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped lang="less">
|
|
.link {
|
|
.item {
|
|
.doc {
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
}
|
|
}
|
|
</style>
|