// ==UserScript==
// @name cdt_manage
// @namespace http://tampermonkey.net/
// @version 2025-05-12
// @description try to take over the world!
// @author You
// @match https://out-data-task.jd.com/
// @icon https://www.google.com/s2/favicons?sz=64&domain=jd.com
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// if(location.hash !== '#/warehouseBlueprint') return
const _ds = {
numGroups: [],
res: [
{
"success": true,
"errorCode": 200,
"message": "成功",
"result": [
{
"id": 6205,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/4-172/1732621901018-成都生鲜仓1号库xin.dxf",
"vectorUrl": null,
"centerX": 1902251.140508353,
"centerY": 1316704.7214086847,
"cadName": "成都生鲜仓1号库xin.dxf",
"cadDesc": null,
"version": "3",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "system",
"createTime": "2025-04-14 22:47:46",
"warehouseName": "成都生鲜仓1号库",
"warehouseNameNew": "成都冷链C仓1号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/4-172",
"cadKey": "1732621901018-成都生鲜仓1号库xin.dxf",
"vectorPath": "warehouse/vector/4-172/",
"vectorKey": "1732621901018-成都生鲜仓1号库xin.geojson",
"taskType": "视频标注任务"
},
{
"id": 6205,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/4-172/1732621901018-成都生鲜仓1号库xin.dxf",
"vectorUrl": null,
"centerX": 1902251.140508353,
"centerY": 1316704.7214086847,
"cadName": "成都生鲜仓1号库xin.dxf",
"cadDesc": null,
"version": "3",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "system",
"createTime": "2025-04-14 22:47:46",
"warehouseName": "成都生鲜仓1号库",
"warehouseNameNew": "成都冷链C仓1号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/4-172",
"cadKey": "1732621901018-成都生鲜仓1号库xin.dxf",
"vectorPath": "warehouse/vector/4-172/",
"vectorKey": "1732621901018-成都生鲜仓1号库xin.geojson",
"taskType": "视频标注任务"
},
{
"id": 2787,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/4-172/1732621901018-成都生鲜仓1号库xin.dxf",
"vectorUrl": null,
"centerX": 1889047.7854777654,
"centerY": 1324152.437856753,
"cadName": "成都生鲜仓1号库xin.dxf",
"cadDesc": null,
"version": "2",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zhanghongfa5",
"createTime": "2024-11-26 19:51:41",
"warehouseName": "成都生鲜仓1号库",
"warehouseNameNew": "成都冷链C仓1号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/4-172",
"cadKey": "1732621901018-成都生鲜仓1号库xin.dxf",
"vectorPath": "warehouse/vector/4-172/",
"vectorKey": "1732621901018-成都生鲜仓1号库xin.geojson",
"taskType": "CAD标注任务"
},
{
"id": 3403,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/4-172/1733467580065-四川-青白江易商园区-成都生鲜仓1号库巷道图1202.dwg",
"vectorUrl": null,
"centerX": null,
"centerY": null,
"cadName": "四川-青白江易商园区-成都生鲜仓1号库巷道图1202.dwg",
"cadDesc": null,
"version": "1",
"status": "已上传",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zhanghongfa5",
"createTime": "2024-12-06 14:46:20",
"warehouseName": "成都生鲜仓1号库",
"warehouseNameNew": "成都冷链C仓1号库-CHN",
"cadType": "工艺布局",
"cadPath": "warehouse/cad/4-172",
"cadKey": "1733467580065-四川-青白江易商园区-成都生鲜仓1号库巷道图1202.dwg",
"vectorPath": null,
"vectorKey": null,
"taskType": "CAD标注任务"
},
{
"id": 953,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/4-172/1725714018198-4-172.dxf",
"vectorUrl": null,
"centerX": 4396366,
"centerY": 568344,
"cadName": "4-172.dxf",
"cadDesc": null,
"version": "1",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zengqingjie6",
"createTime": "2024-09-07 21:00:18",
"warehouseName": "成都生鲜仓1号库",
"warehouseNameNew": "成都冷链C仓1号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/4-172",
"cadKey": "1725714018198-4-172.dxf",
"vectorPath": "warehouse/vector/4-172/",
"vectorKey": "1725714018198-4-172.geojson",
"taskType": "CAD标注任务"
}
]
},
{
"success": true,
"errorCode": 200,
"message": "成功",
"result": [
{
"id": 6653,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/5-89/1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorUrl": null,
"centerX": 2765757.383239985,
"centerY": -1305399.3194773851,
"cadName": "武汉亚一商超B宠物园艺仓1号库新块.dxf",
"cadDesc": null,
"version": "3",
"status": "待制图",
"wmsSyncStatus": 0,
"floor": 1,
"createUser": "system",
"createTime": "2025-05-09 20:59:53",
"warehouseName": "武汉亚一商超B宠物园艺仓1号库",
"warehouseNameNew": "武汉常温C中件消费品20号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/5-89",
"cadKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorPath": "warehouse/vector/5-89/",
"vectorKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.geojson",
"taskType": "视频标注任务"
},
{
"id": 5191,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/5-89/1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorUrl": null,
"centerX": 2765757.383239985,
"centerY": -1305399.3194773851,
"cadName": "武汉亚一商超B宠物园艺仓1号库新块.dxf",
"cadDesc": null,
"version": "2",
"status": "现场采集",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zhangxingxing27",
"createTime": "2025-02-14 14:06:07",
"warehouseName": "武汉亚一商超B宠物园艺仓1号库",
"warehouseNameNew": "武汉常温C中件消费品20号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/5-89",
"cadKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorPath": "warehouse/vector/5-89/",
"vectorKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.geojson",
"taskType": "通道缺失任务"
},
{
"id": 3701,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/5-89/1734005598067-1733997152442-湖北省-新洲亚一三期园区-武汉亚一商超B宠物园艺仓1号库规划设计方案-20240614.dxf",
"vectorUrl": null,
"centerX": null,
"centerY": null,
"cadName": "1733997152442-湖北省-新洲亚一三期园区-武汉亚一商超B宠物园艺仓1号库规划设计方案-20240614.dxf",
"cadDesc": null,
"version": "1",
"status": "已上传",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zhanghongfa5",
"createTime": "2024-12-12 20:13:16",
"warehouseName": "武汉亚一商超B宠物园艺仓1号库",
"warehouseNameNew": "武汉常温C中件消费品20号库-CHN",
"cadType": "工艺布局",
"cadPath": "warehouse/cad/5-89",
"cadKey": "1734005598067-1733997152442-湖北省-新洲亚一三期园区-武汉亚一商超B宠物园艺仓1号库规划设计方案-20240614.dxf",
"vectorPath": null,
"vectorKey": null,
"taskType": "CAD标注任务"
},
{
"id": 2380,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/5-89/1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorUrl": null,
"centerX": 2784852.4062027535,
"centerY": -1303633.17728348,
"cadName": "武汉亚一商超B宠物园艺仓1号库新块.dxf",
"cadDesc": null,
"version": "1",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zengqingjie6",
"createTime": "2024-10-29 09:30:12",
"warehouseName": "武汉亚一商超B宠物园艺仓1号库",
"warehouseNameNew": "武汉常温C中件消费品20号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/5-89",
"cadKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.dxf",
"vectorPath": "warehouse/vector/5-89/",
"vectorKey": "1730165412767-武汉亚一商超B宠物园艺仓1号库新块.geojson",
"taskType": "CAD标注任务"
}
]
},
{
"success": true,
"errorCode": 200,
"message": "成功",
"result": [
{
"id": 5472,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/9-1157/1732610763117-沈阳百货B家居日用仓3号库新块.dxf",
"vectorUrl": null,
"centerX": 3575342.2375530386,
"centerY": 744914.4979931979,
"cadName": "沈阳百货B家居日用仓3号库新块.dxf",
"cadDesc": null,
"version": "4",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "system",
"createTime": "2025-03-05 10:29:56",
"warehouseName": "沈阳百货B家居日用仓N3号库",
"warehouseNameNew": "沈阳常温C中件消费品6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/9-1157",
"cadKey": "1732610763117-沈阳百货B家居日用仓3号库新块.dxf",
"vectorPath": "warehouse/vector/9-1157/",
"vectorKey": "1732610763117-沈阳百货B家居日用仓3号库新块.geojson",
"taskType": "视频标注任务"
},
{
"id": 2769,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/9-1157/1732610763117-沈阳百货B家居日用仓3号库新块.dxf",
"vectorUrl": null,
"centerX": 3589853.402660182,
"centerY": 733563.4500645772,
"cadName": "沈阳百货B家居日用仓3号库新块.dxf",
"cadDesc": null,
"version": "3",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zengqingjie6",
"createTime": "2024-11-26 16:46:03",
"warehouseName": "沈阳百货B家居日用仓N3号库",
"warehouseNameNew": "沈阳常温C中件消费品6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/9-1157",
"cadKey": "1732610763117-沈阳百货B家居日用仓3号库新块.dxf",
"vectorPath": "warehouse/vector/9-1157/",
"vectorKey": "1732610763117-沈阳百货B家居日用仓3号库新块.geojson",
"taskType": "CAD标注任务"
},
{
"id": 1296,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/9-1157/1726468536692-9-1157沈阳百货B家居日用仓3号库.dxf",
"vectorUrl": null,
"centerX": 3575747,
"centerY": 742130,
"cadName": "9-1157沈阳百货B家居日用仓3号库.dxf",
"cadDesc": null,
"version": "1",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zengqingjie6",
"createTime": "2024-09-16 14:35:36",
"warehouseName": "沈阳百货B家居日用仓N3号库",
"warehouseNameNew": "沈阳常温C中件消费品6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/9-1157",
"cadKey": "1726468536692-9-1157沈阳百货B家居日用仓3号库.dxf",
"vectorPath": "warehouse/vector/9-1157/",
"vectorKey": "1726468536692-9-1157沈阳百货B家居日用仓3号库.geojson",
"taskType": "CAD标注任务"
}
]
},
{
"success": true,
"errorCode": 200,
"message": "成功",
"result": [
{
"id": 5773,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorUrl": null,
"centerX": 79845.21954496679,
"centerY": 33150.75923832225,
"cadName": "1735003454303-广州亚一高端美妆仓6号库.dxf",
"cadDesc": null,
"version": "5",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "system",
"createTime": "2025-03-19 03:20:07",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorPath": "warehouse/vector/10-391/",
"vectorKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.geojson",
"taskType": "视频标注任务"
},
{
"id": 5203,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorUrl": null,
"centerX": 79845.21954496676,
"centerY": 33150.75923832225,
"cadName": "1735003454303-广州亚一高端美妆仓6号库.dxf",
"cadDesc": null,
"version": "4",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "hepeiwei",
"createTime": "2025-02-17 09:55:15",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorPath": "warehouse/vector/10-391/",
"vectorKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.geojson",
"taskType": "通道缺失任务"
},
{
"id": 5073,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorUrl": null,
"centerX": 79845.21954496685,
"centerY": 33150.759238322215,
"cadName": "1735003454303-广州亚一高端美妆仓6号库.dxf",
"cadDesc": null,
"version": "3",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "hepeiwei",
"createTime": "2025-02-06 11:18:25",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorPath": "warehouse/vector/10-391/",
"vectorKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.geojson",
"taskType": "通道缺失任务"
},
{
"id": 4411,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorUrl": null,
"centerX": 67216.87705327167,
"centerY": 31505.374494037136,
"cadName": "1735003454303-广州亚一高端美妆仓6号库.dxf",
"cadDesc": null,
"version": "2",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "hepeiwei",
"createTime": "2024-12-27 16:15:39",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorPath": "warehouse/vector/10-391/",
"vectorKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.geojson",
"taskType": "通道缺失任务"
},
{
"id": 4247,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735003454303-广州亚一高端美妆仓6号库.dwg",
"vectorUrl": null,
"centerX": null,
"centerY": null,
"cadName": "广州亚一高端美妆仓6号库.dwg",
"cadDesc": null,
"version": "1",
"status": "已上传",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "chengenze1",
"createTime": "2024-12-24 09:24:14",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "工艺布局",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735003454303-广州亚一高端美妆仓6号库.dwg",
"vectorPath": null,
"vectorKey": null,
"taskType": "CAD标注任务"
},
{
"id": 4249,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/10-391/1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorUrl": null,
"centerX": 67216.87705327175,
"centerY": 31505.374494037136,
"cadName": "1735003454303-广州亚一高端美妆仓6号库.dxf",
"cadDesc": null,
"version": "1",
"status": "已完成",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "zhanghongfa5",
"createTime": "2024-12-24 09:40:23",
"warehouseName": "广州亚一高端美妆仓6号库",
"warehouseNameNew": "广州常温C美妆6号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/10-391",
"cadKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.dxf",
"vectorPath": "warehouse/vector/10-391/",
"vectorKey": "1735004424559-1735003454303-广州亚一高端美妆仓6号库.geojson",
"taskType": "CAD标注任务"
}
]
},
{
"success": true,
"errorCode": 200,
"message": "成功",
"result": [
{
"id": 6421,
"cadUrl": "https://oss-wsmap.jdl.com/warehouse/cad/23412-2251/1745474426081-新块空.dxf",
"vectorUrl": null,
"centerX": null,
"centerY": null,
"cadName": "新块空.dxf",
"cadDesc": null,
"version": "1",
"status": "待制图",
"wmsSyncStatus": 1,
"floor": 1,
"createUser": "ext.zhuqiqi5",
"createTime": "2025-04-24 14:00:26",
"warehouseName": "德州常温B综合1号库-CHN",
"warehouseNameNew": "德州常温B综合1号库-CHN",
"cadType": "标注图纸",
"cadPath": "warehouse/cad/23412-2251",
"cadKey": "1745474426081-新块空.dxf",
"vectorPath": "warehouse/vector/23412-2251/",
"vectorKey": "1745474426081-新块空.geojson",
"taskType": "视频标注任务"
}
]
}
]
}
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
});
const checkWrap = createEl('div', {
className: 'checkWrap',
style: {
overflow: 'hidden',
position: 'absolute',
top: '16%',
left: '0%',
background: '#eee',
pointer: 'move',
transition: '1s all',
}
})
const controlHide = createEl('div', {
innerText: '收展',
style: {
height: '20px',
background: 'lightgray',
cursor: 'pointer',
textAlign: 'center',
fontSize: '12px',
color: '#888'
},
onclick: function() {
checkWrap.style.height = checkWrap.style.height == '20px' ? null : '20px'
}
})
const textarea_input = createEl('textarea', {
className: 'textarea_input',
style: {
width: '165px',
height: '150px',
outline: 'none',
padding: '5px 10px',
fontSize: '14px',
},
oninput: function() {
// _ds.allProjectData && verifyActivity(_ds.allProjectData)
_ds.numGroups = textarea_input.value.split('\n').map(item => {
return item.split('-').map(item => item.trim())
}) //[distributeNo, warehouseNo]
// console.log(numGroups)
}
})
const btn_style = {
width: '75px',
padding: '0 5px',
height: '25px',
background: '#ddd',
borderRadius: '5px',
textAlign: 'center',
lineHeight: '25px',
fontSize: '14px',
color: '#555',
cursor: 'pointer',
}
const btn_check = createEl('div', {
className: 'btn_check',
style: btn_style,
innerText: '核对状态',
onclick: function() {
let resCount = 0
const resultWrap = $('.resultWrap')
resultWrap.innerHTML = '核对中 0%...'
Promise.all(_ds.numGroups.map(item => {
const [distributeNo, warehouseNo] = item
return fetch("https://wsmap.jd.com/scan/api/cad/list", {
"headers": {
"content-type": "application/json",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
},
"body": `{\"cadType\":\"\",\"createUser\":\"\",\"status\":\"\",\"distributeNo\":\"${distributeNo}\",\"warehouseNo\":\"${warehouseNo}\",\"wmsSyncStatus\":\"\"}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => {
resultWrap.innerHTML = `核对中 ${parseInt((++resCount/_ds.numGroups.length)*100)}%...`
return Promise.resolve(res)
})
})).then(res => {
console.log(res)
const resultWrap = $('.resultWrap')
resultWrap.innerHTML = ''
res.forEach((res, idx) => {
const result = res.result?.filter?.(item => item.taskType == '视频标注任务')
const [distributeNo, warehouseNo] = _ds.numGroups[idx]
const wmsSyncStatusScheme = {
0: '未拉取',
1: '已拉取'
}
const resultItemWrap = createEl('div', {
style: {
marginBottom: '20px',
},
onmousedown: function(e) {
if(e.which !== 3) return
fetch("https://wsmap.jd.com/scan/api/warehouse/get_list", {
"headers": {
"accept": "application/json, text/plain, */*",
"content-type": "application/json",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site",
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": `{\"area\":\"\",\"province\":\"\",\"warehouseParkName\":\"\",\"name\":\"\",\"warehouseNameNew\":\"\",\"distributeNo\":\"${distributeNo}\",\"warehouseNo\":\"${warehouseNo}\",\"type\":\"\",\"cadCount\":\"\",\"pageStart\":1,\"pageSize\":20}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => {
if(res.message !== '成功') return alert('查询失败')
const {warehouseNameNew, area} = res.result[0]
window.open(`https://out-data-task.jd.com/#/warehouseDrawingList?distributeNo=${distributeNo}&warehouseNo=${warehouseNo}&warehouseName=${warehouseNameNew}&area=${area}`)
})
}
})
if(result?.length) {
result.forEach(item => {
const status = wmsSyncStatusScheme[item.wmsSyncStatus]
resultItemWrap.append(createEl('div', {
innerText: `${distributeNo}-${warehouseNo} ${status}`,
style: {
color: status !== '已拉取' ? 'red' : null,
fontWeight: result.length > 1 ? 700 : null,
}
}))
})
} else {
resultItemWrap.innerText = `${distributeNo}-${warehouseNo} 查找失败`
resultItemWrap.style.color = 'red'
}
resultWrap.append(resultItemWrap)
})
// _ds.allProjectData = res.map(item => item.data)
// verifyActivity(_ds.allProjectData)
}, (err) => {
console.warn(err)
$('.resultWrap').innerHTML = '核对失败...'
})
}
})
const resultWrap = createEl('div', {
className: 'resultWrap',
style: {
marginTop: '20px',
padding: '5px 10px',
width: '180px',
height: '480px',
fontSize: '14px',
overflow: 'auto',
maxHeight: '1000px',
},
})
checkWrap.append(controlHide, textarea_input, btn_check, resultWrap)
document.body.append(checkWrap)
})();
function Obs(target, callBack, options = { childList: true, subtree: true, attributes: true, attributeOldValue: true}) {
if(!target) return console.error('目标不存在')
const ob = new MutationObserver(callBack);
ob.observe(target, options);
return ob
}
function createEl(elName, options) {
const el = document.createElement(elName)
for(let opt in options) {
if(opt !== 'style') {
el[opt] = options[opt]
} else {
let styles = options[opt]
setStyle(el, styles)
}
}
return el
}
function $(selector) {
const _this = Element.prototype.isPrototypeOf(this) ? this : document
const sel = String(selector).trim();
const id = /^#([^ +>~\[:]*)$/.exec(sel)?.[1]
return (id && _this === document) ? _this.getElementById(id) : _this.querySelector(sel)
}
function $$(selector) {
const _this = Element.prototype.isPrototypeOf(this) ? this : document
return Array.from(_this.querySelectorAll(selector))
}
function setStyle() {
[[Map, ()=> {
const styleMap = arguments[0]
for (const [el, styleObj] of styleMap) {
!Array.isArray(el) ? setStyleObj(el, styleObj) : el.forEach((el) => setStyleObj(el, styleObj))
}
}], [Element, () => {
const [el, styleObj] = arguments
setStyleObj(el, styleObj)
}], [Array, () => {
const [els, styleObj] = arguments
els.forEach((el) => setStyleObj(el, styleObj))
}]].some(([O, fn]) => O.prototype.isPrototypeOf(arguments[0]) ? (fn(), true) : false)
function setStyleObj(el, styleObj) {
for (const attr in styleObj) {
if (el.style[attr] !== undefined) {
el.style[attr] = styleObj[attr]
} else {
//将key转为标准css属性名
const formatAttr = attr.replace(/[A-Z]/, match => `-${match.toLowerCase()}`)
console.error(el, `的 ${formatAttr} CSS属性设置失败!`)
}
}
}
}
Wrap
Beautify