Compare commits
2 Commits
f6a7eb1b4e
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d9ffb03cd | ||
|
|
2f70107415 |
@@ -9,9 +9,9 @@ VITE_APP_ENV='development'
|
||||
# 开发环境
|
||||
VITE_APP_BASE_API='/dev-api'
|
||||
# # 开发环境 接口代理地址
|
||||
#VITE_APP_PROXY_API='http://192.168.1.222:8080'
|
||||
VITE_APP_PROXY_API='http://192.168.0.222:8080'
|
||||
# 开发环境 接口代理地址
|
||||
VITE_APP_PROXY_API='http://192.168.1.6:8080'
|
||||
#VITE_APP_PROXY_API='http://192.168.0.199:8080'
|
||||
# 图片基础地址
|
||||
VITE_IMG_URL='http://192.168.1.222:8080'
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
@toggle-click="toggleSideBar"
|
||||
>
|
||||
</hamburger>
|
||||
<div style="color: grey; margin-right: 20px">{{ currentVillageInfo.villageName }}</div>
|
||||
<div class="flex-1 h-full"></div>
|
||||
<div class="right-menu flex align-center">
|
||||
<template v-if="appStore.device !== 'mobile'">
|
||||
@@ -30,6 +31,7 @@
|
||||
<el-dropdown class="right-menu-item hover-effect" trigger="click" @command="handleCommand">
|
||||
<div class="avatar-wrapper">
|
||||
<img :src="userStore.avatar" alt="头像" class="user-avatar" />
|
||||
<div class="username">{{ userStore.nickname }}</div>
|
||||
<el-icon><caret-bottom /></el-icon>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
@@ -69,7 +71,7 @@ const props = defineProps({
|
||||
default: true
|
||||
}
|
||||
});
|
||||
|
||||
const currentVillageInfo = JSON.parse(localStorage.getItem('villageInfo') || '{}');
|
||||
const appStore = useAppStore();
|
||||
const userStore = useUserStore();
|
||||
const settingsStore = useSettingsStore();
|
||||
@@ -170,7 +172,6 @@ watch(
|
||||
height: 50px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: #dfedff;
|
||||
background: transparent;
|
||||
//border-bottom: 1px solid #dfedff;
|
||||
|
||||
@@ -229,8 +230,7 @@ watch(
|
||||
padding: 0 8px;
|
||||
height: 100%;
|
||||
font-size: 18px;
|
||||
color: #fff;
|
||||
color: #c0c4cc;
|
||||
color: grey;
|
||||
|
||||
vertical-align: text-bottom;
|
||||
|
||||
@@ -245,9 +245,14 @@ watch(
|
||||
|
||||
.avatar-wrapper {
|
||||
margin-top: 5px;
|
||||
// margin-left: 20px;
|
||||
position: relative;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.username {
|
||||
font-size: 12px;
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.user-avatar {
|
||||
cursor: pointer;
|
||||
width: 40px;
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<el-table v-loading="loading" :data="chargeItemList" border @selection-change="handleSelectionChange">
|
||||
<el-table-column align="center" type="selection" width="55" />
|
||||
<el-table-column align="center" label="项目名称" prop="itemName" />
|
||||
<el-table-column align="center" label="计费方式" prop="billingType" width="100">
|
||||
<el-table-column align="center" label="计费方式" prop="billingType" width="150">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="com_charge_item_method" :value="scope.row.billingType"></dict-tag>
|
||||
</template>
|
||||
@@ -84,7 +84,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip />
|
||||
<el-table-column align="center" class-name="small-padding fixed-width" fixed="right" label="操作">
|
||||
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
|
||||
<template #default="scope">
|
||||
<el-button v-has-permi="['chargeItem:chargeItem:edit']" link type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
|
||||
<el-button v-has-permi="['chargeItem:chargeItem:remove']" link type="primary" @click="handleDelete(scope.row)">删除</el-button>
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
<span v-else-if="scope.row.payStatus === PayStatus.PARTIAL">部分缴纳</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="应缴金额" prop="needPayAmount" width="100" />
|
||||
<el-table-column align="center" label="剩余应缴金额" prop="needPayAmount" width="140" />
|
||||
<el-table-column align="center" label="优惠金额" prop="singleDiscountAmount" width="100" />
|
||||
<el-table-column align="center" label="实缴金额" prop="actualAccount" width="100" />
|
||||
<el-table-column align="center" label="缴费人" prop="residentName" width="120" />
|
||||
|
||||
@@ -188,12 +188,42 @@
|
||||
<span>缴费账单</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-table :data="billList" style="width: 100%">
|
||||
<el-table :data="billList" style="width: 100%; max-height: 500px; overflow: auto">
|
||||
<el-table-column label="账单名称" prop="detailsName" />
|
||||
<el-table-column label="账单项目" prop="chargeItemName" />
|
||||
<el-table-column label="金额" prop="money">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.amount }}</span>
|
||||
<div class="flex" style="width: 120px; justify-content: start; align-items: center">
|
||||
<div style="width: 80px; text-align: left">
|
||||
{{ scope.row.amount }}
|
||||
</div>
|
||||
<el-tooltip v-if="scope.row.payStatus === '3'" class="box-item" effect="light" placement="top">
|
||||
<el-icon color="#909399"><QuestionFilled /></el-icon>
|
||||
<template #content>
|
||||
<div style="line-height: 1.8; font-size: 13px; width: 180px">
|
||||
<div class="flex justify-between" style="text-align: right">
|
||||
<span>总金额</span>
|
||||
<span>{{ scope.row.amount }}¥</span>
|
||||
</div>
|
||||
<div class="flex justify-between" style="text-align: right">
|
||||
<span>优惠金额</span>
|
||||
<span>− {{ scope.row.singleDiscountAmount }}¥</span>
|
||||
</div>
|
||||
<div class="flex justify-between" style="text-align: right">
|
||||
<span>已交金额</span>
|
||||
<span>− {{ scope.row.paidAmount }}¥</span>
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-between cursor-pointer"
|
||||
style="margin-top: 6px; border-top: 1px solid #ccc; text-align: right; padding-top: 6px"
|
||||
>
|
||||
<span>待缴金额</span>
|
||||
<span style="font-weight: bold; color: red">{{ scope.row.needPayAmount }}¥</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="支付状态" prop="payStatus">
|
||||
@@ -202,6 +232,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,6 +244,7 @@ import DictTag from '@/components/DictTag/index.vue';
|
||||
import PageHeader from '@/components/Pageheader/index.vue';
|
||||
import { Data, getHouseMain, House } from '@/api/system/house';
|
||||
import { billlistType, billQuery } from '@/api/system/SdbCashier';
|
||||
import { QuestionFilled } from '@element-plus/icons-vue';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { com_resident_relationship } = toRefs<any>(proxy?.useDict('com_resident_relationship'));
|
||||
@@ -290,6 +322,11 @@ function getBillByHouse(info: House) {
|
||||
total.value = res.total;
|
||||
});
|
||||
}
|
||||
function getList() {
|
||||
if (HouseInfo.value) {
|
||||
getBillByHouse(HouseInfo.value.house);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -284,6 +284,10 @@ type parkingReviewProcess = {
|
||||
submitTime: string;
|
||||
propertyTime: string;
|
||||
certificationTime: string;
|
||||
'parkingId': string;
|
||||
'propertyReviewFeedback': string;
|
||||
'carId': null;
|
||||
'residentId': null;
|
||||
};
|
||||
const parkingReviewInfo = ref<parkingReviewType>({
|
||||
parking: {
|
||||
@@ -329,7 +333,11 @@ const parkingReviewInfo = ref<parkingReviewType>({
|
||||
certificationStatus: null,
|
||||
submitTime: null,
|
||||
propertyTime: null,
|
||||
certificationTime: null
|
||||
certificationTime: null,
|
||||
parkingId: null,
|
||||
propertyReviewFeedback: null,
|
||||
carId: null,
|
||||
residentId: null
|
||||
}
|
||||
});
|
||||
|
||||
@@ -346,6 +354,7 @@ function getInfo() {
|
||||
res.data.car.carImageUrlList = res.data.car.carImageUrl.split(',').filter(Boolean) ?? [];
|
||||
}
|
||||
parkingReviewInfo.value = res.data;
|
||||
form.value.propertyReviewFeedback = res.data.parkingReviewProcess.propertyReviewFeedback || '';
|
||||
handleActiveStaus(res.data.parkingReviewProcess);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -59,7 +59,12 @@
|
||||
<el-tag v-else type="primary">android</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="更新渠道" prop="channel" sortable />
|
||||
<el-table-column align="center" label="更新渠道" prop="channel" sortable>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.channel === 'phone'">ios</span>
|
||||
<span v-else>{{ scope.row.channel }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="版本号" prop="versionCode" sortable />
|
||||
<el-table-column align="center" label="版本名称" prop="versionName" sortable />
|
||||
<el-table-column align="center" label="最低支持版本" prop="minVersionName" sortable />
|
||||
@@ -76,6 +81,11 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="上传时间" prop="createTime" />
|
||||
<!-- <el-table-column align="center" label="操作">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-button type="danger">删除</el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
</el-table>
|
||||
<pagination v-show="total > 0" v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNum" :total="total" @pagination="getList" />
|
||||
</el-card>
|
||||
@@ -83,7 +93,7 @@
|
||||
<el-dialog v-model="dialog.visible" :title="dialog.title" append-to-body width="650px">
|
||||
<el-form ref="versionFormRef" :model="form" :rules="rules" label-width="130px">
|
||||
<el-form-item label="App端" prop="appChannel">
|
||||
<el-select v-model="form.appChannel" placeholder="请选择" @change="handleGetVersionlast">
|
||||
<el-select v-model="form.appChannel" placeholder="请选择" @change="handleGetVersionList">
|
||||
<el-option v-for="(item, index) in com_app_list" :key="index" :label="item.label" :value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -112,7 +122,7 @@
|
||||
<el-radio v-if="form.platform !== appType.ios" value="vivo">vivo</el-radio>
|
||||
<el-radio v-if="form.platform !== appType.ios" value="yyb">应用宝</el-radio>
|
||||
<el-radio v-if="form.platform !== appType.ios" value="honor">荣耀</el-radio>
|
||||
<el-radio v-else value="ios">ios</el-radio>
|
||||
<el-radio v-else value="phone">ios</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
@@ -316,13 +326,13 @@ function handleChangePlatform() {
|
||||
form.value.downloadUrl = '';
|
||||
form.value.channel = '';
|
||||
if (form.value.platform === 'ios') {
|
||||
form.value.channel = 'ios';
|
||||
form.value.channel = 'phone';
|
||||
handleChangeChannel(form.value.channel);
|
||||
}
|
||||
handleGetVersionlast();
|
||||
handleGetVersionList();
|
||||
}
|
||||
|
||||
function handleGetVersionlast() {
|
||||
function handleGetVersionList() {
|
||||
getPastVersion(form.value.platform, form.value.appChannel).then((res) => {
|
||||
getlastVersionlist.value = res.data;
|
||||
form.value.minVersionCode = getlastVersionlist.value[getlastVersionlist.value.length - 1]
|
||||
@@ -338,7 +348,7 @@ const channelUrl = {
|
||||
'vivo': 'vivomarket://details?id=',
|
||||
'honor': 'market://details?id=',
|
||||
'yyb': 'tmast://appdetails?pname=',
|
||||
'ios': 'itms-apps://apps.apple.com/cn/app/id'
|
||||
'phone': 'itms-apps://apps.apple.com/cn/app/id6785337718'
|
||||
};
|
||||
function handleChangeChannel(val: string) {
|
||||
form.value.downloadUrl = channelUrl[val];
|
||||
|
||||
Reference in New Issue
Block a user