commit 8af9f481f1482d53faa9dd06cfbef92d865ecc20
Author: root <root@hub.scroll.pub> Date: 2024-12-28 01:53:06 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..29182d6 --- /dev/null +++ b/body.html @@ -0,0 +1,55 @@ +<header> + <h1>Outsource Metrics</h1> + <p>Evaluate and rank the performance of outsourced personnel across various roles.</p> +</header> + +<main> + <section id="metrics"> + <h2>Performance Metrics</h2> + <form id="metricForm"> + <label for="role">Role:</label> + <select id="role" name="role" required> + <option value="">Select a role</option> + <option value="product_manager">Product Manager</option> + <option value="java_developer">Java Developer</option> + <option value="frontend_developer">Frontend Developer</option> + <option value="tester">Tester</option> + </select> + + <label for="name">Name:</label> + <input type="text" id="name" name="name" required> + + <label for="quality">Quality of Work (1-10):</label> + <input type="number" id="quality" name="quality" min="1" max="10" required> + + <label for="timeliness">Timeliness (1-10):</label> + <input type="number" id="timeliness" name="timeliness" min="1" max="10" required> + + <label for="communication">Communication (1-10):</label> + <input type="number" id="communication" name="communication" min="1" max="10" required> + + <button type="submit">Submit</button> + </form> + </section> + + <section id="results"> + <h2>Rankings</h2> + <table> + <thead> + <tr> + <th>Rank</th> + <th>Name</th> + <th>Role</th> + <th>Score</th> + </tr> + </thead> + <tbody id="rankingsTable"> + <!-- Rankings will be populated here --> + </tbody> + </table> + </section> +</main> + +<footer> + <p>Outsource Metrics - Empowering better outsourcing decisions.</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..de913c1 --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://outsourcemetrics.scroll.pub +metaTags +editButton /edit.html +title Outsource Metrics - Evaluate and Rank Outsourced Personnel +style.css +body.html +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..f59574d --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "0a03b8fb-57e7-40e8-a0b9-98ab05ae925c", + "object": "chat.completion", + "created": 1735350769, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\noutsourcemetrics.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://outsourcemetrics.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Outsource Metrics - Evaluate and Rank Outsourced Personnel\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Outsource Metrics</h1>\n <p>Evaluate and rank the performance of outsourced personnel across various roles.</p>\n</header>\n\n<main>\n <section id=\"metrics\">\n <h2>Performance Metrics</h2>\n <form id=\"metricForm\">\n <label for=\"role\">Role:</label>\n <select id=\"role\" name=\"role\" required>\n <option value=\"\">Select a role</option>\n <option value=\"product_manager\">Product Manager</option>\n <option value=\"java_developer\">Java Developer</option>\n <option value=\"frontend_developer\">Frontend Developer</option>\n <option value=\"tester\">Tester</option>\n </select>\n\n <label for=\"name\">Name:</label>\n <input type=\"text\" id=\"name\" name=\"name\" required>\n\n <label for=\"quality\">Quality of Work (1-10):</label>\n <input type=\"number\" id=\"quality\" name=\"quality\" min=\"1\" max=\"10\" required>\n\n <label for=\"timeliness\">Timeliness (1-10):</label>\n <input type=\"number\" id=\"timeliness\" name=\"timeliness\" min=\"1\" max=\"10\" required>\n\n <label for=\"communication\">Communication (1-10):</label>\n <input type=\"number\" id=\"communication\" name=\"communication\" min=\"1\" max=\"10\" required>\n\n <button type=\"submit\">Submit</button>\n </form>\n </section>\n\n <section id=\"results\">\n <h2>Rankings</h2>\n <table>\n <thead>\n <tr>\n <th>Rank</th>\n <th>Name</th>\n <th>Role</th>\n <th>Score</th>\n </tr>\n </thead>\n <tbody id=\"rankingsTable\">\n <!-- Rankings will be populated here -->\n </tbody>\n </table>\n </section>\n</main>\n\n<footer>\n <p>Outsource Metrics - Empowering better outsourcing decisions.</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #4a90e2;\n --secondary-color: #f5f5f5;\n --text-color: #333;\n --border-color: #ddd;\n --shadow-color: rgba(0, 0, 0, 0.1);\n}\n\nbody {\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n line-height: 1.6;\n color: var(--text-color);\n margin: 0;\n padding: 0;\n background-color: var(--secondary-color);\n}\n\nheader {\n background-color: var(--primary-color);\n color: white;\n padding: 2rem;\n text-align: center;\n}\n\nmain {\n padding: 2rem;\n max-width: 800px;\n margin: 0 auto;\n}\n\nsection {\n background: white;\n padding: 1.5rem;\n margin-bottom: 2rem;\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--shadow-color);\n}\n\nh2 {\n color: var(--primary-color);\n margin-bottom: 1rem;\n}\n\nform {\n display: grid;\n gap: 1rem;\n}\n\nlabel {\n font-weight: bold;\n}\n\ninput, select, button {\n padding: 0.5rem;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n}\n\nbutton {\n background-color: var(--primary-color);\n color: white;\n cursor: pointer;\n transition: background-color 0.3s;\n}\n\nbutton:hover {\n background-color: darken(var(--primary-color), 10%);\n}\n\ntable {\n width: 100%;\n border-collapse: collapse;\n margin-top: 1rem;\n}\n\nth, td {\n padding: 0.75rem;\n text-align: left;\n border-bottom: 1px solid var(--border-color);\n}\n\nth {\n background-color: var(--primary-color);\n color: white;\n}\n\ntr:nth-child(even) {\n background-color: var(--secondary-color);\n}\n\nfooter {\n text-align: center;\n padding: 1rem;\n background-color: var(--primary-color);\n color: white;\n margin-top: 2rem;\n}\n\n@media (max-width: 600px) {\n main {\n padding: 1rem;\n }\n\n form {\n grid-template-columns: 1fr;\n }\n}\n---script.js---\nconst metricForm = document.getElementById('metricForm');\nconst rankingsTable = document.getElementById('rankingsTable');\nlet rankings = [];\n\nmetricForm.addEventListener('submit', function(e) {\n e.preventDefault();\n\n const role = document.getElementById('role').value;\n const name = document.getElementById('name').value;\n const quality = parseInt(document.getElementById('quality').value);\n const timeliness = parseInt(document.getElementById('timeliness').value);\n const communication = parseInt(document.getElementById('communication').value);\n\n const score = Math.round((quality + timeliness + communication) / 3);\n\n const entry = {\n name,\n role,\n score\n };\n\n rankings.push(entry);\n rankings.sort((a, b) => b.score - a.score);\n\n updateRankingsTable();\n metricForm.reset();\n});\n\nfunction updateRankingsTable() {\n rankingsTable.innerHTML = rankings.map((entry, index) => `\n <tr>\n <td>${index + 1}</td>\n <td>${entry.name}</td>\n <td>${entry.role.replace('_', ' ')}</td>\n <td>${entry.score}</td>\n </tr>\n `).join('');\n}\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 268, + "completion_tokens": 1319, + "total_tokens": 1587, + "prompt_cache_hit_tokens": 0, + "prompt_cache_miss_tokens": 268 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..04feb86 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# outsourcemetrics.scroll.pub +Website generated by DeepSeek from prompt: 我想要创建一个网站用于评估外包人员的效能指标,并用于排名,外包人员包含不同的岗位,譬如产品经理、Java 开发,前端开发,测试人员等 \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..ca1c6be --- /dev/null +++ b/script.js @@ -0,0 +1,38 @@ +const metricForm = document.getElementById('metricForm'); +const rankingsTable = document.getElementById('rankingsTable'); +let rankings = []; + +metricForm.addEventListener('submit', function(e) { + e.preventDefault(); + + const role = document.getElementById('role').value; + const name = document.getElementById('name').value; + const quality = parseInt(document.getElementById('quality').value); + const timeliness = parseInt(document.getElementById('timeliness').value); + const communication = parseInt(document.getElementById('communication').value); + + const score = Math.round((quality + timeliness + communication) / 3); + + const entry = { + name, + role, + score + }; + + rankings.push(entry); + rankings.sort((a, b) => b.score - a.score); + + updateRankingsTable(); + metricForm.reset(); +}); + +function updateRankingsTable() { + rankingsTable.innerHTML = rankings.map((entry, index) => ` + <tr> + <td>${index + 1}</td> + <td>${entry.name}</td> + <td>${entry.role.replace('_', ' ')}</td> + <td>${entry.score}</td> + </tr> + `).join(''); +} \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..11a5852 --- /dev/null +++ b/style.css @@ -0,0 +1,107 @@ +:root { + --primary-color: #4a90e2; + --secondary-color: #f5f5f5; + --text-color: #333; + --border-color: #ddd; + --shadow-color: rgba(0, 0, 0, 0.1); +} + +body { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + line-height: 1.6; + color: var(--text-color); + margin: 0; + padding: 0; + background-color: var(--secondary-color); +} + +header { + background-color: var(--primary-color); + color: white; + padding: 2rem; + text-align: center; +} + +main { + padding: 2rem; + max-width: 800px; + margin: 0 auto; +} + +section { + background: white; + padding: 1.5rem; + margin-bottom: 2rem; + border-radius: 8px; + box-shadow: 0 2px 4px var(--shadow-color); +} + +h2 { + color: var(--primary-color); + margin-bottom: 1rem; +} + +form { + display: grid; + gap: 1rem; +} + +label { + font-weight: bold; +} + +input, select, button { + padding: 0.5rem; + border: 1px solid var(--border-color); + border-radius: 4px; +} + +button { + background-color: var(--primary-color); + color: white; + cursor: pointer; + transition: background-color 0.3s; +} + +button:hover { + background-color: darken(var(--primary-color), 10%); +} + +table { + width: 100%; + border-collapse: collapse; + margin-top: 1rem; +} + +th, td { + padding: 0.75rem; + text-align: left; + border-bottom: 1px solid var(--border-color); +} + +th { + background-color: var(--primary-color); + color: white; +} + +tr:nth-child(even) { + background-color: var(--secondary-color); +} + +footer { + text-align: center; + padding: 1rem; + background-color: var(--primary-color); + color: white; + margin-top: 2rem; +} + +@media (max-width: 600px) { + main { + padding: 1rem; + } + + form { + grid-template-columns: 1fr; + } +} \ No newline at end of file