| | |
| | | </h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <!-- 查询条件区域 --> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractNameLike">合同名称</label> |
| | | <input type="text" class="form-control" id="contractNameLike" |
| | | v-model="advertisementSummaryInfo.conditions.contractNameLike" |
| | | placeholder="请输入合同名称"> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractCode">合同编号</label> |
| | | <input type="text" class="form-control" id="contractCode" |
| | | v-model="advertisementSummaryInfo.conditions.contractCode" |
| | | placeholder="请输入合同编号"> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractType">合同类型</label> |
| | | <select class="form-control" id="contractType" |
| | | v-model="advertisementSummaryInfo.conditions.contractType"> |
| | | <option value="">全部</option> |
| | | <option v-for="(item, index) in advertisementSummaryInfo.contractTypes" :key="index" |
| | | v-bind:value="item.contractType"> |
| | | {{item.contractTypeName}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="state">合同状态</label> |
| | | <select class="form-control" id="state" |
| | | v-model="advertisementSummaryInfo.conditions.state"> |
| | | <option value="">全部</option> |
| | | <option value="1000">草稿</option> |
| | | <option value="2000">生效</option> |
| | | <option value="3000">过期</option> |
| | | <option value="4000">终止</option> |
| | | </select> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox"> |
| | | <div class="ibox-title"> |
| | | <h5>查询条件</h5> |
| | | <div class="ibox-tools"> |
| | | <a class="collapse-link"> |
| | | <i class="fa fa-chevron-down"></i> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractNameLike">合同名称</label> |
| | | <input type="text" class="form-control" id="contractNameLike" |
| | | v-model="advertisementSummaryInfo.conditions.contractNameLike" |
| | | placeholder="请输入合同名称"> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractCode">合同编号</label> |
| | | <input type="text" class="form-control" id="contractCode" |
| | | v-model="advertisementSummaryInfo.conditions.contractCode" |
| | | placeholder="请输入合同编号"> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="contractType">合同类型</label> |
| | | <select class="form-control" id="contractType" |
| | | v-model="advertisementSummaryInfo.conditions.contractType"> |
| | | <option value="">全部</option> |
| | | <option v-for="(item, index) in advertisementSummaryInfo.contractTypes" :key="index" |
| | | v-bind:value="item.contractType"> |
| | | {{item.contractTypeName}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="state">合同状态</label> |
| | | <select class="form-control" id="state" |
| | | v-model="advertisementSummaryInfo.conditions.state"> |
| | | <option value="">全部</option> |
| | | <option value="1000">草稿</option> |
| | | <option value="2000">生效</option> |
| | | <option value="3000">过期</option> |
| | | <option value="4000">终止</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-12 text-right"> |
| | | <button type="button" class="btn btn-primary" v-on:click="_queryContractMethod()"> |
| | | <i class="fa fa-search"></i> |
| | | 查询 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_resetContractMethod()"> |
| | | <i class="fa fa-repeat"></i> |
| | | 重置 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_openAddContractModal()"> |
| | | <i class="fa fa-plus"></i> |
| | | 添加合同 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_openImportContractModal()"> |
| | | <i class="fa fa-upload"></i> |
| | | 导入数据 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_exportContractData()" style="margin-left: 10px;"> |
| | | <i class="fa fa-download"></i> |
| | | 导出 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 数据表格区域 --> |
| | | <div class="row"> |
| | | <div class="col-sm-12 text-right"> |
| | | <button type="button" class="btn btn-primary btn-md" v-on:click="_queryContractMethod()"> |
| | | <i class="fa fa-search"></i> |
| | | 查询 |
| | | </button> |
| | | <button type="button" class="btn btn-primary btn-md" v-on:click="_resetContractMethod()"> |
| | | <i class="fa fa-repeat"></i> |
| | | 重置 |
| | | </button> |
| | | <button type="button" class="btn btn-primary btn-md" v-on:click="_openAddContractModal()"> |
| | | <i class="fa fa-plus"></i> |
| | | 添加合同 |
| | | </button> |
| | | <button type="button" class="btn btn-primary btn-md" v-on:click="_openImportContractModal()"> |
| | | <i class="fa fa-upload"></i> |
| | | 导入数据 |
| | | </button> |
| | | <div class="col-sm-12"> |
| | | <table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15"> |
| | | <thead> |
| | | <tr> |
| | | <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> |
| | | <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="(contract, index) in advertisementSummaryInfo.contracts" :key="contract.contractId"> |
| | | <td class="text-center">{{index + 1}}</td> |
| | | <td class="text-center">{{contract.contractCode || '-'}}</td> |
| | | <td class="text-center">{{contract.contractName || '-'}}</td> |
| | | <td class="text-center">{{contract.contractTypeName || '-'}}</td> |
| | | <td class="text-center"> |
| | | <span v-if="contract.state === '1000'" class="label label-info">草稿</span> |
| | | <span v-else-if="contract.state === '2000'" class="label label-success">生效</span> |
| | | <span v-else-if="contract.state === '3000'" class="label label-warning">过期</span> |
| | | <span v-else-if="contract.state === '4000'" class="label label-danger">终止</span> |
| | | <span v-else class="label label-default">未知</span> |
| | | </td> |
| | | <td class="text-center">{{contract.propertyCompany || '-'}}</td> |
| | | <td class="text-center">{{contract.contractTerm || '-'}}</td> |
| | | <td class="text-center"> |
| | | <span v-if="contract.isArchived === '0'" class="label label-info">未存档</span> |
| | | <span v-else-if="contract.isArchived === '1'" class="label label-success">已存档</span> |
| | | <span v-else class="label label-default">未知</span> |
| | | </td> |
| | | <td class="text-center">{{contract.contractReminderDate || '-'}}</td> |
| | | <td class="text-center"> |
| | | <button type="button" class="btn btn-xs btn-info" |
| | | v-on:click="_openEditContractModel(contract)">编辑</button> |
| | | <button type="button" class="btn btn-xs btn-danger" |
| | | v-on:click="_openDeleteContractModel(contract)">删除</button> |
| | | </td> |
| | | </tr> |
| | | <tr v-if="advertisementSummaryInfo.contracts.length == 0"> |
| | | <td colspan="10" style="text-align: center; color: #999;"> |
| | | 暂无数据 |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | <tr> |
| | | <td colspan="10"> |
| | | <ul class="pagination float-right"></ul> |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | | </table> |
| | | |
| | | <!-- 分页区域 --> |
| | | <div class="row margin-top-xs"> |
| | | <div class="col-sm-12 float-right"> |
| | | <vc:create path="frame/pagination"></vc:create> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="margin-top"> |
| | | <div> |
| | | <div class="hc-table-div"> |
| | | <table class="table table-bordered" data-page-size="15"> |
| | | <thead> |
| | | <tr> |
| | | <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="(contract, index) in advertisementSummaryInfo.contracts" :key="contract.contractId"> |
| | | <td class="text-center">{{index + 1}}</td> |
| | | <td class="text-center">{{contract.contractCode}}</td> |
| | | <td class="text-center">{{contract.contractName}}</td> |
| | | <td class="text-center">{{contract.contractTypeName}}</td> |
| | | <td class="text-center"> |
| | | <span v-if="contract.state === '1000'" class="label label-info">草稿</span> |
| | | <span v-else-if="contract.state === '2000'" class="label label-success">生效</span> |
| | | <span v-else-if="contract.state === '3000'" class="label label-warning">过期</span> |
| | | <span v-else-if="contract.state === '4000'" class="label label-danger">终止</span> |
| | | <span v-else class="label label-default">未知</span> |
| | | </td> |
| | | <td class="text-center"> |
| | | <button type="button" class="btn btn-xs btn-info" |
| | | v-on:click="_openEditContractModel(contract)">编辑</button> |
| | | <button type="button" class="btn btn-xs btn-danger" |
| | | v-on:click="_openDeleteContractModel(contract)">删除</button> |
| | | </td> |
| | | </tr> |
| | | <tr v-if="advertisementSummaryInfo.contracts.length == 0"> |
| | | <td colspan="6" style="text-align: center; color: #999;"> |
| | | 暂无数据 |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <div class="row margin-top-xs"> |
| | | <div class="col-sm-12 float-right"> |
| | | <vc:create path="frame/pagination"></vc:create> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 广告合同信息管理区域 --> |
| | | <div class="margin-top"> |
| | | <div class="ibox"> |
| | | <div class="ibox-title"> |
| | | <h5> |
| | | 广告合同信息管理 |
| | | </h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <!-- 广告合同信息查询条件区域 --> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox"> |
| | | <div class="ibox-title"> |
| | | <h5>查询条件</h5> |
| | | <div class="ibox-tools"> |
| | | <a class="collapse-link"> |
| | | <i class="fa fa-chevron-down"></i> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="adContractId">合同ID</label> |
| | | <input type="text" class="form-control" id="adContractId" |
| | | v-model="adContractInfo.conditions.contractId" |
| | | placeholder="请输入合同ID"> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="adType">广告类型</label> |
| | | <select class="form-control" id="adType" |
| | | v-model="adContractInfo.conditions.adType" |
| | | @change="adContractInfo.conditions.subType = ''"> |
| | | <option value="">全部</option> |
| | | <option v-for="(value, key) in AD_TYPES" :key="key" :value="key"> |
| | | {{key}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="subType">广告子类型</label> |
| | | <select class="form-control" id="subType" |
| | | v-model="adContractInfo.conditions.subType"> |
| | | <option value="">全部</option> |
| | | <option v-for="(subType, index) in _getSubTypes(adContractInfo.conditions.adType)" :key="index" |
| | | :value="subType"> |
| | | {{subType}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="form-group"> |
| | | <label for="cooperationForm">合作内容形式</label> |
| | | <input type="text" class="form-control" id="cooperationForm" |
| | | v-model="adContractInfo.conditions.cooperationForm" |
| | | placeholder="请输入合作内容形式"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col-sm-12 text-right"> |
| | | <button type="button" class="btn btn-primary" v-on:click="_queryAdContractInfo()"> |
| | | <i class="fa fa-search"></i> |
| | | 查询 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_resetAdContractQuery()"> |
| | | <i class="fa fa-repeat"></i> |
| | | 重置 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_openAddAdContractModal()"> |
| | | <i class="fa fa-plus"></i> |
| | | 添加广告合同信息 |
| | | </button> |
| | | <button type="button" class="btn btn-primary" v-on:click="_queryAdContractInfoStatistics()" style="margin-left: 10px;"> |
| | | <i class="fa fa-bar-chart"></i> |
| | | 统计 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 广告合同信息数据表格区域 --> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <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> |
| | | <th class="text-center">操作</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr v-for="(item, index) in adContractInfo.dataList" :key="item.id"> |
| | | <td class="text-center">{{index + 1}}</td> |
| | | <td class="text-center">{{item.contractId || '-'}}</td> |
| | | <td class="text-center">{{item.adType || '-'}}</td> |
| | | <td class="text-center">{{item.subType || '-'}}</td> |
| | | <td class="text-center">{{item.cooperationForm || '-'}}</td> |
| | | <td class="text-center">{{item.buildingElevatorCount || '-'}}</td> |
| | | <td class="text-center">{{item.onlineQuantity || '-'}}</td> |
| | | <td class="text-center">{{item.facilityLocation || '-'}}</td> |
| | | <td class="text-center"> |
| | | <button type="button" class="btn btn-xs btn-info" |
| | | v-on:click="_openEditAdContractModal(item)">编辑</button> |
| | | <button type="button" class="btn btn-xs btn-danger" |
| | | v-on:click="_deleteAdContractInfo(item.id)">删除</button> |
| | | </td> |
| | | </tr> |
| | | <tr v-if="adContractInfo.dataList.length == 0"> |
| | | <td colspan="9" style="text-align: center; color: #999;"> |
| | | 暂无数据 |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | <tr> |
| | | <td colspan="9"> |
| | | <ul class="pagination float-right"> |
| | | <li class="page-item" :class="{disabled: adContractInfo.page <= 1}"> |
| | | <a class="page-link" @click="_changeAdContractPage(adContractInfo.page - 1)">上一页</a> |
| | | </li> |
| | | <li class="page-item active"> |
| | | <a class="page-link">{{adContractInfo.page}}</a> |
| | | </li> |
| | | <li class="page-item" :class="{disabled: adContractInfo.page >= Math.ceil(adContractInfo.total / adContractInfo.row)}"> |
| | | <a class="page-link" @click="_changeAdContractPage(adContractInfo.page + 1)">下一页</a> |
| | | </li> |
| | | </ul> |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 广告合同信息添加/编辑弹窗 --> |
| | | <div class="modal fade" id="adContractInfoModal" tabindex="-1" role="dialog" aria-labelledby="adContractInfoModalLabel" aria-hidden="true"> |
| | | <div class="modal-dialog modal-lg" role="document"> |
| | | <div class="modal-content"> |
| | | <div class="modal-body"> |
| | | <h3 class="m-t-none m-b"> |
| | | {{adContractInfo.isEdit ? '编辑广告合同信息' : '添加广告合同信息'}} |
| | | </h3> |
| | | <div class="ibox-content"> |
| | | <div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">合同ID <span class="text-danger">*</span></label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | v-model="adContractInfo.formData.contractId" |
| | | placeholder="请输入合同ID"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">广告类型 <span class="text-danger">*</span></label> |
| | | <div class="col-sm-10"> |
| | | <select class="form-control" |
| | | v-model="adContractInfo.formData.adType" |
| | | @change="adContractInfo.formData.subType = ''"> |
| | | <option value="">请选择广告类型</option> |
| | | <option v-for="(value, key) in AD_TYPES" :key="key" :value="key"> |
| | | {{key}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">广告子类型 <span class="text-danger">*</span></label> |
| | | <div class="col-sm-10"> |
| | | <select class="form-control" |
| | | v-model="adContractInfo.formData.subType"> |
| | | <option value="">请选择广告子类型</option> |
| | | <option v-for="(subType, index) in _getSubTypes(adContractInfo.formData.adType)" :key="index" |
| | | :value="subType"> |
| | | {{subType}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">合作内容形式 <span class="text-danger">*</span></label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | v-model="adContractInfo.formData.cooperationForm" |
| | | placeholder="请输入合作内容形式"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">小区楼栋数/电梯数</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | v-model="adContractInfo.formData.buildingElevatorCount" |
| | | placeholder="请输入小区楼栋数/电梯数"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">上线数量</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | v-model="adContractInfo.formData.onlineQuantity" |
| | | placeholder="请输入上线数量"> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">设施安装位置</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | v-model="adContractInfo.formData.facilityLocation" |
| | | placeholder="请输入设施安装位置"> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <button class="btn btn-primary float-right" type="button" v-on:click="_saveAdContractInfo()"> |
| | | <i class="fa fa-check"></i> 保存 |
| | | </button> |
| | | <button type="button" class="btn btn-warning float-right" style="margin-right:20px;" data-dismiss="modal"> |
| | | <i class="fa fa-close"></i> 取消 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 广告合同信息统计弹窗 --> |
| | | <div class="modal fade" id="adContractInfoStatisticsModal" tabindex="-1" role="dialog" aria-labelledby="adContractInfoStatisticsModalLabel" aria-hidden="true"> |
| | | <div class="modal-dialog" role="document"> |
| | | <div class="modal-content"> |
| | | <div class="modal-body"> |
| | | <h3 class="m-t-none m-b"> |
| | | 广告合同信息统计 |
| | | </h3> |
| | | <div class="ibox-content"> |
| | | <div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">总记录数</label> |
| | | <div class="col-sm-10"> |
| | | <input type="text" class="form-control" |
| | | :value="adContractInfo.statistics.totalCount" |
| | | readonly> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">广告类型统计</label> |
| | | <div class="col-sm-10"> |
| | | <div v-for="(count, type) in adContractInfo.statistics.adTypeCount" :key="type" class="mb-2"> |
| | | <label>{{type}}: </label> |
| | | <span>{{count}}条</span> |
| | | </div> |
| | | <div v-if="Object.keys(adContractInfo.statistics.adTypeCount).length === 0" class="text-muted"> |
| | | 暂无数据 |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">广告子类型统计</label> |
| | | <div class="col-sm-10"> |
| | | <div v-for="(count, type) in adContractInfo.statistics.subTypeCount" :key="type" class="mb-2"> |
| | | <label>{{type}}: </label> |
| | | <span>{{count}}条</span> |
| | | </div> |
| | | <div v-if="Object.keys(adContractInfo.statistics.subTypeCount).length === 0" class="text-muted"> |
| | | 暂无数据 |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <button type="button" class="btn btn-primary float-right" data-dismiss="modal"> |
| | | <i class="fa fa-close"></i> 关闭 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |