优化代码

This commit is contained in:
wuxw 2023-10-21 17:04:55 +08:00
parent 1970009058
commit 57e99a6221
3 changed files with 264 additions and 226 deletions

View File

@ -82,14 +82,14 @@
<div class="row" v-show="feeConfigManageInfo.moreCondition == true">
<!--出账类型-->
<div class="col-sm-2">
<!-- <div class="col-sm-2">
<select class="custom-select" v-model="feeConfigManageInfo.conditions.billType">
<option selected value="">{{vc.i18n('请选择催缴类型','feeConfigManage')}}</option>
<option v-for="(item,index) in feeConfigManageInfo.billTypes" :key="index"
:value="item.statusCd">{{item.name}}
</option>
</select>
</div>
</div> -->
<div class="col-sm-2">
<select class="custom-select" v-model="feeConfigManageInfo.conditions.isDefault">
<option selected value="">{{vc.i18n('请选择默认费用','feeConfigManage')}}</option>

View File

@ -1,203 +1,226 @@
<div class="animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>
<span><vc:i18n name="查询条件" namespace="repairPoolManage"></vc:i18n></span>
</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()">{{repairPoolManageInfo.moreCondition == true?'隐藏':'更多'}}
</button>
</div>
<div class="col-md-1 padding-r-0">
<div class=" border-radius ">
<div class="margin-xs-r treeview ">
<ul class="list-group text-center border-radius">
<li class="list-group-item node-orgTree " v-for="(item,index) in repairPoolManageInfo.states"
:key="index" @click="swatchRepairState(item)"
:class="{'vc-node-selected':repairPoolManageInfo.conditions.state == item.statusCd}">
{{item.name}}
</li>
</ul>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<input type="text" :placeholder="vc.i18n('请输入报修ID','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.repairId" class=" form-control">
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请输入报修人','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.repairName" class=" form-control">
</div>
</div>
<div class="col-md-11">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>
<vc:i18n name="查询条件" namespace="repairPoolManage"></vc:i18n>
</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()">{{repairPoolManageInfo.moreCondition ==
true?'隐藏':'更多'}}
</button> -->
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="custom-select" v-model="repairPoolManageInfo.conditions.state">
<option selected value="">{{vc.i18n('请选择报修状态','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.states" :value="item.statusCd">
{{item.name}}
</option>
</select>
<div class="ibox-content">
<div class="row">
<div class="col-sm-2">
<div class="form-group">
<select class="custom-select"
v-model="repairPoolManageInfo.conditions.repairType">
<option selected value="">{{vc.i18n('请选择报修类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.repairSettings"
:value="item.repairType">{{item.repairTypeName}}
</option>
</select>
</div>
</div>
<div class="col-sm-2">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请输入报修人','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.repairName" class=" form-control">
</div>
</div>
<div class="col-sm-2">
<input type="text" :placeholder="vc.i18n('请输入报修电话','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.tel" class=" form-control">
</div>
<div class="col-sm-2">
<select class="custom-select"
v-model="repairPoolManageInfo.conditions.repairSettingType">
<option selected value="">{{vc.i18n('请选择报修设置类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.repairSettingTypes"
:value="item.statusCd">{{item.name}}
</option>
</select>
</div>
<div class="col-sm-2">
<input type="text" :placeholder="vc.i18n('请输入报修位置','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.repairObjName" class=" form-control">
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-primary btn-sm"
v-on:click="_queryRepairPoolMethod()">
<i class="fa fa-search"></i>
<span>
<vc:i18n name="查询" namespace="repairPoolManage"></vc:i18n>
</span>
</button>
<button type="button" class="btn btn-info btn-sm"
v-on:click="_resetRepairPoolMethod()" style="margin-left: 20px;">
<i class="fa fa-repeat"></i>
<span>
<vc:i18n name="重置" namespace="repairPoolManage"></vc:i18n>
</span>
</button>
</div>
</div>
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_queryRepairPoolMethod()">
<i class="fa fa-search"></i>
<span><vc:i18n name="查询" namespace="repairPoolManage"></vc:i18n></span>
</button>
<button type="button" class="btn btn-info btn-sm" v-on:click="_resetRepairPoolMethod()"
style="margin-left: 20px;">
<i class="fa fa-repeat"></i>
<span><vc:i18n name="重置" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
</div>
<div class="row" v-show="repairPoolManageInfo.moreCondition == true">
<div class="col-sm-4">
<div class="form-group">
<select class="custom-select" v-model="repairPoolManageInfo.conditions.repairType">
<option selected value="">{{vc.i18n('请选择报修类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.repairSettings"
:value="item.repairType">{{item.repairTypeName}}
</option>
</select>
<div class="row">
<div class="col-sm-2">
<select class="custom-select"
v-model="repairPoolManageInfo.conditions.maintenanceType">
<option selected value="">{{vc.i18n('请选择维修类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.maintenanceTypes"
:value="item.statusCd">{{item.name}}
</option>
</select>
</div>
<div class="col-sm-2">
<input type="text" :placeholder="vc.i18n('请选择开始时间','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.startTime" class=" form-control repairStartTime">
</div>
<div class="col-sm-2">
<input type="text" :placeholder="vc.i18n('请选择结束时间','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.endTime" class=" form-control repairEndTime">
</div>
<div class="col-sm-2">
<input type="text" :placeholder="vc.i18n('请输入工单编号','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.repairId" class=" form-control">
</div>
</div>
</div>
<div class="col-sm-3">
<select class="custom-select" v-model="repairPoolManageInfo.conditions.repairSettingType">
<option selected value="">{{vc.i18n('请选择报修设置类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.repairSettingTypes"
:value="item.statusCd">{{item.name}}
</option>
</select>
</div>
<div class="col-sm-3">
<input type="text" :placeholder="vc.i18n('请输入报修电话','repairPoolManage')"
v-model="repairPoolManageInfo.conditions.tel" class=" form-control">
</div>
</div>
<div class="row" v-show="repairPoolManageInfo.moreCondition == true">
<div class="col-sm-4">
<select class="custom-select" v-model="repairPoolManageInfo.conditions.maintenanceType">
<option selected value="">{{vc.i18n('请选择维修类型','repairPoolManage')}}</option>
<option v-for="(item,index) in repairPoolManageInfo.maintenanceTypes"
:value="item.statusCd">{{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>
<span v-text="repairPoolManageInfo.conditions.roomName"></span>
<span><vc:i18n name="报修工单池" namespace="repairPoolManage"></vc:i18n></span>
</h5>
<div class="ibox-tools" style="top:10px;"></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="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="位置" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="报修类型" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="维修类型" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="报修人" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="联系方式" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="预约时间" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="提交时间" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="状态" namespace="repairPoolManage"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="操作" namespace="repairPoolManage"></vc:i18n></span>
</th>
</tr>
</thead>
<tbody>
<tr v-for="repairPool in repairPoolManageInfo.repairPools">
<td class="text-center">{{repairPool.repairId}}</td>
<td class="text-center">{{repairPool.repairObjName}}</td>
<td class="text-center">{{repairPool.repairTypeName}}</td>
<td class="text-center">{{repairPool.maintenanceType == '1001' ? '有偿服务' :
repairPool.maintenanceType == '1002' ? '无偿服务'
: repairPool.maintenanceType == '1003' ? '需要用料' : repairPool.maintenanceType == '1004' ?
'无需用料' : '--'}}
</td>
<td class="text-center">{{repairPool.repairName}}</td>
<td class="text-center">{{repairPool.tel}}</td>
<td class="text-center">{{repairPool.appointmentTime}}</td>
<td class="text-center">{{repairPool.createTime}}</td>
<td class="text-center"
v-if="repairPool.state == '1800' && (repairPool.returnVisitFlag == '001' || repairPool.returnVisitFlag == '002')">
{{repairPool.stateName}}(定时任务处理)
</td>
<td class="text-center" v-else>
{{repairPool.stateName}}
</td>
<td class="text-center">
<div class="btn-group"
v-if="vc.hasPrivilege('502021012067300023') && (repairPool.state == '1000' || repairPool.state == '1200')">
<button class="btn-white btn btn-xs"
v-on:click="_openEditOwnerRepairModel(repairPool)">
<span><vc:i18n name="修改" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
<div class="btn-group"
v-if="vc.hasPrivilege('502019101946430010') && repairPool.state == '1000'">
<button class="btn-white btn btn-xs"
v-on:click="_openDispatchRepairModel(repairPool)">
<span><vc:i18n name="派单" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
<div class="btn-group"
v-if="vc.hasPrivilege('502021012099350016') && repairPool.state == '1000' && repairPool.repairWay == '100'">
<button class="btn-white btn btn-xs"
v-on:click="_openGrabbingRepairModel(repairPool)">
<span><vc:i18n name="抢单" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs" v-on:click="_openRepairDetail(repairPool)">
<span><vc:i18n name="详情" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-if="vc.hasPrivilege('502021012051410024') && (repairPool.state == '1000' || repairPool.state == '1200')"
v-on:click="_openDeleteRepairDetailModel(repairPool)">
<span><vc:i18n name="删除" namespace="repairPoolManage"></vc:i18n></span>
</button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="10">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>
<vc:i18n name="报修工单池" namespace="repairPoolManage"></vc:i18n>
</h5>
<div class="ibox-tools" style="top:10px;"></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">
<vc:i18n name="工单编码" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="位置" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="报修类型" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="维修类型" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="报修人" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="联系方式" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="预约时间" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="提交时间" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="状态" namespace="repairPoolManage"></vc:i18n>
</th>
<th class="text-center">
<vc:i18n name="操作" namespace="repairPoolManage"></vc:i18n>
</th>
</tr>
</thead>
<tbody>
<tr v-for="repairPool in repairPoolManageInfo.repairPools">
<td class="text-center">{{repairPool.repairId}}</td>
<td class="text-center">{{repairPool.repairObjName}}</td>
<td class="text-center">{{repairPool.repairTypeName}}</td>
<td class="text-center">{{repairPool.maintenanceType == '1001' ? '有偿服务' :
repairPool.maintenanceType == '1002' ? '无偿服务'
: repairPool.maintenanceType == '1003' ? '需要用料' : repairPool.maintenanceType
== '1004' ?
'无需用料' : '--'}}
</td>
<td class="text-center">{{repairPool.repairName}}</td>
<td class="text-center">{{repairPool.tel}}</td>
<td class="text-center">{{repairPool.appointmentTime}}</td>
<td class="text-center">{{repairPool.createTime}}</td>
<td class="text-center"
v-if="repairPool.state == '1800' && (repairPool.returnVisitFlag == '001' || repairPool.returnVisitFlag == '002')">
{{repairPool.stateName}}(定时任务处理)
</td>
<td class="text-center" v-else>
{{repairPool.stateName}}
</td>
<td class="text-center">
<div class="btn-group"
v-if="vc.hasPrivilege('502021012067300023') && (repairPool.state == '1000' || repairPool.state == '1200')">
<button class="btn-white btn btn-xs"
v-on:click="_openEditOwnerRepairModel(repairPool)">
<vc:i18n name="修改" namespace="repairPoolManage"></vc:i18n>
</button>
</div>
<div class="btn-group"
v-if="vc.hasPrivilege('502019101946430010') && repairPool.state == '1000'">
<button class="btn-white btn btn-xs"
v-on:click="_openDispatchRepairModel(repairPool)">
<vc:i18n name="派单" namespace="repairPoolManage"></vc:i18n>
</button>
</div>
<div class="btn-group"
v-if="vc.hasPrivilege('502021012099350016') && repairPool.state == '1000' && repairPool.repairWay == '100'">
<button class="btn-white btn btn-xs"
v-on:click="_openGrabbingRepairModel(repairPool)">
<vc:i18n name="抢单" namespace="repairPoolManage"></vc:i18n>
</button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-on:click="_openRepairDetail(repairPool)">
<vc:i18n name="详情" namespace="repairPoolManage"></vc:i18n>
</button>
</div>
<div class="btn-group">
<button class="btn-white btn btn-xs"
v-if="vc.hasPrivilege('502021012051410024') && (repairPool.state == '1000' || repairPool.state == '1200')"
v-on:click="_openDeleteRepairDetailModel(repairPool)">
<vc:i18n name="删除" namespace="repairPoolManage"></vc:i18n>
</button>
</div>
</td>
</tr>
</tbody>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
</div>
@ -205,4 +228,4 @@
<vc:create path="property/dispatchRepair"></vc:create>
<vc:create path="property/editOwnerRepair"></vc:create>
<vc:create path="property/deleteOwnerRepair"></vc:create>
</div>
</div>

View File

@ -26,41 +26,54 @@
roomName: '',
ownerId: '',
state: '',
maintenanceType: ''
maintenanceType: '',
startTime:'',
endTime:'',
repairObjName:''
}
}
},
_initMethod: function () {
//vc.component._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
//vc.component._validateParam();
$that._listRepairSettings(DEFAULT_PAGE, 50);
vc.getDict('r_repair_pool', "state", function (_data) {
vc.component.repairPoolManageInfo.states = _data;
$that.repairPoolManageInfo.states = [{
statusCd:'',
name:'全部'
}]
_data.forEach(item => {
$that.repairPoolManageInfo.states.push(item);
});
});
vc.getDict('r_repair_setting', "repair_setting_type", function (_data) {
vc.component.repairPoolManageInfo.repairSettingTypes = _data;
$that.repairPoolManageInfo.repairSettingTypes = _data;
});
vc.getDict('r_repair_pool', "maintenance_type", function (_data) {
vc.component.repairPoolManageInfo.maintenanceTypes = _data;
$that.repairPoolManageInfo.maintenanceTypes = _data;
});
vc.component._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
vc.initDate('repairStartTime',function(_value){
$that.repairPoolManageInfo.conditions.startTime = _value;
});
vc.initDate('repairEndTime',function(_value){
$that.repairPoolManageInfo.conditions.endTime = _value;
})
$that._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function () {
vc.on('repairPoolManage', 'listRepairPool', function (_param) {
vc.component._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
$that._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listRepairPools(_currentPage, DEFAULT_ROWS);
$that._listRepairPools(_currentPage, DEFAULT_ROWS);
});
},
methods: {
//查询方法
_listRepairPools: function (_page, _rows) {
vc.component.repairPoolManageInfo.conditions.page = _page;
vc.component.repairPoolManageInfo.conditions.row = _rows;
vc.component.repairPoolManageInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
$that.repairPoolManageInfo.conditions.page = _page;
$that.repairPoolManageInfo.conditions.row = _rows;
$that.repairPoolManageInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: vc.component.repairPoolManageInfo.conditions
params: $that.repairPoolManageInfo.conditions
};
//报修人查询框去空
param.params.repairName = param.params.repairName.trim();
@ -72,13 +85,13 @@
vc.http.apiGet('/ownerRepair.listOwnerRepairs',
param,
function (json, res) {
var _repairPoolManageInfo = JSON.parse(json);
vc.component.repairPoolManageInfo.total = _repairPoolManageInfo.total;
vc.component.repairPoolManageInfo.records = _repairPoolManageInfo.records;
vc.component.repairPoolManageInfo.repairPools = _repairPoolManageInfo.data;
let _json = JSON.parse(json);
$that.repairPoolManageInfo.total = _json.total;
$that.repairPoolManageInfo.records = _json.records;
$that.repairPoolManageInfo.repairPools = _json.data;
vc.emit('pagination', 'init', {
total: vc.component.repairPoolManageInfo.records,
dataCount: vc.component.repairPoolManageInfo.total,
total: $that.repairPoolManageInfo.records,
dataCount: $that.repairPoolManageInfo.total,
currentPage: _page
});
},
@ -89,13 +102,13 @@
},
//重置方法
_resetRepairPools: function (_page, _rows) {
vc.component.repairPoolManageInfo.conditions.repairType = "";
vc.component.repairPoolManageInfo.conditions.repairName = "";
vc.component.repairPoolManageInfo.conditions.state = "";
vc.component.repairPoolManageInfo.conditions.repairId = "";
vc.component.repairPoolManageInfo.conditions.tel = "";
vc.component.repairPoolManageInfo.conditions.repairSettingType = "";
vc.component.repairPoolManageInfo.conditions.maintenanceType = "";
$that.repairPoolManageInfo.conditions.repairType = "";
$that.repairPoolManageInfo.conditions.repairName = "";
$that.repairPoolManageInfo.conditions.state = "";
$that.repairPoolManageInfo.conditions.repairId = "";
$that.repairPoolManageInfo.conditions.tel = "";
$that.repairPoolManageInfo.conditions.repairSettingType = "";
$that.repairPoolManageInfo.conditions.maintenanceType = "";
$that._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
},
_openRepairDetail: function (_repairPool) {
@ -106,25 +119,23 @@
},
//查询
_queryRepairPoolMethod: function () {
vc.component._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
$that._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
},
//重置
_resetRepairPoolMethod: function () {
vc.component._resetRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
$that._resetRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
},
_openEditOwnerRepairModel: function (_repairPool) {
// _ownerRepair.roomName = vc.component.ownerRepairManageInfo.conditions.roomName;
// _ownerRepair.roomId = vc.component.ownerRepairManageInfo.conditions.roomId;
vc.emit('editOwnerRepair', 'openEditOwnerRepairModal', _repairPool);
},
_openDispatchRepair: function (_repairPool) {
vc.jumpToPage('/#/pages/property/repairDispatchStep?repairId=' + _repairPool.repairId);
},
_moreCondition: function () {
if (vc.component.repairPoolManageInfo.moreCondition) {
vc.component.repairPoolManageInfo.moreCondition = false;
if ($that.repairPoolManageInfo.moreCondition) {
$that.repairPoolManageInfo.moreCondition = false;
} else {
vc.component.repairPoolManageInfo.moreCondition = true;
$that.repairPoolManageInfo.moreCondition = true;
}
},
//派单
@ -149,7 +160,7 @@
param,
function (json, res) {
var _repairSettingManageInfo = JSON.parse(json);
vc.component.repairPoolManageInfo.repairSettings = _repairSettingManageInfo.data;
$that.repairPoolManageInfo.repairSettings = _repairSettingManageInfo.data;
},
function (errInfo, error) {
console.log('请求失败处理');
@ -182,6 +193,10 @@
console.log('请求失败处理');
vc.toast(errInfo);
});
},
swatchRepairState:function(_state){
$that.repairPoolManageInfo.conditions.state = _state.statusCd;
$that._listRepairPools(DEFAULT_PAGE, DEFAULT_ROWS);
}
}
});