Jelajahi Sumber

研究生不加仲裁

Michael Wang 3 tahun lalu
induk
melakukan
720bc93967
6 mengubah file dengan 118 tambahan dan 96 penghapusan
  1. 2 2
      package.json
  2. 98 80
      src/features/Image/Image.vue
  3. 9 5
      src/features/Login/Login.vue
  4. 4 5
      src/lib/watermark.ts
  5. 1 0
      vue.config.js
  6. 4 4
      yarn.lock

+ 2 - 2
package.json

@@ -1,5 +1,5 @@
 {
-  "name": "stmms-proxy",
+  "name": "stmmsproxy",
   "version": "0.1.0",
   "private": true,
   "scripts": {
@@ -53,7 +53,7 @@
     "@vue/eslint-config-prettier": "^6.0.0",
     "@vue/eslint-config-typescript": "^7.0.0",
     "babel-plugin-import": "^1.13.3",
-    "electron": "^13.0.0",
+    "electron": "^12.0.0",
     "electron-devtools-installer": "^3.1.0",
     "eslint": "^6.7.2",
     "eslint-plugin-prettier": "^3.3.1",

+ 98 - 80
src/features/Image/Image.vue

@@ -56,73 +56,77 @@
           </div>
         </td>
       </tr>
-      <tr>
-        <th>水印起始位置(横向):</th>
-        <td>
-          <a-input
-            v-model:value="x"
-            style="width: 600px"
-            placeholder="数字,默认0.03"
-          />
-        </td>
-      </tr>
-      <tr>
-        <th>水印起始位置(纵向):</th>
-        <td>
-          <a-input
-            v-model:value="y"
-            style="width: 600px"
-            placeholder="数字,默认0.01"
-          />
-        </td>
-      </tr>
-      <tr id="watermark-select" v-if="type === '1'">
-        <th>添加分数水印:</th>
-        <td>
-          <div class="input-radio">
-            <a-radio-group name="radioGroup" v-model:value="watermark">
-              <a-radio :value="true">是</a-radio>
-              <a-radio :value="false">否</a-radio>
-            </a-radio-group>
-          </div>
-        </td>
-      </tr>
-      <tr id="track-mode-select" v-if="type === '1'">
-        <th>水印模式:</th>
-        <td>
-          <div class="input-radio">
-            <a-radio-group name="radioGroup" v-model:value="trackMode">
-              <a-radio value="1">普通</a-radio>
-              <a-radio value="2">研究生</a-radio>
-            </a-radio-group>
-          </div>
-        </td>
-      </tr>
-      <tr id="examNumber-select" v-if="type === '1'">
-        <th>准考证号:</th>
-        <td>
-          <a-input
-            v-model:value="examNumber"
-            style="width: 600px"
-            placeholder="多个准考证号用逗号分隔"
-          />
-        </td>
-      </tr>
-      <tr id="subjectCode-select" v-if="type === '1'">
-        <th>科目代码:</th>
-        <td>
-          <a-input
-            v-model:value="subjectCode"
-            style="width: 600px"
-            placeholder="多个科目代码用逗号分隔"
-          />
-        </td>
-      </tr>
+      <template v-if="type === '1'">
+        <tr>
+          <th>水印起始位置(横向):</th>
+          <td>
+            <a-input
+              v-model:value="x"
+              style="width: 600px"
+              placeholder="数字,默认0.03"
+            />
+          </td>
+        </tr>
+        <tr>
+          <th>水印起始位置(纵向):</th>
+          <td>
+            <a-input
+              v-model:value="y"
+              style="width: 600px"
+              placeholder="数字,默认0.01"
+            />
+          </td>
+        </tr>
+        <tr id="watermark-select">
+          <th>添加分数水印:</th>
+          <td>
+            <div class="input-radio">
+              <a-radio-group name="radioGroup" v-model:value="watermark">
+                <a-radio :value="true">是</a-radio>
+                <a-radio :value="false">否</a-radio>
+              </a-radio-group>
+            </div>
+          </td>
+        </tr>
+        <tr id="track-mode-select">
+          <th>水印模式:</th>
+          <td>
+            <div class="input-radio">
+              <a-radio-group name="radioGroup" v-model:value="trackMode">
+                <a-radio value="1">普通</a-radio>
+                <a-radio value="2">研究生</a-radio>
+              </a-radio-group>
+            </div>
+          </td>
+        </tr>
+        <tr id="examNumber-select">
+          <th>准考证号:</th>
+          <td>
+            <a-input
+              v-model:value="examNumber"
+              style="width: 600px"
+              placeholder="多个准考证号用逗号分隔"
+            />
+          </td>
+        </tr>
+        <tr id="subjectCode-select">
+          <th>科目代码:</th>
+          <td>
+            <a-input
+              v-model:value="subjectCode"
+              style="width: 600px"
+              placeholder="多个科目代码用逗号分隔"
+            />
+          </td>
+        </tr>
+      </template>
 
       <tr id="message-tr">
         <th></th>
         <td>
-          <p class="error-tetx" id="message-text">{{ ruleExample }}</p>
+          <p v-if="ruleExample" class="error-tetx" id="message-text">
+            {{ ruleExample }}
+          </p>
         </td>
       </tr>
       <tr>
@@ -138,8 +142,9 @@
 
 <script setup lang="ts">
 import { store } from "@/store";
-import { computed, ref } from "vue";
+import { computed, ref, watch } from "vue";
 import { useRouter } from "vue-router";
+import { message } from "ant-design-vue";
 const router = useRouter();
 
 let type = ref("");
@@ -165,8 +170,8 @@ if (config) {
   trackMode.value = config.trackMode;
   examNumber.value = config.examNumber || "";
   subjectCode.value = config.subjectCode || "";
-  x.value = config.x || 30;
-  y.value = config.y || 10;
+  x.value = config.x || 0.03;
+  y.value = config.y || 0.01;
 }
 
 let ruleExample = computed(() => {
@@ -196,28 +201,30 @@ const chooseDirectory = (e: MouseEvent) => {
 const start = (e: MouseEvent) => {
   e.preventDefault();
   if (!type.value) {
-    alert("请选择图片类型");
+    message.info("请选择图片类型");
     return false;
   }
   if (!dir.value.trim()) {
-    alert("请选择图片转存目录");
-    return false;
-  }
-  if (!x.value) {
-    alert("水印起始位置(横向)");
-    return false;
-  }
-  if (!y.value) {
-    alert("水印起始位置(纵向)");
+    message.info("请选择图片转存目录");
     return false;
   }
   if (!template.value.trim()) {
-    alert("请填写图片转存规则");
+    message.info("请填写图片转存规则");
     return false;
   }
-  if (type.value == "1" && trackMode.value == "") {
-    alert("请选择水印模式");
-    return false;
+  if (type.value === "1") {
+    if (!x.value) {
+      message.info("请填写水印起始位置(横向)");
+      return false;
+    }
+    if (!y.value) {
+      message.info("请填写水印起始位置(纵向)");
+      return false;
+    }
+    if (type.value == "1" && trackMode.value == "") {
+      message.info("请选择水印模式");
+      return false;
+    }
   }
 
   store.pageInputs["/image-download"] = {
@@ -235,4 +242,15 @@ const start = (e: MouseEvent) => {
   };
   router.push("/image-download");
 };
+
+watch(type, () => {
+  if (type.value === "2") {
+    watermark.value = false;
+    trackMode.value = "";
+    x.value = 0;
+    y.value = 0;
+    examNumber.value = "";
+    subjectCode.value = "";
+  }
+});
 </script>

+ 9 - 5
src/features/Login/Login.vue

@@ -39,10 +39,11 @@
 </template>
 
 <script setup lang="ts">
-import { onMounted, ref } from "vue";
+import { ref } from "vue";
 import { store } from "@/store";
 import { login } from "@/api/api";
 import { useRouter } from "vue-router";
+import { message } from "ant-design-vue";
 const router = useRouter();
 
 let server = ref(null);
@@ -60,6 +61,9 @@ let password = ref("");
 // server.value = "http://192.168.10.224:80";
 // loginName.value = "admin-test";
 // password.value = "123456";
+server.value = "https://www.markingcloud.com";
+loginName.value = "admin-wdsx";
+password.value = "wdsx!@#";
 
 const loginAction = () => {
   Object.assign(store.env, {
@@ -68,15 +72,15 @@ const loginAction = () => {
     password: password.value,
   });
   if (!server.value) {
-    alert("请选择服务地址");
+    message.info("请选择服务地址");
     return;
   }
   if (!loginName.value) {
-    alert("请输入账号");
+    message.info("请输入账号");
     return;
   }
   if (!password.value) {
-    alert("请输入密码");
+    message.info("请输入密码");
     return;
   }
   login()
@@ -86,7 +90,7 @@ const loginAction = () => {
     })
     .catch((err) => {
       console.log(err);
-      alert("登陆失败,用户名或密码错误");
+      message.error("登陆失败,用户名或密码错误");
     });
 };
 </script>

+ 4 - 5
src/lib/watermark.ts

@@ -177,7 +177,7 @@ export async function addWatermark(
               marker: {},
               markerString: [],
               header: {},
-              // headerString: [],
+              headerString: [],
             };
             groups[detail.groupNumber] = group;
             maxGroupNumber = Math.max(maxGroupNumber, group.number);
@@ -213,10 +213,9 @@ export async function addWatermark(
               " " +
               group.score +
               " " +
-              group.markerString.join(",");
-            //  +
-            // " " +
-            // group.headerString.join(",");
+              group.markerString.join(",") +
+              " " +
+              " "; //+group.headerString.join(",");
             width = Math.max(width, content.length * fontSize);
             imgData.drawText(x, (y += height), content);
           }

+ 1 - 0
vue.config.js

@@ -21,6 +21,7 @@ module.exports = {
     electronBuilder: {
       preload: "src/preload.ts",
       externals: [],
+      productName: "云阅卷",
       builderOptions: {
         extraFiles: ["font/**", "imagemagick/**"],
         win: {

+ 4 - 4
yarn.lock

@@ -4284,10 +4284,10 @@ electron-to-chromium@^1.3.793:
   resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.810.tgz?cache=0&sync_timestamp=1629252182437&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.810.tgz"
   integrity sha1-I+NAUH4T5I3r23RF0vj7+raBxN8=
 
-electron@^13.0.0:
-  version "13.2.1"
-  resolved "https://registry.nlark.com/electron/download/electron-13.2.1.tgz"
-  integrity sha1-Dcie0OP68yezlXHeUzyhrhiHj/E=
+electron@^12.0.0:
+  version "12.0.17"
+  resolved "https://registry.nlark.com/electron/download/electron-12.0.17.tgz#9707c9bfd0a29ae63b8b66f1b3acf8894f7b63f4"
+  integrity sha1-lwfJv9CimuY7i2bxs6z4iU97Y/Q=
   dependencies:
     "@electron/get" "^1.0.1"
     "@types/node" "^14.6.2"