| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918 |
- <% include ../shares/delete_hint_modal.ejs %>
- <% include ./col_set.ejs %>
- <!--合计弹窗-->
- <div class="modal fade" id="cons-total" data-backdrop="static">
- <div class="modal-dialog modal-lg" 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="modal-height-500" style="overflow:auto;">
- <table class="table table-sm table-bordered text-center" id="contract-total-table" style="word-break:break-all; table-layout: fixed">
- <thead id="contract-total-thead"></thead>
- <tbody id="contract-total-tbody"></tbody>
- <tfoot id="contract-total-tfoot"></tfoot>
- </table>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- </div>
- </div>
- </div>
- </div>
- <% if (ctx.session.sessionUser.is_admin || audit_permission.permission_add) { %>
- <!--新增合同-->
- <div class="modal fade" id="cons-add" data-backdrop="static">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">新增合同</h5>
- </div>
- <div class="modal-body">
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>合同编号<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" placeholder="请输入合同编号" type="text" name="c_code">
- </div>
- </div>
- <div class="col-md-6">
- <div class="form-group">
- <label>合同名称<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" placeholder="请输入合同名称" type="text" name="name">
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>合同金额<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" placeholder="请输入合同金额" type="text" name="price">
- <div class="invalid-feedback">合同金额不能为0。</div>
- </div>
- </div>
- <div class="col-md-6">
- <div class="form-group">
- <label>税率(%)</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="tax">
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>合同类型</label>
- <select class="form-control form-control-sm" name="type">
- <option value=""></option>
- <% for (const t of types) { %>
- <option value="<%- t %>"><%- t %></option>
- <% } %>
- </select>
- </div>
- </div>
- <div class="col-md-6">
- <% if (ctx.contract_type === contractConst.type.expenses) { %>
- <div class="form-group">
- <label>关联标段</label>
- <select class="form-control form-control-sm" name="rela_tender">
- </select>
- </div>
- <% } else { %>
- <div class="form-group">
- <label>签订日期</label>
- <input class="datepicker-here form-control form-control-sm" name="sign_date" placeholder="点击选择时间" data-date-format="yyyy-MM-dd" data-language="zh" type="text" autocomplete="off">
- </div>
- <% } %>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>签订单位(甲方)</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="party_a">
- </div>
- </div>
- <div class="col-md-6">
- <div class="form-group">
- <label>甲方签约人</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="party_a_user">
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>签订单位(乙方)</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="party_b">
- </div>
- </div>
- <div class="col-md-6">
- <div class="form-group">
- <label>乙方签约人</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="party_b_user">
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6">
- <div class="form-group">
- <label>签约地点</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="address">
- </div>
- </div>
- <% if (ctx.contract_type === contractConst.type.expenses) { %>
- <div class="col-md-6">
- <div class="form-group">
- <label>签订日期</label>
- <input class="datepicker-here form-control form-control-sm" name="sign_date" placeholder="点击选择时间" data-date-format="yyyy-MM-dd" data-language="zh" type="text" autocomplete="off">
- </div>
- </div>
- <% } %>
- </div>
- <div class="payee-fields-group">
- <hr class="my-2">
- <div class="row">
- <div class="col-md-4">
- <div class="form-group">
- <label>收款单位</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="entity">
- </div>
- </div>
- <div class="col-md-4">
- <div class="form-group">
- <label>收款开户行</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="bank">
- </div>
- </div>
- <div class="col-md-4">
- <div class="form-group">
- <label>收款账号</label>
- <input class="form-control form-control-sm" placeholder="" type="text" name="bank_account">
- </div>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label>备注</label>
- <textarea class="form-control form-control-sm" name="remark" rows="2"></textarea>
- </div>
- <% let havePayCondition = false; %>
- <% if (attributeSet.length > 0) { %>
- <div class="attribute-fields-group">
- <hr class="my-2">
- <a class="btn btn-light btn-sm w-100 d-flex justify-content-between align-items-center"
- data-toggle="collapse"
- href="#contractAttrCollapse"
- role="button"
- aria-expanded="true"
- aria-controls="contractAttrCollapse">
- <span>
- <i class="fa fa-list-alt mr-1"></i>
- 附加属性(<%= attributeSet.length %>项)
- </span>
- <i class="fa fa-chevron-up attr-collapse-icon"></i>
- </a>
- <div class="collapse show mt-2" id="contractAttrCollapse">
- <div class="attribute-scroll-area">
- <%
- let colCount = 0;
- %>
- <div class="row">
- <% for (const attr of attributeSet) { %>
- <% if (attr.field === 'pay_condition') { havePayCondition = true; } %>
- <% if (attr.type === 'long_text') { %>
- <% if (colCount > 0) { %>
- </div>
- <div class="row">
- <% colCount = 0; %>
- <% } %>
- <div class="col-md-12">
- <div class="form-group">
- <label><%- attr.alias || attr.name %></label>
- <textarea
- class="form-control form-control-sm"
- name="<%- attr.field %>"
- rows="2"></textarea>
- </div>
- </div>
- </div>
- <div class="row">
- <% } else { %>
- <div class="col-md-4">
- <div class="form-group">
- <label><%- attr.alias || attr.name %></label>
- <input
- class="form-control form-control-sm"
- type="<%- attr.type %>"
- name="<%- attr.field %>">
- </div>
- </div>
- <% colCount++; %>
- <% if (colCount === 3) { %>
- </div>
- <div class="row">
- <% colCount = 0; %>
- <% } %>
- <% } %>
- <% } %>
- </div>
- </div>
- </div>
- </div>
- <% } %>
- <% if (!havePayCondition) { %>
- <textarea style="display: none" name="pay_condition"></textarea>
- <% } %>
- <!-- AI识别文件 -->
- <div id="ai-file-panel" class="border rounded p-2 mt-2" style="display:none;">
- <div class="d-flex justify-content-between align-items-center">
- <div>
- <label class="mb-1 font-weight-bold">
- <i class="fa fa-file-text-o text-primary"></i>
- AI识别文件
- </label>
- <div class="text-muted small">
- <i class="fa fa-file-o"></i>
- <span id="ai-file-name"></span>
- </div>
- </div>
- <div class="custom-control custom-checkbox">
- <input type="checkbox"
- class="custom-control-input"
- id="contract-add-attach"
- checked>
- <label class="custom-control-label" for="contract-add-attach">
- 添加至合同附件
- </label>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <a href="javascript:void(0);" class="btn btn-sm ai-btn" id="aiFillBtn"><i class="fa fa-magic"></i> AI识别填写</a>
- <input type="hidden" id="contract-add-cid">
- <input type="hidden" id="contract-add-fid">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="add-contract">确定</button>
- </div>
- </div>
- </div>
- </div>
- <% } %>
- <div class="modal fade" id="ai-recognize-modal" data-backdrop="static">
- <div class="modal-dialog modal-md" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title"><i class="fa-solid fa-wand-magic-sparkles text-warning"></i> AI识别填写</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="ai-existing-files" id="aiExistingFilesArea" style="display:none;">
- <div class="ai-section-label">从已有合同文件(PDF、Word、图片格式)中选择一份识别</div>
- <div class="ai-existing-files-list" id="aiExistingFilesList"></div>
- </div>
- <div class="ai-section-label mt-2" id="aiUploadSectionLabel" style="display:none;">或上传新文件</div>
- <!-- 上传区域 -->
- <div class="ai-upload-area" id="aiUploadArea">
- <input type="radio" name="aiFileSource" id="aiSourceUpload" value="upload" style="display:none;">
- <input type="file" id="aiFileInput" accept=".pdf,.doc,.docx,.png,.jpg,.jpeg" style="display:none;">
- <div class="ai-upload-placeholder" id="aiUploadPlaceholder">
- <i class="fa-solid fa-cloud-arrow-up fa-2x text-muted mb-2"></i>
- <div>点击或拖拽上传合同文件</div>
- <div class="text-muted small">支持 PDF、Word、图片格式</div>
- </div>
- <div class="ai-upload-result" id="aiUploadResult" style="display:none;">
- <i class="fa-solid fa-file-lines text-primary"></i>
- <span id="aiFileName" class="ml-1"></span>
- <i class="fa-solid fa-circle-xmark text-danger ml-2" id="aiFileRemove" style="cursor:pointer;"></i>
- </div>
- </div>
- <!-- 注意事项 -->
- <div class="ai-notice mt-3">
- <div class="ai-notice-title"><i class="fa-solid fa-circle-info"></i> 识别注意事项</div>
- <ul class="ai-notice-list">
- <li>识别结果由AI自动提取,可能存在误差,提交前请仔细核对各字段;</li>
- <li>手写签名、模糊印章等内容识别准确率相对较低,建议重点核对甲乙方、金额、日期信息;</li>
- <li>扫描件请尽量保证清晰、无遮挡,识别效果会更准确;</li>
- <li>识别过程可能需要几秒到一分钟,请耐心等待,请勿重复提交。</li>
- </ul>
- <div class="ai-notice-divider"></div>
- <div class="ai-notice-title"><i class="fa-solid fa-shield-halved"></i> 数据安全提示</div>
- <ul class="ai-notice-list">
- <li>上传的合同文件仅用于识别填写本系统合同相关表单信息,其余内容一概不做任何提取保留。</li>
- <!-- <li>请勿上传包含他人隐私信息(如身份证号、个人手机号等非必要信息)的非合同类文件。</li>-->
- </ul>
- </div>
- <!-- 勾选项:仅在"上传新文件"且编辑模式下显示 -->
- <div class="form-check mt-3" id="aiAttachCheckArea" style="display:none;">
- <input type="checkbox" class="form-check-input" id="aiAttachToContract" checked>
- <label class="form-check-label" for="aiAttachToContract">
- 将此文件同时添加至该合同的合同文件中
- </label>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
- <button type="button" class="btn btn-sm btn-primary" id="aiStartRecognize" disabled>
- <span id="aiRecognizeBtnText">开始识别</span>
- <span id="aiRecognizeSpinner" class="spinner-border spinner-border-sm ml-1" style="display:none;"></span>
- </button>
- </div>
- </div>
- </div>
- </div>
- <% if (ctx.session.sessionUser.is_admin) { %>
- <% include modal.ejs %>
- <!-- 节点授权 -->
- <div class="modal fade" id="empower" data-backdrop="static" style="z-index: 1049">
- <div class="modal-dialog modal-xl" 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="row">
- <!-- 左侧默认节点 -->
- <div class="col-5">
- <div class="mb-2">节点列表</div>
- <div class="modal-height-500" id="sq-spread">
- </div>
- </div>
- <!-- 右侧对应节点成员 -->
- <div class="col-7">
- <div class="d-flex flex-row bg-graye">
- <div class="pb-1 dropdown">
- <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- 添加用户
- </button>
- <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="width:220px">
- <div class="mb-2 p-2"><input class="form-control form-control-sm" placeholder="姓名/手机 检索" id="gr-search2" autocomplete="off"></div>
- <dl class="list-unstyled book-list">
- </dl>
- </div>
- </div>
- <div class="ml-2"><a href="javascript:void(0);" id="batch-del-audits" class="text-danger">批量移除</a></div>
- </div>
- <div class="modal-height-500" style="overflow-y:auto;">
- <table class="table table-bordered text-center">
- <thead>
- <tr>
- <th><input class="" type="checkbox" id="select-permission-tree-audit-all" /></th>
- <th>用户名</th>
- <th>授权时间</th>
- <th>权限</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="contract-tree-audits">
- <!-- <tr class="text-center">-->
- <!-- <td><input type="checkbox" name="ftu-check"></td><td>邓莹洁</td><td>2023-09-21 11:26:41</td><td>编辑节点,添加合同</td>-->
- <!-- <td><button class="btn btn-sm btn-outline-danger">移除</button></td>-->
- <!-- </tr>-->
- <!-- <tr class="text-center">-->
- <!-- <td><input type="checkbox" name="ftu-check"></td><td>付一</td><td>2023-09-21 11:26:41</td><td>添加合同,查看本单位合同</td>-->
- <!-- <td><button class="btn btn-sm btn-outline-danger">移除</button></td>-->
- <!-- </tr>-->
- <!-- <tr class="text-center">-->
- <!-- <td><input type="checkbox" name="ftu-check"></td><td>付二</td><td>2023-09-21 11:26:41</td><td>添加合同,查看本节点合同</td>-->
- <!-- <td><button class="btn btn-sm btn-outline-danger">移除</button></td>-->
- <!-- </tr>-->
- <!-- <tr class="text-center">-->
- <!-- <td><input type="checkbox" name="ftu-check"></td><td>付三</td><td>2023-09-21 11:26:41</td><td>添加合同</td>-->
- <!-- <td><button class="btn btn-sm btn-outline-danger">移除</button></td>-->
- <!-- </tr>-->
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-outline-secondary" data-dismiss="modal">关闭</button>
- </div>
- </div>
- </div>
- </div>
- <% } %>
- <!--添加附件-->
- <div class="modal fade" id="cons-upfile">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title" id="myModalLabel">上传附件</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="form-group">
- <label for="file-modal">单个文件大小限制:50MB,支持office等文档格式、图片格式、压缩包格式</label>
- <!-- <p><a href="javascript: void(0);" class="btn btn-primary" id="file-modal-target">选择文件</a></p> -->
- <input type="file" id="file-modal" multiple="multiple">
- </div>
- </div>
- <div class="modal-footer">
- <button id="file-cancel" type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">取消</button>
- <button id="file-ok" type="button" class="btn btn-primary btn-sm">添加</button>
- </div>
- </div>
- </div>
- </div>
- <!--添加支付,非关联合同显示-->
- <div class="modal fade" id="cons-addpay" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">添加<% if (ctx.contract_type === contractConst.type.expenses) { %>支付<% } else if (ctx.contract_type === contractConst.type.income) { %>回款<% } %></h5>
- </div>
- <div class="modal-body">
- <div class="form-group form-group-sm">
- <label><% if (ctx.contract_type === contractConst.type.expenses) { %>支付<% } else if (ctx.contract_type === contractConst.type.income) { %>回款<% } %>日期<b class="text-danger">*</b></label>
- <input class="datepicker-here form-control form-control-sm" name="pay_time" placeholder="点击选择时间" data-date-format="yyyy-MM-dd" data-language="zh" type="text" autocomplete="off">
- </div>
- <div class="form-group">
- <label>用途</label>
- <select class="form-control form-control-sm" name="used">
- <option>合同</option>
- <% for (u of used) { %>
- <option><%= u %></option>
- <% } %>
- </select>
- </div>
- <div class="form-group">
- <label><% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>款金额<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" name="pay_price" placeholder="请输入<% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>款金额" type="number">
- </div>
- <div class="form-group">
- <label>扣款金额</label>
- <input class="form-control form-control-sm" name="debit_price" placeholder="请输入扣款金额" type="number">
- </div>
- <div class="form-group">
- <label>应<% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>金额<span class="text-danger yf-tips"></span></label>
- <input class="form-control form-control-sm" name="yf_price" placeholder="<% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>款-扣款" type="number" readonly>
- </div>
- <div class="form-group">
- <label>实<% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>金额<span class="text-danger sf-tips"></span></label>
- <input class="form-control form-control-sm" name="sf_price" placeholder="请输入实<% if (ctx.contract_type === contractConst.type.expenses) { %>付<% } else if (ctx.contract_type === contractConst.type.income) { %>回<% } %>金额" type="number">
- </div>
- <div class="form-group">
- <label><% if (ctx.contract_type === contractConst.type.expenses) { %>支付<% } else if (ctx.contract_type === contractConst.type.income) { %>回款<% } %>方式<b class="text-danger">*</b></label>
- <select class="form-control form-control-sm" name="pay_type">
- <option>网上转账</option>
- <option>支付宝</option>
- <option>微信</option>
- <option>现金</option>
- <option>支票</option>
- <option>其他</option>
- </select>
- </div>
- <div class="form-group">
- <label>开票金额</label>
- <input class="form-control form-control-sm" name="kp_price" placeholder="请输入开票金额" type="number">
- </div>
- <div class="form-group form-group-sm">
- <label>开票时间</label>
- <input class="datepicker-here form-control form-control-sm" name="kp_time" placeholder="点击选择时间" data-date-format="yyyy-MM-dd" data-language="zh" type="text" autocomplete="off">
- </div>
- <div class="form-group">
- <label>备注</label>
- <textarea class="form-control form-control-sm" name="remark" rows="3"></textarea>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="add-contract-pay">确定</button>
- <input type="hidden" name="cpid" value="">
- <button type="button" class="btn btn-sm btn-primary" id="save-contract-pay" style="display: none">确定</button>
- </div>
- </div>
- </div>
- </div>
- <% if (ctx.contract_type === contractConst.type.expenses) { %>
- <!--添加支付,非关联合同显示-->
- <div class="modal fade" id="cons-tender-addpay" data-backdrop="static">
- <div class="modal-dialog modal-xl" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">添加标段<% if (ctx.contract_type === contractConst.type.expenses) { %>支付<% } else if (ctx.contract_type === contractConst.type.income) { %>回款<% } %>记录</h5>
- </div>
- <div class="modal-body">
- <div class="mb-2 text-left">
- <span class="text-muted">关联标段名称:</span>
- <span id="tender-contract-pay-name"></span>
- </div>
- <div class="modal-height-500" style="overflow:auto;">
- <table class="table table-sm table-bordered text-center" style="word-break:break-all; table-layout: fixed">
- <thead>
- <% if (ctx.contract_type === contractConst.type.income) { %>
- <th width="3%"></th><th>期数</th><th>回款日期</th><th>回款金额</th><th>扣款金额</th><th>应回金额</th><th>实回金额</th><th>回款方式</th>
- <% } else if (ctx.contract_type === contractConst.type.expenses) { %>
- <th width="3%"></th><th>期数</th><th>支付日期</th><th>付款金额</th><th>扣款金额</th><th>应付金额</th><th>实付金额</th><th>支付方式</th>
- <% } %>
- </thead>
- <tbody id="stages-pay">
- </tbody>
- </table>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="add-tender-contract-pay">确定</button>
- </div>
- </div>
- </div>
- </div>
- <% } %>
- <!--附件-->
- <div class="modal fade" id="cons-pay-file" data-backdrop="static" style="z-index: 1049">
- <input type="hidden" name="cpid">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">附件</h5>
- </div>
- <div class="modal-body">
- <div class="form-group upload-permission">
- <label>单个文件大小限制:50MB,支持<span data-toggle="tooltip" data-placement="bottom" title="doc,docx,xls,xlsx,ppt,pptx,pdf">office等文档格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="jpg,png,bmp">图片格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="rar,zip">压缩包格式</span></label>
- <br>
- <input type="file" class="" multiple>
- </div>
- <div class="modal-height-500" style="overflow:auto;">
- <table class="table table-sm table-bordered text-center" style="word-break:break-all; table-layout: fixed">
- <thead>
- <tr><th width="5%">序号</th><th>名称</th><th width="8%">上传人</th><th width="20%">上传时间</th><th width="15%">操作</th></tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-outline-secondary btn-sm" data-dismiss="modal">关闭</button>
- <!--<button type="button" class="btn btn-primary btn-sm" id="upload-file-btn">确定</button>-->
- </div>
- </div>
- </div>
- </div>
- <!--添加补充合同-->
- <div class="modal fade" id="cons-addsupplement" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">新增补充合同</h5>
- </div>
- <div class="modal-body">
- <div class="form-group">
- <label>编号<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" name="code" placeholder="请输入编号" type="text">
- </div>
- <div class="form-group">
- <label>名称<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" name="name" placeholder="请输入名称" type="text">
- </div>
- <div class="form-group">
- <label>金额<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" name="price" placeholder="请输入金额" type="number">
- </div>
- <div class="form-group">
- <label>甲方</label>
- <input class="form-control form-control-sm" name="party_a" placeholder="" type="text">
- </div>
- <div class="form-group">
- <label>乙方</label>
- <input class="form-control form-control-sm" name="party_b" placeholder="" type="text">
- </div>
- <div class="form-group form-group-sm">
- <label>签订时间</label>
- <input class="datepicker-here form-control form-control-sm" name="sign_time" placeholder="点击选择时间" data-date-format="yyyy-MM-dd" data-language="zh" type="text" autocomplete="off">
- </div>
- <div class="form-group">
- <label>签订地点</label>
- <input class="form-control form-control-sm" name="address" placeholder="" type="text">
- </div>
- <div class="form-group">
- <label>补充原因及内容</label>
- <textarea class="form-control form-control-sm" name="content" rows="3"></textarea>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="add-contract-supplement">确定</button>
- <input type="hidden" name="csid" value="">
- <button type="button" class="btn btn-sm btn-primary" id="save-contract-supplement" style="display: none">确定</button>
- </div>
- </div>
- </div>
- </div>
- <!--附件-->
- <div class="modal fade" id="cons-supplement-file" data-backdrop="static" style="z-index: 1049">
- <input type="hidden" name="csid">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">附件</h5>
- </div>
- <div class="modal-body">
- <div class="form-group upload-permission">
- <label>单个文件大小限制:50MB,支持<span data-toggle="tooltip" data-placement="bottom" title="doc,docx,xls,xlsx,ppt,pptx,pdf">office等文档格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="jpg,png,bmp">图片格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="rar,zip">压缩包格式</span></label>
- <br>
- <input type="file" class="" multiple>
- </div>
- <div class="modal-height-500" style="overflow:auto;">
- <table class="table table-sm table-bordered text-center" style="word-break:break-all; table-layout: fixed">
- <thead>
- <tr><th width="5%">序号</th><th>名称</th><th width="8%">上传人</th><th width="20%">上传时间</th><th width="15%">操作</th></tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-outline-secondary btn-sm" data-dismiss="modal">关闭</button>
- <!--<button type="button" class="btn btn-primary btn-sm" id="upload-file-btn">确定</button>-->
- </div>
- </div>
- </div>
- </div>
- <!--结算合同-->
- <div class="modal fade" id="cons-close" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">结算合同</h5>
- </div>
- <div class="modal-body">
- <h5>当前合同【<span id="close_contract_code"></span>】:</h5>
- <h5>存在待支付金额<strong>【<span id="close_df_price"></span>】</strong>,确定关闭?</h5>
- <h5>关闭后,合同将锁定,无法进行编辑等操作。</h5>
- <div class="form-group mt-3">
- <label>结算书编号:<b class="text-danger">*</b></label>
- <input class="form-control form-control-sm" placeholder="输入结算书编号" id="close_settle_code" type="text">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
- <button type="button" class="btn btn-sm btn-primary" id="close_contract_btn">确认结算</button>
- </div>
- </div>
- </div>
- </div>
- <!--解锁合同-->
- <div class="modal fade" id="cons-unlock" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">解锁合同</h5>
- </div>
- <div class="modal-body">
- <h5>解锁后,合同可进行编辑等操作。</h5>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
- <button type="button" class="btn btn-sm btn-primary" id="unlock_contract_btn">确认解锁</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="cons-move" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">移动合同至其它节点</h5>
- </div>
- <div class="modal-body">
- <div class="mb-2">合同编号: <b class="mr-3" id="move-node"></b> 原所属编号: <b class="mr-3 move-parent-node"></b> 新所属编号: <b class="move-new-node"></b></div>
- <div class="modal-height-500" id="move-contract-spread"></div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="move-contract-btn">确定</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="cons-move2" data-backdrop="static">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">移动本节点下合同至其它节点</h5>
- </div>
- <div class="modal-body">
- <div class="row">
- <!-- 左侧默认节点 -->
- <div class="col-6">
- <div class="mb-2">新所属编号: <b class="move-new-node"></b></div>
- <div class="modal-height-500" id="move2-contract-spread">
- </div>
- </div>
- <!-- 右侧对应节点成员 -->
- <div class="col-6">
- <div class="mb-2">原编号: <b class="mr-3 move-parent-node"></b> 下所有合同</div>
- <div class="modal-height-500" style="overflow-y:auto;">
- <table class="table table-bordered">
- <thead>
- <tr class="text-center">
- <th><input class="" checked type="checkbox" id="select-move2-all" /></th>
- <th>合同编号</th>
- <th>合同名称</th>
- </tr>
- </thead>
- <tbody id="move2-contracts">
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="move2-contract-btn">确定</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="rela-tender" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">关联标段</h5>
- </div>
- <div class="modal-body">
- <div class="mb-2">合同编号: <b class="mr-3" id="rela-contract"></b> 原关联标段: <b class="mr-3 old-rela-tender"></b> 新关联标段: <b class="new-rela-tender"></b></div>
- <div class="modal-height-500 scroll-y" id="tender-list">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
- <button type="button" class="btn btn-sm btn-primary" id="rela-tender-ok">确认</button>
- </div>
- </div>
- </div>
- </div>
- <% if (shenpi_status || pay_shenpi_status) { %>
- <!--上报审批-->
- <div class="modal fade" id="sub-sp" data-backdrop="static">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">上报审批</h5>
- </div>
- <div class="modal-body">
- <div class="dropdown text-right">
- <% if (shenpi.contract !== shenpiConst.sp_status.gdspl) { %>
- <button class="btn btn-outline-primary btn-sm dropdown-toggle" type="button"
- id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
- aria-expanded="false">
- 添加审批流程
- </button>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton"
- style="width:220px">
- <div class="mb-2 p-2"><input class="form-control form-control-sm"
- placeholder="姓名/手机 检索" id="gr-search3" autocomplete="off"></div>
- <dl class="list-unstyled book-list search-user-list">
- <% accountGroup.forEach((group, idx) => { %>
- <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>" data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
- <div class="dd-content" data-toggleid="<%- idx %>">
- <% group.groupList.forEach(item => { %>
- <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>" >
- <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
- class="ml-auto"><%- item.mobile %></span></p>
- <span class="text-muted"><%- item.role %></span>
- </dd>
- <% });%>
- </div>
- <% }) %>
- </dl>
- </div>
- <% } else if(spGroupList.length > 0 || paySpGroupList.length > 0) { %>
- <% if (spGroupList.length > 0) { %>
- <div class="row" id="contract-add-group" style="display: none">
- <div class="col-7"></div>
- <div class="col-5">
- <select class="form-control form-control-sm" id="change-sp-group">
- <% for (const g of spGroupList) { %>
- <option value="<%= g.id %>"><%= g.name %></option>
- <% } %>
- </select>
- </div>
- </div>
- <% } %>
- <% if (paySpGroupList.length > 0) { %>
- <div class="row" id="pay-add-group" style="display: none">
- <div class="col-7"></div>
- <div class="col-5">
- <select class="form-control form-control-sm" id="change-pay-sp-group">
- <% for (const g of paySpGroupList) { %>
- <option value="<%= g.id %>"><%= g.name %></option>
- <% } %>
- </select>
- </div>
- </div>
- <% } %>
- <% } %>
- </div>
- <div class="card mt-3">
- <div class="card-header">
- 审批流程
- </div>
- <div class="modal-height-500" style="overflow: auto">
- <ul class="list-group list-group-flush" id="auditors">
- </ul>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
- <input type="hidden" id="start-sp-cid" />
- <input type="hidden" id="start-sp-cpid" />
- <input type="hidden" id="start-sp-csid" />
- <button class="btn btn-primary btn-sm" type="button" id="start-sp-btn">确认上报</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="sp-list" data-backdrop="static">
- <div class="modal-dialog modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">审批流程</h5>
- </div>
- <div class="modal-body">
- <div class="row">
- <div class="col-4">
- <!-- <a class="sp-list-item" href="#sub-sp" data-toggle="modal" data-target="#sub-sp"-->
- <!-- id="hideSp">修改审批流程</a>-->
- <!-- <a class="sp-list-item" href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2"-->
- <!-- id="hideSp">修改审批流程</a>-->
- <div class="card modal-height-500 mt-3" style="overflow: auto">
- <ul class="list-group list-group-flush" id="auditor-list">
- </ul>
- </div>
- </div>
- <div class="col-8 modal-height-500" style="overflow: auto" id="audit-list">
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
- <input type="hidden" id="check-sp-cid" />
- <input type="hidden" id="check-sp-cpid" />
- <input type="hidden" id="check-sp-csid" />
- <input type="hidden" id="check-operate" />
- <span id="check-sp-btn-html">
- </span>
- </div>
- </div>
- </div>
- </div>
- <% } %>
|