张雄 3 years ago
parent df89efeed3
commit cef9b23e12

@ -53,6 +53,14 @@ export default [
redirect: '/Payment/ActivityManage',
meta: {title: '账单管理'},
children: [
{
path: '/BillManage/PayInfo',
name: "PayInfo",
title: "账单明细",
hide: false,
component: resolve => require(['@/views/Payment/BillManage/_payInfo'], resolve),
meta: {title: '账单明细'},
},
{
path: '/BillManage/PayList',
name: "PayList",

@ -31,7 +31,7 @@
class="tree"
v-model="checkedKeys"
checkable
checkStrictly
:defaultExpandAll="true"
:replace-fields="replaceFields"
:expanded-keys="expandedKeys"
:selected-keys="selectedKeys"
@ -108,6 +108,7 @@ export default {
this.roleId = data;
FindAllMenus({ roleId: this.roleId }).then((res) => {
this.menus = res.data;
console.log(res.data)
this.defaultCheck(this.menus);
});
} else if (data === undefined) {
@ -138,6 +139,7 @@ export default {
this.checkedKeys.push(item.id);
}
}
console.log(this.checkedKeys)
},
onExpand(expandedKeys) {
this.expandedKeys = expandedKeys;

@ -227,6 +227,7 @@ export default {
},
success() {
this.getData();
this.getPeople();
},
addClose() {
this.add.show = false;
@ -328,6 +329,9 @@ export default {
// this.form.roleId = arr.toString()
// },
async sendSubmit() {
if(this.form.roleId == ''){
this.form.roleId = null
};
const res = await assignRoles(this.form);
if (res.code === 200) {
this.$message.success(res.msg);

@ -9,7 +9,7 @@
:rules="rules"
:wrapper-col="{ span: 18 }"
>
<div>基本信息</div>
<div class="drawer-title">基本信息</div>
<a-divider></a-divider>
<a-row>
<a-col :span="12">
@ -92,7 +92,7 @@
>单张最多不超过4M最多上传2张支持JPG,PNG格式</span
>
</a-row>
<div>入职信息</div>
<div class="drawer-title">入职信息</div>
<a-divider></a-divider>
<a-row>
<a-col :span="12">
@ -141,7 +141,7 @@
<span style="color: #00000073">支持上传PNGJPGPDF文件</span>
</a-col>
</a-row>
<div style="margin-top: 20px">联系信息</div>
<div class="drawer-title">联系信息</div>
<a-divider></a-divider>
<a-row>
<a-col :span="12">
@ -172,7 +172,7 @@
</a-form-model-item>
</a-col>
</a-row>
<div>其他信息</div>
<div class="drawer-title">其他信息</div>
<a-divider></a-divider>
<a-row>
<a-col :span="12">
@ -470,3 +470,13 @@ export default {
};
</script>
<style lang="less">
.drawer-title {
margin: 0;
color: rgba(0, 0, 0, 0.85);
font-weight: 500;
font-size: 16px;
line-height: 22px;
margin-top: 16px
}
</style>

@ -3,12 +3,12 @@
<a-row>
<!-- 组织架构 -->
<a-col :span="5" class="left-tree">
<a-input-search
<!-- <a-input-search
style="margin-bottom: 8px"
placeholder="请输入搜索信息"
v-model="searchStr"
@change="onSearch"
/>
/> -->
<div>
<a-button type="link" @click="openDepartment(1)"
>+&nbsp;新建分组</a-button
@ -49,7 +49,7 @@
<a-col :span="19">
<div class="search-box">
<a-space size="large">
<a-input v-model="searchForm.keyword" placeholder="请输入申请人" />
<a-input v-model="searchForm.keyword" placeholder="请输入姓名/手机号" />
<a-button type="primary" @click='getData'> </a-button>
<a-button @click='reset'> </a-button>
</a-space>

@ -6,12 +6,12 @@ export const columns = [
{
title: "申请人姓名",
dataIndex:"name",
width:'14%'
width:'12%'
},
{
title: "申请人身份",
key: "tags",
width: "14%",
width: "12%",
dataIndex: "identity",
scopedSlots: { customRender: "tags" },
},
@ -24,7 +24,7 @@ export const columns = [
{
title: "申请人手机号",
dataIndex:"tel",
width:'14%'
width:'10%'
},
{
title: "申请人身份证号",
@ -34,7 +34,7 @@ export const columns = [
{
title: "状态",
dataIndex:"status",
width:'14%',
width:'10%',
customRender:function(status){
switch (status) {
case 1:
@ -51,7 +51,7 @@ export const columns = [
{
title: "房屋类型",
dataIndex:"estateTypeName",
width:'14%'
width:'10%'
},
{
title: "操作",

@ -57,7 +57,6 @@
:columns="columns"
:data-source="tableData"
:pagination="pagination"
:scroll="{ x: 1400 }"
@change="handleTableChange"
:row-selection="{
selectedRowKeys: selectedRowKeys,
@ -139,7 +138,10 @@ export default {
// index
selectedRowKeys: [],
tableData: [],
ActionsList: [],
ActionsList: [
{ value: 1, label: '批量通过'},
{ value: 2, label: '批量驳回'}
],
activeName:'1',
options:{
identity:[
@ -202,11 +204,16 @@ export default {
},
handleTableChange:handleTableChange,
Actions(data) {
console.log(data);
this.selectedRowKeys.forEach(ele => {
let obj = {operate: data, estateReviewId: ele};
review(obj);
this.$message.success('操作成功')
})
this.activeAction = undefined;
this.selectedRowKeys = [];
this.getData();
},
selectionChoosed(data) {
console.log(data);
this.selectedRowKeys = data;
},
reset: reset,

@ -121,12 +121,12 @@
</div>
</a-upload>
</a-col>
<div v-show="form.identity === 2 || form.identity === 4">
<div v-show=" form.identity === 4">
关联信息
<a-divider></a-divider>
</div>
<div v-if="form.identity === 2">
<a-col :span="12">
<!-- <a-col :span="12">
<a-form-model-item label="业主姓名" prop="ownerName">
<a-input placeholder="请输入业主姓名" v-model="form.ownerName" style="width: 90%" />
</a-form-model-item>
@ -135,7 +135,7 @@
<a-form-model-item label="业主电话" prop="ownerTel">
<a-input placeholder="请输入业主电话" v-model="form.ownerTel" style="width: 90%" />
</a-form-model-item>
</a-col>
</a-col> -->
</div>
<div v-else-if="form.identity === 4">
<a-col :span="12">

@ -6,14 +6,35 @@ export const columns = [
{
title: "住户姓名",
dataIndex: "name",
width: 100
},
{
title: "住户手机号",
dataIndex: "tel",
width: 160
},
{
title: "居住房屋",
dataIndex: "build",
scopedSlots: { customRender: "build" },
width: 380
},
{
title: "住户身份",
dataIndex: "ids",
width: 120,
scopedSlots: { customRender: "ids" },
},
{
title: "房屋类型",
dataIndex: "type",
width: 120,
scopedSlots: { customRender: "type" },
},
{
title: "住户性别",
dataIndex: "sex",
width: 120,
customRender:function(sex){
switch (sex) {
case 1:

@ -46,6 +46,21 @@
}
"
>
<span slot="build" slot-scope="text, row">
<div v-for="(item,index) in row.residentListEstateVoList" :key="index">
{{item.manageBuildingName}}-{{item.manageUnitName}}-{{item.floorLocation}}-{{item.manageEstateName}}
</div>
</span>
<span slot="ids" slot-scope="text, row">
<a-tag v-for="(item,index) in row.residentListEstateVoList" :key="index">
{{item.identity==3?'租户':1?'业主':2?'业主亲属':'租户亲属'}}
</a-tag>
</span>
<span slot="type" slot-scope="text, row">
<div v-for="(item,index) in row.residentListEstateVoList" :key="index">
{{item.manageEstateTypeName}}
</div>
</span>
<span slot="action" slot-scope="text, row">
<a-space>
<a class="ant-dropdown-link" @click="houseManage(row)"></a>
@ -431,6 +446,10 @@ export default {
this.inform.estateId = undefined;
}
},
//
handlerBuilding(index) {
console.log(index);
}
},
computed: {
// selection

@ -60,7 +60,7 @@
<span>总费用{{total}}</span>
</template>
</a-table>
<a-button type="primary" ghost @click="addFee"></a-button>
<a-button type="primary" ghost @click="addFee"></a-button>
</a-form-model>
</div>
<div class="drawer-footer">

@ -4,7 +4,7 @@ export const formItem = [
type: 'select',
label:'状态',
prop:'status',
option:[{ id:1,name:'报名未开始'},{ id:2,name:'报名进行中'},{ id:3,name:'活动未开始'},{ id:4,name:'活动进行中'},{ id:5,name:'活动已结束'}],
option:[{id: null,name:'全部'},{ id:1,name:'报名未开始'},{ id:2,name:'报名进行中'},{ id:3,name:'活动未开始'},{ id:4,name:'活动进行中'},{ id:5,name:'活动已结束'}],
placeholder:'请选择状态'
},
{
@ -33,30 +33,30 @@ export const formItem = [
prop:'organizerName',
placeholder:'请输入'
},
{
type: 'input',
label:'活动联系人',
prop:'activityContact',
placeholder:'请输入'
},
// {
// type: 'input',
// label:'活动联系人',
// prop:'activityContact',
// placeholder:'请输入'
// },
]
export const columns = [
{
title: "发布时间",
dataIndex: "createDate",
width: "12%",
width: "10%",
},
{
title: "图片",
dataIndex: "imgpic",
width: "10%",
width: "5%",
scopedSlots: { customRender: "imgpic"}
},
{
title: "活动状态",
dataIndex: "status",
width: "6%",
width: "5%",
customRender: function (status) {
switch (status) {
case 1:
@ -112,14 +112,14 @@ export const columns = [
},
{
title: "报名时间",
width: "12%",
width: "14%",
customRender: function (data) {
return (data.registrationStartTime + '——' + data.registrationEndTime)
}
},
{
title: "活动时间",
width: "12%",
width: "14%",
customRender: function (data) {
return (data.activityStartTime + '——' + data.activityEndTime)
}

@ -1,18 +1,26 @@
<template>
<div>
<a-drawer
title="活动-详情"
title="活动详情"
:width="720"
:visible="show"
:body-style="{ paddingBottom: '80px' }"
@close="detailClose"
>
<div class="drawer-content">
<div class="content-title">
{{ detailData.title }}
<div style="display: flex">
<div><img v-for="item,index in detailData.imgList" :key='index' :src="$ImgUrl(item.url)" class="content-img"></div>
<div>
<div class="content-title">{{ detailData.title }}</div>
<div style="margin-top: 6px;width: 500px">主办方{{detailData.organizerName}}
<a-tag style="float: right;width: 86px;height: 24px;text-align:center">
{{detailData.status == 1?'报名未开始':2?'报名进行中':3?'活动未开始':4?'活动进行中':'活动已结束'}}
</a-tag>
</div>
</div>
</div>
<img v-for="item,index in detailData.imgList" :key='index' :src="$ImgUrl(item.url)" class="content-img">
<a-descriptions>
<a-divider></a-divider>
<a-descriptions class="content-des" layout="vertical">
<a-descriptions-item label="创建时间">
{{ detailData.createDate }}
</a-descriptions-item>
@ -22,14 +30,13 @@
<a-descriptions-item label="活动对象">
{{ detailData.activityObject | activityObject }}
</a-descriptions-item>
</a-descriptions>
<a-descriptions style="padding: 0px 32px 0px 32px" layout="vertical" :column="1">
<a-descriptions-item label="活动内容">
{{ detailData.content }}
</a-descriptions-item>
<a-descriptions-item label="活动主办方">
{{ detailData.organizerName }}
</a-descriptions-item>
</a-descriptions>
<a-descriptions title="报名设置">
<a-descriptions class="content-des" title="报名设置" layout="vertical">
<a-descriptions-item label="报名开始时间">
{{ detailData.registrationStartTime }}
</a-descriptions-item>
@ -43,7 +50,7 @@
{{ detailData.activityAddress }}
</a-descriptions-item>
</a-descriptions>
<a-descriptions title="活动设置">
<a-descriptions class="content-des" title="活动设置" layout="vertical">
<a-descriptions-item label="活动开始时间">
{{ detailData.activityStartTime }}
</a-descriptions-item>
@ -57,7 +64,8 @@
{{ detailData.activityTel }}
</a-descriptions-item>
</a-descriptions>
报名记录
<div class="content-des">
<div class="des-title">报名记录</div>
<a-divider></a-divider>
<a-table
:columns="detailColumns"
@ -72,6 +80,8 @@
"
></a-table>
</div>
</div>
<div class="drawer-footer">
<a-button :style="{ marginRight: '8px' }" @click="detailClose">
关闭
@ -142,7 +152,6 @@ export default {
detailId: {
handler(id) {
if (id !== null && id !== undefined) {
console.log(id);
Promise.all([
activityInfo({ activityId: id }),
registrationList({ activityId: id }),
@ -165,9 +174,20 @@ export default {
font-weight: 500;
font-size: 18px;
line-height: 25px;
padding: 12px 0px 12px 0px;
}
.content-img{
width: 108px;
height: 86px;
}
.content-des {
padding: 32px
}
.des-title {
margin-bottom: 20px;
color: rgba(0, 0, 0, 0.85);
font-weight: bold;
font-size: 16px;
line-height: 1.5;
}
</style>

@ -8,13 +8,21 @@ export const form = {
remarks:undefined,
imgUrls:[],
}
const handleConfirm = (rule,value,callback) => {
if(value.length != 20) {
callback('请输入正确的格式')
};
callback();
}
export const rules = {
unit:[{required:true,message:'请输入标题',trigger:'blur'}],
contact:[{required:true,message:'请输入标题',trigger:'blur'}],
tel:[{required:true,message:'请输入标题',trigger:'blur'}],
unit:[{required:true,message:'请输入',trigger:'blur'}],
contact:[{required:true,message:'请输入联系方式',trigger:'blur'}],
tel:[{required:true,message:'请输入',trigger:'blur'}],
idType:[{required:true,message:'请选择',trigger:'change'}],
idNumber:[{required:true,message:'请输入标题',trigger:'blur'}],
remarks:[{required:true,message:'请输入标题',trigger:'blur'}],
idNumber:[{required:true,message:'请输入证件号码',trigger:['blur','change']},{validator: (rule,value,callback) => handleConfirm(rule,value,callback)}],
remarks:[{required:true,message:'请输入备注',trigger:'blur'}],
}
export const options = {
idType:[
@ -23,3 +31,4 @@ export const options = {
],
}

@ -18,7 +18,7 @@
>
<a-row>
<a-col :span="12">
<a-form-model-item prop="unit" label="活动联系人">
<a-form-model-item prop="unit" label="主办方单位">
<a-input
v-model="form.unit"
placeholder="请输入主办方名称"

@ -31,17 +31,17 @@ export const columns = [
{
title: "话题标题",
dataIndex: "title",
width: "12%",
width: 184,
},
{
title: "内容",
dataIndex: "content",
width: "16%",
width: 222,
},
{
title: "图片",
dataIndex: "imgpic",
width: "16%",
width: 106,
scopedSlots: { customRender: "imgpic"}
},
{

@ -9,7 +9,7 @@
:columns="columns"
:data-source="tableData"
:pagination="pagination"
:scroll="{ x: 1400 }"
:scroll="{ x: 2400 }"
@change="handleTableChange"
:row-selection="{
selectedRowKeys: selectedRowKeys,

@ -32,17 +32,17 @@ export const columns = [
{
title: "标题",
dataIndex: "title",
width: "10%",
width: 340,
},
{
title: "分类",
dataIndex: "categoryName",
width: "10%",
width: 145,
},
{
title: "发布状态",
dataIndex: "status",
width: "6%",
width: 145,
customRender: function (status) {
switch (status) {
case 1:
@ -55,12 +55,12 @@ export const columns = [
{
title: "阅读量",
dataIndex: "viewsNum",
width: "10%",
width: 145,
},
{
title: "创建时间",
dataIndex: "createDate",
width: "12%",
width: 220,
},
{
title: "操作",

@ -142,7 +142,6 @@ export default {
this.$message.error(res.msg);
}
} else {
console.log(this.form);
let res = await newsUpdate(this.form);
if (res.code === 200) {
this.$message.success(res.msg);
@ -171,7 +170,6 @@ export default {
newsInfo({ informationId: val }).then((res) => {
this.form = res.data;
if (res.data.imgList.length > 0) {
console.log(res.data.imgList);
const pic = [];
for (let item of res.data.imgList) {
let obj = {

@ -9,7 +9,6 @@
:columns="columns"
:data-source="tableData"
:pagination="pagination"
:scroll="{ x: 2600 }"
@change="handleTableChange"
:row-selection="{
selectedRowKeys: selectedRowKeys,

@ -39,7 +39,8 @@ import { activityList } from "@/api/operation/activity";
export default {
props: {
type: Number,
show:Boolean
show: Boolean,
selected: Number,
},
data() {
return {
@ -90,12 +91,14 @@ export default {
this.$emit('submit',this.selectedRowKeys,this.joinString)
this.selectedRowKeys = []
}
},
},
watch: {
type: {
handler(val) {
if(this.selected != null) {
this.selectedRowKeys = [this.selected]
}
if (val === 2) {
this.typeMean = 'shop'
shopPushList({

@ -116,6 +116,7 @@
<chooseTable
:show="table.show"
:type="form.type"
:selected="selected"
@submit="submitURL"
@close="close"
/>
@ -148,6 +149,7 @@ export default {
title: "添加轮播图",
},
form,
selected: undefined,
};
},
mounted() {
@ -194,12 +196,12 @@ export default {
show: true,
title: "修改轮播图",
};
console.log(data);
this.form.id = data.id;
this.form.isShow = data.isShow;
this.form.showWeights = data.showWeights;
this.form.type = data.type;
this.form.customizeUrl = data.customizeUrl;
this.selected = data.associationId;
this.form.associationId = data.associationId;
if (data.imgList.length > 0) {
//

@ -0,0 +1,30 @@
export const formItem = [
{
type: 'input',
label:'',
prop:'',
placeholder:'请输入'
},
]
export const columns = [
{
title: "",
dataIndex: "",
},
{
title: "操作",
dataIndex: "action",
key: "action",
width: "180",
fixed: "right",
scopedSlots: { customRender: "action" },
},
]
export const pagination = {
current: 1,
total: 0,
pageSize: 10,
showTotal: (total) => `${total}`,
showSizeChanger: true,
showQuickJumper: true,
}

@ -0,0 +1,33 @@
<template>
<div>
<div class="cardTitle">账单明细</div>
<searchForm :formItem="formItem" @getSearch="search($event)"></searchForm>
</div>
</template>
<script>
export default {
name: 'payInfo',
data() {
return {
searchForm: {
},
formItem: []
}
},
methods: {
getData() {
},
search(data) {
this.searchForm = data;
this.getData()
},
}
}
</script>
<style>
</style>

@ -14,10 +14,40 @@ export const columns = [
{
title: "计费方式",
dataIndex: "billingType",
customRender:function(billingType){
switch (billingType) {
case 1:
return '单价*数量'
case 2:
return '固定金额'
default:
break;
}
}
},
{
title: "计量方式",
dataIndex: "calculateType",
customRender:function(calculateType){
switch (calculateType) {
case 1:
return '建筑面积'
case 2:
return '使用面积'
case 3:
return '公摊面积'
case 5:
return '仪表用量'
case 6:
return '房屋数分摊'
case 7:
return '房屋面积分摊'
case 8:
return '房屋在住人口分摊'
default:
break;
}
}
},
{
title: "单价",

@ -11,6 +11,11 @@
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: selectionChoosed,
getCheckboxProps: (record)=>({
props: {
disabled: record.status != 1
}
})
}"
:row-key="
(record, index) => {
@ -20,7 +25,7 @@
>
<span slot="action" slot-scope="text, row">
<a-space>
<a class="ant-dropdown-link" @click="push(row.id)"></a>
<a v-if="row.status == 1" class="ant-dropdown-link" @click="push(row.id)"></a>
</a-space>
</span>
<span slot="mainPhoto" slot-scope="text, row">

@ -32,10 +32,12 @@
</a-form-model-item>
<a-form-model-item label="签到方式" prop="signType">
<a-space>
<span
:class="[setForm.enableSignSetting === false ? 'disabled' : '']"
>{{ setForm.signType === 1 ? "一周每日签到模式" : "" }}</span
>
<!-- <span :class="[setForm.enableSignSetting === false ? 'disabled' : '']">
{{ setForm.signType === 1 ? "一周每日签到模式" : "" }}
</span> -->
<a-radio-group v-model="setForm.signType" button-style="solid">
<a-radio-button :value="1"> 一周每日签到方式 </a-radio-button>
</a-radio-group>
<a-popover>
<template slot="content">
<p style="width: 300px">
@ -61,10 +63,9 @@
/>
</a-form-model-item>
<a-form-model-item label="签到奖励" prop="signReward">
<span
:class="[setForm.enableSignSetting === false ? 'disabled' : '']"
>{{ setForm.signReward === 1 ? "商城积分" : "" }}</span
>
<a-radio-group v-model="setForm.signReward" button-style="solid">
<a-radio-button :value="1"> 商城积分 </a-radio-button>
</a-radio-group>
</a-form-model-item>
<a-form-model-item label="签到活动名称" prop="signName">
<a-input
@ -75,16 +76,16 @@
</a-form-model-item>
<a-form-model-item label="签到奖励设置" prop="signRewardSetting">
<div v-for="(item, index) in dailyScore" :key="index">
<a-space
>{{ item.label
}}<a-input
<a-space>
{{ item.label}}
<a-input
type="number"
:disabled="setForm.enableSignSetting === false"
v-model.number="dailyScore[index].value"
addon-after="分"
style="width: 100px"
></a-input
></a-space>
></a-input>
</a-space>
</div>
</a-form-model-item>
<a-form-model-item :wrapper-col="{ span: 14, offset: 4 }">
@ -151,6 +152,15 @@ export default {
this.time[1] = res.data.signEndTime;
},
async onSubmit() {
let reward = '';
for(let i=0;i<this.dailyScore.length;i++) {
if(i == this.dailyScore.length - 1) {
reward = reward + this.dailyScore[i].value
} else {
reward = reward + this.dailyScore[i].value + ','
}
}
this.setForm.signRewardSetting = reward;
let res = await Setting(this.setForm);
if (res.code === 200) {
this.$message.success(res.msg);
@ -160,7 +170,6 @@ export default {
}
},
changeTime(date) {
console.log(date);
this.setForm.signBeginTime = date[0];
this.setForm.signEndTime = date[1];
},

@ -9,6 +9,7 @@
module.exports = {
// ...
runtimeCompiler: true,
publicPath: './',
devServer: {
port: "8443",
},

Loading…
Cancel
Save