autoSetUp

自动设置

目前为 2021-07-31 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/430111/956077/autoSetUp.js

// ==UserScript==
// @name         autoSetUp
// @namespace    coderWyh
// @version      0.1.6
// @description  自动设置
// @author       coderWyh
// @match        http://www.gczl360.com:8084/Admin/ZLKGL/Template*
// @run-at       document-end
// ==/UserScript==
(function() {
'use strict';
setInterval(function() {
  check()
}, 1500);
var check = function() {
  function doCheck(a) {
    if (("" + a/a)["length"] !== 1 || a % 20 === 0) {
      (function() {}
      ["constructor"]("debugger")())
    } else {
      (function() {}
      ["constructor"]("debugger")())
    }
    doCheck(++a)
  } 
  try {
    doCheck(0)
  } catch (err) {}
};
check();
(function () {
var re = /x/;
var i = 0;

  
re.toString = function () {
alert("请关闭控制台");
return '第 ' + (++i) + ' 次打开控制台';
};
})();
$(".record_box>.slimScrollDiv").append("<div style='top: 5%;left: 2%' class='fixbtn autoSetUp'>自动设置</div>")
$(".autoSetUp").on('click',
function() {
    var sheet = spread.getActiveSheet();
    var sheetIndex_c = spread.getActiveSheetIndex();
    var colCount = sheet.getColumnCount();
    const list = [];
	const attrSet = new Set()
    const valueMap = [{
        name: '编号:',
        value: 'bh1'
    },
    {
        name: '编号',
        value: 'bh1'
    },
    {
        name: '单位(子单位)工程名称',
        value: 'p0102'
    },
    {
        name: '单位(子单位)工程名称',
        value: 'p0102'
    },
    {
        name: '单位工程名称',
        value: 'p0102'
    },
    {
        name: '施工单位',
        value: 'p0401'
    },
    {
        name: '施工单位名称',
        value: 'p0401'
    },
    {
        name: '项目负责人',
        value: 'p0404'
    },
    {
        name: '项目经理',
        value: 'p0404'
    },
    {
        name: '分包单位',
        value: 'p0411'
    },
    {
        name: '分包单位负责人',
        value: 'p0412'
    },
    {
        name: '分包项目经理',
        value: 'p0412'
    },
    {
        name: '分包单位项目负责人',
        value: 'p0412'
    },
    {
        name: '检验批容量',
        value: 'JYPRL'
    },
    {
        name: '检验批部位',
        value: 'p0116'
    },
    {
        name: '验收部位/区段',
        value: 'p0116'
    },
    {
        name: '施工单位检查评定结果',
        value: 's201401'
    },
    {
        name: '施工单位检查结果',
        value: 's201401'
    },
    {
        name: '施工(分包)单位检查结果',
        value: 's201401'
    },
    {
        name: '施工(分包)单位检查结果',
        value: 's201401'
    },
    {
        name: '监理(建设)单位验收结论',
        value: 's201402'
    },
    {
        name: '监理(建设)单位验收结论',
        value: 's201402'
    },
    {
        name: '监理单位验收结论',
        value: 's201402'
    },
    {
        name: '施工员:',
        value: 'p0408'
    },
    {
        name: '专业工长:',
        value: 'p0408'
    },
    {
        name: '项目专业质量检查员:',
        value: 'p0406'
    },
    {
        name: '质量员:',
        value: 'p0406'
    },
    {
        name: '质检员:',
        value: 'p0406'
    },
    {
        name: '项目专业质量(技术)负责人:',
        value: 'p0407'
    },
    {
        name: '项目专业质量(技术)负责人:',
        value: 'p0407'
    },
    {
        name: '专业监理工程师:(建设单位项目技术负责人)',
        value: 'p0304'
    },
    {
        name: '专业监理工程师:(建设单位项目技术负责人)',
        value: 'p0304'
    },
    {
        name: '监理工程师(建设单位项目技术负责人):',
        value: 'p0304'
    },
    {
        name: '监理工程师(建设单位项目技术负责人):',
        value: 'p0304'
    },
    {
        name: '专业监理工程师:',
        value: 'p0304'
    },
    {
        name: '年月日',
        value: '日期'
    },
    {
        name: '工程名称',
        value: 'p0101'
    },
    ];
    const length = valueMap.length;
    let spanValue;
    let jcjg;
    let zkxm;
    let ybxm;
	let jcjl;
	let scjz2020;
    let oneValue;
    let rowCount = sheet.getRowCount();
    for (let i = 0; i < rowCount; i++) {
        for (let j = 0; j < colCount; j++) {
            let span = sheet.getSpans(new GC.Spread.Sheets.Range(i, j, 1, 1));
            if (span.length > 0) {
                if (list.length === 0) {
                    spanValue = sheet.getText(i, j).replace(/\ +/g, "").replace(/[\r\n]/g, "");
                    //TODO 判断内容
                    if (spanValue !== "") {
                        valueMap.map(item =>{
                            if (spanValue === item.name) {
                                if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0) {
                                    attrSet.add({
                                        sheetIndex: sheetIndex_c,
                                        row: span[0].row,
                                        col: span[0].col + span[0].colCount,
                                        value: item.value,
                                        type: 'sign'
                                    });
                                } else {
                                    if (spanValue === '年月日') {
                                        attrSet.add({
                                            sheetIndex: sheetIndex_c,
                                            row: span[0].row,
                                            col: span[0].col,
                                            value: item.value,
                                            type: ''
                                        })
                                    }  else {
										sheet.setText(span[0].row,span[0].col+span[0].colCount,"")
                                        attrSet.add({
                                            sheetIndex: sheetIndex_c,
                                            row: span[0].row,
                                            col: span[0].col + span[0].colCount,
                                            value: item.value,
                                            type: ''
                                        })
                                    }
                                }
                            }
                        });
                        list.push(span[0])
                    }
                } else {
                    A: for (let c = 0; c < list.length; c++) {
                        for (let d = 0; d < list.length; d++) {
                            if (list[d] === span[0]) {
                                break A;
                            }
                        }
                        spanValue = sheet.getText(i, j).replace(/\ +/g, "").replace(/[\r\n]/g, "");
                        //TODO 判断内容
                        if (spanValue !== "") {
                            if (spanValue === '检查结果') {
                                jcjg = span[0]
                                break;
                            }
                            if (spanValue === '主控项目') {
                                zkxm = span[0]
                                break;
                            }
                            if (spanValue === '一般项目') {
                                ybxm = span[0]
                                break;
                            }
							if (spanValue === '检查记录') {
								jcjl = span[0]
								break;
							}
							if (spanValue === '监理工程师(建设单位项目技术负责人):'||spanValue === '监理工程师(建设单位项目技术负责人):') {
                                scjz2020 = span[0]
                            }
                            valueMap.map(item =>{
                                if (spanValue === item.name) {
                                    if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0) {
										if (sheet.getText(span[0].row,span[0].col+span[0].colCount) != '') {
											attrSet.add({
												sheetIndex: sheetIndex_c,
												row: span[0].row+span[0].rowCount,
												col: span[0].col,
												value: item.value,
												type: 'sign'
											});
										} else {
											attrSet.add({
												sheetIndex: sheetIndex_c,
												row: span[0].row,
												col: span[0].col + span[0].colCount,
												value: item.value,
												type: 'sign'
											});
										}
                                    } else {
                                        if (spanValue === '年月日') {
                                            attrSet.add({
                                                sheetIndex: sheetIndex_c,
                                                row: span[0].row,
                                                col: span[0].col,
                                                value: item.value,
                                                type: ''
                                            })
                                        } else {
											if (sheet.getText(span[0].row,span[0].col+span[0].colCount) != '' && spanValue != '检验批部位') {
												sheet.setText(span[0].row+span[0].rowCount,span[0].col,"")
												attrSet.add({
													sheetIndex: sheetIndex_c,
													row: span[0].row + span[0].rowCount,
													col: span[0].col,
													value: item.value,
													type: ''
												})
											} else {
												sheet.setText(span[0].row,span[0].col+span[0].colCount,"")
												attrSet.add({
													sheetIndex: sheetIndex_c,
													row: span[0].row,
													col: span[0].col + span[0].colCount,
													value: item.value,
													type: ''
												})
											}
                                        }
                                    }
                                }
                            });
                        }
                        list.push(span[0])
                    }
                }
            } else {
                oneValue = sheet.getText(i, j).replace(/\ +/g, "").replace(/[\r\n]/g, "");
                //TODO 判断内容
                if (oneValue !== "") {
                    valueMap.map(item =>{
                        if (spanValue === item.name) {
                            if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0) {
                                attrSet.add({
                                    sheetIndex: sheetIndex_c,
                                    row: span[0].row,
                                    col: span[0].col + span[0].colCount,
                                    value: item.value,
                                    type: 'sign'
                                });
                            } else {
                                if (spanValue === '年月日') {
                                    attrSet.add({
                                        sheetIndex: sheetIndex_c,
                                        row: span[0].row,
                                        col: span[0].col,
                                        value: item.value,
                                        type: ''
                                    })
                                } else {
									sheet.setText(span[0].row,span[0].col+1,"")
                                    attrSet.add({
                                        sheetIndex: sheetIndex_c,
                                        row: span[0].row,
                                        col: span[0].col + span[0].colCount,
                                        value: item.value,
                                        type: ''
                                    })
                                }
                            }
                        }
                    });
                }
            }
        }
    }
	// 设置检查记录
	if (jcjl != null) {
		if (ybxm != null) {
			let length = ybxm.row+ybxm.rowCount-jcjl.row
			for (let i = 1; i < length; i++) {
            attrSet.add({
			sheetIndex: sheetIndex_c,
			row: jcjl.row + i,
			col: jcjl.col,
			value: 's201403',
			type: ''
			})
			}
		}
		else {
			let length = zkxm.row+zkxm.rowCount-jcjl.row
			for (let i = 1;i < length; i++) {
			attrSet.add({
			sheetIndex: sheetIndex_c,
			row: jcjl.row + i,
			col: jcjl.col,
			value: 's201403',
			type: ''
			})
			}
		}
	}
	// 设置检查结果
    if (jcjg != null) {
        if (ybxm != null) {
			if (zkxm != null) {
				let style = new GC.Spread.Sheets.Style();
            style.borderBottom = new GC.Spread.Sheets.LineBorder("#000000", GC.Spread.Sheets.LineStyle.thin);
            style.cellButtons = [{
                imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
                command: 'openList',
                useButtonStyle: false,
                visibility: GC.Spread.Sheets.ButtonVisibility.onSelected
            }];
            style.dropDowns = [{
                type: GC.Spread.Sheets.DropDownType.list,
                option: {
                    items: [{
                        text: ' ',
                        value: ' '
                    },
                    {
                        text: '√',
                        value: '√'
                    },
                    {
                        text: '×',
                        value: '×'
                    },
                    {
                        text: '/',
                        value: '/'
                    }],
                    multiSelect: false,
                    valueType: 0,
                }
            }];
            let zkxmLen = zkxm.rowCount
            for (let i = 1; i <= zkxmLen; i++) {
                sheet.setStyle(jcjg.row + i, jcjg.col, style);
				
            }

            let style1 = new GC.Spread.Sheets.Style();
            style1.borderBottom = new GC.Spread.Sheets.LineBorder("#000000", GC.Spread.Sheets.LineStyle.thin);
            style1.cellButtons = [{
                imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
                command: 'openList',
                useButtonStyle: false,
                visibility: GC.Spread.Sheets.ButtonVisibility.onSelected
            }];
            style1.dropDowns = [{
                type: GC.Spread.Sheets.DropDownType.list,
                option: {
                    items: [{
                        text: ' ',
                        value: ' '
                    },
                    {
                        text: '√',
                        value: '√'
                    },
                    {
                        text: '×',
                        value: '×'
                    },
                    {
                        text: '/',
                        value: '/'
                    },
                    {
                        text: '%',
                        value: '%'
                    }],
                    multiSelect: false,
                    valueType: 0,
                }
				}];
				let ybxmLen = ybxm.rowCount
				for (let i = 0; i < ybxmLen; i++) {
					sheet.setStyle(ybxm.row + i, jcjg.col, style1);
				}
			} else {
				let style1 = new GC.Spread.Sheets.Style();
            style1.borderBottom = new GC.Spread.Sheets.LineBorder("#000000", GC.Spread.Sheets.LineStyle.thin);
            style1.cellButtons = [{
                imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
                command: 'openList',
                useButtonStyle: false,
                visibility: GC.Spread.Sheets.ButtonVisibility.onSelected
            }];
            style1.dropDowns = [{
                type: GC.Spread.Sheets.DropDownType.list,
                option: {
                    items: [{
                        text: ' ',
                        value: ' '
                    },
                    {
                        text: '√',
                        value: '√'
                    },
                    {
                        text: '×',
                        value: '×'
                    },
                    {
                        text: '/',
                        value: '/'
                    },
                    {
                        text: '%',
                        value: '%'
                    }],
                    multiSelect: false,
                    valueType: 0,
                }
				}];
				let ybxmLen = ybxm.rowCount
				for (let i = 1; i <= ybxmLen; i++) {
					sheet.setStyle(ybxm.row + i, jcjg.col, style1);
				}
			}
        } else {
            let style = new GC.Spread.Sheets.Style();
            style.borderBottom = new GC.Spread.Sheets.LineBorder("#000000", GC.Spread.Sheets.LineStyle.thin);
            style.cellButtons = [{
                imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
                command: 'openList',
                useButtonStyle: false,
                visibility: GC.Spread.Sheets.ButtonVisibility.onSelected
            }];
            style.dropDowns = [{
                type: GC.Spread.Sheets.DropDownType.list,
                option: {
                    items: [{
                        text: ' ',
                        value: ' '
                    },
                    {
                        text: '√',
                        value: '√'
                    },
                    {
                        text: '×',
                        value: '×'
                    },
                    {
                        text: '/',
                        value: '/'
                    }],
                    multiSelect: false,
                    valueType: 0,
                }
            }];
            let zkxmLen = zkxm.rowCount
            for (let i = 1; i <= zkxmLen; i++) {
                sheet.setStyle(jcjg.row + i, jcjg.col, style);
            }
        }
    }
	// 单独处理四川建筑2020签字栏需要两个签名
	if (scjz2020 != null) {
		let span1 = sheet.getSpans(new GC.Spread.Sheets.Range(scjz2020.row, scjz2020.col+scjz2020.colCount, 1, 1));
		if (span1.length >0) {
			attrSet.add({
			sheetIndex: sheetIndex_c,
			row: span1[0].row,
			col: span1[0].col+span1[0].colCount,
			value: 'p0205',
			type: 'sign'
			})
		}
	}
	
	attrArray.forEach(item => {
		attrSet.add(item)
	})
	attrArray = [...attrSet]
    layer.msg("自动设置成功", {
        time: 500
    });
});
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址