cyl/dev
wangxia 4 years ago
parent 38ea611b06
commit 7e99af49d2

@ -0,0 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>伯才一手单-伯才旗下一手单平台</title><link href="static/css/chunk-0aa5b0ca.74f59567.css" rel="prefetch"><link href="static/css/chunk-0ea2ab00.8b1f06db.css" rel="prefetch"><link href="static/css/chunk-13cd245e.29775961.css" rel="prefetch"><link href="static/css/chunk-1d1d17e7.edec9d04.css" rel="prefetch"><link href="static/css/chunk-1d599a2a.3d71b249.css" rel="prefetch"><link href="static/css/chunk-29cca858.951c1bff.css" rel="prefetch"><link href="static/css/chunk-32c41a00.e8e31e06.css" rel="prefetch"><link href="static/css/chunk-36b0a845.56fd6900.css" rel="prefetch"><link href="static/css/chunk-40d15c02.c522181b.css" rel="prefetch"><link href="static/css/chunk-439db3e2.9b01ecf0.css" rel="prefetch"><link href="static/css/chunk-477bd078.b8e36482.css" rel="prefetch"><link href="static/css/chunk-54c3cd98.ca9a94de.css" rel="prefetch"><link href="static/css/chunk-5877e555.bc7b5c19.css" rel="prefetch"><link href="static/css/chunk-599d1dda.b72b246e.css" rel="prefetch"><link href="static/css/chunk-5aaf61e3.5273e98e.css" rel="prefetch"><link href="static/css/chunk-645c2901.ae0cbf6d.css" rel="prefetch"><link href="static/css/chunk-649a250c.659ed4be.css" rel="prefetch"><link href="static/css/chunk-69f0e2dc.897b1f1b.css" rel="prefetch"><link href="static/css/chunk-70c02cdb.4e0dc5f1.css" rel="prefetch"><link href="static/css/chunk-7459f4bd.026fbb69.css" rel="prefetch"><link href="static/css/chunk-76f782a4.01ba77f1.css" rel="prefetch"><link href="static/css/chunk-7d9f088a.46a7d4cd.css" rel="prefetch"><link href="static/css/chunk-8475193c.624c9a62.css" rel="prefetch"><link href="static/css/chunk-9e43482c.daa964b4.css" rel="prefetch"><link href="static/css/chunk-ae50421c.b8eb6814.css" rel="prefetch"><link href="static/css/chunk-e76babb0.9fd8b6bf.css" rel="prefetch"><link href="static/css/chunk-ef2dcf9c.81111d96.css" rel="prefetch"><link href="static/js/chunk-0328be37.9da08e84.js" rel="prefetch"><link href="static/js/chunk-0aa5b0ca.46ebc9c2.js" rel="prefetch"><link href="static/js/chunk-0ea2ab00.eec7ca43.js" rel="prefetch"><link href="static/js/chunk-13cd245e.1a48a31a.js" rel="prefetch"><link href="static/js/chunk-19006edb.cd1f6178.js" rel="prefetch"><link href="static/js/chunk-1d1d17e7.f9507a40.js" rel="prefetch"><link href="static/js/chunk-1d599a2a.8fdfb601.js" rel="prefetch"><link href="static/js/chunk-29cca858.22b26978.js" rel="prefetch"><link href="static/js/chunk-32c41a00.e60bb99a.js" rel="prefetch"><link href="static/js/chunk-36b0a845.aba8166b.js" rel="prefetch"><link href="static/js/chunk-40d15c02.efb7b26e.js" rel="prefetch"><link href="static/js/chunk-439db3e2.6052aa87.js" rel="prefetch"><link href="static/js/chunk-477bd078.54a1c288.js" rel="prefetch"><link href="static/js/chunk-54c3cd98.b9355da1.js" rel="prefetch"><link href="static/js/chunk-5877e555.6f5d9f9a.js" rel="prefetch"><link href="static/js/chunk-599d1dda.a4db6c22.js" rel="prefetch"><link href="static/js/chunk-5aaf61e3.8042ee48.js" rel="prefetch"><link href="static/js/chunk-645c2901.8d97d16b.js" rel="prefetch"><link href="static/js/chunk-649a250c.3ae7df3f.js" rel="prefetch"><link href="static/js/chunk-69f0e2dc.fb0a4d42.js" rel="prefetch"><link href="static/js/chunk-70c02cdb.fbd7778b.js" rel="prefetch"><link href="static/js/chunk-7459f4bd.db907cc2.js" rel="prefetch"><link href="static/js/chunk-76f782a4.86f1067f.js" rel="prefetch"><link href="static/js/chunk-7d9f088a.ae6cd877.js" rel="prefetch"><link href="static/js/chunk-8475193c.84ac0e1c.js" rel="prefetch"><link href="static/js/chunk-9e43482c.b2dacb9f.js" rel="prefetch"><link href="static/js/chunk-ae50421c.8ed5d167.js" rel="prefetch"><link href="static/js/chunk-e76babb0.264e470c.js" rel="prefetch"><link href="static/js/chunk-ef2dcf9c.59fc9ce7.js" rel="prefetch"><link href="static/css/app.879b91da.css" rel="preload" as="style"><link href="static/css/chunk-vendors.09af4a6b.css" rel="preload" as="style"><link href="static/js/app.959e96c2.js" rel="preload" as="script"><link href="static/js/chunk-vendors.955b40ed.js" rel="preload" as="script"><link href="static/css/chunk-vendors.09af4a6b.css" rel="stylesheet"><link href="static/css/app.879b91da.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but firstbill doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.955b40ed.js"></script><script src="static/js/app.959e96c2.js"></script></body></html>

591
package-lock.json generated

@ -23,6 +23,7 @@
"vuex": "^3.4.0" "vuex": "^3.4.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0",
@ -30,6 +31,8 @@
"@vue/cli-service": "~4.5.0", "@vue/cli-service": "~4.5.0",
"@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"compression-webpack-plugin": "^5.0.1",
"eslint": "^6.7.2", "eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1", "eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^6.2.2",
@ -845,7 +848,7 @@
}, },
"node_modules/@babel/plugin-syntax-dynamic-import": { "node_modules/@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3", "version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@ -1692,6 +1695,12 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
"dev": true
},
"node_modules/@hapi/address": { "node_modules/@hapi/address": {
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@ -1807,6 +1816,86 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@npmcli/fs": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-1.1.1.tgz",
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
"dev": true,
"dependencies": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
}
},
"node_modules/@npmcli/fs/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@npmcli/fs/node_modules/semver": {
"version": "7.3.7",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@npmcli/fs/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@npmcli/move-file": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-1.1.2.tgz",
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
"dev": true,
"dependencies": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@npmcli/move-file/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@npmcli/move-file/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
}
},
"node_modules/@samverschueren/stream-to-observable": { "node_modules/@samverschueren/stream-to-observable": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz",
@ -3432,6 +3521,12 @@
"@babel/core": "^7.0.0-0" "@babel/core": "^7.0.0-0"
} }
}, },
"node_modules/babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "https://registry.npmmirror.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
"dev": true
},
"node_modules/babel-runtime": { "node_modules/babel-runtime": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@ -4653,6 +4748,129 @@
"node": ">= 0.8.0" "node": ">= 0.8.0"
} }
}, },
"node_modules/compression-webpack-plugin": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/compression-webpack-plugin/-/compression-webpack-plugin-5.0.1.tgz",
"integrity": "sha512-Wcb99O4UkdDZiM+blEw6h+cUfJYCn2kgK0l3fjLOm72Stso9DVMieQpBD4PVpyI7DLL6+zNh0iJV3p4HDwTinQ==",
"dev": true,
"dependencies": {
"cacache": "^15.0.5",
"find-cache-dir": "^3.3.1",
"schema-utils": "^2.7.0",
"serialize-javascript": "^4.0.0",
"webpack-sources": "^1.4.3"
},
"engines": {
"node": ">= 10.13.0"
},
"peerDependencies": {
"webpack": "^4.0.0 || ^5.0.0"
}
},
"node_modules/compression-webpack-plugin/node_modules/cacache": {
"version": "15.3.0",
"resolved": "https://registry.npmmirror.com/cacache/-/cacache-15.3.0.tgz",
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
"dev": true,
"dependencies": {
"@npmcli/fs": "^1.0.0",
"@npmcli/move-file": "^1.0.1",
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"glob": "^7.1.4",
"infer-owner": "^1.0.4",
"lru-cache": "^6.0.0",
"minipass": "^3.1.1",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.2",
"mkdirp": "^1.0.3",
"p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
"rimraf": "^3.0.2",
"ssri": "^8.0.1",
"tar": "^6.0.2",
"unique-filename": "^1.1.1"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/compression-webpack-plugin/node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/compression-webpack-plugin/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/compression-webpack-plugin/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/compression-webpack-plugin/node_modules/p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
"dependencies": {
"aggregate-error": "^3.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/compression-webpack-plugin/node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
}
},
"node_modules/compression-webpack-plugin/node_modules/ssri": {
"version": "8.0.1",
"resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
"dev": true,
"dependencies": {
"minipass": "^3.1.1"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/compression-webpack-plugin/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/compression/node_modules/bytes": { "node_modules/compression/node_modules/bytes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -7320,6 +7538,18 @@
"node": ">=6 <7 || >=8" "node": ">=6 <7 || >=8"
} }
}, },
"node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/fs-write-stream-atomic": { "node_modules/fs-write-stream-atomic": {
"version": "1.0.10", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@ -10484,12 +10714,67 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/minipass-collect": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz",
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
"dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/minipass-flush": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz",
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
"dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/minipass-pipeline": {
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
"dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/minipass/node_modules/yallist": { "node_modules/minipass/node_modules/yallist": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true "dev": true
}, },
"node_modules/minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dev": true,
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/minizlib/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/mississippi": { "node_modules/mississippi": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@ -14164,6 +14449,50 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/tar": {
"version": "6.1.11",
"resolved": "https://registry.npmmirror.com/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dev": true,
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"minipass": "^3.0.0",
"minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
},
"engines": {
"node": ">= 10"
}
},
"node_modules/tar/node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/tar/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/tar/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/terser": { "node_modules/terser": {
"version": "4.8.0", "version": "4.8.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
@ -16938,7 +17267,7 @@
}, },
"@babel/plugin-syntax-dynamic-import": { "@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3", "version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@ -17523,6 +17852,12 @@
"to-fast-properties": "^2.0.0" "to-fast-properties": "^2.0.0"
} }
}, },
"@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz",
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
"dev": true
},
"@hapi/address": { "@hapi/address": {
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@ -17617,6 +17952,69 @@
"fastq": "^1.6.0" "fastq": "^1.6.0"
} }
}, },
"@npmcli/fs": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-1.1.1.tgz",
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
"dev": true,
"requires": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
},
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
"@npmcli/move-file": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-1.1.2.tgz",
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
"dev": true,
"requires": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
},
"dependencies": {
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
}
}
},
"@samverschueren/stream-to-observable": { "@samverschueren/stream-to-observable": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz",
@ -18988,6 +19386,12 @@
"@babel/helper-define-polyfill-provider": "^0.3.1" "@babel/helper-define-polyfill-provider": "^0.3.1"
} }
}, },
"babel-plugin-syntax-dynamic-import": {
"version": "6.18.0",
"resolved": "https://registry.npmmirror.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
"integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==",
"dev": true
},
"babel-runtime": { "babel-runtime": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@ -20061,6 +20465,101 @@
} }
} }
}, },
"compression-webpack-plugin": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/compression-webpack-plugin/-/compression-webpack-plugin-5.0.1.tgz",
"integrity": "sha512-Wcb99O4UkdDZiM+blEw6h+cUfJYCn2kgK0l3fjLOm72Stso9DVMieQpBD4PVpyI7DLL6+zNh0iJV3p4HDwTinQ==",
"dev": true,
"requires": {
"cacache": "^15.0.5",
"find-cache-dir": "^3.3.1",
"schema-utils": "^2.7.0",
"serialize-javascript": "^4.0.0",
"webpack-sources": "^1.4.3"
},
"dependencies": {
"cacache": {
"version": "15.3.0",
"resolved": "https://registry.npmmirror.com/cacache/-/cacache-15.3.0.tgz",
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
"dev": true,
"requires": {
"@npmcli/fs": "^1.0.0",
"@npmcli/move-file": "^1.0.1",
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"glob": "^7.1.4",
"infer-owner": "^1.0.4",
"lru-cache": "^6.0.0",
"minipass": "^3.1.1",
"minipass-collect": "^1.0.2",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.2",
"mkdirp": "^1.0.3",
"p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
"rimraf": "^3.0.2",
"ssri": "^8.0.1",
"tar": "^6.0.2",
"unique-filename": "^1.1.1"
}
},
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
"p-map": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
"requires": {
"aggregate-error": "^3.0.0"
}
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"ssri": {
"version": "8.0.1",
"resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
"dev": true,
"requires": {
"minipass": "^3.1.1"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -22251,6 +22750,15 @@
"universalify": "^0.1.0" "universalify": "^0.1.0"
} }
}, },
"fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
"requires": {
"minipass": "^3.0.0"
}
},
"fs-write-stream-atomic": { "fs-write-stream-atomic": {
"version": "1.0.10", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@ -24797,6 +25305,51 @@
} }
} }
}, },
"minipass-collect": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz",
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
"dev": true,
"requires": {
"minipass": "^3.0.0"
}
},
"minipass-flush": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz",
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
"dev": true,
"requires": {
"minipass": "^3.0.0"
}
},
"minipass-pipeline": {
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
"dev": true,
"requires": {
"minipass": "^3.0.0"
}
},
"minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dev": true,
"requires": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
},
"dependencies": {
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
"mississippi": { "mississippi": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@ -27953,6 +28506,40 @@
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
"dev": true "dev": true
}, },
"tar": {
"version": "6.1.11",
"resolved": "https://registry.npmmirror.com/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dev": true,
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"minipass": "^3.0.0",
"minizlib": "^2.1.1",
"mkdirp": "^1.0.3",
"yallist": "^4.0.0"
},
"dependencies": {
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
},
"terser": { "terser": {
"version": "4.8.0", "version": "4.8.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",

@ -23,6 +23,7 @@
"vuex": "^3.4.0" "vuex": "^3.4.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0",
@ -30,6 +31,9 @@
"@vue/cli-service": "~4.5.0", "@vue/cli-service": "~4.5.0",
"@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-plugin-import": "^1.13.5",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"compression-webpack-plugin": "^5.0.1",
"eslint": "^6.7.2", "eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1", "eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^6.2.2",

@ -145,3 +145,28 @@ export function gettownsManCountApi(data) {
params: data, params: data,
}); });
} }
// 成员管理:获取成员列表
export function getMemberListApi(data) {
return request({
url: "/yishoudan/user/getAgencyCorpUsers",
method: "post",
params: data,
});
}
// 成员管理:删除成员
export function deleteMemberApi(data) {
return request({
url: "/yishoudan/user/delAgencyCorpUser",
method: "post",
params: data,
});
}
// 成员管理:添加成员
export function addMemberApi(data) {
return request({
url: "/yishoudan/user/addAgencyUser",
method: "post",
params: data,
});
}

@ -121,43 +121,18 @@
<div class="maincontent w"> <div class="maincontent w">
<div class="maincontentleft"> <div class="maincontentleft">
<div class="subset"> <div class="subset">
<a-skeleton <a-skeleton avatar :loading="skeletonshow" v-if="skeletonshow" :paragraph="{ rows: 4 }" />
avatar
:loading="skeletonshow"
v-if="skeletonshow"
:paragraph="{ rows: 4 }"
/>
<div class="subsetleft" v-else> <div class="subsetleft" v-else>
<div class="imgbox"> <div class="imgbox">
<a-carousel <a-carousel arrows :autoplay="true" effect="fade" :dots="true" ref="scrollimg" v-if="storeImage.length !== 0">
arrows <div slot="prevArrow" class="custom-slick-arrow" style="left: 5px; z-index: 99">
:autoplay="true"
effect="fade"
:dots="true"
ref="scrollimg"
v-if="storeImage.length !== 0"
>
<div
slot="prevArrow"
class="custom-slick-arrow"
style="left: 5px; z-index: 99"
>
<a-icon type="left-circle" /> <a-icon type="left-circle" />
</div> </div>
<div <div slot="nextArrow" class="custom-slick-arrow" style="right: 5px; z-index: 99">
slot="nextArrow"
class="custom-slick-arrow"
style="right: 5px; z-index: 99"
>
<a-icon type="right-circle" /> <a-icon type="right-circle" />
</div> </div>
<img <img v-for="(item, index) in storeImage" :key="index" :src="item" alt="" />
v-for="(item, index) in storeImage"
:key="index"
:src="item"
alt=""
/>
</a-carousel> </a-carousel>
<img v-else src="../../../static/img/nopicture.png" alt="" /> <img v-else src="../../../static/img/nopicture.png" alt="" />
</div> </div>
@ -170,52 +145,20 @@
</div> </div>
<div class="jobtag"> <div class="jobtag">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<a-tag <a-tag :color="labelColor[index % labelColor.length]" v-for="(item, index) in jobDetail.jobRequestLabelNames" :key="index">{{ item }}</a-tag>
:color="labelColor[index % labelColor.length]"
v-for="(item, index) in jobDetail.jobRequestLabelNames"
:key="index"
>{{ item }}</a-tag
>
</div> </div>
<div <div style="height: 27px" v-if="!jobDetail.jobRequestLabelNames" class="jobtag">
style="height: 27px"
v-if="!jobDetail.jobRequestLabelNames"
class="jobtag"
>
<a-tag :color="labelColor[1]">暂无要求</a-tag> <a-tag :color="labelColor[1]">暂无要求</a-tag>
</div> </div>
<div class="jobtag1"> <div class="jobtag1">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<a-tag <a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
v-for="(item, index) in jobDetail.jobSpecialLabelNames"
:key="index"
>{{ item }}</a-tag
>
</div> </div>
<div <div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
style="height: 27px"
v-if="!jobDetail.jobSpecialLabelNames"
class="jobtag"
>
<a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag> <a-tag style="backgroundcolor: #f5f5f5">暂无特色</a-tag>
</div> </div>
<div <div style="display: flex; align-items: center; height: 26px; margin-top: 16px">
style=" <div class="jobpricehour" v-html="getSalaryClassifyValue(jobDetail.salaryClassify, jobDetail.salaryClassifyValue)">
display: flex;
align-items: center;
height: 26px;
margin-top: 16px;
"
>
<div
class="jobpricehour"
v-html="
getSalaryClassifyValue(
jobDetail.salaryClassify,
jobDetail.salaryClassifyValue
)
"
>
<!-- <template v-if="jobDetail.hourlyPay" <!-- <template v-if="jobDetail.hourlyPay"
><span>{{ jobDetail.hourlyPay }}</span ><span>{{ jobDetail.hourlyPay }}</span
>/小时</template >/小时</template
@ -262,9 +205,7 @@
<a-button type="primary" class="jobDesp">职位详单</a-button> <a-button type="primary" class="jobDesp">职位详单</a-button>
</a-popover> --> </a-popover> -->
<button class="dropdown bottombox1" @click="torecord()"> <button class="dropdown bottombox1" @click="torecord()"></button>
报名
</button>
</div> </div>
</div> </div>
</div> </div>
@ -275,30 +216,14 @@
<div class="jobinformationbox"> <div class="jobinformationbox">
<h1> <h1>
<div class="infotitle"> <div class="infotitle">
<span <span @click="tabchange = 1" :class="tabchange === 1 ? 'active' : ''">基本信息</span>
@click="tabchange = 1" <span @click="tabchange = 0" :class="tabchange !== 1 ? 'active' : ''">财务结算</span>
:class="tabchange === 1 ? 'active' : ''"
>基本信息</span
>
<span
@click="tabchange = 0"
:class="tabchange !== 1 ? 'active' : ''"
>财务结算</span
>
</div> </div>
<div class="copy" @click="xiangdanVisible = true">通告</div> <div class="copy" @click="xiangdanVisible = true">通告</div>
<a-modal <a-modal v-model="xiangdanVisible" title="通告" class="xiangdan" :footer="null" @ok="handleOk">
v-model="xiangdanVisible"
title="通告"
class="xiangdan"
:footer="null"
@ok="handleOk"
>
<!-- <template slot="content" class="jobDesp_content"> --> <!-- <template slot="content" class="jobDesp_content"> -->
<div class="copy" @click="copyText($event)"></div> <div class="copy" @click="copyText($event)"></div>
<span v-if="jobDetail.jobDesp" class="copyInfo">{{ <span v-if="jobDetail.jobDesp" class="copyInfo">{{ jobDetail.jobDesp }}</span
jobDetail.jobDesp
}}</span
><span v-else></span> ><span v-else></span>
<!-- </template> --> <!-- </template> -->
</a-modal> </a-modal>
@ -314,12 +239,7 @@
<div class="baseInfoContent" v-if="tabchange === 1"> <div class="baseInfoContent" v-if="tabchange === 1">
<div class="pay" id="pay"> <div class="pay" id="pay">
<div class="mb12 mt20">薪资待遇</div> <div class="mb12 mt20">薪资待遇</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc boubleLevel">
bordered
size="small"
:column="1"
class="leftDesc boubleLevel"
>
<!-- <a-descriptions-item class="test1"> <!-- <a-descriptions-item class="test1">
<span slot="label" class="fw500">工价</span> <span slot="label" class="fw500">工价</span>
<span>{{ jobDetail.calculationUnit }}</span> <span>{{ jobDetail.calculationUnit }}</span>
@ -342,9 +262,7 @@
</a-descriptions-item> </a-descriptions-item>
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">补充说明</span> <span slot="label" class="fw500">补充说明</span>
<span style="white-space: break-spaces">{{ <span style="white-space: break-spaces">{{ jobDetail.salaryDesp || "-" }}</span>
jobDetail.salaryDesp || "-"
}}</span>
</a-descriptions-item> </a-descriptions-item>
<!-- <a-descriptions-item style="padding: 0"> <!-- <a-descriptions-item style="padding: 0">
<span slot="label">薪资说明</span> <span slot="label">薪资说明</span>
@ -382,24 +300,15 @@
<!-- 岗位要求 --> <!-- 岗位要求 -->
<div class="required" id="required"> <div class="required" id="required">
<div class="mb12 mt20">面试要求</div> <div class="mb12 mt20">面试要求</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc">
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">性别年龄</span> <span slot="label" class="fw500">性别年龄</span>
<span> <span>
<span class="man" v-if="jobDetail.minAgeMan" <span class="man" v-if="jobDetail.minAgeMan"
> {{ jobDetail.minAgeMan }} > {{ jobDetail.minAgeMan }} <span v-if="jobDetail.maxAgeMan">{{ "- " + jobDetail.maxAgeMan }}</span
<span v-if="jobDetail.maxAgeMan">{{
"- " + jobDetail.maxAgeMan
}}</span
> </span > </span
><span class="woman" v-if="jobDetail.minAgeWoman"> ><span class="woman" v-if="jobDetail.minAgeWoman">
{{ jobDetail.minAgeWoman }} {{ jobDetail.minAgeWoman }} <span> {{ "- " + jobDetail.maxAgeWoman }}</span
<span> {{ "- " + jobDetail.maxAgeWoman }}</span
></span ></span
> >
</span> </span>
@ -435,12 +344,7 @@
<!-- 基本信息 --> <!-- 基本信息 -->
<div class=" " id="contentspecial"> <div class=" " id="contentspecial">
<div class="mb12 mt20">岗位说明</div> <div class="mb12 mt20">岗位说明</div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc">
bordered
size="small"
:column="1"
class="leftDesc"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">工作内容</span> <span slot="label" class="fw500">工作内容</span>
<span>{{ jobDetail.workContent || "-" }}</span> <span>{{ jobDetail.workContent || "-" }}</span>
@ -471,9 +375,7 @@
</a-descriptions-item> --> </a-descriptions-item> -->
<a-descriptions-item> <a-descriptions-item>
<span slot="label" class="fw500">补充说明</span> <span slot="label" class="fw500">补充说明</span>
<span style="white-space: break-spaces">{{ <span style="white-space: break-spaces">{{ jobDetail.otherDesp || "-" }}</span>
jobDetail.otherDesp || "-"
}}</span>
</a-descriptions-item> </a-descriptions-item>
</a-descriptions> </a-descriptions>
</div> </div>
@ -485,8 +387,7 @@
<div>吃饭</div> <div>吃饭</div>
<ul> <ul>
<li> <li>
<span>吃饭</span <span>吃饭</span><span>{{ jobDetail.workingLunch || "-" }}</span>
><span>{{ jobDetail.workingLunch || "-" }}</span>
</li> </li>
<!-- <li> <!-- <li>
<span>餐补</span <span>餐补</span
@ -504,10 +405,7 @@
<span>民族窗口</span><span>{{ jobDetail.muslim }}</span> <span>民族窗口</span><span>{{ jobDetail.muslim }}</span>
</li> --> </li> -->
<li> <li>
<span>补充说明</span <span>补充说明</span><span style="white-space: break-spaces">{{ jobDetail.workingLunchDesp || "-" }}</span>
><span style="white-space: break-spaces">{{
jobDetail.workingLunchDesp || "-"
}}</span>
</li> </li>
</ul> </ul>
</li> </li>
@ -515,12 +413,10 @@
<div>住宿</div> <div>住宿</div>
<ul> <ul>
<li> <li>
<span>住宿</span <span>住宿</span><span>{{ jobDetail.dormitory || "-" }}</span>
><span>{{ jobDetail.dormitory || "-" }}</span>
</li> </li>
<li> <li>
<span>宿舍设施</span <span>宿舍设施</span><span>{{ jobDetail.dormitoryFacilities || "-" }}</span>
><span>{{ jobDetail.dormitoryFacilities || "-" }}</span>
</li> </li>
<!-- <li> <!-- <li>
<span>宿舍距离</span <span>宿舍距离</span
@ -541,17 +437,13 @@
><span>{{ jobDetail.dormitoryFacilities }}</span> ><span>{{ jobDetail.dormitoryFacilities }}</span>
</li> --> </li> -->
<li> <li>
<span>水电费</span <span>水电费</span><span>{{ jobDetail.waterAndElec || "-" }}</span>
><span>{{ jobDetail.waterAndElec || "-" }}</span>
</li> </li>
<!-- <li> <!-- <li>
<span>班车</span><span>{{ jobDetail.regularBus }}</span> <span>班车</span><span>{{ jobDetail.regularBus }}</span>
</li> --> </li> -->
<li> <li>
<span>补充说明</span <span>补充说明</span><span style="white-space: break-spaces">{{ jobDetail.dormitoryDesp || "-" }}</span>
><span style="white-space: break-spaces">{{
jobDetail.dormitoryDesp || "-"
}}</span>
</li> </li>
</ul> </ul>
</li> </li>
@ -621,13 +513,7 @@
{{ jobDetail.agencyStatement || "-" }} {{ jobDetail.agencyStatement || "-" }}
</div> </div>
</div> </div>
<a-descriptions <a-descriptions bordered size="small" :column="1" class="leftDesc mt20" style="width: 900px">
bordered
size="small"
:column="1"
class="leftDesc mt20"
style="width: 900px"
>
<a-descriptions-item class="test1"> <a-descriptions-item class="test1">
<span slot="label" class="fw500">代理利润</span> <span slot="label" class="fw500">代理利润</span>
<span>{{ jobDetail.agencyProfit || "-" }}</span> <span>{{ jobDetail.agencyProfit || "-" }}</span>
@ -702,10 +588,7 @@
</template> </template>
<script> <script>
import { getJobDetailApi } from "../../api/job"; import { getJobDetailApi } from "../../api/job";
import { import { disposeJobListData, getSalaryClassifyValue } from "../../utils/commonUtil";
disposeJobListData,
getSalaryClassifyValue,
} from "../../utils/commonUtil";
import recommend from "../../components/FirstJob/components/recommend.vue"; import recommend from "../../components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist"; import { nationlist } from "../../utils/datalist";
import GDMap from "../map.vue"; import GDMap from "../map.vue";
@ -740,16 +623,7 @@ export default {
skeletonshow: true, skeletonshow: true,
tabchange: 1, tabchange: 1,
nationlist, nationlist,
labelColor: [ labelColor: ["pink", "blue", "purple", "orange", "green", "cyan", "red", "purple"],
"pink",
"blue",
"purple",
"orange",
"green",
"cyan",
"red",
"purple",
],
form: { form: {
// //
name: "", name: "",
@ -814,9 +688,7 @@ export default {
this.positionInfo.containerName = "mapContainer"; this.positionInfo.containerName = "mapContainer";
this.positionInfo.name = this.positionInfo.aliasName; this.positionInfo.name = this.positionInfo.aliasName;
this.skeletonshow = false; this.skeletonshow = false;
this.jobDetail.district = disposeJobListData( this.jobDetail.district = disposeJobListData(data.data.store).district;
data.data.store
).district;
let newdata = { let newdata = {
id: data.data.storeJob.id, id: data.data.storeJob.id,
aliasName: data.data.store.aliasName, aliasName: data.data.store.aliasName,
@ -1628,12 +1500,7 @@ export default {
font-size: 16px; font-size: 16px;
color: #333; color: #333;
} }
.boubleLevel .boubleLevel > .ant-descriptions-view > table > tbody > .ant-descriptions-row:last-child > .ant-descriptions-item-content {
> .ant-descriptions-view
> table
> tbody
> .ant-descriptions-row:last-child
> .ant-descriptions-item-content {
// padding: 0 !important; // padding: 0 !important;
.noborder { .noborder {
.ant-descriptions-view { .ant-descriptions-view {

@ -23,35 +23,13 @@
> >
</a-modal> --> </a-modal> -->
<!-- 城市的弹出框 --> <!-- 城市的弹出框 -->
<a-modal <a-modal class="cityModal" transitionName="" v-model="visible" width="680px" @cancel="cityModalClose" title="请选择城市" :footer="null">
class="cityModal" <div class="inputBox"><a-input placeholder="请输入城市名称" allow-clear width="300px" v-model="cityValue" @keyup.enter="searchCity" @input="resetCityList"></a-input><a-button @click="searchCity"></a-button></div>
transitionName=""
v-model="visible"
width="680px"
@cancel="cityModalClose"
title="请选择城市"
:footer="null"
>
<div class="inputBox">
<a-input
placeholder="请输入城市名称"
allow-clear
width="300px"
v-model="cityValue"
@keyup.enter="searchCity"
@input="resetCityList"
></a-input
><a-button @click="searchCity"></a-button>
</div>
<ul class="firstList"> <ul class="firstList">
<li @click="[(currentCityList = hotCityList), (activeInd = -1)]"> <li @click="[(currentCityList = hotCityList), (activeInd = -1)]">
<div :class="activeInd == -1 ? 'active' : ''">热门地区</div> <div :class="activeInd == -1 ? 'active' : ''">热门地区</div>
</li> </li>
<li <li v-for="(item, index) in hasJobCityList.firstList" :key="index" @click="[changeCurrentCity(index), (activeInd = index)]">
v-for="(item, index) in hasJobCityList.firstList"
:key="index"
@click="[changeCurrentCity(index), (activeInd = index)]"
>
<div :class="activeInd == index ? 'active' : ''"> <div :class="activeInd == index ? 'active' : ''">
<span v-for="i in item" :key="i">{{ i }}</span> <span v-for="i in item" :key="i">{{ i }}</span>
</div> </div>
@ -206,39 +184,11 @@
</div> </div>
</li> </li>
</ul> --> </ul> -->
<div <div class="searchBox" @blur="hidedownHotStore" @focus="showHotStore" tabindex="0" outline="0" hidefocus="true">
class="searchBox" <a-input placeholder="搜索职位、企业名称、年龄要求" @keyup.enter="onSearch" @input="resetsearch" @blur="hidedownHotStore" @focus="showHotStore" tabindex="0" v-model="searchValue" class="searchinput" style="" allow-clear>
@blur="hidedownHotStore" <div slot="prefix" @focus.stop="" tabindex="0" @click.stop="visible = true">
@focus="showHotStore"
tabindex="0"
outline="0"
hidefocus="true"
>
<a-input
placeholder="搜索职位、企业名称、年龄要求"
@keyup.enter="onSearch"
@input="resetsearch"
@blur="hidedownHotStore"
@focus="showHotStore"
tabindex="0"
v-model="searchValue"
class="searchinput"
style=""
allow-clear
>
<div
slot="prefix"
@focus.stop=""
tabindex="0"
@click.stop="visible = true"
>
<span>{{ currentCity }}</span <span>{{ currentCity }}</span
><i class="iconfont icon-sousuoxiala"></i ><i class="iconfont icon-sousuoxiala"></i><i class="iconfont icon-guanbishixin" v-show="currentCity != '全国'" @click.stop="resetCity"></i>
><i
class="iconfont icon-guanbishixin"
v-show="currentCity != '全国'"
@click.stop="resetCity"
></i>
</div> </div>
<button slot="suffix" @click="onSearch" style="">搜索</button> <button slot="suffix" @click="onSearch" style="">搜索</button>
</a-input> </a-input>
@ -252,11 +202,7 @@
<div class="hotStore"> <div class="hotStore">
<!-- <span>热门企业</span> --> <!-- <span>热门企业</span> -->
<ul> <ul>
<li <li v-for="(item, index) in hotStoreList" :key="index" @click="getHotStoreList(item)">
v-for="(item, index) in hotStoreList"
:key="index"
@click="getHotStoreList(item)"
>
{{ item.storeName }} {{ item.storeName }}
</li> </li>
<!-- <li @click="resetResult" style="color: #aaa">重置</li> --> <!-- <li @click="resetResult" style="color: #aaa">重置</li> -->
@ -289,39 +235,20 @@
</a-breadcrumb> --> </a-breadcrumb> -->
<!-- 主体部分 --> <!-- 主体部分 -->
<div class="w" id="maincontent"> <div class="w" id="maincontent">
<div class="maincontentleft"> <div class="maincontentleft" style="padding-top: 50px">
<div class="tabBar" @click="changeTab($event)">
<div class="tabSubset" :class="{ active: signType == '' }" data-type="0">全部</div>
<div class="tabSubset" :class="{ active: signType == 1 }" data-type="1">自营</div>
<div class="tabSubset" :class="{ active: signType == 2 }" data-type="2">三方</div>
</div>
<div class="filter" :class="[filterStatus == 0 ? '' : 'nobd']" style=""> <div class="filter" :class="[filterStatus == 0 ? '' : 'nobd']" style="">
<div <div class="filter-title" :style="{ top: filterStatus == 0 ? '-32px' : '-21px' }">
class="filter-title"
:style="{ top: filterStatus == 0 ? '-32px' : '-21px' }"
>
<span <span
><span>所有筛选<i class="iconfont icon-youjiantou"></i></span> ><span>所有筛选<i class="iconfont icon-youjiantou"></i></span>
<span class="filter-show"> <span class="filter-show">
<span <span @click="delFilter($event, 'price')" v-show="filterObj.price">{{ filterObj.price }}<i class="iconfont icon-guanbi2" v-show="filterObj.price"></i></span>
@click="delFilter($event, 'price')" <span @click="delFilter($event, 'gender')" v-show="filterObj.gender">{{ filterObj.gender }}<i class="iconfont icon-guanbi2" v-show="filterObj.gender"></i></span>
v-show="filterObj.price" <span @click="delFilter($event, 'special', item)" v-for="(item, index) in filterObj.specialactive" :key="index">{{ item.name }}<i class="iconfont icon-guanbi2"></i></span>
>{{ filterObj.price
}}<i
class="iconfont icon-guanbi2"
v-show="filterObj.price"
></i
></span>
<span
@click="delFilter($event, 'gender')"
v-show="filterObj.gender"
>{{ filterObj.gender
}}<i
class="iconfont icon-guanbi2"
v-show="filterObj.gender"
></i
></span>
<span
@click="delFilter($event, 'special', item)"
v-for="(item, index) in filterObj.specialactive"
:key="index"
>{{ item.name }}<i class="iconfont icon-guanbi2"></i
></span>
<i v-show="showDotted" style="line-height: 24px">...</i> <i v-show="showDotted" style="line-height: 24px">...</i>
</span> </span>
</span> </span>
@ -330,8 +257,7 @@
}}<i }}<i
class="iconfont icon-sousuoxiala" class="iconfont icon-sousuoxiala"
:style="{ :style="{
transform: transform: filterStatus == 0 ? 'rotate(180deg) scale(.6)' : '',
filterStatus == 0 ? 'rotate(180deg) scale(.6)' : '',
}" }"
></i ></i
></span> ></span>
@ -405,12 +331,7 @@
<dl> <dl>
<dt>性别</dt> <dt>性别</dt>
<dd @click="searchGender"> <dd @click="searchGender">
<span <span :style="{ color: filterObj.gender == '男' ? '#ff4400' : '' }"></span><span :style="{ color: filterObj.gender == '女' ? '#ff4400' : '' }"></span
:style="{ color: filterObj.gender == '男' ? '#ff4400' : '' }"
></span
><span
:style="{ color: filterObj.gender == '女' ? '#ff4400' : '' }"
></span
><span ><span
:style="{ :style="{
color: filterObj.gender == '男女不限' ? '#ff4400' : '', color: filterObj.gender == '男女不限' ? '#ff4400' : '',
@ -426,8 +347,7 @@
v-for="(item, index) in tagArray1" v-for="(item, index) in tagArray1"
:key="index" :key="index"
:class="{ :class="{
'special-active': 'special-active': filterObj.specialactive.indexOf(item) > -1,
filterObj.specialactive.indexOf(item) > -1,
}" }"
@click.stop="specialclick(index, item)" @click.stop="specialclick(index, item)"
>{{ item.name }}</span >{{ item.name }}</span
@ -441,8 +361,7 @@
v-for="(item, index) in tagArray3" v-for="(item, index) in tagArray3"
:key="index" :key="index"
:class="{ :class="{
'special-active': 'special-active': filterObj.specialactive.indexOf(item) > -1,
filterObj.specialactive.indexOf(item) > -1,
}" }"
@click.stop="specialclick(index, item)" @click.stop="specialclick(index, item)"
>{{ item.name }}</span >{{ item.name }}</span
@ -456,8 +375,7 @@
v-for="(item, index) in tagArray0" v-for="(item, index) in tagArray0"
:key="index" :key="index"
:class="{ :class="{
'special-active': 'special-active': filterObj.specialactive.indexOf(item) > -1,
filterObj.specialactive.indexOf(item) > -1,
}" }"
@click.stop="specialclick(index, item)" @click.stop="specialclick(index, item)"
>{{ item.name }}</span >{{ item.name }}</span
@ -471,8 +389,7 @@
v-for="(item, index) in tagArray4" v-for="(item, index) in tagArray4"
:key="index" :key="index"
:class="{ :class="{
'special-active': 'special-active': filterObj.specialactive.indexOf(item) > -1,
filterObj.specialactive.indexOf(item) > -1,
}" }"
@click.stop="specialclick(index, item)" @click.stop="specialclick(index, item)"
>{{ item.name }}</span >{{ item.name }}</span
@ -486,8 +403,7 @@
v-for="(item, index) in tagArray2" v-for="(item, index) in tagArray2"
:key="index" :key="index"
:class="{ :class="{
'special-active': 'special-active': filterObj.specialactive.indexOf(item) > -1,
filterObj.specialactive.indexOf(item) > -1,
}" }"
@click.stop="specialclick(index, item)" @click.stop="specialclick(index, item)"
>{{ item.name }}</span >{{ item.name }}</span
@ -510,13 +426,7 @@
<div v-if="!isspinning"> <div v-if="!isspinning">
<div class="subset" v-for="(item, index) in jobMainList" :key="index"> <div class="subset" v-for="(item, index) in jobMainList" :key="index">
<router-link <router-link target="_blank" :to="'/detail?' + 'id=' + item.id + '&' + 'page=' + formvalue.pageNum" rel="opener">
target="_blank"
:to="
'/detail?' + 'id=' + item.id + '&' + 'page=' + formvalue.pageNum
"
rel="opener"
>
<div class="subsetleft" @click="totop"> <div class="subsetleft" @click="totop">
<div class="imgbox"> <div class="imgbox">
<img v-if="item.logo.length !== 0" :src="item.logo" /> <img v-if="item.logo.length !== 0" :src="item.logo" />
@ -537,34 +447,18 @@
</div> </div>
<div class="jobtag"> <div class="jobtag">
<!-- <span>返费</span> --> <!-- <span>返费</span> -->
<span <i class="iconfont icon-ziying" v-if="item.signType == 1" style=""></i>
v-for="(item1, index) in item.jobSpecialLabelNames" <span v-for="(item1, index) in item.jobSpecialLabelNames" :key="index">{{ item1 }}</span
:key="index" ><span v-if="item.jobSpecialLabelNames.length == 0"></span>
>{{ item1 }}</span
><span v-if="item.jobSpecialLabelNames.length == 0"
>暂无特色</span
>
</div> </div>
<div class="jobpricemonth"> <div class="jobpricemonth">
<!-- :style="{ opacity: item.minMonthlyPay ? '1' : '0' }" --> <!-- :style="{ opacity: item.minMonthlyPay ? '1' : '0' }" -->
<span>{{ <span>{{ item.minMonthlyPay ? item.minMonthlyPay : "" }}</span
item.minMonthlyPay ? item.minMonthlyPay : "" >-<span>{{ item.maxMonthlyPay ? item.maxMonthlyPay : "" }}</span
}}</span
>-<span>{{
item.maxMonthlyPay ? item.maxMonthlyPay : ""
}}</span
>/ >/
</div> </div>
<div <div class="jobpricehour" v-html="getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue)">
class="jobpricehour"
v-html="
getSalaryClassifyValue(
item.salaryClassify,
item.salaryClassifyValue
)
"
>
<!-- <template v-if="item.hourlyPay" <!-- <template v-if="item.hourlyPay"
><span>{{ item.hourlyPay }}</span ><span>{{ item.hourlyPay }}</span
>/小时</template >/小时</template
@ -580,10 +474,7 @@
<div class="subsetright"> <div class="subsetright">
<div class="topContainer"> <div class="topContainer">
<div class="updateTime" style="display: none"> <div class="updateTime" style="display: none">
<span <span>更新时间{{ item.updateTime || "--" }} ( {{ item.diffTime || "--" }} ) </span>
>更新时间{{ item.updateTime || "--" }} (
{{ item.diffTime || "--" }} )
</span>
</div> </div>
<div class="topbox"> <div class="topbox">
<div>服务费</div> <div>服务费</div>
@ -597,22 +488,7 @@
<span v-if="item.jobDesp" :class="'copyInfo' + index">{{ item.jobDesp }}</span <span v-if="item.jobDesp" :class="'copyInfo' + index">{{ item.jobDesp }}</span
><span v-else></span> ><span v-else></span>
</template> --> </template> -->
<router-link <router-link target="_blank" :to="'/detail?' + 'id=' + item.id + '&' + 'page=' + formvalue.pageNum" rel="opener"> <button type="primary" class="jobDesp">更多</button></router-link>
target="_blank"
:to="
'/detail?' +
'id=' +
item.id +
'&' +
'page=' +
formvalue.pageNum
"
rel="opener"
>
<button type="primary" class="jobDesp">
更多
</button></router-link
>
<!-- </a-popover> --> <!-- </a-popover> -->
<button @click="torecord(item)"></button> <button @click="torecord(item)"></button>
@ -622,21 +498,8 @@
</div> </div>
</div> </div>
<div class="pagecontainer"> <div class="pagecontainer">
<a-pagination <a-pagination :current="+formvalue.pageNum" :default-current="1" :defaultPageSize="8" :total="formvalue.total" @change="pageChange" />
:current="+formvalue.pageNum" <div class="ant-pagination-options-quick-jumper">跳至<input ref="pageinput" type="text" @keyup.enter="inputpageChange" @blur="inputpageChange" /></div>
:default-current="1"
:defaultPageSize="8"
:total="formvalue.total"
@change="pageChange"
/>
<div class="ant-pagination-options-quick-jumper">
跳至<input
ref="pageinput"
type="text"
@keyup.enter="inputpageChange"
@blur="inputpageChange"
/>
</div>
</div> </div>
</div> </div>
<div class="maincontentright"> <div class="maincontentright">
@ -684,11 +547,7 @@ import {
getHotStoreApi, getHotStoreApi,
// getCityApi, // getCityApi,
} from "../../api/job"; } from "../../api/job";
import { import { moneyToFixed, getSalaryClassifyValue, isNotEmptyCheck } from "../../utils/commonUtil";
moneyToFixed,
getSalaryClassifyValue,
isNotEmptyCheck,
} from "../../utils/commonUtil";
import recommend from "@/components/FirstJob/components/recommend.vue"; import recommend from "@/components/FirstJob/components/recommend.vue";
import { nationlist } from "../../utils/datalist"; import { nationlist } from "../../utils/datalist";
import Clipboard from "clipboard"; import Clipboard from "clipboard";
@ -751,6 +610,7 @@ export default {
apply: "", // id apply: "", // id
filterStatus: 0, // filterStatus: 0, //
filterHeight: "", // filterHeight: "", //
signType: 0, // (0,1,2)
tagArray0: [], tagArray0: [],
tagArray1: [], tagArray1: [],
tagArray2: [], tagArray2: [],
@ -988,10 +848,7 @@ export default {
console.log(typeof this.searchValue.trim()); console.log(typeof this.searchValue.trim());
if (this.searchValue.trim() !== "") { if (this.searchValue.trim() !== "") {
this.formvalue.pageNum = 1; this.formvalue.pageNum = 1;
if ( if (typeof +this.searchValue.trim() == "number" && !isNaN(+this.searchValue.trim())) {
typeof +this.searchValue.trim() == "number" &&
!isNaN(+this.searchValue.trim())
) {
this.formvalue.ageStr = this.searchValue.trim(); this.formvalue.ageStr = this.searchValue.trim();
} else { } else {
this.formvalue.aliasName = this.searchValue.trim(); this.formvalue.aliasName = this.searchValue.trim();
@ -1023,16 +880,8 @@ export default {
} else if (e.target.nodeName == "BUTTON") { } else if (e.target.nodeName == "BUTTON") {
console.log(this.minMonthlyPay); console.log(this.minMonthlyPay);
console.log(this.maxMonthlyPay); console.log(this.maxMonthlyPay);
if ( if (this.minMonthlyPay.length != 0 && this.maxMonthlyPay.length != 0 && typeof +this.minMonthlyPay == "number" && typeof +this.maxMonthlyPay == "number" && !isNaN(+this.minMonthlyPay) && !isNaN(+this.maxMonthlyPay)) {
this.minMonthlyPay.length != 0 && this.formvalue.monthlyPayStr = this.minMonthlyPay + "-" + this.maxMonthlyPay;
this.maxMonthlyPay.length != 0 &&
typeof +this.minMonthlyPay == "number" &&
typeof +this.maxMonthlyPay == "number" &&
!isNaN(+this.minMonthlyPay) &&
!isNaN(+this.maxMonthlyPay)
) {
this.formvalue.monthlyPayStr =
this.minMonthlyPay + "-" + this.maxMonthlyPay;
this.filterObj.price = this.formvalue.monthlyPayStr; this.filterObj.price = this.formvalue.monthlyPayStr;
this.getJobList(); this.getJobList();
} }
@ -1073,12 +922,7 @@ export default {
// //
getJobSpecial() { getJobSpecial() {
if (isNotEmptyCheck(localStorage.getItem("SPECIALLIST"))) { if (isNotEmptyCheck(localStorage.getItem("SPECIALLIST"))) {
if ( if (new Date(new Date().getTime() - JSON.parse(localStorage.getItem("SPECIALLIST")).timestamp).getHours() > 2) {
new Date(
new Date().getTime() -
JSON.parse(localStorage.getItem("SPECIALLIST")).timestamp
).getHours() > 2
) {
this.getJobSpecialList().then((res) => { this.getJobSpecialList().then((res) => {
this.specialList = res; this.specialList = res;
this.specialList.forEach((item) => { this.specialList.forEach((item) => {
@ -1093,11 +937,7 @@ export default {
} else if (item.typeClassify == "4") { } else if (item.typeClassify == "4") {
this.tagArray4.push(item); this.tagArray4.push(item);
} }
if ( if (item.name == "大龄工" || item.name == "暑假工" || item.name == "长白班") {
item.name == "大龄工" ||
item.name == "暑假工" ||
item.name == "长白班"
) {
this.specialHotTag.push(item); this.specialHotTag.push(item);
} }
}); });
@ -1108,9 +948,7 @@ export default {
}); });
}); });
} else { } else {
this.specialList = JSON.parse( this.specialList = JSON.parse(localStorage.getItem("SPECIALLIST")).data;
localStorage.getItem("SPECIALLIST")
).data;
this.specialList.forEach((item) => { this.specialList.forEach((item) => {
if (item.typeClassify == "0") { if (item.typeClassify == "0") {
this.tagArray0.push(item); this.tagArray0.push(item);
@ -1123,11 +961,7 @@ export default {
} else if (item.typeClassify == "4") { } else if (item.typeClassify == "4") {
this.tagArray4.push(item); this.tagArray4.push(item);
} }
if ( if (item.name == "大龄工" || item.name == "暑假工" || item.name == "长白班") {
item.name == "大龄工" ||
item.name == "暑假工" ||
item.name == "长白班"
) {
this.specialHotTag.push(item); this.specialHotTag.push(item);
} }
}); });
@ -1152,11 +986,7 @@ export default {
} else if (item.typeClassify == "4") { } else if (item.typeClassify == "4") {
this.tagArray4.push(item); this.tagArray4.push(item);
} }
if ( if (item.name == "大龄工" || item.name == "暑假工" || item.name == "长白班") {
item.name == "大龄工" ||
item.name == "暑假工" ||
item.name == "长白班"
) {
this.specialHotTag.push(item); this.specialHotTag.push(item);
} }
}); });
@ -1168,6 +998,17 @@ export default {
}); });
} }
}, },
//
changeTab(e) {
console.log(e.target.dataset.type);
if (e.target.dataset.type != 0) {
this.formvalue.signType = this.signType = e.target.dataset.type;
} else {
this.formvalue.signType = this.signType = "";
}
this.formvalue.pageNum = 1
this.getJobList();
},
async getJobSpecialList() { async getJobSpecialList() {
const { data } = await getJobSpecialApi(); const { data } = await getJobSpecialApi();
console.log(data); console.log(data);
@ -1321,10 +1162,7 @@ export default {
this.filterObj.gender = ""; this.filterObj.gender = "";
this.formvalue.sex = ""; this.formvalue.sex = "";
} else { } else {
this.filterObj.specialactive.splice( this.filterObj.specialactive.splice(this.filterObj.specialactive.indexOf(items), 1);
this.filterObj.specialactive.indexOf(items),
1
);
this.specialvalue.splice(this.specialvalue.indexOf(items.id), 1); this.specialvalue.splice(this.specialvalue.indexOf(items.id), 1);
this.formvalue.jobSpecialLabelIds = this.specialvalue; this.formvalue.jobSpecialLabelIds = this.specialvalue;
@ -2249,6 +2087,29 @@ export default {
width: 944px; width: 944px;
margin-right: 16px; margin-right: 16px;
text-align: left; text-align: left;
position: relative;
.tabBar {
position: absolute;
display: flex;
justify-content: start;
align-items: center;
width: 100%;
top: -40px;
text-align: center;
line-height: 40px;
border-bottom: 2px solid #f40;
z-index: 999;
font-size: 16px;
.tabSubset {
width: 96px;
height: 40px;
cursor: pointer;
&.active {
background-color: #f40;
color: #fff;
}
}
}
.filter { .filter {
position: relative; position: relative;
width: 100%; width: 100%;
@ -2571,13 +2432,21 @@ export default {
line-height: 20px; line-height: 20px;
} }
.jobtag { .jobtag {
display: flex;
margin-top: 10px; margin-top: 10px;
align-items: center;
text-align: left; text-align: left;
// span:first-child { // span:first-child {
// color: #ff4400; // color: #ff4400;
// background: rgba(254, 97, 0, 0.1); // background: rgba(254, 97, 0, 0.1);
// } // }
i {
margin-right: 8px;
color: #f40;
font-size: 20px;
}
span { span {
height: 20px;
margin-right: 8px; margin-right: 8px;
line-height: 1; line-height: 1;
font-size: 14px; font-size: 14px;
@ -2768,13 +2637,15 @@ export default {
} }
.maincontentright { .maincontentright {
width: 240px; width: 240px;
position: relative;
top: -40px;
> div { > div {
margin-bottom: 16px; margin-bottom: 16px;
border: 1px solid #ededed; border: 1px solid #ededed;
} }
.dateinfo { .dateinfo {
text-align: center; text-align: center;
overflow: hidden; // overflow: hidden;
// border-radius: 4px; // border-radius: 4px;
border: none; border: none;
position: relative; position: relative;
@ -2784,13 +2655,15 @@ export default {
position: relative; position: relative;
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
padding-top: 10px; // padding-top: 10px;
height: 40px;
line-height: 40px;
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
border-bottom: none; border-bottom: none;
color: #fff; color: #fff;
background-color: #ff4400; background-color: #ff4400;
z-index: 10;
&::after { &::after {
left: 0; left: 0;
// display: none; // display: none;

@ -24,10 +24,6 @@
id="toAboutBill" id="toAboutBill"
style="height: 84px; width: 1200px; position: absolute; bottom: 0" style="height: 84px; width: 1200px; position: absolute; bottom: 0"
></div> ></div>
<!-- <div class="bottominfo">
Copyright © 2015 - 2022 Matripe. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index">京ICP备16043923号-9</a>
</div> -->
</div> </div>
<div class="navigationBar" ref="navigationBar" id="navigationBar"> <div class="navigationBar" ref="navigationBar" id="navigationBar">
<!-- <ul> <!-- <ul>
@ -52,10 +48,10 @@
伯才一手单隶属郑州伯才科技有限公司是一个专门服务同业合作伙伴的综合平台一个专门服务代理的平台平台为合作伙伴提供交付全流程的产品和服务是伯才供应链产品矩阵中的旗舰产品平台通过直签联合派遣和战略合作等方式严选上线项目深度介入服务的每一个环节为合作伙伴的顺利交付保驾护航 伯才一手单隶属郑州伯才科技有限公司是一个专门服务同业合作伙伴的综合平台一个专门服务代理的平台平台为合作伙伴提供交付全流程的产品和服务是伯才供应链产品矩阵中的旗舰产品平台通过直签联合派遣和战略合作等方式严选上线项目深度介入服务的每一个环节为合作伙伴的顺利交付保驾护航
</p> </p>
<p> <p>
郑州伯才科技有限公司是一家人力资源服务行业数字化平台企业前身为北京矩阵动力科技有限公司项目于2015年5月在郑州启动并于2016年5月在北京正式注册开始公司化运作旗下有人海北京企业管理有限公司江西人海企业管理有限公司等多家企业服务业务公司 郑州伯才科技有限公司的前身为北京矩阵动力科技有限公司项目于2015年5月在郑州启动并于2016年5月在北京正式注册公司开始商业化运作伯才科技旗下有郑州伯才人力资源服务有限公司江西人海企业管理有限公司等多家企业服务业务公司
</p> </p>
<p> <p>
郑州伯才科技有限公司2021年启用全新业务品牌伯才新品牌新里程品牌升级但初心不变伯才团队以崭新的面貌继续全心全意服务老乡成就伙伴 公司2021年启用全新品牌伯才新品牌新里程品牌升级但初心不变伯才团队以崭新的面貌继续全心全意服务老乡成就伙伴
</p> </p>
</div> </div>
</div> </div>
@ -93,7 +89,7 @@
<p>覆盖华东华南华中华北西南西北6大区域</p> <p>覆盖华东华南华中华北西南西北6大区域</p>
</div> </div>
<div class="right"> <div class="right">
<img src="../../../static/img/map.svg" alt="" /> <img src="http://matripe.oss-cn-beijing.aliyuncs.com/yishoudan/map.svg" alt="" />
</div> </div>
</div> </div>
</div> </div>
@ -104,7 +100,7 @@
<div class="content"> <div class="content">
<div class="left"> <div class="left">
<p>总部地址河南省郑州市郑东新区升龙广场2号楼A座</p> <p>总部地址河南省郑州市郑东新区升龙广场2号楼A座</p>
<p>接待地址河南省郑州市航空港区相州街29-60</p> <!-- <p>接待地址河南省郑州市航空港区相州街29-60</p> -->
<p>联系电话0371-6611 3723</p> <p>联系电话0371-6611 3723</p>
</div> </div>
<div class="right"> <div class="right">
@ -139,7 +135,7 @@
</li> </li>
</ul> --> </ul> -->
<div> <div>
Copyright © 2015 - 2022 Matripe. All Rights Reserved. <i></i> Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" <a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
>京ICP备16043923号-9</a >京ICP备16043923号-9</a
> >
@ -392,7 +388,7 @@ export default {
padding-top: 100px; padding-top: 100px;
// padding-bottom: 96px; // padding-bottom: 96px;
height: 740px; height: 740px;
background: url("../../../static/img/cooperativeBrandBg.png") no-repeat 100%; background: url("http://matripe.oss-cn-beijing.aliyuncs.com/yishoudan/cooperativeBrandBg.png") no-repeat 100%;
.content { .content {
ul { ul {
li { li {
@ -448,7 +444,7 @@ export default {
justify-content: center; justify-content: center;
padding: unset; padding: unset;
height: 445px; height: 445px;
background: url("../../../static/img/relationUsBg.png") no-repeat 100% 100%; background: url("http://matripe.oss-cn-beijing.aliyuncs.com/yishoudan/relationUsBg.png") no-repeat 100% 100%;
// padding-bottom: 126px; // padding-bottom: 126px;
.content { .content {

@ -19,23 +19,19 @@
<div class="contentbody"> <div class="contentbody">
<div class="searchbox"> <div class="searchbox">
<div class="searchinput"> <div class="searchinput">
<a-input <a-input placeholder="请输入老乡姓名/身份证号" @keyup.enter="onSearch" @input="resetsearch" v-model="pagination.keys"
placeholder="请输入老乡姓名/身份证号"
@keyup.enter="onSearch"
@input="resetsearch"
v-model="pagination.keys"
><i slot="prefix" class="iconfont icon-sousuo"></i> ><i slot="prefix" class="iconfont icon-sousuo"></i>
<button slot="suffix" @click="onSearch"></button> <button slot="suffix" @click="onSearch"></button>
</a-input> </a-input>
</div> </div>
<div class="pagechange"> <div class="pagechange">
<button><i class="iconfont icon-fangda"></i> 添加成员</button> <button @click="showDetail('add')"><i class="iconfont icon-fangda"></i> 添加成员</button>
<!-- <button @click="changepage(1)"></button> --> <!-- <button @click="changepage(1)"></button> -->
</div> </div>
</div> </div>
<a-table <a-table
:columns="columns" :columns="columns"
:data-source="data" :data-source="memberList"
:pagination="false" :pagination="false"
@change="onChange" @change="onChange"
:loading="{ :loading="{
@ -46,73 +42,89 @@
:locale="tablenodata" :locale="tablenodata"
:rowKey="(record) => record.index" :rowKey="(record) => record.index"
> >
<a slot="name" slot-scope="text">{{ text }}</a> <a slot="index" slot-scope="record, text, index">{{ index + 1 }}</a>
<div <span slot="userName" slot-scope="text, record"
slot="setting" >{{ text }} <span>{{ record.tel }}</span>
class="setting" </span>
slot-scope="text" <div slot="setting" class="setting" slot-scope="text, record" style="color: #f40">
style="color: #f40" <a @click="showDetail('detail', record)">详情</a>
> <a @click="deleteMemeber(record)"></a>
<a @click="visible = true">详情</a>
<a>删除</a>
</div> </div>
</a-table> </a-table>
<div class="pagecontainer"> <div class="pagecontainer">
<a-pagination <a-pagination :current="+pagination.pageNum" :default-current="1" :defaultPageSize="8" :total="pagination.total" @change="onChange" />
:current="+pagination.pageNum"
:default-current="1"
:defaultPageSize="8"
:total="pagination.total"
@change="onChange"
/>
<div class="ant-pagination-options-quick-jumper"> <div class="ant-pagination-options-quick-jumper">
<span>{{ pagination.total }}</span>跳至<input <span>{{ pagination.total }}</span>跳至<input ref="pageinput" type="text" @keyup.enter="inputpageChange" @blur="inputpageChange" />
ref="pageinput"
type="text"
@keyup.enter="inputpageChange"
@blur="inputpageChange"
/>
</div> </div>
</div> </div>
</div> </div>
<a-modal <a-modal :title="modalTitle" v-model="visible" id="demo" @cancel='modalCancel' width="640px" destroyOnClose class="detailWindow">
v-model="visible" <template slot="footer" v-if="modalTitle == '新建成员'">
:footer="false" <button style="background-color: #fff; border-color: #d9d9d9" @click="modalCancel"></button>
width="640px" <button style="background-color: #f40; color: #fff; border: none; margin-left: 16px; margin-right: 16px" @click="handleSubmit"></button>
class="detailWindow" </template>
title="成员详情" <template slot="footer" v-else>
> <span></span>
</template>
<template v-if="modalTitle == '成员详情'">
<a-row> <a-row>
<a-col :span="4">姓名</a-col> <a-col :span="4">姓名</a-col>
<a-col :span="20">12312312</a-col> <a-col :span="18">{{ currentMember.userName }}</a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="4">手机号</a-col> <a-col :span="4">手机号</a-col>
<a-col :span="20">12312312</a-col> <a-col :span="18">{{ currentMember.tel }}</a-col>
</a-row> </a-row>
<a-row> <!-- <a-row>
<a-col :span="4">登录密码</a-col> <a-col :span="4">登录密码</a-col>
<a-col :span="20">12312312</a-col> <a-col :span="20">{{ currentMember.userName }}</a-col>
</a-row> </a-row> -->
<a-row> <a-row>
<a-col :span="4">角色</a-col> <a-col :span="4">角色</a-col>
<a-col :span="20">12312312</a-col> <a-col :span="18">{{ currentMember.role }}</a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="4">权限</a-col> <a-col :span="4">权限</a-col>
<a-col :span="20">12312312</a-col> <a-col :span="18">{{ currentMember.permission }}</a-col>
</a-row>
</template>
<template v-else>
<a-form :form="form" :label-col="{ span: 4 }" :wrapper-col="{ span: 16 }">
<a-form-item label="姓名">
<a-input v-decorator="['userName', { rules: [{ required: true, message: '' }] }]" />
</a-form-item>
<a-form-item label="手机号">
<a-input
v-decorator="[
'tel',
{
rules: [
{ required: true, message: '请输入手机号' },
{ type: 'regexp', validator: validateServiceName, message: '请输入正确的手机号' },
],
validateTrigger: 'submit',
},
]"
:max-length="11"
/>
</a-form-item>
<a-form-item label="角色">
<a-radio-group v-decorator="['agencyRole', { rules: [{ required: true, message: '' }] }]" :options="options" @change="groupChange" />
</a-form-item>
<a-row>
<a-col :span="4">权限</a-col>
<a-col :span="16">{{ permissionName }}</a-col>
</a-row> </a-row>
</a-form>
</template>
</a-modal> </a-modal>
</div> </div>
</template> </template>
<script> <script>
import { userTownsmanApi, gettownsManCountApi } from "../../api/userinfo"; import { getMemberListApi, deleteMemberApi, addMemberApi } from "../../api/userinfo";
import { import { formatDateYMD, getUserApplyOrderStatusById, getAgencyRoleTypeById, getAgencyPermissionNameById, getAgencyPermissionsByRole } from "../../utils/commonUtil";
formatDateYMD,
getUserApplyOrderStatusById,
} from "../../utils/commonUtil";
export default { export default {
// //
@ -129,15 +141,14 @@ export default {
emptyText: () => ( emptyText: () => (
<div> <div>
<div> <div>
<img <img src="https://user-images.githubusercontent.com/507615/54591670-ac0a0180-4a65-11e9-846c-e55ffce0fe7b.png" style="width:105px;height:90px;marginTop:20px" />
src="https://user-images.githubusercontent.com/507615/54591670-ac0a0180-4a65-11e9-846c-e55ffce0fe7b.png"
style="width:105px;height:90px;marginTop:20px"
/>
</div> </div>
<div style="marginBottom:20px">暂无数据</div> <div style="marginBottom:20px">暂无数据</div>
</div> </div>
), ),
}, },
form: this.$form.createForm(this),
pagination: { pagination: {
pageNum: 1, pageNum: 1,
pageSize: 8, pageSize: 8,
@ -154,8 +165,17 @@ export default {
num2: 0, num2: 0,
num3: 0, num3: 0,
}, },
data: [], memberList: [],
visible: false, visible: false,
currentMember: {},
modalTitle: "新建成员",
options: [
// { label: "", value: "1" },
{ label: "管理员", value: "2" },
{ label: "成员", value: "3" },
],
permissionName: "查看职位,报名,查看报名,查看老乡,修改密码,修改手机号",
permission: "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel",
}; };
}, },
// //
@ -177,20 +197,20 @@ export default {
title: "姓名", title: "姓名",
dataIndex: "userName", dataIndex: "userName",
key: "userName", key: "userName",
scopedSlots: { customRender: "userName" },
ellipsis: true, ellipsis: true,
width: 200, width: 200,
}, },
{ {
title: "角色", title: "角色",
dataIndex: "age", dataIndex: "role",
key: "age", key: "role",
ellipsis: true,
width: 100, width: 100,
}, },
{ {
title: "权限", title: "权限",
dataIndex: "nation", dataIndex: "permission",
key: "nation", key: "permission",
ellipsis: true, ellipsis: true,
}, },
{ {
@ -216,14 +236,15 @@ export default {
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在 * 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/ */
created() { created() {
this.getTownsman(); // this.getMemberList();
}, },
/** /**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子 * el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内 * 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/ */
mounted() { mounted() {
this.gettownsManCount(); this.getMemberList();
window.modalCancel = this.modalCancel;
}, },
// //
methods: { methods: {
@ -233,7 +254,7 @@ export default {
console.log(e2); console.log(e2);
if (typeof e == "number") { if (typeof e == "number") {
this.pagination.pageNum = e; this.pagination.pageNum = e;
this.getTownsman(); this.getMemberList();
} }
}, },
inputpageChange(e) { inputpageChange(e) {
@ -249,29 +270,34 @@ export default {
this.pagination.pageNum = 1; this.pagination.pageNum = 1;
} }
// this.getJobList(); // this.getJobList();
this.getTownsman(); this.getMemberList();
console.log(e); console.log(e);
}, },
async getTownsman() { async getMemberList() {
// let jobinfo = {...this.pagination , searchTag:1} // let jobinfo = {...this.pagination , searchTag:1}
try { try {
this.isspinning = true; this.isspinning = true;
console.log(this.pagination); console.log(this.pagination);
const { data } = await userTownsmanApi(this.pagination); const { data } = await getMemberListApi(this.pagination);
console.log(data);
if (data.status === 200) { if (data.status === 200) {
// console.log(); // console.log();
this.data = data.data.recordList; this.memberList = data.data.recordList;
this.data.forEach((item, index) => { this.memberList.forEach((item) => {
// console.log(item); console.log(item);
item.userApplyOrder = getUserApplyOrderStatusById( item.role = getAgencyRoleTypeById(item.agencyRole);
item.userApplyOrderStatus item.permission = getAgencyPermissionNameById(item.agencyPermissions);
);
item.updateTime = formatDateYMD(item.updateTime);
item.index = index + 1;
}); });
console.log(data); // this.data.forEach((item, index) => {
// // console.log(item);
console.log(true); // item.userApplyOrder = getUserApplyOrderStatusById(
// item.userApplyOrderStatus
// );
// item.updateTime = formatDateYMD(item.updateTime);
// item.index = index + 1;
// });
// console.log(data);
// console.log(true);
this.pagination.total = data.data.recordCount; this.pagination.total = data.data.recordCount;
} }
} catch (error) { } catch (error) {
@ -279,18 +305,6 @@ export default {
} }
this.isspinning = false; this.isspinning = false;
}, },
async gettownsManCount() {
try {
const { data } = await gettownsManCountApi(this.pagination);
console.log(data);
if (data.status == 200) {
console.log("yes");
this.statusNum = data.data;
}
} catch (error) {
console.log(error);
}
},
getPopupContainer(el, dialogContext) { getPopupContainer(el, dialogContext) {
console.log(el); console.log(el);
console.log(dialogContext); console.log(dialogContext);
@ -309,38 +323,110 @@ export default {
// status: this.pagination.status, // status: this.pagination.status,
// keys: null, // keys: null,
// }; // };
this.gettownsManCount();
this.getTownsman();
}, },
resetsearch(e) { resetsearch(e) {
console.log(e); console.log(e);
if (e.target.value.length === 0) { if (e.target.value.length === 0) {
this.pagination.keys = ""; this.pagination.keys = "";
this.gettownsManCount(); this.getMemberList();
this.getTownsman();
} }
}, },
onSearch() { onSearch() {
if (this.pagination.keys != null && this.pagination.keys.length != 0) { if (this.pagination.keys != null && this.pagination.keys.length != 0) {
this.getTownsman(); this.getMemberList();
this.gettownsManCount();
} }
}, },
// changepage(num) { showDetail(type, e) {
// console.log(Math.ceil(this.pagination.total / this.pagination.pageSize)); console.log(e);
// if ((this.pagination.pageNum === 1 && num === -1) || (this.pagination.pageNum === Math.ceil(this.pagination.total / this.pagination.pageSize) && num === 1)) { let that = this;
// if (num === -1) { if (type == "detail") {
// this.$message.warning(""); this.currentMember = e;
// } else { this.modalTitle = "成员详情";
// this.$message.warning(""); this.visible = true;
// } } else {
// return; this.modalTitle = "新建成员";
// } else { this.visible = true;
// this.pagination.pageNum += num; this.$nextTick(() => {
console.log(123);
that.form.setFieldsValue({
agencyRole: "1",
});
});
}
},
deleteMemeber(e) {
this.$confirm({
title: "确定删除",
content: "是否确定删除该成员",
onOk: async () => {
console.log("ok");
let data = await deleteMemberApi({ id: e.id });
console.log(data);
if (data.status == 200) {
this.getMemberList();
}
},
onCancel: () => {
console.log("cancel");
},
});
},
modalCancel() {
// console.log(this);
this.visible = false;
this.permission = getAgencyPermissionsByRole(1);
this.permissionName = getAgencyPermissionNameById(this.permission);
},
handleSubmit() {
console.log("issubmit");
this.form.validateFields(async (err) => {
console.log(err);
if (err == null) {
console.log(this.form.getFieldsValue());
try {
let { data } = await addMemberApi({ ...this.form.getFieldsValue(), agencyPermissions: this.permission });
console.log(data);
if (data.status == 200) {
this.$message.success("新建成功");
this.visible = false;
this.permission = getAgencyPermissionsByRole(1);
this.permissionName = getAgencyPermissionNameById(this.permission);
this.getMemberList();
}
} catch (error) {
console.log(error);
}
}
});
},
groupChange(e) {
console.log(e);
this.form.setFieldsValue({
agencyRole: e.target.value,
});
this.permission;
if (this.form.getFieldValue("agencyRole") == 1) {
this.permission = getAgencyPermissionsByRole(1);
} else {
this.permission = getAgencyPermissionsByRole(2);
}
console.log(this.permission);
this.permissionName = getAgencyPermissionNameById(this.permission);
},
validateServiceName(rule, value, callback) {
console.log(rule);
console.log(value);
console.log(callback);
let reg = /^1[3|4|5|7|8][0-9]{9}$/;
// if(value.length == 11){
if (!reg.test(value)) {
callback(new Error());
} else {
callback();
}
// } // }
// this.getTownsman(); },
// },
}, },
}; };
</script> </script>
@ -582,13 +668,35 @@ export default {
.ant-modal-body { .ant-modal-body {
padding-left: 100px; padding-left: 100px;
min-height: 318px; min-height: 318px;
.ant-form-item {
margin-bottom: 12px;
// .ant-form-item-control-wrapper{
// margin-bottom: 16px;
// }
}
.ant-form-item-control {
line-height: 32px;
}
.ant-row { .ant-row {
line-height: 30px; line-height: 30px;
.ant-col:first-child { .ant-col:first-child {
text-align: right; text-align: right;
} }
} }
} }
.ant-modal-footer {
padding: 0;
button {
outline: none;
width: 60px;
height: 32px;
font-size: 14px;
border: 1px solid #fff;
border-radius: 5px;
margin: 10px 0;
}
}
} }
} }
</style> </style>

@ -14,11 +14,13 @@ const routes = [
path: "/main", path: "/main",
name: "Main", name: "Main",
component: () => import("../components/main/index.vue"), component: () => import("../components/main/index.vue"),
// component: resolve => require(['../components/main/index.vue'],resolve)
}, },
{ {
path: "/list", path: "/list",
name: "JobList", name: "JobList",
component: () => import("../components/FirstJob/joblist.vue"), component: () => import("../components/FirstJob/joblist.vue"),
// component: resolve => require(['../components/FirstJob/joblist.vue'],resolve)
}, },
{ {
path: "/list1", path: "/list1",
@ -30,14 +32,14 @@ const routes = [
name: "Detail", name: "Detail",
component: () => import("../components/FirstJob/detail.vue"), component: () => import("../components/FirstJob/detail.vue"),
}, },
{ // {
path: "/serviceoutlets", // path: "/serviceoutlets",
name: "serviceoutlets", // name: "serviceoutlets",
// route level code-splitting // // route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route // // this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited. // // which is lazy-loaded when the route is visited.
component: () => import("../components/ServiceOutlets/index.vue"), // component: () => import("../components/ServiceOutlets/index.vue"),
}, // },
{ {
path: "/aboutus", path: "/aboutus",
name: "aboutus", name: "aboutus",
@ -99,11 +101,14 @@ const routes = [
name: "mybill", name: "mybill",
component: () => component: () =>
import("../components/userinfo/usercenter/components/mybill.vue"), import("../components/userinfo/usercenter/components/mybill.vue"),
// component: resolve => require(['../components/userinfo/usercenter/components/mybill.vue'],resolve)
}, },
{ {
path: "memberInfo", path: "memberInfo",
name: "memberinfo", name: "memberinfo",
component: () => import("../components/memberInfo/memberInfo.vue"), component: () => import("../components/memberInfo/memberInfo.vue"),
// component: resolve => require(['../components/memberInfo/memberInfo.vue'],resolve)
}, },
{ {
path: "accountsetting", path: "accountsetting",

@ -1,4 +1,4 @@
@import "http://at.alicdn.com/t/font_3135652_tzuybmnhq2.css"; @import "http://at.alicdn.com/t/c/font_3135652_malbnqa0h0e.css";
// 初始化页面样式 // 初始化页面样式
body, body,
h1, h1,

@ -1,4 +1,4 @@
@import "http://at.alicdn.com/t/font_3135652_tzuybmnhq2.css"; @import "http://at.alicdn.com/t/c/font_3135652_malbnqa0h0e.css";
body, body,
h1, h1,
h2, h2,

@ -1689,3 +1689,76 @@ export function getAgeFromBirthday(bir) {
infoObj.age = returnAge; infoObj.age = returnAge;
return infoObj; //返回周岁年龄 return infoObj; //返回周岁年龄
} }
/**
* 代理成员角色类型
*/
export function agencyRoleTypeArray() {
let workTypeArray = [
{ id: 1, name: '创建人', value: "1", text: "创建人", checked: false },
{ id: 2, name: '管理员', value: "2", text: "管理员", checked: false },
{ id: 3, name: '成员', value: "3", text: "成员", checked: false },
];
return workTypeArray;
}
/**
* 根据代理成员角色ID获取名称
*/
export function getAgencyRoleTypeById(id) {
let str = "";
let array = agencyRoleTypeArray();
array.forEach(item => {
if (item.id == id) {
str = item.name;
}
});
return str;
}
/**
* 代理成员权限
*/
export function agencyPermissionArray() {
//查看职位、报名、查看报名、查看老乡、修改密码、修改手机号、新增成员、修改成员信息、删除成员
let workTypeArray = [
{ id: 1, name: '查看职位', value: "job:list", text: "查看职位", checked: false },
{ id: 2, name: '报名', value: "apply:add", text: "报名", checked: false },
{ id: 3, name: '查看报名', value: "apply:list", text: "查看报名", checked: false },
{ id: 4, name: '查看老乡', value: "apply:user", text: "查看老乡", checked: false },
{ id: 5, name: '修改密码', value: "user:pwd", text: "修改密码", checked: false },
{ id: 6, name: '修改手机号', value: "user:tel", text: "修改手机号", checked: false },
{ id: 7, name: '新增成员', value: "user:add", text: "新增成员", checked: false },
{ id: 8, name: '修改成员信息', value: "user:update", text: "修改成员信息", checked: false },
{ id: 9, name: '删除成员', value: "user:del", text: "删除成员", checked: false },
];
return workTypeArray;
}
/**
* 根据代理权限ID获取名称
*/
export function getAgencyPermissionNameById(permissionStr) {
let str = "";
let array = agencyPermissionArray();
let names = [];
let permissions = permissionStr.split(",");
array.forEach(item => {
if (permissions.indexOf(item.value) >= 0) {
names.push(item.name);
}
});
return names.join("");
}
/**
* 根据代理角色获取权限
*/
export function getAgencyPermissionsByRole(role) {
if(role == 1) {
return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel,user:add,user:update,user:del";
} else {
return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel";
}
}

@ -13,8 +13,8 @@ console.log(baseURL);
axios.defaults.withCredentials = true; //添加这行代码 axios.defaults.withCredentials = true; //添加这行代码
// console.log(axios); // console.log(axios);
const service = axios.create({ const service = axios.create({
baseURL: "/api_prod", // url = base url + request url // baseURL: "/api_prod", // url = base url + request url
// baseURL: baseURL, // baseURL: "/api", // url = base url + request url baseURL: baseURL, // baseURL: "/api", // url = base url + request url
withCredentials: true, // send cookies when cross-domain requests withCredentials: true, // send cookies when cross-domain requests
timeout: 10000, // request timeout timeout: 10000, // request timeout
crossDomain: true, crossDomain: true,

@ -211,7 +211,7 @@
</li> </li>
</ul> --> </ul> -->
<div> <div>
Copyright © 2015 - 2022 Matripe. All Rights Reserved. <i></i> Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" <a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
>京ICP备16043923号-9</a >京ICP备16043923号-9</a
> >

@ -167,7 +167,7 @@
</li> </li>
</ul> --> </ul> -->
<div> <div>
Copyright © 2015 - 2022 Matripe. All Rights Reserved. <i></i> Copyright © 2015 - 2022 Bocai. All Rights Reserved. <i></i>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" <a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index"
>京ICP备16043923号-9</a >京ICP备16043923号-9</a
> >

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 KiB

@ -1,7 +1,9 @@
"use strict"; "use strict";
const path = require("path"); const path = require("path");
const defaultSettings = require("./src/settings.js"); const defaultSettings = require("./src/settings.js");
// const webpack = require("webpack");
// const CompressionPlugin = require("compression-webpack-plugin");
// const zlib = require("zlib");
function resolve(dir) { function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
@ -79,6 +81,11 @@ module.exports = {
}, },
// before: require('./mock/mock-server.js') // before: require('./mock/mock-server.js')
}, },
chainWebpack: (config) => {
config.plugins.delete("fork-ts-checker"), // 禁用fork-ts-checker
config.plugins.delete("prefetch");
},
configureWebpack: { configureWebpack: {
// provide the app's title in webpack's name field, so that // provide the app's title in webpack's name field, so that
// it can be accessed in index.html to inject the correct title. // it can be accessed in index.html to inject the correct title.
@ -87,6 +94,52 @@ module.exports = {
resolve: { resolve: {
alias: { alias: {
"@": resolve("src"), "@": resolve("src"),
'@ant-design/icons/lib/dist.$': resolve('src/icons.js')
},
},
// plugins: [
// new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// // 下面两项配置才是 compression-webpack-plugin 压缩配置
// // 压缩成 .gz 文件
// new CompressionPlugin({
// filename: '[path][base].gz',
// algorithm: 'gzip',
// test: /\.js$|\.css$|\.html$/,
// threshold: 10240,
// minRatio: 0.8
// }),
// // 压缩成 .br 文件,如果 zlib 报错无法解决,可以注释这段使用代码,一般本地没问题,需要注意线上服务器会可能发生找不到 zlib 的情况。
// new CompressionPlugin({
// filename: '[path][base].br',
// algorithm: 'brotliCompress',
// test: /\.(js|css|html|svg)$/,
// compressionOptions: {
// params: {
// [zlib.constants.BROTLI_PARAM_QUALITY]: 11
// }
// },
// threshold: 10240,
// minRatio: 0.8
// })
// ],
// },
optimization: {
runtimeChunk: "single",
splitChunks: {
chunks: "all",
maxInitialRequests: Infinity,
minSize: 20000,
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name(module) {
// get the name. E.g. node_modules/packageName/not/this/part.js
// or node_modules/packageName
const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1];
// npm package names are URL-safe, but some servers don't like @ symbols
return `npm.${packageName.replace("@", "")}`;
},
},
}, },
}, },
}, },
@ -162,4 +215,5 @@ module.exports = {
// } // }
// ) // )
// } // }
},
}; };

17143
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save