| | |
| | | <div class="white-bg padding-lg"> |
| | | <!-- 广åååæ±æ»è¡¨åºå --> |
| | | <div class="margin-top"> |
| | | <div class="ibox"> |
| | | <div class="ibox-title"> |
| | |
| | | </h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <!-- æ¥è¯¢æ¡ä»¶åºå --> |
| | | <!-- 广åååæ¥è¯¢æ¡ä»¶åºå --> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox"> |
| | |
| | | <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 v-for="(item, index) in advertisementSummaryInfo.contractTypes" :key="index" :value="item.code"> |
| | | {{item.name}} |
| | | </option> |
| | | </select> |
| | | </div> |
| | |
| | | <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> |
| | | <option value="10000">å
¨é¨</option> |
| | | <option value="10010">æªå°æ</option> |
| | | <option value="10020">已尿</option> |
| | | <option value="10030">å·²ç»æ¢</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | |
| | | <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> |
| | | <button type="button" class="btn btn-primary" v-on:click="_openImportContractModal()" style="margin-left: 10px;"> |
| | | <i class="fa fa-upload"></i> |
| | | 导å
¥æ°æ® |
| | | </button> |
| | | </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"> |
| | |
| | | <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> |
| | | <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">ååæéæ¥ï¼æå3个æï¼</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"> |
| | | <tr v-for="(item, index) in advertisementSummaryInfo.contracts" :key="item.id"> |
| | | <td class="text-center">{{index + 1}}</td> |
| | | <td class="text-center">{{contract.propertyCompany || '-'}}</td> |
| | | <td class="text-center">{{contract.projectName || '-'}}</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.startDate || '-'}}</td> |
| | | <td class="text-center">{{contract.endDate || '-'}}</td> |
| | | <td class="text-center">{{contract.signDate || '-'}}</td> |
| | | <td class="text-center">{{contract.contractYears || contract.contractTerm || '-'}}</td> |
| | | <td class="text-center">{{contract.contractCode || '-'}}</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.contractType || '-'}}</td> |
| | | <td class="text-center">{{contract.hasSupplementalAgreement || '-'}}</td> |
| | | <td class="text-center">{{contract.reminderDate || contract.contractReminderDate || '-'}}</td> |
| | | <td class="text-center">{{contract.signingParty || '-'}}</td> |
| | | <td class="text-center">{{contract.signingPartyAddress || '-'}}</td> |
| | | <td class="text-center">{{contract.signingPartyContact || '-'}}</td> |
| | | <td class="text-center">{{contract.contactPhone || '-'}}</td> |
| | | <td class="text-center">{{contract.contactEmail || '-'}}</td> |
| | | <td class="text-center">{{contract.contactWechat || '-'}}</td> |
| | | <td class="text-center">{{contract.remark || '-'}}</td> |
| | | <td class="text-center">{{item.propertyCompany || '-'}}</td> |
| | | <td class="text-center">{{item.projectName || '-'}}</td> |
| | | <td class="text-center">{{item.stateName || '-'}}</td> |
| | | <td class="text-center">{{item.startDate || '-'}}</td> |
| | | <td class="text-center">{{item.endDate || '-'}}</td> |
| | | <td class="text-center">{{item.signDate || '-'}}</td> |
| | | <td class="text-center">{{item.contractYears || item.contractTerm || '-'}}</td> |
| | | <td class="text-center">{{item.contractCode || '-'}}</td> |
| | | <td class="text-center">{{item.isArchived || '-'}}</td> |
| | | <td class="text-center">{{item.contractType || '-'}}</td> |
| | | <td class="text-center">{{item.hasSupplementalAgreement || '-'}}</td> |
| | | <td class="text-center">{{item.reminderDate || item.contractReminderDate || '-'}}</td> |
| | | <td class="text-center">{{item.signingParty || '-'}}</td> |
| | | <td class="text-center">{{item.signingPartyAddress || '-'}}</td> |
| | | <td class="text-center">{{item.signingPartyContact || '-'}}</td> |
| | | <td class="text-center">{{item.contactPhone || '-'}}</td> |
| | | <td class="text-center">{{item.contactEmail || '-'}}</td> |
| | | <td class="text-center">{{item.contactWechat || '-'}}</td> |
| | | <td class="text-center">{{item.remark || '-'}}</td> |
| | | <td class="text-center"> |
| | | <button type="button" class="btn btn-xs btn-info" |
| | | v-on:click="_openEditContractModel(contract)">ç¼è¾</button> |
| | | v-on:click="_openEditContractModel(item)">ç¼è¾</button> |
| | | <button type="button" class="btn btn-xs btn-danger" |
| | | v-on:click="_openDeleteContractModel(contract)">å é¤</button> |
| | | v-on:click="_openDeleteContractModel(item)">å é¤</button> |
| | | </td> |
| | | </tr> |
| | | <tr v-if="advertisementSummaryInfo.contracts.length == 0"> |
| | | <td colspan="22" style="text-align: center; color: #999;"> |
| | | <td colspan="21" style="text-align: center; color: #999;"> |
| | | ææ æ°æ® |
| | | </td> |
| | | </tr> |
| | | </tbody> |
| | | <tfoot> |
| | | <tr> |
| | | <td colspan="22"> |
| | | <td colspan="21"> |
| | | <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> |
| | | |
| | | <!-- 广ååå导å
¥å¼¹çª --> |
| | | <div class="modal fade" id="importContractModel" tabindex="-1" role="dialog" aria-labelledby="importContractModelLabel" 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"> |
| | | 广åååæ°æ®å¯¼å
¥ |
| | | </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"> |
| | | <div class="input-group"> |
| | | <input type="text" class="form-control" |
| | | :value="advertisementSummaryInfo.importExcelFile==''?'å¿
å¡«ï¼è¯·éæ©æ°æ®æä»¶':advertisementSummaryInfo.importExcelFile.name" |
| | | readonly> |
| | | <div class="input-group-append"> |
| | | <button class="btn btn-outline-secondary" type="button" |
| | | onclick="document.getElementById('importExcelFile').click()"> |
| | | æä»¶ |
| | | </button> |
| | | </div> |
| | | <input id="importExcelFile" ref="importExcelFile" type="file" |
| | | class="form-control d-none" name="importExcelFile" |
| | | v-on:change="_getExcelTemplate($event)" accept=".xls,.xlsx"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">ä¸è½½æ¨¡æ¿</label> |
| | | <div class="col-sm-10"> |
| | | 请å
ä¸è½½ |
| | | <a href="javascript:void(0)" @click="_exportContractTemplate()"> |
| | | 广ååå导å
¥æ¨¡æ¿ |
| | | </a> |
| | | å夿°æ®åï¼ä¸ä¼ 导å
¥ |
| | | <div class="mt-2 text-muted"> |
| | | <small> |
| | | æç¤ºï¼æ¨¡æ¿å
å« "广åååæ±æ»è¡¨" sheetï¼è¯·å¨å¯¹åºsheetä¸å¡«åæ°æ® |
| | | </small> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <button class="btn btn-primary float-right" type="button" v-on:click="_importContractData()"> |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | | <ul class="pagination float-right"></ul> |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | |
| | | </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 fade" id="importContractModel" tabindex="-1" role="dialog" aria-labelledby="importContractModelLabel" 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"> |
| | | 广åååä¿¡æ¯ç»è®¡ |
| | | 广åååæ°æ®å¯¼å
¥ |
| | | </h3> |
| | | <div class="ibox-content"> |
| | | <div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">æ»è®°å½æ°</label> |
| | | <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 class="input-group"> |
| | | <input type="text" class="form-control" |
| | | :value="advertisementSummaryInfo.importExcelFile==''?'å¿
å¡«ï¼è¯·éæ©æ°æ®æä»¶':advertisementSummaryInfo.importExcelFile.name" |
| | | readonly> |
| | | <div class="input-group-append"> |
| | | <button class="btn btn-outline-secondary" type="button" |
| | | onclick="document.getElementById('importExcelFile').click()"> |
| | | æä»¶ |
| | | </button> |
| | | </div> |
| | | <input id="importExcelFile" ref="importExcelFile" type="file" |
| | | class="form-control d-none" name="importExcelFile" |
| | | v-on:change="_getExcelTemplate($event)" accept=".xls,.xlsx"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="form-group row"> |
| | | <label class="col-sm-2 col-form-label">广ååç±»åç»è®¡</label> |
| | | <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"> |
| | | ææ æ°æ® |
| | | 请å
ä¸è½½ |
| | | <a href="javascript:void(0)" @click="_exportContractTemplate()"> |
| | | 广ååå导å
¥æ¨¡æ¿ |
| | | </a> |
| | | å夿°æ®åï¼ä¸ä¼ 导å
¥ |
| | | <div class="mt-2 text-muted"> |
| | | <small> |
| | | æç¤ºï¼æ¨¡æ¿å
å« "广åååæ±æ»è¡¨" sheetï¼è¯·å¨å¯¹åºsheetä¸å¡«åæ°æ® |
| | | </small> |
| | | </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 class="btn btn-primary float-right" type="button" v-on:click="_importContractData()"> |
| | | <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> |