您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动设置
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/430111/956062/autoSetUp.js
// ==UserScript== // @name autoSetUp // @namespace coderWyh // @version 0.1.3 // @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 { alert('请关闭控制台!如想调试程序,请先关闭自动设置脚本!') doCheck(0) } catch (err) {} }; check(); $(".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 }); }); })();