autoSetUp

自动设置

目前为 2021-08-02 提交的版本。查看 最新版本

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

// ==UserScript==
// @name         autoSetUp
// @namespace    coderWyh
// @version      0.1.13
// @description  自动设置
// @author       coderWyh
// @match        http://www.gczl360.com:8084/Admin/ZLKGL/Template*
// @run-at       document-end
// @license
// ==/UserScript==
(function() {
'use strict';
// 本代码所有权归作者所有 作者QQ:2471630907 手机号:18990193572  微信同手机号
// 本代码具有知识产权 未经作者授权严禁任何人进行使用、传播、二次开发等一系列损害作者知识产权的操作
// 作者对未经授权的操作保留起诉但不仅限于起诉的维护个人知识产权利益的法律途径
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();
let url = location.href
$(".record_box>.slimScrollDiv").append("<div style='top: 40%;left: 5%' class='fixbtn autoSetUp'>自动设置</div>")
$(".autoSetUp").on('click',
function() {
    var sheet = spread.getActiveSheet();
    var sheetIndex_c = spread.getActiveSheetIndex();
    var colCount = sheet.getColumnCount();
    const list = [];
    const valueMap = [{
        name: '编号:',
        value: 'bh1'
    },
    {
        name: '编号',
        value: 'bh1'
    },
    {
        name: '建设单位',
        value: 'p0201'
    },
    {
        name: '监理单位',
        value: 'p0301'
    },
    {
        name: '检测单位',
        value: 'p0801'
    },
    {
        name: '设计单位',
        value: 'p0501'
    },
    {
        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'
    },
	{
        name: '工程名称:',
        value: 'p0101'
    },
    ];
    const length = valueMap.length;
    let spanValue;
    let jcjg;
    let zkxm;
    let ybxm;
	let jcjl;
	let scjz2020;
    let oneValue;
    let scjz2020EndIndex;
    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, "");
                    //OK 判断内容
                    if (spanValue !== "") {
                        valueMap.map(item =>{
                            if (spanValue === item.name) {
                                if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0 && spanValue.indexOf('工程名称') < 0) {

									addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, 'sign')
                                } else {
                                    if (spanValue === '年月日') {
										addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col, item.value, '')
                                    }  else {
										sheet.setText(span[0].row,span[0].col+span[0].colCount,'')
										addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, '')
                                    }
                                }
                            }
                        });
                        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, "");
                        //OK 判断内容
                        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.indexOf('四川省建设工程质量安全与监理协会')>=0) {
                                scjz2020EndIndex = span[0].row
                                break;
                            }
							if (spanValue === '监理工程师(建设单位项目技术负责人):'||spanValue === '监理工程师(建设单位项目技术负责人):') {
                                scjz2020 = span[0]
                            }
                            valueMap.map(item =>{
                                if (spanValue === item.name) {
                                    if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0 && spanValue.indexOf('工程名称') < 0) {
										if (sheet.getText(span[0].row,span[0].col+span[0].colCount) != '') {
											addTemplateAttArray(sheetIndex_c, span[0].row+span[0].rowCount, span[0].col, item.value, 'sign')
										} else {
											addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, 'sign')
										}
                                    } else {
                                        if (spanValue === '年月日') {
											addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col, item.value, '')
                                        } else {
											if (spanValue === '检验批部位' || spanValue.indexOf('工程名称') >=0 || spanValue.indexOf('编号') >=0 ) {
												sheet.setText(span[0].row,span[0].col+span[0].colCount,"")
												addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, '')
											}
											else if (sheet.getText(span[0].row,span[0].col+span[0].colCount) != '') {
												sheet.setText(span[0].row+span[0].rowCount,span[0].col,"")
												addTemplateAttArray(sheetIndex_c, span[0].row + span[0].rowCount, span[0].col, item.value, '')
											} else {
												sheet.setText(span[0].row,span[0].col+span[0].colCount,"")
												addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, '')
											}
                                        }
                                    }
                                }
                            });
                        }
                        list.push(span[0])
                    }
                }
            } else {
                oneValue = sheet.getText(i, j).replace(/\ +/g, "").replace(/[\r\n]/g, "");
                //OK 判断内容
                if (oneValue !== "") {
                    valueMap.map(item =>{
                        if (spanValue === item.name) {
                            if (spanValue.indexOf(':') >= 0 && spanValue.indexOf('编号') < 0 && spanValue.indexOf('工程名称') < 0) {
								addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, 'sign')
                            } else {
                                if (spanValue === '年月日') {
									addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col, item.value, '')
                                } else {
									sheet.setText(span[0].row,span[0].col+1,"")
									addTemplateAttArray(sheetIndex_c, span[0].row, span[0].col + span[0].colCount, item.value, '')
                                }
                            }
                        }
                    });
                }
            }
        }
    }
	// 设置检查记录
	if (jcjl != null) {
		if (ybxm != null) {
			let length = ybxm.row+ybxm.rowCount-jcjl.row
			for (let i = 1; i < length; i++) {
			addTemplateAttArray(sheetIndex_c, jcjl.row + i, jcjl.col, 's201403', '')
			}
		}
		else {
			let length = zkxm.row+zkxm.rowCount-jcjl.row
			for (let i = 1;i < length; i++) {
			addTemplateAttArray(sheetIndex_c, jcjl.row + i, jcjl.col, 's201403', '')
			}
		}
	}
	// 设置检查结果
    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) {
            let style = sheet.getStyle(span1[0].row, span1[0].col + span1[0].colCount)
            style.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
            style.vAlign = GC.Spread.Sheets.VerticalAlign.center;
            sheet.setStyle(span1[0].row, span1[0].col + span1[0].colCount, style)
			addTemplateAttArray(sheetIndex_c, span1[0].row, span1[0].col + span1[0].colCount, 'p0205', 'sign')
		}
	}
    if(url.indexOf('ade8e564-4917-4f38-810f-e9b7ae9a54e0')>0) {
        spread.suspendPaint();
        for(let i=0;i<rowCount;i++){
            for(let j = 0;j<colCount;j++){
                let value = sheet.getText(i,j).replace(/\ +/g, "").replace(/[\r\n]/g, "")
                if (ybxm!=null||zkxm!=null) {
                    if ((value != ''|| i<5||j===0||j===colCount||i>=scjz2020EndIndex-1) && (value != '年月日')){
                        let style = sheet.getStyle(i,j)
                        style.backColor = '#E0E0E0'
                        sheet.setStyle(i,j,style)
                    }
                }else{
                    if ((value != ''|| i<5||j===0||j===colCount||i>=scjz2020EndIndex) && (value != '年月日')){
                        let style = sheet.getStyle(i,j)
                        style.backColor = '#E0E0E0'
                        sheet.setStyle(i,j,style)
                    }
                }
            }
        }
        let picture = sheet.pictures.add("pic001", 'http://www.gczl360.com:8084/Attach/PicData/2021-07-29/202107290458194590.jpg');
        picture.startRow(2);
        picture.startColumn(25);
        picture.endRow(2);
        picture.endColumn(28);
        picture.dynamicMove(false);
        picture.dynamicSize(true);
		spread.resumePaint();

    }

    layer.msg("自动设置成功", {
        time: 1000
    });
	function addTemplateAttArray(sheetIndex, row, col, value, type) {
		for (let i = 0; i < attrArray.length; i++) {
			let item = attrArray[i]
			if (item.sheetIndex === sheetIndex && item.row === row && item.col === col) {
				item.value = value
				item.type = type
				return
			}
		}
		attrArray.push({ sheetIndex: sheetIndex, row: row, col: col, value: value , type:type})
	}
});
})();

QingJ © 2025

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