<!DOCTYPE html> <html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> <head> <th:block th:include="include :: header('载体下发列表')" /> </head> <body class="gray-bg"> <div class="container-div" id="app"> <div class="row"> <div class="col-sm-12 search-collapse"> <form id="formId"> <div class="select-list"> <ul> <li> <label>载体名称:</label> <input type="text" name="carrierName"/> </li> <li> <label>密级:</label> <select name="carrierSecret" th:with="type=${@dict.getType('sys_file_miji')}"> <option value="">所有</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> </select> </li> <li> <label>载体类型:</label> <select name="carrierLevel" th:with="type=${@dict.getType('sys_provide_level')}"> <option value="">所有</option> <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> </select> </li> <li> <label>所属市州:</label> <select id="City" name="areaCity" v-model="City"> <option value="">请选择</option> <option v-for="option in CityList" :value="option.id" :key="option.id"> {{ option.name }} </option> </select> </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a> </li> </ul> </div> </form> </div> <div class="btn-group-sm" id="toolbar" role="group"> <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:carrier:add"> <i class="fa fa-plus"></i> 添加 </a> <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="system:carrier:edit"> <i class="fa fa-edit"></i> 修改 </a> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:carrier:remove"> <i class="fa fa-remove"></i> 删除 </a> <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:carrier:export"> <i class="fa fa-download"></i> 导出 </a> </div> <div class="col-sm-12 select-table table-striped"> <table id="bootstrap-table"></table> </div> </div> </div> <th:block th:include="include :: footer" /> <script th:inline="javascript"> var editFlag = [[${@permission.hasPermi('system:carrier:edit')}]]; var removeFlag = [[${@permission.hasPermi('system:carrier:remove')}]]; var detailFlag = [[${@permission.hasPermi('system:carrier:detail')}]]; var carrierLevelDatas = [[${@dict.getType('sys_provide_level')}]]; var fileSecretDatas = [[${@dict.getType('sys_file_miji')}]]; var carrierExtentDatas = [[${@dict.getType('sys_file_jinjichengdu')}]]; var stateDatas = [[${@dict.getType('sys_carrier_status')}]]; var prefix = ctx + "system/carrier"; let datas = [] $.ajax({ url: ctx + "system/area/getAllList", type: 'GET', data:{parentId:''} , success:((res)=>{ datas = res.data }) , }); $(function() { var options = { url: prefix + "/list", createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", detailUrl: prefix + "/detail/{id}", removeUrl: prefix + "/remove", exportUrl: prefix + "/export", modalName: "国家秘密载体制作", columns: [ { checkbox: true }, { field: 'id', title: 'id', visible: false }, { field: 'areaCity', title: '所属市州', formatter: function(value, row, index) { return getCity(datas, value) } }, { field: 'carrierName', title: '载体名称' }, { field: 'carrierLevel', title: '载体类型', formatter: function(value, row, index) { return $.table.selectDictLabel(carrierLevelDatas, value); } }, { field: 'carrierExtent', title: '紧急程度', formatter: function(value, row, index) { return $.table.selectDictLabel(carrierExtentDatas, value); } }, { field: 'carrierSecret', title: '密级', formatter: function(value, row, index) { return $.table.selectDictLabel(fileSecretDatas, value); } }, { field: 'carrierTerm', title: '保密期限' }, { field: 'createTime', title: '创建时间', sortable: true }, { field: 'status', title: '状态', formatter: function(value, row, index) { return $.table.selectDictLabel(stateDatas, value); } }, { title: '操作', align: 'center', formatter: function(value, row, index) { var actions = []; if (row.status != '1') { actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" disabled><i class="fa fa-save"></i>提交</a> '); actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.id + '\')"><i class="fa fa-search"></i>详细</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); }else{ actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="openSubmit(\'' + row.id + '\')"><i class="fa fa-save"></i>提交</a> '); actions.push('<a class="btn btn-warning btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.id + '\')"><i class="fa fa-search"></i>详细</a> '); actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>'); } return actions.join(''); } }] }; $.table.init(options); }); function openSubmit(id){ $.modal.confirm("确定要执行此操作吗?", function() { $.ajax({ url: ctx + "system/carrier/updateStatus/" + id +'/' + '2', type: "GET", dataType: "json", success: function(result) { $.modal.msgSuccess(result.msg) $.table.refresh(); } }) }, function() { $.modal.msgWarning('取消操作') }); } var app = new Vue({ el: '#app', data: { CityList: [], City:'', params:{ parentId:'', } }, mounted(){ // 初始化地市列表 this.getCityList(); }, methods:{ getCityList(){ $.ajax({ url: ctx + "system/area/getSysAreaList", type: 'GET', data:this.params , success:((res)=>{ this.CityList = res.data }) , }); }, } }) </script> </body> </html>