1、新增报修报表2、创建费用 费用类型优化

This commit is contained in:
xiaogang 2021-02-04 17:26:33 +08:00
parent 6f87edf421
commit 52a24e95a0
5 changed files with 356 additions and 7 deletions

View File

@ -24,7 +24,13 @@
_initMethod: function () {
$that._initRoomCreateFeeAddInfo();
vc.getDict('pay_fee_config', "fee_type_cd", function (_data) {
$that.roomCreateFeeAddInfo.feeTypeCds = _data;
var _datanew=[];
_data.forEach((item, index) => {
if(item.statusCd!="888800010015" && item.statusCd!="888800010016" ){
_datanew.push(item);
}
});
$that.roomCreateFeeAddInfo.feeTypeCds = _datanew;
});
},
_initEvent: function () {

View File

@ -1,4 +1,4 @@
<div class="animated fadeInRight ecommerce">
<div class="animated fadeInRight ecommerce">
<div class="row" v-if="applicationKeyManageInfo.showComponent == 'applicationKeyManage'">
<div class="col-lg-12">
<div class="ibox ">
@ -6,8 +6,8 @@
<h5>查询条件</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-link btn-sm" style="margin-right:10px;"
v-on:click="_moreCondition()">{{applicationKeyManageInfo.moreCondition ==
true?'隐藏':'更多'}}
v-on:click="_moreCondition()">
{{applicationKeyManageInfo.moreCondition == true?'隐藏':'更多'}}
</button>
</div>
</div>
@ -132,8 +132,7 @@
<div v-show="applicationKeyManageInfo.showComponent == 'addApplicationKey'">
<vc:create path="property/addApplicationKey"
callBackListener=""
callBackFunction=""
></vc:create>
callBackFunction=""></vc:create>
</div>
<div v-show="applicationKeyManageInfo.showComponent == 'editApplicationKey'">
<vc:create path="property/editApplicationKey"></vc:create>

View File

@ -0,0 +1,126 @@
<div class=" animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>查询条件</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-link btn-sm" style="margin-right:10px;"
v-on:click="_moreCondition()">{{reportRepairInfo.moreCondition == true ? '隐藏' : '更多'}}
</button>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-2">
<div class="form-group">
<input size="16" type="text" placeholder="请选择创建开始时间" name="beginStartTime"
v-model="reportRepairInfo.conditions.beginStartTime"
class="form-control form_datetime begin_start_time" autocomplete="off">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<input size="16" type="text" placeholder="请选择创建结束时间" name="beginEndTime"
v-model="reportRepairInfo.conditions.beginEndTime"
class="form-control form_datetime begin_end_time" autocomplete="off">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<input size="16" type="text" placeholder="请选择完结开始时间" name="finishStartTime"
v-model="reportRepairInfo.conditions.finishStartTime"
class="form-control form_datetime finish_start_time" autocomplete="off">
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<input size="16" type="text" placeholder="请选择完结结束时间" name="finishEndTime"
v-model="reportRepairInfo.conditions.finishEndTime"
class="form-control form_datetime finish_end_time" autocomplete="off">
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-primary btn-md" v-on:click="_queryMethod()">
<i class="fa fa-search"></i> 查询
</button>
<button type="button" class="btn btn-info btn-md" v-on:click="_resetMethod()"
style="margin-left: 20px;">
<i class="fa fa-repeat"></i> 重置
</button>
</div>
</div>
<div class="row" v-show="reportRepairInfo.moreCondition == true">
<div class="col-sm-2">
<select class="custom-select" v-model="reportRepairInfo.conditions.staffId">
<option selected value="" disabled>请选择员工姓名</option>
<option v-for="(item,index) in reportRepairInfo.repairUsers" :key="index"
v-bind:value="item.staffId">{{item.staffName}}</option>
</select>
</div>
<!--状态-->
<div class="col-sm-2">
<select class="custom-select" v-model="reportRepairInfo.conditions.state">
<option selected value="" disabled>请选择状态</option>
<option v-for="(item,index) in reportRepairInfo.states" :key="index"
v-bind:value="item.statusCd" v-if="item.statusCd != '10005'">{{item.name}}
</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>报修汇总表</h5>
<!--<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_exportFee()">
<i class="fa fa-plus"></i> 导出
</button>
</div>-->
</div>
<div class="ibox-content">
<table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15">
<thead>
<tr>
<th class="text-center">报修编号</th>
<th class="text-center">员工ID</th>
<th class="text-center">员工姓名</th>
<th class="text-center">处理中(条)</th>
<th class="text-center">派单(条)</th>
<th class="text-center">转单(条)</th>
<th class="text-center">退单(条)</th>
<th class="text-center">已完结(条)</th>
</tr>
</thead>
<tbody>
<tr v-for="(repair,index) in reportRepairInfo.repairs">
<td class="text-center">{{index+1}}</td>
<td class="text-center">{{repair.staffId}}</td>
<td class="text-center">{{repair.staffName}}</td>
<td class="text-center">{{repair.dealAmount}}</td>
<td class="text-center">{{repair.dispatchAmount}}</td>
<td class="text-center">{{repair.transferOrderAmount}}</td>
<td class="text-center">{{repair.chargebackAmount}}</td>
<td class="text-center">{{repair.statementAmount}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="8">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,218 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
reportRepairInfo: {
repairs: [],
total: 0,
records: 1,
moreCondition: false,
title: '',
states: '',
repairUsers: '',
conditions: {
staffId: '',
staffName: '',
state: '',
stateName: '',
amount: '',
beginStartTime: '',
beginEndTime: '',
finishStartTime: '',
finishEndTime: ''
}
}
},
_initMethod: function () {
vc.component._initDate();
vc.component._listRepairs(DEFAULT_PAGE, DEFAULT_ROWS);
//关联字典表费用类型
vc.getDict('r_repair_user', "state", function (_data) {
vc.component.reportRepairInfo.states = _data;
});
},
_initEvent: function () {
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listRepairs(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_initDate: function () {
$(".begin_start_time").datetimepicker({
minView: "month",
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
initTime: true,
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$(".begin_end_time").datetimepicker({
minView: "month",
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
initTime: true,
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$(".finish_start_time").datetimepicker({
minView: "month",
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
initTime: true,
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$(".finish_end_time").datetimepicker({
minView: "month",
language: 'zh-CN',
fontAwesome: 'fa',
format: 'yyyy-mm-dd',
initTime: true,
initialDate: new Date(),
autoClose: 1,
todayBtn: true
});
$('.begin_start_time').datetimepicker()
.on('changeDate', function (ev) {
var value = $(".begin_start_time").val();
vc.component.reportRepairInfo.conditions.beginStartTime = value;
});
$('.begin_end_time').datetimepicker()
.on('changeDate', function (ev) {
var value = $(".begin_end_time").val();
vc.component.reportRepairInfo.conditions.beginEndTime = value;
let start = Date.parse(new Date($that.reportRepairInfo.conditions.beginStartTime))
let end = Date.parse(new Date($that.reportRepairInfo.conditions.beginEndTime))
if (start - end > 0) {
vc.toast("结束时间必须大于开始时间")
$that.reportRepairInfo.conditions.beginEndTime = '';
}
});
$('.finish_start_time').datetimepicker()
.on('changeDate', function (ev) {
var value = $(".finish_start_time").val();
vc.component.reportRepairInfo.conditions.finishStartTime = value;
});
$('.finish_end_time').datetimepicker()
.on('changeDate', function (ev) {
var value = $(".finish_end_time").val();
vc.component.reportRepairInfo.conditions.finishEndTime = value;
let start = Date.parse(new Date($that.reportRepairInfo.conditions.finishStartTime))
let end = Date.parse(new Date($that.reportRepairInfo.conditions.finishEndTime))
if (start - end > 0) {
vc.toast("结束时间必须大于开始时间")
$that.reportRepairInfo.conditions.finishEndTime = '';
}
});
//防止多次点击时间插件失去焦点
document.getElementsByName('beginStartTime')[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
document.getElementsByName("beginEndTime")[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
document.getElementsByName('finishStartTime')[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
document.getElementsByName("finishEndTime")[0].addEventListener('click', myfunc)
function myfunc(e) {
e.currentTarget.blur();
}
},
//查询
_queryMethod: function () {
vc.component._listRepairs(DEFAULT_PAGE, DEFAULT_ROWS);
},
//查询方法
_listRepairs: function (_page, _rows) {
vc.component.reportRepairInfo.conditions.page = _page;
vc.component.reportRepairInfo.conditions.row = _rows;
vc.component.reportRepairInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: vc.component.reportRepairInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryRepair',
param,
function (json, res) {
var _reportRepairInfo = JSON.parse(json);
console.log("here is _reportRepairInfo")
console.log(_reportRepairInfo)
vc.component.reportRepairInfo.total = _reportRepairInfo.total;
vc.component.reportRepairInfo.records = _reportRepairInfo.records;
vc.component.reportRepairInfo.repairs = _reportRepairInfo.data;
vc.component.reportRepairInfo.repairUsers = _reportRepairInfo.sumTotal;
vc.emit('pagination', 'init', {
total: vc.component.reportRepairInfo.records,
currentPage: _page,
dataCount: vc.component.reportRepairInfo.total
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
//重置
_resetMethod: function (_page, _rows) {
vc.component._resetListRepairs(DEFAULT_PAGE, DEFAULT_ROWS);
},
_resetListRepairs: function (_page, _rows) {
vc.component.reportRepairInfo.conditions.staffId = "";
vc.component.reportRepairInfo.conditions.staffName = "";
vc.component.reportRepairInfo.conditions.beginStartTime = "";
vc.component.reportRepairInfo.conditions.beginEndTime = "";
vc.component.reportRepairInfo.conditions.finishStartTime = "";
vc.component.reportRepairInfo.conditions.finishEndTime = "";
vc.component.reportRepairInfo.conditions.state = "";
vc.component.reportRepairInfo.conditions.stateName = "";
var param = {
params: vc.component.reportRepairInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryRepair',
param,
function (json, res) {
var _reportRepairInfo = JSON.parse(json);
vc.component.reportRepairInfo.total = _reportRepairInfo.total;
vc.component.reportRepairInfo.records = _reportRepairInfo.records;
vc.component.reportRepairInfo.repairs = _reportRepairInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.reportRepairInfo.records,
currentPage: _page,
dataCount: vc.component.reportRepairInfo.total
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_moreCondition: function () {
if (vc.component.reportRepairInfo.moreCondition) {
vc.component.reportRepairInfo.moreCondition = false;
} else {
vc.component.reportRepairInfo.moreCondition = true;
}
}
}
});
})(window.vc);

View File

@ -66,7 +66,7 @@
</select>
</div>
</div>
<div class="col-sm-4">
<div class="col-sm-3">
<input type="text" placeholder="请填写业主身份证号" class="form-control "
v-model="roomCreateFeeInfo.conditions.idCard" @keyup.enter="_queryRoomMethod">
</div>