123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date 2018/5/30
- * @version
- */
- function loadContent(data) {
- const html = [];
- html.push('<div name="auditContent" class="card my-3">');
- html.push('<div class="card-body">');
- html.push('<table class="table table-sm table-bordered mb-2">');
- console.log(data);
- console.log(data.rela_bills);
- const bills = JSON.parse(data.rela_bills);
- console.log(bills);
- for (const b of bills) {
- html.push('<tr bid=' + b.ledger_id + '>');
- const code = b.code ? b.code : b.b_code;
- html.push('<td>' + code + '</td>');
- html.push('<td>' + b.name + '</td>');
- html.push('</tr>');
- }
- html.push('</table>');
- html.push('<p>'+ data.content +'</p>');
- html.push('<span class="text-muted">' + data.in_time.toLocaleString() + '</span>');
- html.push('</div>');
- html.push('</div>');
- $('#opinion>div.sjs-height-2').append(html.join(''));
- }
- function loadContents(data) {
- $('div[name=auditContent]').remove();
- for (const d of data) {
- loadContent(d);
- }
- };
- $(document).ready(() => {
- autoFlashHeight();
- const ledgerSpread = SpreadJsObj.createNewSpread($('#ledger-spread')[0]);
- const ledgerTree = createNewPathTree('active', {
- id: 'ledger_id',
- pid: 'ledger_pid',
- order: 'order',
- level: 'level',
- rootId: -1,
- keys: ['id', 'tender_id', 'ledger_id']
- });
- ledgerTree.loadDatas(ledger);
- SpreadJsObj.initSheet(ledgerSpread.getActiveSheet(), ledgerSpreadSetting);
- SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), 'tree', ledgerTree);
- let dealBills;
- // 展开收起标准清单
- $('a', '.side-menu').bind('click', function () {
- const tab = $(this), tabPanel = $(tab.attr('content'));
- const showSideTools = function (show) {
- if (show) {
- $('.c-body.col-12').removeClass('col-12').addClass('col-8');
- $('.c-body.col-0').removeClass('col-0').addClass('col-4').show();
- } else {
- $('.c-body.col-8').removeClass('col-8').addClass('col-12');
- $('.c-body.col-4').removeClass('col-4').addClass('col-0').hide();
- }
- }
- if (!tab.hasClass('active')) {
- $('a', '#side-menu').removeClass('active');
- tab.addClass('active');
- showSideTools(tab.hasClass('active'));
- $('.tab-content .tab-pane').hide();
- tabPanel.show();
- if (tab.attr('content') === '#deal-bills' && !dealBills) {
- dealBills = new DealBills($('#deal-bills-spread')[0], {
- cols: [
- {title: '清单编号', field: 'code', width: 120, readOnly: true},
- {title: '名称', field: 'name', width: 230, readOnly: true},
- {title: '单位', field: 'unit', width: 50, readOnly: true},
- {title: '单价', field: 'unit_price', width: 50, readOnly: true},
- {title: '数量', field: 'quantity', width: 50, readOnly: true},
- ],
- emptyRows: 0,
- });
- dealBills.loadData();
- }
- } else {
- tab.removeClass('active');
- showSideTools(tab.hasClass('active'));
- tabPanel.hide();
- }
- ledgerSpread.refresh();
- });
- class DealBills {
- constructor (obj, spreadSetting) {
- this.obj = obj;
- this.url = '/deal';
- this.spreadSetting = spreadSetting;
- this.spread = SpreadJsObj.createNewSpread(this.obj);
- SpreadJsObj.initSheet(this.spread.getActiveSheet(), this.spreadSetting);
- }
- loadData () {
- const self = this;
- postData(this.url+'/get-data', {}, function (data) {
- SpreadJsObj.loadSheetData(self.spread.getActiveSheet(), 'data', data);
- });
- }
- }
- // 右键菜单
- $.contextMenu({
- selector: '#ledger-spread',
- build: function ($trigger, e) {
- const target = SpreadJsObj.safeRightClickSelection($trigger, e, ledgerSpread);
- return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
- },
- items: {
- 'addRelaBills': {
- name: '添加至“清单意见”',
- icon: 'fa-sign-in',
- callback: function (key, opt) {
- const sheet = ledgerSpread.getActiveSheet();
- const selection = sheet.getSelections();
- const row = selection[0].row;
- const select = ledgerTree.nodes[row];
- const exist = $('tr[bid=' + select.ledger_id +']', '#rela_bills').length > 0;
- if (!exist) {
- const html = [];
- html.push('<tr bid=' + select.ledger_id + '>');
- html.push('<td>');
- html.push(select.code && select.code !== '' ? select.code : select.b_code);
- html.push('</td>');
- html.push('<td>' + select.name + '</td>');
- html.push('<td><a href="javascript: void(0);">移除</a></td>');
- html.push('</tr>');
- $('#rela_bills').append(html.join(''));
- }
- $('#billsHint').hide();
- if ($('tr[bid]', '#rela_bills').length === 1) {
- $('a', '#rela_bills').bind('click', function () {
- $(this).parent().parent().remove();
- if ($('tr[bid]', '#rela_bills').length === 0) {
- $('#billsHint').show();
- }
- });
- }
- },
- visible: function(key, opt){
- const sheet = ledgerSpread.getActiveSheet();
- const selection = sheet.getSelections();
- const row = selection[0].row;
- const select = ledgerTree.nodes[row];
- return select;
- }
- },
- }
- });
- $('textarea').bind('input propertychange', function () {
- if ($(this).val().length > 0) {
- $('#opinionHint').hide();
- } else {
- $('#opinionHint').show();
- }
- });
- $('#addContent').click(function () {
- const bills = [];
- for (const tr of $('#rela_bills>tr')) {
- bills.push($(tr).attr('bid'));
- }
- const data = {
- opinion: $('#content').val(),
- bills,
- };
- postData('/ledger/audit/addContent', data, (data) => {
- $('legend', '#opinion').text(userName + ' 清单意见');
- loadContents(data);
- });
- });
- $('select').change(function () {
- postData('/ledger/audit/getContent', {audit_id: parseInt($(this).val())}, (data) => {
- $('legend', '#opinion').text($(this).find('option:selected').text() + ' 清单意见');
- loadContents(data);
- });
- });
- });
|