刘洋 7 månader sedan
förälder
incheckning
0d244d2232

+ 40 - 8
src/modules/admin/ocr/OcrManage.vue

@@ -21,17 +21,21 @@
         <el-table-column prop="name" label="名称"> </el-table-column>
         <el-table-column prop="qps" label="QPS限流"> </el-table-column>
         <el-table-column prop="enable" label="状态">
-          <template slot-scope="scope">
-            <el-tag v-if="scope.row.enable" type="success">启用</el-tag>
-            <el-tag v-else type="danger">禁用</el-tag>
-          </template>
+          <!-- <el-tag v-if="scope.row.enable" type="success">启用</el-tag>
+            <el-tag v-else type="danger">禁用</el-tag> -->
+
+          <span
+            slot-scope="scope"
+            :class="scope.row.enable ? 'color-success' : 'color-danger'"
+            >{{ scope.row.enable | ableTypeFilter }}</span
+          >
         </el-table-column>
-        <el-table-column prop="createTime" label="创建时间">
+        <el-table-column prop="createTime" label="创建时间" :width="160">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
           }}</span>
         </el-table-column>
-        <el-table-column prop="updateTime" label="修改时间">
+        <el-table-column prop="updateTime" label="修改时间" :width="160">
           <span slot-scope="scope">{{
             scope.row.updateTime | timestampFilter
           }}</span>
@@ -40,7 +44,7 @@
           v-if="checkPrivilege('OCR_SUPPLIER_EDIT')"
           class-name="action-column"
           label="操作"
-          width="120"
+          :width="150"
           fixed="right"
         >
           <template slot-scope="scope">
@@ -51,6 +55,12 @@
               @click="toEdit(scope.row)"
               >编辑</el-button
             >
+            <el-button
+              :class="scope.row.enable ? 'btn-danger' : 'btn-primary'"
+              type="text"
+              @click="toEnable(scope.row)"
+              >{{ scope.row.enable ? "禁用" : "启用" }}</el-button
+            >
             <el-button
               class="btn-primary"
               type="text"
@@ -72,7 +82,7 @@
 </template>
 
 <script>
-import { ocrListQuery } from "../api";
+import { ocrListQuery, ocrInsertOrUpdate } from "../api";
 import ModifyOcr from "./ModifyOcr.vue";
 import OcrTest from "./OcrTest.vue";
 export default {
@@ -116,6 +126,28 @@ export default {
       this.curRow = row;
       this.$refs.OcrTest.open();
     },
+    async toEnable(row) {
+      const action = row.enable ? "禁用" : "启用";
+      const confirm = await this.$confirm(
+        `确定要${action}OCR【${row.name}】吗?`,
+        "提示",
+        {
+          type: "warning",
+        }
+      ).catch(() => {});
+
+      if (confirm !== "confirm") return;
+
+      const enable = !row.enable;
+      await ocrInsertOrUpdate({
+        id: row.id,
+        enable,
+      }).finally(() => {
+        this.loading = false;
+      });
+      row.enable = enable;
+      this.$message.success("操作成功!");
+    },
   },
 };
 </script>

+ 20 - 11
src/modules/admin/ocr/OcrTest.vue

@@ -8,10 +8,10 @@
     append-to-body
     fullscreen
     @closed="visibleChange()"
+    :title="'OCR测试 - ' + curRow.name"
   >
-    <div slot="title">OCR测试</div>
     <div class="body">
-      <div class="left">
+      <div class="left" v-loading="loading">
         <el-upload
           ref="upload"
           action=""
@@ -36,14 +36,14 @@
       </div>
       <div class="right">
         <div>
-          <el-select v-model="type">
+          <el-select v-model="type" :disabled="loading">
             <el-option value="GENERAL" label="通用"></el-option>
             <el-option value="HANDWRITING" label="手写"></el-option>
           </el-select>
           <el-button
             type="primary"
             style="margin-left: 10px"
-            :disabled="!file"
+            :disabled="!file || loading"
             @click="submit"
             >开始识别</el-button
           >
@@ -81,6 +81,7 @@ export default {
       imageUrl: "",
       type: "GENERAL",
       resultText: "",
+      loading: false,
     };
   },
   computed: {
@@ -115,16 +116,21 @@ export default {
     },
     customSubmit(option) {
       this.resultText = "";
+      this.loading = true;
       orgTestApi({
         id: this.curRow.id,
         type: this.type,
         image: option.file,
-      }).then((res) => {
-        if (res && res.text) {
-          let initText = (res.text || "").replaceAll(/\n/g, "<br />");
-          this.writing(0, initText);
-        }
-      });
+      })
+        .then((res) => {
+          if (res && res.text) {
+            let initText = (res.text || "").replaceAll(/\n/g, "<br />");
+            this.writing(0, initText);
+          }
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     onChange(file, fileList) {
       this.imageUrl = "";
@@ -139,7 +145,7 @@ export default {
         this.resultText = this.resultText + data[index];
         setTimeout(() => {
           this.writing(++index, data);
-        }, 20);
+        }, 8);
       }
     },
   },
@@ -147,6 +153,9 @@ export default {
 </script>
 <style lang="scss">
 .ocr-test-dialog {
+  .el-dialog__title {
+    font-size: 16px;
+  }
   .el-dialog__body {
     height: calc(100vh - 2px);
     .body {

+ 30 - 18
src/modules/admin/org/OrgManage.vue

@@ -88,12 +88,21 @@
         >
         </el-table-column> -->
         <el-table-column prop="id" label="ID" width="80"></el-table-column>
-        <el-table-column prop="name" label="名称"> </el-table-column>
-        <el-table-column prop="code" label="编码"> </el-table-column>
+        <el-table-column prop="name" label="名称" :width="160">
+        </el-table-column>
+        <el-table-column prop="code" label="编码" :width="160">
+        </el-table-column>
         <el-table-column prop="typeName" label="一级分类" width="90">
         </el-table-column>
         <el-table-column prop="subTypesName" label="二级分类" min-width="160">
         </el-table-column>
+        <el-table-column prop="enable" label="状态" width="90">
+          <span
+            slot-scope="scope"
+            :class="scope.row.enable ? 'color-success' : 'color-danger'"
+            >{{ scope.row.enable | ableTypeFilter }}</span
+          >
+        </el-table-column>
         <el-table-column prop="createTime" label="创建时间" width="160">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
@@ -104,13 +113,7 @@
             scope.row.updateTime | timestampFilter
           }}</span>
         </el-table-column>
-        <el-table-column prop="enable" label="启用/禁用" width="90">
-          <span
-            slot-scope="scope"
-            :class="scope.row.enable ? 'color-success' : 'color-danger'"
-            >{{ scope.row.enable | ableTypeFilter }}</span
-          >
-        </el-table-column>
+
         <el-table-column
           v-if="checkPrivilege('ORG_EDIT')"
           class-name="action-column"
@@ -239,17 +242,26 @@ export default {
       this.$refs.ModifyOrg.open();
     },
     async toEnable(row) {
-      if (this.loading) return;
-      this.loading = true;
-      const res = await orgToggle({
-        id: row.id,
-        enable: !row.enable,
-      }).catch(() => {});
+      const action = row.enable ? "禁用" : "启用";
+      const confirm = await this.$confirm(
+        `确定要${action}机构【${row.name}】吗?`,
+        "提示",
+        {
+          type: "warning",
+        }
+      ).catch(() => {});
 
-      this.loading = false;
-      if (!res) return;
+      if (confirm !== "confirm") return;
 
-      row.enable = !row.enable;
+      const enable = !row.enable;
+      await orgToggle({
+        id: row.id,
+        enable,
+      }).finally(() => {
+        this.loading = false;
+      });
+      row.enable = enable;
+      this.$message.success("操作成功!");
     },
   },
 };

+ 2 - 3
src/modules/admin/user/UserManage.vue

@@ -72,10 +72,9 @@
         <el-table-column prop="enable" label="状态" width="80">
           <span
             slot-scope="scope"
-            :class="scope.row.enable ? 'color-primary' : 'color-danger'"
+            :class="scope.row.enable ? 'color-success' : 'color-danger'"
+            >{{ scope.row.enable | ableTypeFilter }}</span
           >
-            {{ scope.row.enable | ableTypeFilter }}
-          </span>
         </el-table-column>
         <el-table-column prop="createTime" label="创建时间" width="170">
           <span slot-scope="scope">{{

+ 1 - 1
src/modules/admin/wx/WeChatAppManage.vue

@@ -33,7 +33,7 @@
 
     <div class="part-box part-box-pad">
       <el-table ref="TableList" :data="dataList">
-        <el-table-column prop="id" label="ID" width="80"></el-table-column>
+        <el-table-column prop="id" label="ID" width="260"></el-table-column>
         <el-table-column prop="name" label="名称"> </el-table-column>
         <el-table-column prop="createTime" label="创建时间" width="160">
           <span slot-scope="scope">{{