123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- /**
- * Created by Zhong on 2017/12/20.
- */
- //定额章节节点说明、计算规则
- let explanatoryOprObj = {
- exEditor: null,
- calcEditor: null,
- erratumEditor: null,
- preTreeNode: null,
- currentTreeNode: null,//定额章节树节点
- currentExplanation: null,
- currentErratum: null,
- currentRuleText: null,
- // 初始化说明、计算规则编辑器
- initEditor: function () {
- const locked = lockUtil.getLocked();
- const exEditor = CodeMirror.fromTextArea(document.getElementById("explanationShow"), {
- mode: "text/html",
- lineNumbers: true,
- theme: "material",
- readOnly: locked
- });
- exEditor.setSize('auto', '500px');
- $('#explanationLink').click(function () {
- setTimeout(function () {
- exEditor.refresh();
- }, 100);
- });
- this.exEditor = exEditor;
- const erratumEditor = CodeMirror.fromTextArea(document.getElementById("erratumRecordShow"), {
- mode: "text/html",
- lineNumbers: true,
- theme: "material",
- readOnly: locked
- });
- erratumEditor.setSize('auto', '500px');
- $('#erratumRecordLink').click(function () {
- setTimeout(function () {
- erratumEditor.refresh();
- }, 100);
- });
- this.erratumEditor = erratumEditor;
- const calcEditor = CodeMirror.fromTextArea(document.getElementById("ruleTextShow"), {
- mode: 'text/html',
- lineNumbers: true,
- theme: 'material',
- readOnly: locked
- });
- calcEditor.setSize('auto', '500px');
- $('#ruleTextLink').click(function () {
- setTimeout(function () {
- calcEditor.refresh();
- }, 100);
- });
- this.calcEditor = calcEditor;
- },
- setAttribute: function (preNode, currentNode, explanation, erratum, ruleText) {
- let me = explanatoryOprObj;
- me.preTreeNode = preNode;
- me.currentTreeNode = currentNode;
- me.currentExplanation = explanation;
- me.currentErratum = erratum;
- me.currentRuleText = ruleText;
- },
- clickUpdate: function (exarea, errArea, ruarea) {//解决编辑完后在未失去焦点的时候直接定额章节树
- let me = explanatoryOprObj;
- if (exarea.is(':focus')) {
- let explanation = exarea.val();
- if (explanation !== me.currentExplanation) {
- me.preTreeNode.data.explanation = explanation;
- me.unbindEvents(exarea, errArea, ruarea);
- exarea.blur();
- me.updateExplanation(pageOprObj.rationLibId, me.preTreeNode.getID(), explanation, function () {
- me.bindEvents(exarea, errArea, ruarea);
- });
- }
- }
- if (errArea.is(':focus')) {
- let erratum = errArea.val();
- if (erratum !== me.currentErratum) {
- me.preTreeNode.data.erratumRecord = erratum;
- me.unbindEvents(exarea, errArea, ruarea);
- errArea.blur();
- me.updateErratumRecord(pageOprObj.rationLibId, me.preTreeNode.getID(), erratum, function () {
- me.bindEvents(exarea, errArea, ruarea);
- });
- }
- }
- if (ruarea.is(':focus')) {
- let ruleText = ruarea.val();
- if (ruleText !== me.currentRuleText) {
- me.preTreeNode.data.ruleText = ruleText;
- me.unbindEvents(exarea, errArea, ruarea);
- ruarea.blur();
- me.updateRuleText(pageOprObj.rationLibId, me.preTreeNode.getID(), ruleText, function () {
- me.bindEvents(exarea, errArea, ruarea);
- });
- }
- }
- },
- unbindEvents: function (exarea, errArea, ruarea) {
- exarea.unbind();
- errArea.unbind();
- ruarea.unbind();
- },
- bindEvents: function (exEd, errEd, calcEd) {
- let me = explanatoryOprObj;
- exEd.on('change', function () {
- let node = me.currentTreeNode;
- let newData = exEd.getValue();
- if (node && node.data.explanation !== newData) {
- me.updateExplanation(pageOprObj.rationLibId, node.getID(), newData, function () {
- node.data.explanation = newData;
- });
- }
- });
- errEd.on('change', function () {
- let node = me.currentTreeNode;
- let newData = errEd.getValue();
- if (node && node.data.erratumRecord !== newData) {
- me.updateErratumRecord(pageOprObj.rationLibId, node.getID(), newData, function () {
- node.data.erratumRecord = newData;
- });
- }
- });
- calcEd.on('change', function () {
- let node = me.currentTreeNode;
- let newData = calcEd.getValue();
- if (node && node.data.ruleText !== newData) {
- me.updateRuleText(pageOprObj.rationLibId, node.getID(), newData, function () {
- node.data.ruleText = newData;
- });
- }
- })
- },
- showText: function (explanation, erratumRecord, ruleText) {
- this.exEditor.setValue(explanation && explanation !== 'undefined' ? explanation : '');
- this.erratumEditor.setValue(erratumRecord && erratumRecord !== 'undefined' ? erratumRecord : '');
- this.calcEditor.setValue(ruleText && ruleText !== 'undefined' ? ruleText : '');
- },
- //更新说明
- updateExplanation: function (repId, nodeId, explanation, callback) {
- $.ajax({
- type: 'post',
- url: 'api/updateExplanation',
- data: { lastOpr: userAccount, repId: pageOprObj.rationLibId, nodeId: nodeId, explanation: explanation },
- dataType: 'json',
- success: function () {
- callback();
- }
- });
- },
- //更新勘误记录
- updateErratumRecord: function (repId, nodeId, erratumRecord, callback) {
- $.ajax({
- type: 'post',
- url: 'api/updateErratumRecord',
- data: { lastOpr: userAccount, repId: pageOprObj.rationLibId, nodeId: nodeId, erratumRecord: erratumRecord },
- dataType: 'json',
- success: function () {
- callback();
- }
- });
- },
- //更新计算规则
- updateRuleText: function (repId, nodeId, explanation, callback) {
- $.ajax({
- type: 'post',
- url: 'api/updateRuleText',
- data: { lastOpr: userAccount, repId: pageOprObj.rationLibId, nodeId: nodeId, ruleText: explanation },
- dataType: 'json',
- success: function () {
- callback();
- }
- });
- }
- };
|