|
|
@@ -23,13 +23,15 @@ $(document).ready(function () {
|
|
|
}
|
|
|
//定额章节树与定额表
|
|
|
let leftElesObj = {};
|
|
|
+ leftElesObj.module = moduleName;
|
|
|
leftElesObj.resize = $('#slideResizeLeft');
|
|
|
leftElesObj.parent = $('#dataRow');
|
|
|
leftElesObj.left = $('#leftContent');
|
|
|
leftElesObj.right = $('#mainContent');
|
|
|
let maxEval = `$('#zmhsContent').is(':visible') ? $('#dataRow').width() - $('#zmhsContent').width() - 300 : $('#dataRow').width() - 300`;
|
|
|
- SlideResize.horizontalSlide(moduleName, leftElesObj, {min: 300, max: maxEval}, function () {
|
|
|
+ SlideResize.horizontalSlide(leftElesObj, {min: 300, max: maxEval}, function () {
|
|
|
refreshALlWorkBook();
|
|
|
+ sectionTreeObj.loadRateWidth();
|
|
|
});
|
|
|
SlideResize.loadHorizonWidth(moduleName, [$('#slideResizeLeft')], [$('#leftContent'), $('#mainContent')], function () {
|
|
|
//refreshAfterZmhs(false);
|
|
|
@@ -43,12 +45,13 @@ $(document).ready(function () {
|
|
|
});
|
|
|
//定额表与子目换算表
|
|
|
let rightElesObj = {};
|
|
|
+ rightElesObj.module = moduleName;
|
|
|
rightElesObj.resize = $('#slideResizeRight');
|
|
|
rightElesObj.parent = $('#dataRow');
|
|
|
rightElesObj.left = $('#mainContent');
|
|
|
rightElesObj.right = $('#zmhsContent');
|
|
|
let maxEvalRight = `$('#dataRow').width() - $('#leftContent').width() - 200`;
|
|
|
- SlideResize.horizontalSlide(moduleName, rightElesObj, {min: 200, max: maxEvalRight}, function () {
|
|
|
+ SlideResize.horizontalSlide(rightElesObj, {min: 200, max: maxEvalRight}, function () {
|
|
|
refreshALlWorkBook();
|
|
|
});
|
|
|
//设置水平拖动条的宽度
|
|
|
@@ -102,6 +105,7 @@ $(document).ready(function () {
|
|
|
for (let resize of resizes) {
|
|
|
setResizeWidth(resize);
|
|
|
}
|
|
|
+ sectionTreeObj.loadRateWidth();
|
|
|
}
|
|
|
$('#zmhs').click(function () {
|
|
|
if(!$(this).hasClass('active')){
|
|
|
@@ -121,7 +125,7 @@ $(document).ready(function () {
|
|
|
});
|
|
|
//子目换算和调整表上下拖动
|
|
|
let zmhsAdjResize = getZmhsAdjResize();
|
|
|
- SlideResize.verticalSlide(moduleName, zmhsAdjResize.eleObj, zmhsAdjResize.limit, function () {
|
|
|
+ SlideResize.verticalSlide(zmhsAdjResize.eleObj, zmhsAdjResize.limit, function () {
|
|
|
if (coeOprObj.workBook) {
|
|
|
coeOprObj.workBook.refresh();
|
|
|
}
|
|
|
@@ -134,6 +138,7 @@ $(document).ready(function () {
|
|
|
function getZmhsAdjResize() {
|
|
|
let zmhsAdjResize = {};
|
|
|
zmhsAdjResize.eleObj = {
|
|
|
+ module: moduleName,
|
|
|
resize: $('#zmhsAdjResize'),
|
|
|
top: $('#mainSpread'),
|
|
|
topSpread: $('#mainSpread'),
|
|
|
@@ -153,7 +158,7 @@ function loadZmhsAdjSize(resizeObj) {
|
|
|
if (!resizeObj) {
|
|
|
resizeObj = getZmhsAdjResize();
|
|
|
}
|
|
|
- SlideResize.loadVerticalHeight(moduleName, resizeObj.eleObj, resizeObj.limit, function () {
|
|
|
+ SlideResize.loadVerticalHeight(resizeObj.eleObj.module, resizeObj.eleObj, resizeObj.limit, function () {
|
|
|
if (coeOprObj.workBook) {
|
|
|
coeOprObj.workBook.refresh();
|
|
|
}
|
|
|
@@ -224,8 +229,10 @@ let coeOprObj = {
|
|
|
setting: {
|
|
|
header: [
|
|
|
{headerName:"编号", headerWidth:50, dataCode:"serialNo", dataType: "String", hAlign: "center", vAlign: "center", readOnly: false},
|
|
|
- {headerName:"名称", headerWidth:280, dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center", readOnly: false},
|
|
|
+ {headerName:"名称", headerWidth:200, dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center", readOnly: false},
|
|
|
{headerName:"内容", headerWidth:150, dataCode:"content", dataType: "String", hAlign: "left", vAlign: "center", readOnly: false},
|
|
|
+ {headerName:"原人材机编码", headerWidth:90, dataCode:"original_code", dataType: "String", hAlign: "center", vAlign: "center", readOnly: false},
|
|
|
+ {headerName:"可选人材机编码", headerWidth:150, dataCode:"option_codes", dataType: "String", hAlign: "center", vAlign: "center", readOnly: false}
|
|
|
]
|
|
|
},
|
|
|
buildSheet: function (container) {
|
|
|
@@ -286,6 +293,7 @@ let coeOprObj = {
|
|
|
}
|
|
|
else {
|
|
|
updateObj[dataCode] = inputT;
|
|
|
+ me.setOptionList(dataCode,inputT,updateObj);
|
|
|
updateArr.push(updateObj);
|
|
|
me.save([], updateArr, [], true);
|
|
|
}
|
|
|
@@ -316,6 +324,7 @@ let coeOprObj = {
|
|
|
else{
|
|
|
newCoe.serialNo = ++me.currentMaxNo;
|
|
|
newCoe[dataCode] = inputT;
|
|
|
+ me.setOptionList(dataCode,inputT,newCoe);
|
|
|
addArr.push(newCoe);
|
|
|
me.save(addArr, [], [], true, function (result) {
|
|
|
me.updateCurrentCoeList(result);
|
|
|
@@ -324,6 +333,18 @@ let coeOprObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ setOptionList:function (dataCode,inputT,obj) {
|
|
|
+ if(dataCode == "option_codes"){//所选人材的情况,要获取人材机下拉列表
|
|
|
+ inputT = inputT.replace(/[\s\r\n]/g, "")//去掉空格换行等字符
|
|
|
+ let optionList = [];
|
|
|
+ let options = inputT.split("|");
|
|
|
+ for(let code of options){
|
|
|
+ let name = gljAdjOprObj.getGljName(code,gljAdjOprObj.gljList,true);
|
|
|
+ if(name) optionList.push({text:name,value:code});
|
|
|
+ }
|
|
|
+ obj.option_list = optionList;
|
|
|
+ }
|
|
|
+ },
|
|
|
onClipboardPasting: function (sender, info) {
|
|
|
let me = coeOprObj, maxCol = info.cellRange.col + info.cellRange.colCount - 1;
|
|
|
if(maxCol > me.setting.header.length){
|
|
|
@@ -532,9 +553,9 @@ let gljAdjOprObj = {
|
|
|
],
|
|
|
comboItems: {
|
|
|
//调整类型下拉菜单
|
|
|
- coeType: ['定额', '人工', '材料', '机械', '主材', '设备', '单个工料机','替换人材机'],
|
|
|
+ coeType: ['定额', '人工', '材料', '机械', '主材', '设备', '单个工料机','替换人材机',"所选人材机"],
|
|
|
//操作符下拉菜单
|
|
|
- operator: ['+', '-', '*', '/', '=']
|
|
|
+ operator: ['+', '-', '*', '/', '=','+*','-*']
|
|
|
}
|
|
|
},
|
|
|
buildSheet: function (container) {
|
|
|
@@ -660,7 +681,7 @@ let gljAdjOprObj = {
|
|
|
onClipboardPasting: function (sender, info) {
|
|
|
|
|
|
},
|
|
|
- getValidPasteDatas: function (pasteItems, info) {
|
|
|
+ getValidPasteDatas: function (pasteItems, info) {//2018-12-21 这里的if else 太多了,不好维护
|
|
|
let me = gljAdjOprObj;
|
|
|
let rst = [];
|
|
|
for(let i = 0, len = pasteItems.length; i < len; i++){
|
|
|
@@ -669,20 +690,21 @@ let gljAdjOprObj = {
|
|
|
//update
|
|
|
if(row < me.currentGljAdjList.length){
|
|
|
let updateObj = me.currentGljAdjList[row];
|
|
|
+ validObj.index = row;//要有下标做为匹配的依据,不然在复制多行并且某个单元格是只读的情况下,这里返回的updateList个数会比选中的行数少,造成更新行和实际不匹配的情况
|
|
|
if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){
|
|
|
let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList);
|
|
|
- if(pasteItems[i].coeType === '单个工料机' && gljName){
|
|
|
+ if((updateObj.coeType === '单个工料机'||updateObj.coeType === '替换人材机') && gljName){
|
|
|
validObj.coeType = pasteItems[i].coeType;
|
|
|
validObj.gljCode = pasteItems[i].gljCode;
|
|
|
validObj.gljName = gljName;
|
|
|
}
|
|
|
- else if(pasteItems[i].coeType !== '单个工料机' && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){
|
|
|
+ else if((pasteItems[i].coeType !== '单个工料机'||pasteItems[i].coeType !== '替换人材机') && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){
|
|
|
validObj.coeType = pasteItems[i].coeType;
|
|
|
}
|
|
|
}
|
|
|
else if(typeof pasteItems[i].coeType === 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){
|
|
|
let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList);
|
|
|
- if(typeof updateObj.coeType !== 'undefined' && updateObj.coeType === '单个工料机' && gljName){
|
|
|
+ if(typeof updateObj.coeType !== 'undefined' && (updateObj.coeType === '单个工料机'||updateObj.coeType === '替换人材机') && gljName){
|
|
|
validObj.gljCode = pasteItems[i].gljCode;
|
|
|
validObj.gljName = gljName;
|
|
|
}
|
|
|
@@ -690,13 +712,12 @@ let gljAdjOprObj = {
|
|
|
else if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode === 'undefined'){
|
|
|
if(me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){
|
|
|
validObj.coeType = pasteItems[i].coeType;
|
|
|
- if(validObj.coeType !== '单个工料机' && typeof updateObj.gljCode !== '单个工料机' && updateObj.gljCode.toString().trim().length > 0){
|
|
|
+ if(validObj.coeType !== '单个工料机' && typeof updateObj.coeType !== '单个工料机' && updateObj.gljCode.toString().trim().length > 0){
|
|
|
validObj.gljCode = '';
|
|
|
validObj.gljName = '';
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
if(typeof pasteItems[i].operator !== 'undefined' && me.setting.comboItems.operator.indexOf(pasteItems[i].operator) !== -1){
|
|
|
validObj.operator = pasteItems[i].operator;
|
|
|
}
|
|
|
@@ -704,16 +725,21 @@ let gljAdjOprObj = {
|
|
|
validObj.amount = pasteItems[i].amount;
|
|
|
}
|
|
|
}
|
|
|
+ if(typeof pasteItems[i].replaceCode !== 'undefined' && updateObj.coeType === '替换人材机'){
|
|
|
+ let gljName = me.getGljName(pasteItems[i].replaceCode, me.gljList);
|
|
|
+ validObj.replaceCode = pasteItems[i].replaceCode;
|
|
|
+ validObj.replaceName = gljName;
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
if(typeof pasteItems[i].coeType !== 'undefined' && typeof pasteItems[i].gljCode !== 'undefined'){
|
|
|
let gljName = me.getGljName(pasteItems[i].gljCode, me.gljList);
|
|
|
- if(pasteItems[i].coeType === '单个工料机' && gljName){
|
|
|
+ if((pasteItems[i].coeType === '单个工料机'||pasteItems[i].coeType === '替换人材机') && gljName){
|
|
|
validObj.coeType = pasteItems[i].coeType;
|
|
|
validObj.gljCode = pasteItems[i].gljCode;
|
|
|
validObj.gljName = gljName;
|
|
|
}
|
|
|
- else if(pasteItems[i].coeType !== '单个工料机' && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){
|
|
|
+ else if((pasteItems[i].coeType !== '单个工料机'||pasteItems[i].coeType !== '替换人材机') && me.setting.comboItems.coeType.indexOf(pasteItems[i].coeType) !== -1){
|
|
|
validObj.coeType = pasteItems[i].coeType;
|
|
|
}
|
|
|
}
|
|
|
@@ -742,8 +768,9 @@ let gljAdjOprObj = {
|
|
|
for(let i = 0, len = validDatas.length; i < len; i++){
|
|
|
row = i + info.cellRange.row;
|
|
|
//update
|
|
|
- if(row < me.currentGljAdjList.length){
|
|
|
- let updateObj = me.currentGljAdjList[row];
|
|
|
+ if(row < me.currentGljAdjList.length && typeof validDatas[i].index !=='undefined'){
|
|
|
+ let updateObj = me.currentGljAdjList[validDatas[i].index];//这里改成读取下标
|
|
|
+ delete validDatas[i].index; //清除下标
|
|
|
for(let attr in validDatas[i]){
|
|
|
updateObj[attr] = validDatas[i][attr];
|
|
|
}
|
|
|
@@ -785,11 +812,11 @@ let gljAdjOprObj = {
|
|
|
workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false);
|
|
|
workBook.commandManager().setShortcutKey('gljAdjDel', GC.Spread.Commands.Key.del, false, false, false, false);
|
|
|
},
|
|
|
- getGljName: function (gljCode, gljList) {
|
|
|
+ getGljName: function (gljCode, gljList,withSpecs) {//withSpecs 是否带上规格型号
|
|
|
let rst = null;
|
|
|
for(let i = 0, len = gljList.length; i < len; i++){
|
|
|
if(gljCode === gljList[i].code){
|
|
|
- rst = gljList[i].name;
|
|
|
+ rst = withSpecs == true ?gljList[i].name +" - "+gljList[i].specs :gljList[i].name;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -804,7 +831,7 @@ let gljAdjOprObj = {
|
|
|
$.ajax({
|
|
|
type: 'post',
|
|
|
url: '/stdGljRepository/api/getGljItemsOccupied',
|
|
|
- data: {repId: pageObj.gljLibID, occupation: '-_id code name'},
|
|
|
+ data: {repId: pageObj.gljLibID, occupation: '-_id code name specs'},
|
|
|
dataType: 'json',
|
|
|
timeout: 5000,
|
|
|
success:function(result){
|