张雄 3 years ago
parent f22b728ab7
commit 09c0417a05

@ -13,8 +13,8 @@
<a-radio-button :value="6">待支付</a-radio-button> <a-radio-button :value="6">待支付</a-radio-button>
<a-radio-button :value="7">已完成</a-radio-button> <a-radio-button :value="7">已完成</a-radio-button>
<a-radio-button :value="8">已评价</a-radio-button> <a-radio-button :value="8">已评价</a-radio-button>
<a-radio-button :value="9">已拒绝</a-radio-button> <!-- <a-radio-button :value="9">已拒绝</a-radio-button> -->
<a-radio-button :value="10">已取消</a-radio-button> <a-radio-button :value="9">已取消</a-radio-button>
</a-radio-group> </a-radio-group>
</a-space> </a-space>
</div> </div>
@ -110,7 +110,7 @@
<span slot="tags" slot-scope="tag"> <span slot="tags" slot-scope="tag">
<a-tag :color="tag === 1 ? '#FF8C39' : tag === 2 ? '#921EAF' : tag === 4 ? '#205FBD' : tag === 8 ? 'rgba(0, 0, 0, 0.45)' : tag === 10 ? '#D53131' : 'grey'"> <a-tag :color="tag === 1 ? '#FF8C39' : tag === 2 ? '#921EAF' : tag === 4 ? '#205FBD' : tag === 8 ? 'rgba(0, 0, 0, 0.45)' : tag === 10 ? '#D53131' : 'grey'">
{{ tag === 1 ? "待分配" : tag === 2 ? "工单池" :tag === 3 ? "已接单" :tag === 4 ? "处理中" :tag === 5 ? "待确认" :tag === 6 ? "待支付" {{ tag === 1 ? "待分配" : tag === 2 ? "工单池" :tag === 3 ? "已接单" :tag === 4 ? "处理中" :tag === 5 ? "待确认" :tag === 6 ? "待支付"
:tag === 7 ? "已完成" :tag === 8 ? "已评价" :tag === 9 ? "已拒绝" :tag === 10 ? "已取消" :'-' }} :tag === 7 ? "已完成" :tag === 8 ? "已评价" :tag === 9 ? "已取消" :tag === 10 ? "已取消" :'-' }}
</a-tag> </a-tag>
</span> </span>
<span slot="principal" slot-scope="text, row"> <span slot="principal" slot-scope="text, row">
@ -478,7 +478,7 @@ export default {
repShow: false, repShow: false,
repData: [], repData: [],
repForm: {workOrderId: undefined, content: '', imgUrls: []}, repForm: {workOrderId: undefined, content: '', imgUrls: []},
repStatus: ['','待分配','工单池','已接单','处理中','待确认','待支付','已完成','已评价','已拒绝','已取消'], repStatus: ['','待分配','工单池','已接单','处理中','待确认','待支付','已完成','已评价','已取消','已取消'],
// //
detailData: { detailData: {
workOrderCostList: [], workOrderCostList: [],

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-11-18 17:27:08 * @Date: 2021-11-18 17:27:08
* @LastEditTime: 2021-11-26 16:19:53 * @LastEditTime: 2021-11-24 15:34:41
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /ansu-business/src/views/Layout/index.vue * @FilePath: /ansu-business/src/views/Layout/index.vue
@ -9,7 +9,7 @@
<template> <template>
<a-layout id="components-layout-demo-custom-trigger"> <a-layout id="components-layout-demo-custom-trigger">
<a-layout-sider v-model="collapsed" :trigger="null" collapsible> <a-layout-sider v-model="collapsed" :trigger="null" collapsible>
<div class="logo"><img class="m1" src="../../assets/images/logo.png" /><span class="s1" v-if="!collapsed">SaaS</span></div> <div class="logo"><img class="m1" src="../../assets/images/512_512.png" /><span class="s1" v-if="!collapsed">SaaS</span></div>
<yMenu :csd="collapsed" :num='tagActive'></yMenu> <yMenu :csd="collapsed" :num='tagActive'></yMenu>
</a-layout-sider> </a-layout-sider>
<a-layout> <a-layout>
@ -85,7 +85,11 @@ export default {
{ {
label: "运营管理", label: "运营管理",
value: "operation" value: "operation"
} },
// {
// label: "",
// value: "setting"
// }
], ],
}; };
}, },
@ -128,10 +132,10 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.m1 { .m1 {
height: 24px; height: 24px;
background: #fff; background: #fff;
padding: 3px; padding: 3px;
border-radius: 2px; border-radius: 2px;
} }
.s1 { .s1 {
display: block; display: block;
@ -160,8 +164,9 @@ export default {
} }
.h-d1-item-active { .h-d1-item-active {
.s1 { .s1 {
border-bottom: 2px solid #5679b1; border-bottom: 2px solid #5679b1;
} }
} }
} }
.h-d2 { .h-d2 {

@ -1,7 +1,7 @@
<template> <template>
<div class="bg"> <div class="bg">
<div class="logo-box"> <div class="logo-box">
<img src="@/assets/images/logo.png" alt="" /> <img src="@/assets/images/512_512.png" alt="" />
<span class="title">智慧小区后台管理系统</span> <span class="title">智慧小区后台管理系统</span>
</div> </div>
<div class="login-box"> <div class="login-box">
@ -37,12 +37,12 @@
<a-checkbox></a-checkbox>&nbsp;&nbsp;我已同意<a href="/#/rule" target="tar">用户协议</a> <a-checkbox></a-checkbox>&nbsp;&nbsp;我已同意<a href="/#/rule" target="tar">用户协议</a>
</a-col> </a-col>
<a-col :span="10"> <a-col :span="10">
<span class="logintext" @click="status = 3">忘记密码</span <!-- <span class="logintext" @click="status = 3">忘记密码</span
>&nbsp;&nbsp;&nbsp;&nbsp;<span >&nbsp;&nbsp;&nbsp;&nbsp;<span
class="logintext" class="logintext"
@click="status = 2" @click="status = 2"
>免费注册</span >免费注册</span
> > -->
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
@ -111,12 +111,12 @@
<a-checkbox v-model="isChecked"></a-checkbox>&nbsp;&nbsp;我已同意<a href="/#/rule" target="tar">用户协议</a> <a-checkbox v-model="isChecked"></a-checkbox>&nbsp;&nbsp;我已同意<a href="/#/rule" target="tar">用户协议</a>
</a-col> </a-col>
<a-col :span="10"> <a-col :span="10">
<span class="logintext" @click="status = 3">忘记密码</span <!-- <span class="logintext" @click="status = 3">忘记密码</span
>&nbsp;&nbsp;&nbsp;&nbsp;<span >&nbsp;&nbsp;&nbsp;&nbsp;<span
class="logintext" class="logintext"
@click="status = 2" @click="status = 2"
>免费注册</span >免费注册</span
> > -->
</a-col> </a-col>
</a-row> </a-row>
</div> </div>

@ -189,10 +189,10 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-model-item prop="billingAccuracy" label="计费度"> <a-form-model-item prop="billingAccuracy" label="计费度">
<a-select <a-select
v-model="form.billingAccuracy" v-model="form.billingAccuracy"
placeholder="请选择计费度" placeholder="请选择计费度"
style="width: 60%" style="width: 60%"
> >
<a-select-option <a-select-option

@ -3,8 +3,8 @@
<div class="drawer-content"> <div class="drawer-content">
<div style="display: flex"> <div style="display: flex">
<div class="inner-content"> <div class="inner-content">
<a-tree v-model="checkedKeys" :selected-keys="form.estateIds" <a-tree v-model="checkedKeys" @check="onCheck"
:selectable="false" :tree-data="roomTreeData" checkable checkStrictly :replace-fields="replaceFields"></a-tree> :selectable="false" :tree-data="roomTreeData" checkable :replace-fields="replaceFields"></a-tree>
</div> </div>
<div class="inner-content"> <div class="inner-content">
<a-table :data-source="tableData" :columns="columns" :pagination="false" <a-table :data-source="tableData" :columns="columns" :pagination="false"
@ -51,6 +51,17 @@
import {findEstateCascade} from "@/api/basic/estate" import {findEstateCascade} from "@/api/basic/estate"
import { chargesList } from "@/api/payment/chargeStandardManage"; import { chargesList } from "@/api/payment/chargeStandardManage";
import { manuallyGenerateBills } from "@/api/payment/payPlan" import { manuallyGenerateBills } from "@/api/payment/payPlan"
function deleteIds(lists) {
// idididundefined
lists.forEach((list) => {
if (list.childList) {
list.id = undefined;
deleteIds(list.childList);
} else {
return;
}
});
}
export default { export default {
name: 'addBillDrawer', name: 'addBillDrawer',
props: { props: {
@ -63,9 +74,6 @@ export default {
}, },
immediate: true, immediate: true,
}, },
checkedKeys(val) {
this.form.estateIds = val.checked;
},
}, },
mounted() { mounted() {
this.getApi() this.getApi()
@ -93,7 +101,11 @@ export default {
{title: "费用名称", dataIndex: "name"}, {title: "费用名称", dataIndex: "name"},
{title: "计费方式", dataIndex: "billingType"}, {title: "计费方式", dataIndex: "billingType"},
{title: "计量方式", dataIndex: "calculateType"}, {title: "计量方式", dataIndex: "calculateType"},
{title: "计量单价", dataIndex: "calculateUnit"}, {title: "计量单价", dataIndex: "calculateUnit",
customRender: function (calculateUnit) {
return (calculateUnit*1).toFixed(2)
},
},
{title: "备注", dataIndex: "remarks"}, {title: "备注", dataIndex: "remarks"},
], ],
selTime: [] selTime: []
@ -103,13 +115,14 @@ export default {
getApi() { getApi() {
findEstateCascade().then(res => { findEstateCascade().then(res => {
let data = res.data; let data = res.data;
data.forEach(ele => { // data.forEach(ele => {
ele.childList.forEach(el => { // ele.childList.forEach(el => {
el.checkable = false // el.checkable = false
}); // });
ele.checkable = false // ele.checkable = false
}) // })
this.roomTreeData = data this.roomTreeData = data
deleteIds(this.roomTreeData);
}); });
chargesList({pageNum: 1,size: 1000}).then(res => { chargesList({pageNum: 1,size: 1000}).then(res => {
let data = res.data.rows; let data = res.data.rows;
@ -120,7 +133,13 @@ export default {
this.$emit("onClose"); this.$emit("onClose");
}, },
onCheck(checkedKeys) { onCheck(checkedKeys) {
this.checkedKeys = checkedKeys.checked; let ids = [];
for (let id of checkedKeys) {
if (typeof id == "number") {
ids.push(id);
}
}
this.form.estateIds = ids;
}, },
// //
selectionChoosed(data) { selectionChoosed(data) {

@ -3,8 +3,8 @@
<div class="drawer-content"> <div class="drawer-content">
<div style="display: flex"> <div style="display: flex">
<div class="inner-content"> <div class="inner-content">
<a-tree v-model="checkedKeys" :selected-keys="form.estateIds" <a-tree v-model="checkedKeys" @check="onCheck"
:selectable="false" :tree-data="roomTreeData" checkable checkStrictly :replace-fields="replaceFields"></a-tree> :selectable="false" :tree-data="roomTreeData" checkable :replace-fields="replaceFields"></a-tree>
</div> </div>
<div class="inner-content"> <div class="inner-content">
<a-table :data-source="tableData" :columns="columns" :pagination="false" <a-table :data-source="tableData" :columns="columns" :pagination="false"
@ -77,6 +77,17 @@
import {findEstateCascade} from "@/api/basic/estate" import {findEstateCascade} from "@/api/basic/estate"
import { chargesList } from "@/api/payment/chargeStandardManage"; import { chargesList } from "@/api/payment/chargeStandardManage";
import { autoGenerateBills } from "@/api/payment/payPlan" import { autoGenerateBills } from "@/api/payment/payPlan"
function deleteIds(lists) {
// idididundefined
lists.forEach((list) => {
if (list.childList) {
list.id = undefined;
deleteIds(list.childList);
} else {
return;
}
});
}
export default { export default {
name: 'addBillDrawer', name: 'addBillDrawer',
props: { props: {
@ -88,10 +99,7 @@ export default {
this.isVisibleDrawer = newValue; this.isVisibleDrawer = newValue;
}, },
immediate: true, immediate: true,
}, }
checkedKeys(val) {
this.form.estateIds = val.checked;
},
}, },
mounted() { mounted() {
this.getApi() this.getApi()
@ -120,10 +128,14 @@ export default {
// //
tableData: [], tableData: [],
columns: [ columns: [
{title: "费用名称", dataIndex: "name",width: 100}, {title: "费用名称", dataIndex: "name"},
{title: "计费方式", dataIndex: "billingType",width: 100}, {title: "计费方式", dataIndex: "billingType"},
{title: "计量方式", dataIndex: "calculateType",width: 100}, {title: "计量方式", dataIndex: "calculateType"},
{title: "计量单价", dataIndex: "calculateUnit",width: 100}, {title: "计量单价", dataIndex: "calculateUnit",
customRender: function (calculateUnit) {
return (calculateUnit*1).toFixed(2)
},
},
{title: "备注", dataIndex: "remarks"}, {title: "备注", dataIndex: "remarks"},
], ],
selTime: [] selTime: []
@ -133,13 +145,14 @@ export default {
getApi() { getApi() {
findEstateCascade().then(res => { findEstateCascade().then(res => {
let data = res.data; let data = res.data;
data.forEach(ele => { // data.forEach(ele => {
ele.childList.forEach(el => { // ele.childList.forEach(el => {
el.checkable = false // el.checkable = false
}); // });
ele.checkable = false // ele.checkable = false
}) // })
this.roomTreeData = data this.roomTreeData = data
deleteIds(this.roomTreeData);
}); });
chargesList({pageNum: 1,size: 1000}).then(res => { chargesList({pageNum: 1,size: 1000}).then(res => {
let data = res.data.rows; let data = res.data.rows;
@ -150,7 +163,13 @@ export default {
this.$emit("onClose"); this.$emit("onClose");
}, },
onCheck(checkedKeys) { onCheck(checkedKeys) {
this.checkedKeys = checkedKeys.checked; let ids = [];
for (let id of checkedKeys) {
if (typeof id == "number") {
ids.push(id);
}
}
this.form.estateIds = ids;
}, },
// //
selectionChoosed(data) { selectionChoosed(data) {

@ -3,8 +3,8 @@
<div class="drawer-content"> <div class="drawer-content">
<div style="display: flex"> <div style="display: flex">
<div class="inner-content"> <div class="inner-content">
<a-tree v-model="checkedKeys" :selected-keys="form.estateIds" <a-tree v-model="checkedKeys" @check="onCheck"
:selectable="false" :tree-data="roomTreeData" checkable checkStrictly :replace-fields="replaceFields"></a-tree> :selectable="false" :tree-data="roomTreeData" checkable :replace-fields="replaceFields"></a-tree>
</div> </div>
<div class="inner-content"> <div class="inner-content">
<a-table :data-source="tableData" :columns="columns" :pagination="false" <a-table :data-source="tableData" :columns="columns" :pagination="false"
@ -77,6 +77,17 @@
import {findEstateCascade} from "@/api/basic/estate" import {findEstateCascade} from "@/api/basic/estate"
import { chargesList } from "@/api/payment/chargeStandardManage"; import { chargesList } from "@/api/payment/chargeStandardManage";
import { autoDeductionBills } from "@/api/payment/payPlan" import { autoDeductionBills } from "@/api/payment/payPlan"
function deleteIds(lists) {
// idididundefined
lists.forEach((list) => {
if (list.childList) {
list.id = undefined;
deleteIds(list.childList);
} else {
return;
}
});
}
export default { export default {
name: 'addBillDrawer', name: 'addBillDrawer',
props: { props: {
@ -88,10 +99,7 @@ export default {
this.isVisibleDrawer = newValue; this.isVisibleDrawer = newValue;
}, },
immediate: true, immediate: true,
}, }
checkedKeys(val) {
this.form.estateIds = val.checked;
},
}, },
mounted() { mounted() {
this.getApi() this.getApi()
@ -120,10 +128,14 @@ export default {
// //
tableData: [], tableData: [],
columns: [ columns: [
{title: "费用名称", dataIndex: "name",width: 100}, {title: "费用名称", dataIndex: "name"},
{title: "计费方式", dataIndex: "billingType",width: 100}, {title: "计费方式", dataIndex: "billingType"},
{title: "计量方式", dataIndex: "calculateType",width: 100}, {title: "计量方式", dataIndex: "calculateType"},
{title: "计量单价", dataIndex: "calculateUnit",width: 100}, {title: "计量单价", dataIndex: "calculateUnit",
customRender: function (calculateUnit) {
return (calculateUnit*1).toFixed(2)
},
},
{title: "备注", dataIndex: "remarks"}, {title: "备注", dataIndex: "remarks"},
], ],
selTime: [] selTime: []
@ -133,13 +145,14 @@ export default {
getApi() { getApi() {
findEstateCascade().then(res => { findEstateCascade().then(res => {
let data = res.data; let data = res.data;
data.forEach(ele => { // data.forEach(ele => {
ele.childList.forEach(el => { // ele.childList.forEach(el => {
el.checkable = false // el.checkable = false
}); // });
ele.checkable = false // ele.checkable = false
}) // })
this.roomTreeData = data this.roomTreeData = data
deleteIds(this.roomTreeData);
}); });
chargesList({pageNum: 1,size: 1000}).then(res => { chargesList({pageNum: 1,size: 1000}).then(res => {
let data = res.data.rows; let data = res.data.rows;
@ -150,7 +163,13 @@ export default {
this.$emit("onClose"); this.$emit("onClose");
}, },
onCheck(checkedKeys) { onCheck(checkedKeys) {
this.checkedKeys = checkedKeys.checked; let ids = [];
for (let id of checkedKeys) {
if (typeof id == "number") {
ids.push(id);
}
}
this.form.estateIds = ids;
}, },
// //
selectionChoosed(data) { selectionChoosed(data) {

@ -45,8 +45,8 @@
<div style="display: flex"> <div style="display: flex">
<div class="inner-content"> <div class="inner-content">
<div style="font-weight: 600">选择房屋</div> <div style="font-weight: 600">选择房屋</div>
<a-tree v-model="form.estateIds" <a-tree v-model="checkedKeys" @check="onCheck"
:selectable="false" :tree-data="roomTreeData" defaultExpandAll checkable checkStrictly :replace-fields="replaceFields"> :selectable="false" :tree-data="roomTreeData" defaultExpandAll checkable :replace-fields="replaceFields">
</a-tree> </a-tree>
</div> </div>
<div class="inner-content"> <div class="inner-content">
@ -127,6 +127,17 @@ import {billAutoList, getAutoDeductionBills} from "@/api/payment/payPlan" //查
import {deleteAutoGenerateBills, deleteAutoDeductionBills} from "@/api/payment/payPlan" // import {deleteAutoGenerateBills, deleteAutoDeductionBills} from "@/api/payment/payPlan" //
import {updateAutoGenerateBills, updateAutoDeductionBills} from "@/api/payment/payPlan" // import {updateAutoGenerateBills, updateAutoDeductionBills} from "@/api/payment/payPlan" //
import {findByIdByBillAutoId, findById} from "@/api/payment/payPlan" // import {findByIdByBillAutoId, findById} from "@/api/payment/payPlan" //
function deleteIds(lists) {
// idididundefined
lists.forEach((list) => {
if (list.childList) {
list.id = undefined;
deleteIds(list.childList);
} else {
return;
}
});
}
export default { export default {
name: 'payPlay', name: 'payPlay',
components: { components: {
@ -134,11 +145,6 @@ export default {
autoBillDrawer, autoBillDrawer,
autoBillPaymentDrawer autoBillPaymentDrawer
}, },
watch: {
checkedKeys(val) {
this.form.estateIds = val.checked;
},
},
data() { data() {
return { return {
// //
@ -167,7 +173,11 @@ export default {
{title: "费用名称", dataIndex: "name",width: 100}, {title: "费用名称", dataIndex: "name",width: 100},
{title: "计费方式", dataIndex: "billingType",width: 100}, {title: "计费方式", dataIndex: "billingType",width: 100},
{title: "计量方式", dataIndex: "calculateType",width: 100}, {title: "计量方式", dataIndex: "calculateType",width: 100},
{title: "计量单价", dataIndex: "calculateUnit",width: 100}, {title: "计量单价", dataIndex: "calculateUnit",width: 100,
customRender: function (calculateUnit) {
return (calculateUnit*1).toFixed(2)
},
},
{title: "备注", dataIndex: "remarks"}, {title: "备注", dataIndex: "remarks"},
], ],
//////// ////////
@ -251,13 +261,14 @@ export default {
getApi() { getApi() {
findEstateCascade().then(res => { findEstateCascade().then(res => {
let data = res.data; let data = res.data;
data.forEach(ele => { // data.forEach(ele => {
ele.childList.forEach(el => { // ele.childList.forEach(el => {
el.checkable = false // el.checkable = false
}); // });
ele.checkable = false // ele.checkable = false
}) // })
this.roomTreeData = data this.roomTreeData = data
deleteIds(this.roomTreeData);
}); });
chargesList({pageNum: 1,size: 1000}).then(res => { chargesList({pageNum: 1,size: 1000}).then(res => {
let data = res.data.rows; let data = res.data.rows;
@ -282,6 +293,15 @@ export default {
success() { success() {
this.getData(); this.getData();
}, },
onCheck(checkedKeys) {
let ids = [];
for (let id of checkedKeys) {
if (typeof id == "number") {
ids.push(id);
}
}
this.form.estateIds = ids;
},
// //
addBill() { addBill() {
this.addShow = true this.addShow = true

Loading…
Cancel
Save