优化 智能电表功能

This commit is contained in:
Your Name 2023-02-23 02:52:19 +08:00
parent f5759654fe
commit 61ab863b31
12 changed files with 1252 additions and 2 deletions

View File

@ -0,0 +1,19 @@
<div class="modal fade" id="deleteMeterMachineModel" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel"> <span><vc:i18n name="请确认您的操作!"></vc:i18n></span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<tr align="center"><th><span><vc:i18n name="确定删除智能水电表" namespace="deleteMeterMachine"></vc:i18n></span></th></tr>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" v-on:click="closeDeleteMeterMachineModel()"><span><vc:i18n name="点错了"></vc:i18n></span></button>
<button type="button" class="btn btn-primary" v-on:click="deleteMeterMachine()"><span><vc:i18n name="确认删除!"></vc:i18n></span></button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,52 @@
(function(vc,vm){
vc.extends({
data:{
deleteMeterMachineInfo:{
}
},
_initMethod:function(){
},
_initEvent:function(){
vc.on('deleteMeterMachine','openDeleteMeterMachineModal',function(_params){
vc.component.deleteMeterMachineInfo = _params;
$('#deleteMeterMachineModel').modal('show');
});
},
methods:{
deleteMeterMachine:function(){
vc.component.deleteMeterMachineInfo.communityId=vc.getCurrentCommunity().communityId;
vc.http.apiPost(
'/meterMachine.deleteMeterMachine',
JSON.stringify(vc.component.deleteMeterMachineInfo),
{
emulateJSON:true
},
function(json,res){
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _json = JSON.parse(json);
if (_json.code == 0) {
//关闭model
$('#deleteMeterMachineModel').modal('hide');
vc.emit('meterMachineManage','listMeterMachine',{});
return ;
}
vc.message(_json.msg);
},
function(errInfo,error){
console.log('请求失败处理');
vc.message(json);
});
},
closeDeleteMeterMachineModel:function(){
$('#deleteMeterMachineModel').modal('hide');
}
}
});
})(window.vc,window.vc.component);

View File

@ -1,4 +1,4 @@
<div id="addFeeDiscountModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
<div id="addFeeDiscountModel" class="modal fade" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">

View File

@ -0,0 +1,109 @@
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>
<vc:i18n name="添加水电表" namespace="addAccessControlWhite"></vc:i18n>
</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-white btn-sm" v-on:click="_goBack()">
<i class="fa fa-close"></i>返回
</button>
</div>
</div>
<div class="ibox-content">
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='名称' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<input v-model="addMeterMachineInfo.machineName" type="text"
:placeholder="vc.i18n('必填,请填写名称','addMeterMachine')" class="form-control">
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表号' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<input v-model="addMeterMachineInfo.address" type="text"
:placeholder="vc.i18n('必填,请填写表号','addMeterMachine')" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表类型' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="addMeterMachineInfo.meterType">
<option selected disabled value="">{{vc.i18n('必填,请选择表类型','addMeterMachine')}}</option>
<option :value="item.typeId" v-for="(item,index) in addMeterMachineInfo.meterTypes">{{item.typeName}}</option>
</select>
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='模式' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="addMeterMachineInfo.machineModel">
<option selected disabled value="">{{vc.i18n('必填,请选择模式','addMeterMachine')}}</option>
<option value="1001">{{vc.i18n('充值模式','addMeterMachine')}}</option>
<option value="2002">{{vc.i18n('抄表模式','addMeterMachine')}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='房屋' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-3">
<input v-model="addMeterMachineInfo.roomName" type="text" disabled :placeholder="vc.i18n('必填,请选择房屋','addMeterMachine')"
class="form-control">
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_selectRoom()">选择</button>
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='费用项' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="addMeterMachineInfo.feeConfigId">
<option selected disabled value="">{{vc.i18n('必填,请选择费用项','addMeterMachine')}}</option>
<option :value="item.configId" v-for="(item,index) in addMeterMachineInfo.feeConfigs" v-if="addMeterMachineInfo.machineModel == '1001' && item.computingFormula =='6006'">{{item.feeName}}</option>
<option :value="item.configId" v-for="(item,index) in addMeterMachineInfo.feeConfigs" v-if="addMeterMachineInfo.machineModel == '2002' && item.computingFormula =='5005'">{{item.feeName}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表厂家' namespace='addMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="addMeterMachineInfo.implBean" @change="_changeFactory()">
<option selected disabled value="">{{vc.i18n('必填,请选择门禁厂家','addMeterMachine')}}</option>
<option :value="item.factoryId" v-for="(item,index) in addMeterMachineInfo.factorys">{{item.factoryName}}</option>
</select>
</div>
</div>
<div class="form-group row" v-for="(item,index) in addMeterMachineInfo.specs">
<label class="col-sm-2 col-form-label text-right">{{item.specName}}</label>
<div class="col-sm-4">
<input v-model.trim="item.specValue" type="text" :placeholder="item.remark"
class="form-control">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 text-right">
<button type="button" class="btn btn-warning " style="margin-right:20px;" @click="_goBack()">
<span>
<vc:i18n name="返回"></vc:i18n>
</span>
</button>
<button class="btn btn-primary" type="button" v-on:click="saveMeterMachineInfo()"><i
class="fa fa-check"></i>&nbsp;提交
</button>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,236 @@
(function (vc) {
vc.extends({
data: {
addMeterMachineInfo: {
machineId: '',
machineName: '',
address: '',
meterType: '',
machineModel: '',
roomId: '',
roomName: '',
feeConfigId: '',
implBean: '',
meterTypes:[],
feeConfigs:[],
factorys:[],
specs:[]
}
},
_initMethod: function () {
$that._listMeterType();
$that._listFeeConfigs();
$that._listFactorys();
},
_initEvent: function () {
vc.on('addMeterMachine', 'openAddMeterMachineModal', function () {
$('#addMeterMachineModel').modal('show');
});
vc.on('addMeterMachine', 'selectRoom', function(param) {
vc.copyObject(param,$that.addMeterMachineInfo);
})
},
methods: {
addMeterMachineValidate() {
return vc.validate.validate({
addMeterMachineInfo: vc.component.addMeterMachineInfo
}, {
'addMeterMachineInfo.machineName': [
{
limit: "required",
param: "",
errInfo: "名称不能为空"
},
{
limit: "maxLength",
param: "200",
errInfo: "名称不能超过200"
},
],
'addMeterMachineInfo.address': [
{
limit: "required",
param: "",
errInfo: "表号不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "表号不能超过30"
},
],
'addMeterMachineInfo.meterType': [
{
limit: "required",
param: "",
errInfo: "表类型不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "表类型不能超过30"
},
],
'addMeterMachineInfo.machineModel': [
{
limit: "required",
param: "",
errInfo: "模式不能为空"
},
{
limit: "maxLength",
param: "12",
errInfo: "模式不能超过12"
},
],
'addMeterMachineInfo.roomId': [
{
limit: "required",
param: "",
errInfo: "房屋不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "房屋不能超过30"
},
],
'addMeterMachineInfo.feeConfigId': [
{
limit: "required",
param: "",
errInfo: "费用项不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "费用项ID,充值模式时不能超过30"
},
],
'addMeterMachineInfo.implBean': [
{
limit: "required",
param: "",
errInfo: "门禁厂家不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "门禁厂家不能超过30"
},
],
});
},
saveMeterMachineInfo: function () {
if (!vc.component.addMeterMachineValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
vc.component.addMeterMachineInfo.communityId = vc.getCurrentCommunity().communityId;
vc.http.apiPost(
'/meterMachine.saveMeterMachine',
JSON.stringify(vc.component.addMeterMachineInfo),
{
emulateJSON: true
},
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _json = JSON.parse(json);
if (_json.code == 0) {
//关闭model
vc.goBack();
return;
}
vc.toast(_json.msg);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_goBack:function(){
vc.goBack();
},
_listMeterType: function (_page, _rows) {
let param = {
params: {
page:1,
row:500,
communityId:vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/meterType.listMeterType',
param,
function (json, res) {
let _accessControlMachineManageInfo = JSON.parse(json);
$that.addMeterMachineInfo.meterTypes = _accessControlMachineManageInfo.data;
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFeeConfigs: function(_page, _rows) {
let param = {
params: {
page:1,
row:500,
communityId:vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/feeConfig.listFeeConfigs', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
$that.addMeterMachineInfo.feeConfigs = _feeConfigManageInfo.feeConfigs;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFactorys: function(_page, _rows) {
let param = {
params: {
page:1,
row:500,
}
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachineFactory', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
$that.addMeterMachineInfo.factorys = _feeConfigManageInfo.data;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_changeFactory:function(){
let _factorys = $that.addMeterMachineInfo.factorys;
_factorys.forEach(item => {
if (item.factoryId == $that.addMeterMachineInfo.implBean) {
item.specs.forEach(specItem => {
specItem.specValue = "";
})
$that.addMeterMachineInfo.specs = item.specs;
}
});
},
_selectRoom: function() {
vc.emit('roomTree','openRoomTree',{
callName:'addMeterMachine'
})
},
}
});
})(window.vc);

View File

@ -0,0 +1,109 @@
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>
<vc:i18n name="修改水电表" namespace="addAccessControlWhite"></vc:i18n>
</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-white btn-sm" v-on:click="_goBack()">
<i class="fa fa-close"></i>返回
</button>
</div>
</div>
<div class="ibox-content">
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='名称' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<input v-model="editMeterMachineInfo.machineName" type="text"
:placeholder="vc.i18n('必填,请填写名称','editMeterMachine')" class="form-control">
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表号' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<input v-model="editMeterMachineInfo.address" type="text"
:placeholder="vc.i18n('必填,请填写表号','editMeterMachine')" class="form-control">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表类型' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="editMeterMachineInfo.meterType">
<option selected disabled value="">{{vc.i18n('必填,请选择表类型','editMeterMachine')}}</option>
<option :value="item.typeId" v-for="(item,index) in editMeterMachineInfo.meterTypes">{{item.typeName}}</option>
</select>
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='模式' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="editMeterMachineInfo.machineModel">
<option selected disabled value="">{{vc.i18n('必填,请选择模式','editMeterMachine')}}</option>
<option value="1001">{{vc.i18n('充值模式','editMeterMachine')}}</option>
<option value="2002">{{vc.i18n('抄表模式','editMeterMachine')}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='房屋' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-3">
<input v-model="editMeterMachineInfo.roomName" type="text" disabled :placeholder="vc.i18n('必填,请选择房屋','editMeterMachine')"
class="form-control">
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_selectRoom()">选择</button>
</div>
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='费用项' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="editMeterMachineInfo.feeConfigId">
<option selected disabled value="">{{vc.i18n('必填,请选择费用项','editMeterMachine')}}</option>
<option :value="item.configId" v-for="(item,index) in editMeterMachineInfo.feeConfigs" v-if="editMeterMachineInfo.machineModel == '1001' && item.computingFormula =='6006'">{{item.feeName}}</option>
<option :value="item.configId" v-for="(item,index) in editMeterMachineInfo.feeConfigs" v-if="editMeterMachineInfo.machineModel == '2002' && item.computingFormula =='5005'">{{item.feeName}}</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label text-right"><span>
<vc:i18n name='表厂家' namespace='editMeterMachine'></vc:i18n>
</span></label>
<div class="col-sm-4">
<select class="custom-select" v-model="editMeterMachineInfo.implBean" @change="_changeFactory()">
<option selected disabled value="">{{vc.i18n('必填,请选择门禁厂家','editMeterMachine')}}</option>
<option :value="item.factoryId" v-for="(item,index) in editMeterMachineInfo.factorys">{{item.factoryName}}</option>
</select>
</div>
</div>
<div class="form-group row" v-for="(item,index) in editMeterMachineInfo.specs">
<label class="col-sm-2 col-form-label text-right">{{item.specName}}</label>
<div class="col-sm-4">
<input v-model.trim="item.specValue" type="text" :placeholder="item.remark"
class="form-control">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 text-right">
<button type="button" class="btn btn-warning " style="margin-right:20px;" @click="_goBack()">
<span>
<vc:i18n name="返回"></vc:i18n>
</span>
</button>
<button class="btn btn-primary" type="button" v-on:click="saveMeterMachineInfo()"><i
class="fa fa-check"></i>&nbsp;提交
</button>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,257 @@
(function (vc) {
vc.extends({
data: {
editMeterMachineInfo: {
machineId: '',
machineName: '',
address: '',
meterType: '',
machineModel: '',
roomId: '',
roomName: '',
feeConfigId: '',
implBean: '',
meterTypes:[],
feeConfigs:[],
factorys:[],
specs:[]
}
},
_initMethod: function () {
$that.editMeterMachineInfo.machineId = vc.getParam('machineId');
$that._listMeterMachines();
$that._listMeterType();
$that._listFeeConfigs();
$that._listFactorys();
},
_initEvent: function () {
vc.on('editMeterMachine', 'selectRoom', function(param) {
vc.copyObject(param,$that.editMeterMachineInfo);
})
},
methods: {
editMeterMachineValidate() {
return vc.validate.validate({
editMeterMachineInfo: vc.component.editMeterMachineInfo
}, {
'editMeterMachineInfo.machineName': [
{
limit: "required",
param: "",
errInfo: "名称不能为空"
},
{
limit: "maxLength",
param: "200",
errInfo: "名称不能超过200"
},
],
'editMeterMachineInfo.address': [
{
limit: "required",
param: "",
errInfo: "表号不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "表号不能超过30"
},
],
'editMeterMachineInfo.meterType': [
{
limit: "required",
param: "",
errInfo: "表类型不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "表类型不能超过30"
},
],
'editMeterMachineInfo.machineModel': [
{
limit: "required",
param: "",
errInfo: "模式不能为空"
},
{
limit: "maxLength",
param: "12",
errInfo: "模式不能超过12"
},
],
'editMeterMachineInfo.roomId': [
{
limit: "required",
param: "",
errInfo: "房屋不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "房屋不能超过30"
},
],
'editMeterMachineInfo.feeConfigId': [
{
limit: "required",
param: "",
errInfo: "费用项不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "费用项ID,充值模式时不能超过30"
},
],
'editMeterMachineInfo.implBean': [
{
limit: "required",
param: "",
errInfo: "门禁厂家不能为空"
},
{
limit: "maxLength",
param: "30",
errInfo: "门禁厂家不能超过30"
},
],
});
},
saveMeterMachineInfo: function () {
if (!vc.component.editMeterMachineValidate()) {
vc.toast(vc.validate.errInfo);
return;
}
vc.component.editMeterMachineInfo.communityId = vc.getCurrentCommunity().communityId;
vc.http.apiPost(
'/meterMachine.updateMeterMachine',
JSON.stringify(vc.component.editMeterMachineInfo),
{
emulateJSON: true
},
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
let _json = JSON.parse(json);
if (_json.code == 0) {
//关闭model
vc.goBack();
return;
}
vc.toast(_json.msg);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_goBack:function(){
vc.goBack();
},
_listMeterType: function (_page, _rows) {
let param = {
params: {
page:1,
row:500,
communityId:vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/meterType.listMeterType',
param,
function (json, res) {
let _accessControlMachineManageInfo = JSON.parse(json);
$that.editMeterMachineInfo.meterTypes = _accessControlMachineManageInfo.data;
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFeeConfigs: function(_page, _rows) {
let param = {
params: {
page:1,
row:500,
communityId:vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/feeConfig.listFeeConfigs', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
$that.editMeterMachineInfo.feeConfigs = _feeConfigManageInfo.feeConfigs;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFactorys: function(_page, _rows) {
let param = {
params: {
page:1,
row:500,
}
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachineFactory', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
$that.editMeterMachineInfo.factorys = _feeConfigManageInfo.data;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_changeFactory:function(){
let _factorys = $that.editMeterMachineInfo.factorys;
_factorys.forEach(item => {
if (item.factoryId == $that.editMeterMachineInfo.implBean) {
item.specs.forEach(specItem => {
specItem.specValue = "";
})
$that.editMeterMachineInfo.specs = item.specs;
}
});
},
_selectRoom: function() {
vc.emit('roomTree','openRoomTree',{
callName:'editMeterMachine'
})
},
_listMeterMachines: function (_page, _rows) {
let param = {
params: {
page:1,
row:1,
communityId:vc.getCurrentCommunity().communityId,
machineId:$that.editMeterMachineInfo.machineId
}
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachine',
param,
function (json, res) {
let _meterMachineManageInfo = JSON.parse(json);
vc.copyObject(_meterMachineManageInfo.data[0],$that.editMeterMachineInfo);
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
}
});
})(window.vc);

View File

@ -0,0 +1,63 @@
<div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5><span>
<vc:i18n name="智能水电表明细" namespace="meterMachineDetail"></vc:i18n>
</span></h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-white btn-sm" v-on:click="_queryMeterMachineDetailMethod()">
<vc:i18n name="刷新" namespace="meterMachineDetail"></vc:i18n>
</button>
<button type="button" class="btn btn-primary btn-sm" v-on:click="vc.goBack()">
<vc:i18n name="返回" namespace="meterMachineDetail"></vc:i18n>
</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"><span>
<vc:i18n name='类型' namespace='meterMachineDetail'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='剩余读数' namespace='meterMachineDetail'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='当前读数' namespace='meterMachineDetail'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='读表时间' namespace='meterMachineDetail'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='说明' namespace='meterMachineDetail'></vc:i18n>
</span></th>
</tr>
</thead>
<tbody>
<tr v-for="detail in meterMachineDetailInfo.details">
<td class="text-center">{{detail.detailType == '1001'?'充值':'抄表'}}</td>
<td class="text-center" >{{detail.prestoreDegrees}}</td>
<td class="text-center" >{{detail.curDegrees}}</td>
<td class="text-center">{{detail.curReadingTime}}</td>
<td class="text-center">{{detail.remark}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<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,64 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
meterMachineDetailInfo: {
details: [],
total: 0,
records: 1,
moreCondition: false,
machineId: '',
}
},
_initMethod: function () {
$that.meterMachineDetailInfo.machineId = vc.getParam('machineId');
vc.component._listMeterMachineDetails(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function () {
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listMeterMachineDetails(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_listMeterMachineDetails: function (_page, _rows) {
let param = {
params: {
page:_page,
row:_rows,
machineId:$that.meterMachineDetailInfo.machineId,
communityId:vc.getCurrentCommunity().communityId
}
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachineDetail',
param,
function (json, res) {
var _meterMachineDetailInfo = JSON.parse(json);
vc.component.meterMachineDetailInfo.total = _meterMachineDetailInfo.total;
vc.component.meterMachineDetailInfo.records = _meterMachineDetailInfo.records;
vc.component.meterMachineDetailInfo.details = _meterMachineDetailInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.meterMachineDetailInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_queryMeterMachineDetailMethod: function () {
vc.component._listMeterMachineDetails(DEFAULT_PAGE, DEFAULT_ROWS);
},
}
});
})(window.vc);

View File

@ -0,0 +1,195 @@
<div>
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5><span>
<vc:i18n name="查询条件"></vc:i18n>
</span></h5>
<div class="ibox-tools" style="top:10px;">
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请选择名称','meterMachineManage')"
v-model="meterMachineManageInfo.conditions.machineNameLike" class=" form-control">
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请选择表号','meterMachineManage')"
v-model="meterMachineManageInfo.conditions.address" class=" form-control">
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="custom-select" v-model="meterMachineManageInfo.conditions.meterType">
<option selected value="">{{vc.i18n('请选择表类型','meterMachineManage')}}
</option>
<option :value="item.typeId"
v-for="(item,index) in meterMachineManageInfo.meterTypes">{{item.typeName}}
</option>
</select>
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm"
v-on:click="_queryMeterMachineMethod()">
<i class="glyphicon glyphicon-search"></i> <span>
<vc:i18n name="查询"></vc:i18n>
</span>
</button>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<select class="custom-select" v-model="meterMachineManageInfo.conditions.machineModel">
<option selected value="">{{vc.i18n('请选择模式','meterMachineManage')}}
</option>
<option value="1001">{{vc.i18n('充值模式','meterMachineManage')}}</option>
<option value="2002">{{vc.i18n('抄表模式','meterMachineManage')}}</option>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请填写房屋编号 楼栋-单元-房屋','meterMachineManage')"
v-model="meterMachineManageInfo.conditions.roomNameLike" class=" form-control">
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="custom-select" v-model="meterMachineManageInfo.conditions.implBean">
<option selected value="">{{vc.i18n('请选择门禁厂家','meterMachineManage')}}
</option>
<option :value="item.factoryId"
v-for="(item,index) in meterMachineManageInfo.factorys">{{item.factoryName}}
</option>
</select>
</div>
</div>
<div class="col-sm-1">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5><span>
<vc:i18n name="智能水电表" namespace="meterMachineManage"></vc:i18n>
</span></h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddMeterMachineModal()">
<i class="glyphicon glyphicon-plus"></i>
<span>
<vc:i18n name="添加" namespace="meterMachineManage"></vc:i18n>
</span>
</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"><span>
<vc:i18n name='编号' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='名称' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='表号' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='表类型' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='模式' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='房屋' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='费用项' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='门禁厂家' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='剩余读数' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='当前读数' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='读表时间' namespace='meterMachineManage'></vc:i18n>
</span></th>
<th class="text-center"><span>
<vc:i18n name='操作'></vc:i18n>
</span></th>
</tr>
</thead>
<tbody>
<tr v-for="meterMachine in meterMachineManageInfo.meterMachines">
<td class="text-center">{{meterMachine.machineId}}</td>
<td class="text-center">{{meterMachine.machineName}}</td>
<td class="text-center">{{meterMachine.address}}</td>
<td class="text-center">{{_getMeterTypeName(meterMachine.meterType)}}</td>
<td class="text-center">{{meterMachine.machineModel == '1001'?'充值模式':'抄表模式'}}</td>
<td class="text-center">{{meterMachine.roomName}}</td>
<td class="text-center">{{meterMachine.feeConfigName}}</td>
<td class="text-center">{{meterMachine.implBeanName}}</td>
<td class="text-center" v-if="meterMachine.machineModel == '1001'">{{meterMachine.prestoreDegrees}}</td>
<td class="text-center" v-else>-</td>
<td class="text-center" v-if="meterMachine.machineModel == '1001'">-</td>
<td class="text-center" v-else>{{meterMachine.curDegrees}}</td>
<td class="text-center">{{meterMachine.curReadingTime}}</td>
<td class="text-center">
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-on:click="_openEditMeterMachineModel(meterMachine)"><span>
<vc:i18n name='修改'></vc:i18n>
</span></button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-on:click="_openDeleteMeterMachineModel(meterMachine)"><span>
<vc:i18n name='删除'></vc:i18n>
</span></button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-on:click="_toDetail(meterMachine)"><span>
<vc:i18n name='记录'></vc:i18n>
</span></button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<vc:create path="machine/deleteMeterMachine"></vc:create>
</div>

View File

@ -0,0 +1,146 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
meterMachineManageInfo: {
meterMachines: [],
total: 0,
records: 1,
moreCondition: false,
machineId: '',
meterTypes:[],
factorys:[],
conditions: {
machineNameLike: '',
address: '',
meterType: '',
machineModel: '',
roomNameLike: '',
implBean: '',
communityId:vc.getCurrentCommunity().communityId
}
}
},
_initMethod: function () {
vc.component._listMeterMachines(DEFAULT_PAGE, DEFAULT_ROWS);
$that._listMeterType();
$that._listFactorys();
},
_initEvent: function () {
vc.on('meterMachineManage', 'listMeterMachine', function (_param) {
vc.component._listMeterMachines(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listMeterMachines(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_listMeterMachines: function (_page, _rows) {
vc.component.meterMachineManageInfo.conditions.page = _page;
vc.component.meterMachineManageInfo.conditions.row = _rows;
let param = {
params: vc.component.meterMachineManageInfo.conditions
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachine',
param,
function (json, res) {
var _meterMachineManageInfo = JSON.parse(json);
vc.component.meterMachineManageInfo.total = _meterMachineManageInfo.total;
vc.component.meterMachineManageInfo.records = _meterMachineManageInfo.records;
vc.component.meterMachineManageInfo.meterMachines = _meterMachineManageInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.meterMachineManageInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_openAddMeterMachineModal: function () {
vc.jumpToPage('/#/pages/machine/addMeterMachine')
},
_openEditMeterMachineModel: function (_meterMachine) {
vc.jumpToPage('/#/pages/machine/editMeterMachine?machineId='+_meterMachine.machineId)
},
_openDeleteMeterMachineModel: function (_meterMachine) {
vc.emit('deleteMeterMachine', 'openDeleteMeterMachineModal', _meterMachine);
},
_toDetail: function (_meterMachine) {
vc.jumpToPage('/#/pages/machine/meterMachineDetail?machineId='+_meterMachine.machineId)
},
_queryMeterMachineMethod: function () {
vc.component._listMeterMachines(DEFAULT_PAGE, DEFAULT_ROWS);
},
_moreCondition: function () {
if (vc.component.meterMachineManageInfo.moreCondition) {
vc.component.meterMachineManageInfo.moreCondition = false;
} else {
vc.component.meterMachineManageInfo.moreCondition = true;
}
},
_listMeterType: function (_page, _rows) {
let param = {
params: {
page:1,
row:500,
communityId:vc.getCurrentCommunity().communityId,
}
};
//发送get请求
vc.http.apiGet('/meterType.listMeterType',
param,
function (json, res) {
let _accessControlMachineManageInfo = JSON.parse(json);
$that.meterMachineManageInfo.meterTypes = _accessControlMachineManageInfo.data;
},
function (errInfo, error) {
console.log('请求失败处理');
}
);
},
_listFactorys: function(_page, _rows) {
let param = {
params: {
page:1,
row:500,
}
};
//发送get请求
vc.http.apiGet('/meterMachine.listMeterMachineFactory', param,
function(json, res) {
let _feeConfigManageInfo = JSON.parse(json);
$that.meterMachineManageInfo.factorys = _feeConfigManageInfo.data;
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_getMeterTypeName:function(meterType){
let _meterTypeName = "";
$that.meterMachineManageInfo.meterTypes.forEach(item => {
if(meterType == item.typeId){
_meterTypeName = item.typeName
}
});
if(!_meterTypeName){
_meterTypeName = '-';
}
return _meterTypeName;
}
}
});
})(window.vc);

View File

@ -38,7 +38,7 @@
params: vc.component.meterTypeManageInfo.conditions
};
//发送get请求
vc.http.apiGet('meterType.listMeterType',
vc.http.apiGet('/meterType.listMeterType',
param,
function (json, res) {
var _meterTypeManageInfo = JSON.parse(json);