提交 ec807fc5 authored 作者: 赵明's avatar 赵明

联调更新

上级 88901a12
{ {
"name": "vue-antd-jeecg", "name": "vue-antd-jeecg",
"version": "3.4.3", "version": "3.4.3",
"private": true, "private": true,
......
...@@ -4,7 +4,7 @@ import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" ...@@ -4,7 +4,7 @@ import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types"
export const loginUrlCheck = (params)=>postAction("/sys/loginUrlCheck",params); export const loginUrlCheck = (params)=>postAction("/sys/loginUrlCheck",params);
// 首页统计 // 首页统计
const homeDataStatistics = (params)=>getAction("/community/homepage/dataStatistics",params); const homeDataStatistics = (params)=>getAction("/property-central/shop/shopInfo/getIndexSta",params);
const companyNoticeList = (params)=>getAction("/property-company/notice/companyNotice/list",params); const companyNoticeList = (params)=>getAction("/property-company/notice/companyNotice/list",params);
// 报表统计 // 报表统计
...@@ -116,7 +116,7 @@ function getDictItemsFromCache(dictCode) { ...@@ -116,7 +116,7 @@ function getDictItemsFromCache(dictCode) {
return dictItems; return dictItems;
} }
} }
const getPropertyDetailApi= (params)=>getAction("/property-community/order/paymentOrder/queryById",params);
//分利-申请对账 //分利-申请对账
const settlementApi = (params)=>postAction("/property-central/partners/shareBenefit/reconciliation",params); const settlementApi = (params)=>postAction("/property-central/partners/shareBenefit/reconciliation",params);
//分利-对账详情 //分利-对账详情
...@@ -234,7 +234,8 @@ export { ...@@ -234,7 +234,8 @@ export {
auditCommunityComplaintApi, auditCommunityComplaintApi,
settlementApi, settlementApi,
settlementDetailApi, settlementDetailApi,
shareBalanceByDepId shareBalanceByDepId,
getPropertyDetailApi
} }
......
...@@ -58,16 +58,22 @@ export const COMPLAINT_STATUS = [ ...@@ -58,16 +58,22 @@ export const COMPLAINT_STATUS = [
] ]
// 订单状态 // 订单状态
export const ORDER_STATUS = [ export const ORDER_STATUS = [
{label: '已付款', value: 1}, {label: '已付款', value: 'paid'},
{label: '退款驳回', value: 2}, {label: '退款待审核', value: 'refundWaitAudit'},
{label: '退款待审核', value: 3}, {label: '退款驳回', value: 'refundReject'},
{label: '已退款', value: 4}, {label: '退款中', value: 'refundRunning'},
{label: '已完成', value: 5} {label: '已退款', value: 'refunded'}
]
// 订单来源
export const PAYTYPE = [
{label: '业主支付', value: 'owner'},
{label: '游客', value: 'noowner'},
] ]
// 支付方式 // 支付方式
export const PAYMENT_METOD = [ export const PAYMENT_METOD = [
{label: '未支付', value: 1}, {label: '未支付', value: null},
{label: '微信', value: 2}, {label: '微信', value: 'wechat'},
{label: '小程序', value: 'miniapp'},
] ]
//对账状态 //对账状态
export const RECONCILIATION_STATUS = [ export const RECONCILIATION_STATUS = [
......
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-item label="小区名称">
<j-input placeholder="请输入小区名称" v-model="queryParam.communityName"></j-input>
</a-form-item>
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button type="primary" @click="searchQuery">查询</a-button>
<a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<!-- <a-button type="primary" icon="download" @click="handleExportXls('t_property_settled')">导出</a-button> -->
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDels">
<a-icon type="delete"/>
删除关联
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px">批量操作
<a-icon type="down"/>
</a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择&nbsp;<a style="font-weight: 600">{{
selectedRowKeys.length
}}</a>&nbsp;&nbsp;
<a style="margin-left: 24px" v-if="selectedRowKeys.length > 0" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
bordered
rowKey="communityCode"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange"
>
<span slot="empowerDate" slot-scope="text, record">
<span>{{ record.empowerBeginDate }}{{ record.empowerEndDate }}</span>
</span>
<span slot="action" slot-scope="text, record">
<a @click="showDeleteConfirm(record)">删除关联</a>
</span>
<!-- 字符串超长截取省略号显示 -->
<span slot="url" slot-scope="text">
<j-ellipsis :value="text" :length="25"/>
</span>
<!-- 字符串超长截取省略号显示-->
<span slot="component" slot-scope="text">
<j-ellipsis :value="text"/>
</span>
</a-table>
</div>
<!-- table区域-end -->
<notice-modal ref="modalForm" @ok="modalFormOk"></notice-modal>
<!-- 删除关联 -->
</a-card>
</template>
<script>
// import { getPropertyListApi, getSystemSubmenu, getSystemSubmenuBatch } from '@/api/api'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import NoticeModal from './modules/NoticeModal'
import {deleteAction} from '@/api/manage'
import {filterDictTextByCache} from '@/components/dict/JDictSelectUtil'
const columns = [
{
title: '小区名称',
dataIndex: 'communityName',
key: 'communityName',
align: 'center'
},
{
title: '所属区域',
dataIndex: 'communityArea',
key: 'communityArea',
align: 'center'
},
{
title: '占地面积(㎡)',
dataIndex: 'coverArea',
key: 'coverArea',
align: 'center'
},
{
title: '总栋数',
dataIndex: 'buildingNum',
key: 'buildingNum',
align: 'center'
},
{
title: '房屋数量',
dataIndex: 'houseNum',
key: 'houseNum',
align: 'center'
},
{
title: '联系人',
dataIndex: 'adminName',
key: 'adminName',
align: 'center'
},
{
title: '联系方式',
dataIndex: 'adminPhone',
key: 'adminPhone',
align: 'center'
},
{
title: '创建时间',
dataIndex: 'updateTime',
key: 'updateTime',
align: 'center'
},
{
title: '操作',
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
align: 'center',
width: 150
}
]
export default {
name: 'PermissionListAsync',
mixins: [JeecgListMixin],
components: {
NoticeModal
},
data() {
return {
// 表头
columns: columns,
deteleId: '',
url: {
list: "/property-central/shop/shopCommunity/getShopCommunity",
delete: '/property-central/shop/shopCommunity/deleteByCommunityCode',
deleteBatch: '/property-central/shop/shopCommunity/deleteBatch'
},
}
},
methods: {
handlePerssion(roleId) {
this.$refs.modalUserRole.show(roleId);
},
showDeleteConfirm(record) {
var that = this;
this.$confirm({
title: '确定是否删除关联小区?',
okText: '删除',
okType: 'danger',
cancelText: '否',
onOk() {
return deleteAction(that.url.delete, {communityCode: record.communityCode}).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.searchQuery()
}
})
},
onCancel() {
console.log('Cancel');
},
});
},
batchDels() {
if (this.selectedRowKeys.length <= 0) {
this.$message.warning('请选择一条记录!');
return;
} else {
var ids = "";
for (var a = 0; a < this.selectedRowKeys.length; a++) {
ids += this.selectedRowKeys[a] + ",";
}
var that = this;
this.$confirm({
title: "确认删除",
content: "是否删除选中数据?",
onOk: function () {
that.loading = true;
deleteAction(that.url.deleteBatch, {communityCodes: ids}).then((res) => {
if (res.success) {
//重新计算分页问题
that.reCalculatePage(that.selectedRowKeys.length)
that.$message.success(res.message);
that.loadData();
that.onClearSelected();
} else {
that.$message.warning(res.message);
}
}).finally(() => {
that.loading = false;
});
}
});
}
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
差异被折叠。
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
switchFullscreen
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<a-button class="bbtn" @click="updateCurrentDepart">小区查找</a-button>
<property-settled-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></property-settled-form>
<login-switch-house ref="loginSelect" :closable="true" title="小区查找" @success="loginSelectOk" ></login-switch-house>
</j-modal>
</template>
<script>
import PropertySettledForm from './NoticeForm'
import { httpAction, getAction } from '@/api/manage'
import LoginSwitchHouse from '@/components/tools/LoginSwitchHouse'
export default {
name: 'PropertySettledModal',
components: {
PropertySettledForm,
LoginSwitchHouse
},
data () {
return {
title:'',
width: '70%',
visible: false,
disableSubmit: true
}
},
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
})
},
async updateCurrentDepart(){
let { result } = await getAction('/property-company/community/companyCommunity/getList',{ })
this.$refs.loginSelect.show(result)
},
loginSelectOk(res) {
this.$refs.realForm.edit(res);
},
edit (record) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(record);
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleCancel () {
this.close()
}
}
}
</script>
<style lang="less">
.bbtn{
position: absolute;
right: 120px;
top: 12px;
z-index: 333;
}
</style>
\ No newline at end of file
<!--
* @Author: zm
* @Date: 2023-08-20 10:54:31
* @Descripttion:
-->
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-item label="输入搜索">
<j-input placeholder="请输入单号" v-model="queryParam.balanceNum"></j-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="订单时间:">
<a-date-picker placeholder="订单时间" valueFormat="YYYY-MM-DD 00:00:00" v-model="queryParam.balanceDate"></a-date-picker>
</a-form-item>
<span slot="balanceStatus" slot-scope="text, record">
<a-tag v-if="record.balanceStatus === 1">未对账</a-tag>
<a-tag v-else-if="record.balanceStatus === 2">对账待审核</a-tag>
<a-tag v-else-if="record.balanceStatus === 3">已对账</a-tag>
<a-tag v-else-if="record.balanceStatus === 4">对账驳回</a-tag>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- table区域-begin -->
<div>
<a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
@change="handleTableChange">
</a-table>
</div>
</a-card>
</template>
<script>
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
export default {
name: 'CommunityLlist',
mixins: [JeecgListMixin, mixinDevice],
data() {
return {
columns: [
{
title: '序号',
align: 'center',
dataIndex: 'num',
},
{
title: '结算单号',
align: 'center',
dataIndex: 'balanceNum',
},
{
title: '提交时间',
align: 'center',
dataIndex: 'balanceDate',
},
{
title: '提交人',
align: 'center',
dataIndex: 'createBy',
},
{
title: '结算总金额',
align: 'center',
dataIndex: 'balanceMoney',
},
{
title: '结算方式',
align: 'center',
dataIndex: 'balanceWay',
},
{
title: '结算状态',
align: 'center',
dataIndex: 'balanceStatus',
scopedSlots: { customRender: 'balanceStatus' },
key: 'balanceStatus',
},
{
title: '备注',
dataIndex: 'remarks',
align: 'center',
},
],
dataSource: [],
url: {
list: '/property-central/partners/shareBalance/list?balanceStatus=3',
},
}
},
methods: {},
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
<!-- <img class="icon" src="~@/assets/guaz.png" alt=""> --> <!-- <img class="icon" src="~@/assets/guaz.png" alt=""> -->
<div> <div>
<p style="color:#666;margin-bottom:5px;">关联小区数量</p> <p style="color:#666;margin-bottom:5px;">关联小区数量</p>
<p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">{{pageForm.roomNum}}</p> <p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">{{pageForm.bindCom}}</p>
<span v-if="pageForm.roomNum > 0"><a-icon type="arrow-up" <span v-if="pageForm.bindCom > 0"><a-icon type="arrow-up"
color="#1890ff" />{{ pageForm.pageForm }}</span> color="#1890ff" />{{ pageForm.bindCom }}</span>
</div> </div>
</div> </div>
</a-col> </a-col>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<div class="icon" style="background-color:#7262fd;"><a-icon type="bar-chart" /></div> <div class="icon" style="background-color:#7262fd;"><a-icon type="bar-chart" /></div>
<div> <div>
<p style="color:#666;margin-bottom:5px;">累积交易金额</p> <p style="color:#666;margin-bottom:5px;">累积交易金额</p>
<p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.roomNum}}</p> <p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.totalMoney}}</p>
</div> </div>
</div> </div>
</a-col> </a-col>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<div class="icon" style="background-color:#ffaa00;"><a-icon type="bar-chart" /></div> <div class="icon" style="background-color:#ffaa00;"><a-icon type="bar-chart" /></div>
<div> <div>
<p style="color:#666;margin-bottom:5px;">待对账金额</p> <p style="color:#666;margin-bottom:5px;">待对账金额</p>
<p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.buildingNum}}</p> <p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.notBalance}}</p>
</div> </div>
</div> </div>
</a-col> </a-col>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<div class="icon" style="background-color:#52c41a;"><a-icon type="pay-circle" /></div> <div class="icon" style="background-color:#52c41a;"><a-icon type="pay-circle" /></div>
<div> <div>
<p style="color:#666;margin-bottom:5px;">待结算金额</p> <p style="color:#666;margin-bottom:5px;">待结算金额</p>
<p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.propertyYearFee}}</p> <p style="margin-bottom:0;color:#333;font-size:28px;line-height:1;">¥{{pageForm.notBenefit}}</p>
</div> </div>
</div> </div>
</a-col> </a-col>
...@@ -113,7 +113,7 @@ export default { ...@@ -113,7 +113,7 @@ export default {
}, },
methods: { methods: {
async onDetail(typeCode) { async onDetail(typeCode) {
let { result } = await homeDataStatistics({ typeCode: typeCode }) let { result } = await homeDataStatistics({ })
this.pageForm = { ...result } this.pageForm = { ...result }
this.loading = !this.loading this.loading = !this.loading
}, },
...@@ -128,11 +128,11 @@ export default { ...@@ -128,11 +128,11 @@ export default {
this.clickQRcode() this.clickQRcode()
} else if (type == 2) { } else if (type == 2) {
this.$router.push({ this.$router.push({
path: '/information/owner', path: '/paymentorder/payment',
}) })
} else if (type == 3) { } else if (type == 3) {
this.$router.push({ this.$router.push({
path: '/information/house', path: '/settlement/SettlementDetails?type=add',
}) })
} else if (type == 4) { } else if (type == 4) {
this.$router.push({ this.$router.push({
......
...@@ -6,12 +6,12 @@ ...@@ -6,12 +6,12 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="输入搜索"> <a-form-item label="输入搜索">
<j-input placeholder="订单编号/商品货号" v-model="queryParam.id"></j-input> <j-input placeholder="订单编号/商品货号" v-model="queryParam.orderNo"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<a-form-item label="收货人"> <a-form-item label="收货人">
<j-input placeholder="收货人" v-model="queryParam.userAccount"></j-input> <j-input placeholder="收货人" v-model="queryParam.ownerName"></j-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="7" :sm="10"> <a-col :md="7" :sm="10">
...@@ -34,10 +34,9 @@ ...@@ -34,10 +34,9 @@
<a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns" <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns"
:dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap" :dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
@change="handleTableChange"> @change="handleTableChange">
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="onDetail(record.id, 'detail')">详情</a> <a @click="onDetail(record.id, 'detail')">详情</a>
<template v-if="record.orderStatus === 1"> <template v-if="(record.orderStatus === 'paid'|| record.orderStatus === 'refundReject')&& record.canRefund === 'can'">
<a-divider type="vertical"/> <a-divider type="vertical"/>
<a @click="onDetail(record.id, 'audit')">申请退款</a> <a @click="onDetail(record.id, 'audit')">申请退款</a>
</template> </template>
...@@ -50,15 +49,15 @@ ...@@ -50,15 +49,15 @@
<script> <script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin' import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import {ORDER_STATUS,PAYMENT_METOD, filterDictTextByStatic} from '@/assets/static.js' import {PAYTYPE,ORDER_STATUS,PAYMENT_METOD, filterDictTextByStatic} from '@/assets/static.js'
// import NoticeModal from "@views/property/property/modules/NoticeModal.vue"; // import NoticeModal from "@views/property/property/modules/NoticeModal.vue";
// import CPopupOnlReport from "@comp/custom/modal/JPopupOnlReport.vue"; // import CPopupOnlReport from "@comp/custom/modal/JPopupOnlReport.vue";
const columns = [ const columns = [
{ {
title: '订单编号', title: '订单编号',
dataIndex: 'id', dataIndex: 'orderNo',
key: 'id', key: 'orderNo',
align: 'center', align: 'center',
}, },
{ {
...@@ -69,8 +68,8 @@ const columns = [ ...@@ -69,8 +68,8 @@ const columns = [
}, },
{ {
title: '用户账号', title: '用户账号',
dataIndex: 'userAccount', dataIndex: 'ownerName',
key: 'userAccount', key: 'ownerName',
align: 'center', align: 'center',
}, },
{ {
...@@ -81,8 +80,8 @@ const columns = [ ...@@ -81,8 +80,8 @@ const columns = [
}, },
{ {
title: '支付方式', title: '支付方式',
dataIndex: 'paymentMethod', dataIndex: 'paySource',
key: 'paymentMethod', key: 'paySource',
align: 'center', align: 'center',
customRender: function(text) { customRender: function(text) {
return filterDictTextByStatic(PAYMENT_METOD, text); return filterDictTextByStatic(PAYMENT_METOD, text);
...@@ -90,9 +89,12 @@ const columns = [ ...@@ -90,9 +89,12 @@ const columns = [
}, },
{ {
title: '订单来源', title: '订单来源',
dataIndex: 'orderSource', dataIndex: 'payType',
key: 'orderSource', key: 'payType',
align: 'center', align: 'center',
customRender: function(text) {
return filterDictTextByStatic(PAYTYPE, text);
}
}, },
{ {
title: '订单状态', title: '订单状态',
...@@ -105,20 +107,20 @@ const columns = [ ...@@ -105,20 +107,20 @@ const columns = [
}, },
{ {
title: '退款说明', title: '退款说明',
dataIndex: 'refundInstructions', dataIndex: 'refundDes',
key: 'refundInstructions', key: 'refundDes',
align: 'center', align: 'center',
}, },
{ {
title: '所属平台', title: '所属平台',
dataIndex: 'ownPlatform', dataIndex: 'propertyName',
key: 'ownPlatform', key: 'propertyName',
align: 'center', align: 'center',
}, },
{ {
title: '所属小区', title: '所属小区',
dataIndex: 'propertyName', dataIndex: 'communityName',
key: 'propertyName', key: 'communityName',
align: 'center', align: 'center',
}, },
{ {
...@@ -143,33 +145,9 @@ export default { ...@@ -143,33 +145,9 @@ export default {
showSizeChanger: true, showSizeChanger: true,
}, },
url: { url: {
list: '/property-central/property/communityReconciliation/list', list: '/property-community/order/paymentOrder/list?platformType=shop',
}, },
dataSource:[ dataSource:[
{
id: 1,
userAccount: 'admin',
orderAmount: 100,
orderSource: '微信',
paymentMethod: 1,
orderStatus: 1,
refundInstructions: '退款说明',
ownPlatform: '微信',
propertyName: '小区名称',
createTime: '2018-01-01'
},
{
id: 2,
userAccount: 'admin',
orderAmount: 100,
orderSource: '微信',
paymentMethod: 1,
orderStatus: 1,
refundInstructions: '退款说明',
ownPlatform: '微信',
propertyName: '小区名称',
createTime: '2018-01-01'
},
] ]
} }
}, },
......
<template> <template>
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<div class="title-top"> <div class="title-top" v-if="dataSource.length > 0">
<h3>当前订单状态:{{status(dataSource[0].orderStatus)}}</h3> <h3>当前订单状态:{{status(dataSource)}}</h3>
<div class="button"> <div class="button">
<a-button @click="onCancel">返回</a-button> <a-button @click="onCancel">返回</a-button>
<a-button type="danger" @click="onExamine(2)" v-if="pageType == 'audit'">退款</a-button> <a-button type="danger" @click="onExamine(2)" v-if="pageType == 'audit'">退款</a-button>
...@@ -21,17 +21,33 @@ ...@@ -21,17 +21,33 @@
<a-card title="操作信息"> <a-card title="操作信息">
<a-row> <a-row>
<div> <div>
<a-table ref="table" size="middle" bordered :columns="columns2" :pagination="false" <a-table ref="table" size="middle" bordered :columns="columns2" :pagination="false" rowKey="id"
:dataSource="dataSource" :loading="loading" class="j-table-force-nowrap" > :dataSource="dataSource" :loading="loading" class="j-table-force-nowrap" >
<span slot="paymentStatus" slot-scope="text, record">
<template v-if="record.paymentStatus === 'success'">成功</template>
</span>
</a-table> </a-table>
</div> </div>
</a-row> </a-row>
</a-card> </a-card>
<!-- table区域-end -->
<a-modal centered title="退款确认" :visible="visible" :confirm-loading="confirmLoadings" @ok="handleOk"
@cancel="handleCancel" width="60%">
<a-form>
<a-row>
<a-col :span="24">
<a-form-model-item label="退款备注" :labelCol="labelCol" :wrapperCol="wrapperCol" style="width: 100%;">
<a-textarea v-model="model.refundDes" :auto-size="{ minRows: 4, maxRows: 6 }" />
</a-form-model-item>
</a-col>
</a-row>
</a-form>
</a-modal>
</a-spin> </a-spin>
</template> </template>
<script> <script>
import {filterDictTextByStatic, ORDER_STATUS, PAYMENT_METOD} from "@assets/static"; import {PAYTYPE,ORDER_STATUS,PAYMENT_METOD, filterDictTextByStatic} from '@/assets/static.js'
const mapZoom = [5, 8, 10, 12] const mapZoom = [5, 8, 10, 12]
let timer = null let timer = null
...@@ -43,32 +59,32 @@ import { isMobile, validateCreditCode } from '@/utils/validate' ...@@ -43,32 +59,32 @@ import { isMobile, validateCreditCode } from '@/utils/validate'
const columns = [ const columns = [
{ {
title: '订单编号', title: '订单编号',
dataIndex: 'id', dataIndex: 'orderNo',
key: 'id', key: 'orderNo',
align: 'center', align: 'center',
}, },
{ {
title: '所属小区', title: '所属小区',
dataIndex: 'propertyName', dataIndex: 'communityName',
key: 'propertyName', key: 'communityName',
align: 'center', align: 'center',
}, },
{ {
title: '业主名称', title: '业主名称',
dataIndex: 'userName', dataIndex: 'partnersName',
key: 'userName', key: 'partnersName',
align: 'center', align: 'center',
}, },
{ {
title: '用户账号', title: '用户账号',
dataIndex: 'userAccount', dataIndex: 'ownerName',
key: 'userAccount', key: 'ownerName',
align: 'center', align: 'center',
}, },
{ {
title: '支付方式', title: '支付方式',
dataIndex: 'paymentMethod', dataIndex: 'paySource',
key: 'paymentMethod', key: 'paySource',
align: 'center', align: 'center',
customRender: function(text) { customRender: function(text) {
return filterDictTextByStatic(PAYMENT_METOD, text); return filterDictTextByStatic(PAYMENT_METOD, text);
...@@ -76,9 +92,12 @@ const columns = [ ...@@ -76,9 +92,12 @@ const columns = [
}, },
{ {
title: '订单来源', title: '订单来源',
dataIndex: 'orderSource', dataIndex: 'payType',
key: 'orderSource', key: 'payType',
align: 'center', align: 'center',
customRender: function(text) {
return filterDictTextByStatic(PAYTYPE, text);
}
} }
] ]
const columns2 = [ const columns2 = [
...@@ -90,8 +109,8 @@ const columns2 = [ ...@@ -90,8 +109,8 @@ const columns2 = [
}, },
{ {
title: '操作时间', title: '操作时间',
dataIndex: 'creditCode', dataIndex: 'createTime',
key: 'creditCode', key: 'createTime',
align: 'center', align: 'center',
}, },
{ {
...@@ -106,13 +125,14 @@ const columns2 = [ ...@@ -106,13 +125,14 @@ const columns2 = [
{ {
title: '付款状态', title: '付款状态',
dataIndex: 'paymentStatus', dataIndex: 'paymentStatus',
scopedSlots: { customRender: 'paymentStatus' },
key: 'paymentStatus', key: 'paymentStatus',
align: 'center', align: 'center',
}, },
{ {
title: '备注', title: '备注',
dataIndex: 'refundInstructions', dataIndex: 'refundDes',
key: 'refundInstructions', key: 'refundDes',
align: 'center', align: 'center',
} }
] ]
...@@ -125,31 +145,36 @@ export default { ...@@ -125,31 +145,36 @@ export default {
title: '', title: '',
pageType: '', pageType: '',
confirmLoading: false, confirmLoading: false,
confirmLoadings: false,
costList: [], costList: [],
mapRef: null, mapRef: null,
visible:false,
model:{
refundDes:'',
id:''
},
url: {
refundOrder:'/property-community/order/paymentOrder/refundOrder'
},
labelCol: {
xs: { span: 24 },
sm: { span: 6 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
columns: columns, columns: columns,
columns2: columns2, columns2: columns2,
loading: false, loading: false,
dataSource: [ dataSource: [
{
id: 1,
userAccount: 'admin',
orderAmount: 100,
orderSource: '微信',
paymentMethod: 1,
orderStatus: 1,
refundInstructions: '退款说明',
ownPlatform: '微信',
propertyName: '小区名称',
createTime: '2018-01-01'
},
] ]
} }
}, },
created() { created() {
this.pageType = this.$route.query.type this.pageType = this.$route.query.type
this.getPageDetail()
}, },
methods: { methods: {
async onLoadCostList() { async onLoadCostList() {
...@@ -158,25 +183,44 @@ export default { ...@@ -158,25 +183,44 @@ export default {
}, },
async getPageDetail() { async getPageDetail() {
let { result } = await getPropertyDetailApi({ id: this.$route.query.id }) let { result } = await getPropertyDetailApi({ id: this.$route.query.id })
this.edit(result) this.dataSource.push(result)
if (result.provinceName) {
this.getLongitude(
result.provinceName,
result.provinceName + result.cityName + result.countyName + result.addressInfo,
mapZoom[3]
)
}
}, },
status(text){ status(text){
return filterDictTextByStatic(ORDER_STATUS, text); if(text){
return filterDictTextByStatic(ORDER_STATUS, text[0].orderStatus);
}
}, },
onCancel() { onCancel() {
this.closeCurrent() this.closeCurrent()
}, },
onExamine(type) { onExamine(type) {
this.closeCurrent() this.visible = true
this.model.id = this.$route.query.id
},
handleOk(e) {
const that = this
this.confirmLoadings = true
let method = 'post'
httpAction(this.url.refundOrder, this.model, method)
.then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
} else {
that.$message.warning(res.message)
}
this.closeCurrent()
this.visible = false
this.confirmLoadings = false
this.model = {}
})
.finally(() => {
that.confirmLoadings = false
})
},
handleCancel(e) {
this.visible = false
}, },
loadData() { loadData() {
console.log('不请求') console.log('不请求')
......
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="6" :sm="8">
<a-form-item label="表名">
<a-input placeholder="请输入表名" v-model="queryParam.dataTable"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
<a-form-item label="数据ID">
<a-input placeholder="请输入ID" v-model="queryParam.dataId"></a-input>
</a-form-item>
</a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button type="primary" @click="searchQuery">查询</a-button>
<a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button
@click="batchDel"
v-if="selectedRowKeys.length > 0"
ghost
type="primary"
icon="delete">批量删除
</a-button>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择&nbsp;<a style="font-weight: 600">{{
selectedRowKeys.length }}</a>&nbsp;&nbsp;
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
:columns="columns"
size="middle"
:dataSource="dataSource"
:loading="loading"
:pagination="pagination"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<a-dropdown>
<a class="ant-dropdown-link">
更多 <a-icon type="down"/>
</a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;" @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="handleAddSub(record)">添加下级</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="handleDataRule(record)">数据规则</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)" placement="topLeft">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
<!-- 字符串超长截取省略号显示 -->
<span slot="url" slot-scope="text">
<j-ellipsis :value="text" :length="25"/>
</span>
<!-- 字符串超长截取省略号显示-->
<span slot="component" slot-scope="text">
<j-ellipsis :value="text"/>
</span>
</a-table>
</div>
<!-- table区域-end -->
<!-- <permission-modal ref="modalForm" @ok="modalFormOk"></permission-modal> -->
<!-- <permission-data-rule-list ref="PermissionDataRuleList" @ok="modalFormOk"></permission-data-rule-list> -->
</a-card>
</template>
<script>
// import PermissionModal from './modules/PermissionModal'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
// import PermissionDataRuleList from './PermissionDataRuleList'
import JEllipsis from '@/components/jeecg/JEllipsis'
const columns = [
{
title: '菜单名称',
dataIndex: 'name',
key: 'name'
}, {
title: '菜单类型',
dataIndex: 'menuType',
key: 'menuType',
customRender: function(text) {
if (text == 0) {
return '菜单'
} else if (text == 1) {
return '菜单'
} else if (text == 2) {
return '按钮/权限'
} else {
return text
}
}
},/*{
title: '权限编码',
dataIndex: 'perms',
key: 'permissionCode',
},*/{
title: 'icon',
dataIndex: 'icon',
key: 'icon'
},
{
title: '组件',
dataIndex: 'component',
key: 'component',
scopedSlots: { customRender: 'component' }
},
{
title: '路径',
dataIndex: 'url',
key: 'url',
scopedSlots: { customRender: 'url' }
},
{
title: '排序',
dataIndex: 'sortNo',
key: 'sortNo'
},
{
title: '操作',
dataIndex: 'action',
scopedSlots: { customRender: 'action' },
align: 'center',
width: 150
}
]
export default {
name: 'PermissionListAsync',
mixins: [JeecgListMixin],
components: {
// PermissionDataRuleList,
// PermissionModal,
JEllipsis
},
data() {
return {
description: '这是菜单管理页面',
// 表头
columns: columns,
loading: false,
pagination: {},
url: {
list: '/property/propertySettled/list',
delete: '/sys/permission/delete',
deleteBatch: '/sys/permission/deleteBatch'
}
}
},
methods: {
loadData() {
this.loading = true
getPropertyListApi({
pageNo: 1,
pageSize: 10
}).then((res) => {
if (res.success) {
const pagination = { ...this.pagination };
pagination.total = res.result.total
this.dataSource = res.result.records
}
}).finally(()=>{
this.loading = false
})
},
// 打开数据规则编辑
handleDataRule(record) {
this.$refs.PermissionDataRuleList.edit(record)
},
handleAddSub(record) {
this.$refs.modalForm.title = "添加子菜单";
this.$refs.modalForm.disableSubmit = false;
this.$refs.modalForm.edit({status:'1',permsType:'1',route:true,'parentId':record.id,menuType:1});
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
\ No newline at end of file
差异被折叠。
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
switchFullscreen
@ok="handleOk"
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<property-settled-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></property-settled-form>
</j-modal>
</template>
<script>
import PropertySettledForm from './PropertySettledForm'
export default {
name: 'PropertySettledModal',
components: {
PropertySettledForm
},
data () {
return {
title:'',
width: '70%',
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.add();
})
},
edit (record) {
this.visible=true
this.$nextTick(()=>{
this.$refs.realForm.edit(record);
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleCancel () {
this.close()
}
}
}
</script>
\ No newline at end of file
...@@ -23,8 +23,11 @@ ...@@ -23,8 +23,11 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="7" :sm="10"> <a-col :md="7" :sm="10">
订单时间:
<a-range-picker @change="onChangeData" /> <a-form-item label="订单时间:">
<a-date-picker placeholder="订单时间" valueFormat="YYYY-MM-DD 00:00:00" v-model="queryParam.createTime"></a-date-picker>
</a-form-item>
</a-col> </a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="5" :sm="24"> <a-col :md="5" :sm="24">
......
...@@ -18,8 +18,10 @@ ...@@ -18,8 +18,10 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="7" :sm="10"> <a-col :md="7" :sm="10">
订单时间:
<a-range-picker @change="onChangeData" /> <a-form-item label="订单时间:">
<a-date-picker placeholder="订单时间" valueFormat="YYYY-MM-DD 00:00:00" v-model="queryParam.createTime"></a-date-picker>
</a-form-item>
</a-col> </a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="5" :sm="24"> <a-col :md="5" :sm="24">
......
...@@ -87,6 +87,7 @@ module.exports = { ...@@ -87,6 +87,7 @@ module.exports = {
devServer: { devServer: {
port: 3000, port: 3000,
disableHostCheck: true,
// hot: true, // hot: true,
// disableHostCheck: true, // disableHostCheck: true,
// overlay: { // overlay: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论