123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
- <title>清单规则编辑器</title>
- <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
- <link rel="stylesheet" href="/web/maintain/bills_lib/css/main.css">
- <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
- </head>
- <body>
- <div class="header">
- <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
- <span class="header-logo px-2">清单规则编辑器</span>
- <div class="navbar-text"></div>
- </nav>
- <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
- <ul class="nav navbar-nav px-1">
- <li class="nav-item">
- <a class="nav-link" href="javascript:void(0);" aria-haspopup="true" aria-expanded="false" data-toggle="modal" data-target="#add">新建清单规则</a>
- </li>
- </ul>
- </nav>
- </div>
- <div class="main">
- <div class="content">
- <div class="container-fluid">
- <div class="row">
- <div class="col-md-10">
- <div class="warp-p2 mt-3">
- <table class="table table-hover table-bordered">
- <thead>
- <tr>
- <th>清单规则名称</th>
- <th width="160">添加时间</th>
- <th width="70">操作</th>
- <th width="90">导入</th>
- <th width="90">复制</th>
- </tr>
- </thead>
- <tbody id="showArea">
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--弹出添加-->
- <div class="modal fade" id="add" data-backdrop="static" style="display: none;" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">添加清单规则</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <form>
- <div class="form-group">
- <label>清单规则名称</label>
- <input id="createText" class="form-control" placeholder="输入清单规则名称" type="text">
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <a id="createA" href="javascript:void(0);" class="btn btn-primary">确定</a>
- <button type="button" id="cancelBtn" class="btn btn-secondary" data-dismiss="modal">取消</button>
- </div>
- </div>
- </div>
- </div>
- <!--弹出编辑-->
- <div class="modal fade" id="edit" data-backdrop="static" style="display: none;" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">编辑清单规则</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <form>
- <div class="form-group">
- <label>清单规则名称</label>
- <input id="renameText" class="form-control" placeholder="输入名称" type="text" value="">
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <a id="renameA" href="javascript: void(0);" class="btn btn-primary" data-dismiss="modal" renameId="">确定</a>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
- </div>
- </div>
- </div>
- </div>
- <!--弹出删除-->
- <div class="modal fade" id="del" data-backdrop="static" style="display: none;" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">删除确认</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <h5 class="text-danger">删除后无法恢复,确认是否删除?</h5>
- </div>
- <div class="modal-footer">
- <a id="deleteA" href="javascript:void(0);" class="btn btn-danger" deleteId="">确认</a>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
- </div>
- </div>
- </div>
- </div>
- <!--弹出导入数据-->
- <div class="modal fade" id="import" data-backdrop="static" style="display: none;" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">导入数据</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <div class="alert alert-warning" role="alert">
- 导入操作会覆盖数据,请谨慎操作!!
- </div>
- <form>
- <div class="form-group">
- <label>请选择Excel格式文件</label>
- <input class="form-control-file" type="file" accept=".xlsx,.xls" name="import_data"/>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-primary" id="data-import">确定导入</button>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
- </div>
- </div>
- </div>
- </div>
- <!--弹出复制库-->
- <div class="modal fade" id="copy" data-backdrop="static" aria-hidden="true">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">复制清单规则</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <form>
- <div class="form-group">
- <label>清单规则名称</label>
- <input id="copyName" class="form-control" autofocus placeholder="输入清单规则名称" type="text">
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <a id="copyA" href="javascript:void(0);" class="btn btn-primary">确定</a>
- <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
- </div>
- </div>
- </div>
- </div>
- <!-- JS. -->
- <script src="/lib/jquery/jquery.min.js"></script>
- <script src="/lib/tether/tether.min.js"></script>
- <script src="/lib/bootstrap/bootstrap.min.js"></script>
- <script src="/public/web/PerfectLoad.js"></script>
- <script src="/public/web/common_ajax.js"></script>
- <script src="/public/web/lock_util.js"></script>
- <script src="/web/maintain/bills_lib/scripts/global.js"></script>
- <script src="/web/maintain/bills_lib/scripts/bills_lib_ajax.js"></script>
- <script src="/web/maintain/bills_lib/scripts/tools.js"></script>
- </body>
- <script type="text/javascript">
- autoFlashHeight();
- </script>
- <script>
- let userAccount = '<%= userAccount %>';
- let deleteCount = 0;
- let preDeleteId = null;
- //mainAjax.getCompilationList();
- mainAjax.getStdBillsLib();
- $(document).ready(function(){
- //main 增删改
- $("#createA").click(function(){
- let billsLibName = $("#createText").val();
- /* let compilationName = $('#compilationSels option:selected').text();
- let compilationId = $('#compilationSels option:selected').val();*/
- if(billsLibName.trim().length === 0){
- alert("请输入清单规则名称!");
- }
- /* else if(compilationName.trim().length === 0){
- alert("编办不可为空!");
- }*/
- else {
- mainAjax.createStdBillsLib(userAccount, billsLibName);
- $("#createText").val("");
- }
- });
- $("#showArea").on("click", "[data-target = '#del']", function(){
- let deleteId = $(this).parent().parent().attr("id");
- $("#deleteA").attr("deleteId", deleteId);
- });
- $("#deleteA").click(function(){
- let deleteId = $(this).attr("deleteId");
- if(preDeleteId && preDeleteId !== deleteId){
- deleteCount = 0;
- }
- preDeleteId = deleteId;
- deleteCount++;
- if(deleteCount === 3){
- //被清单指引引用则不可删除
- CommonAjax.post('/billsGuidance/api/getBillsGuideLibs', {}, function (rstData) {
- let canDel = true;
- for(let lib of rstData){
- if(lib.billsLibId == deleteId){
- canDel = false;
- break;
- }
- }
- if(canDel){
- mainAjax.deleteStdBillsLib(userAccount, deleteId);
- }
- else {
- alert('当前清单规则已被清单指引库引用,请先删除对应的清单指引库。');
- $('#del').modal('hide');
- }
- });
- deleteCount = 0;
- }
- });
- $('#del').on('hidden.bs.modal', function () {
- deleteCount = 0;
- });
- $("#showArea").on("click", "[data-target = '#edit']", function(){
- let renameId = $(this).parent().parent().attr("id");
- $('#renameText').val($(this).parent().parent().find('td:first-child').text());
- $("#renameA").attr("renameId", renameId);
- });
- // 锁定、解锁
- $('#showArea').on('click', '.lock', function () {
- lockUtil.handleLockClick($(this));
- });
- $('#edit').on('shown.bs.modal', function () {
- setTimeout(function () {
- $('#renameText').focus();
- }, 100);
- });
- $('#add').on('shown.bs.modal', function () {
- setTimeout(function () {
- $('#createText').focus();
- }, 100);
- });
- $('#add').on('hidden.bs.modal', function () {
- $('#createText').val('');
- });
- $("#renameA").click(function(){
- let newName = $("#renameText").val();
- let renameId = $(this).attr("renameId");
- if(newName){
- mainAjax.renameStdBillsLib(userAccount, renameId, newName);
- $("#renameText").val("");
- }
- else {
- alert("请输入名称!");
- }
- });
- //清空选择
- $('#import').on('shown.bs.modal', function () {
- $("input[name='import_data']").val('');
- });
- let selLibId = -1;
- $("#showArea").on("click", ".import-data", function () {
- let id = $(this).data("id");
- id = parseInt(id);
- if (isNaN(id) || id <= 0) {
- return false;
- }
- selLibId = id;
- $("#import").modal("show");
- });
- //导入数据
- $("#data-import").click(function() {
- $.bootstrapLoading.start();
- const self = $(this);
- try {
- let formData = new FormData();
- let file = $("input[name='import_data']")[0];
- if (file.files.length <= 0) {
- throw '请选择文件!';
- }
- formData.append('file', file.files[0]);
- // 获取库id
- if (selLibId <= 0) {
- return false;
- }
- formData.append('billsLibId', selLibId);
- $.ajax({
- url: '/stdBillsEditor/importBills',
- type: 'POST',
- data: formData,
- cache: false,
- contentType: false,
- processData: false,
- beforeSend: function() {
- self.attr('disabled', 'disabled');
- self.text('上传中...');
- },
- success: function(response){
- self.removeAttr('disabled');
- self.text('确定导入');
- if (response.error === 0) {
- $.bootstrapLoading.end();
- // 成功则关闭窗体
- $('#import').modal("hide");
- } else {
- $.bootstrapLoading.end();
- const message = response.msg !== undefined ? response.msg : '上传失败!';
- alert(message);
- }
- },
- error: function(){
- $.bootstrapLoading.end();
- alert("与服务器通信发生错误");
- self.removeAttr('disabled');
- self.text('确定导入');
- }
- });
- } catch(error) {
- alert(error);
- $.bootstrapLoading.end();
- }
- });
- // 复制库
- $("#showArea").on("click", ".copy-data", function () {
- let id = $(this).data("id");
- id = parseInt(id);
- if (isNaN(id) || id <= 0) {
- return false;
- }
- selLibId = id;
- $("#copy").modal("show");
- });
- $('#copyA').click(function () {
- const libId = selLibId;
- const libName = $('#copyName').val();
- mainAjax.copyBillsLib(libId, libName);
- });
- });
- </script>
- </html>
|