刘洋 7 сар өмнө
parent
commit
4a14990372

+ 221 - 0
src/assets/style/base.css

@@ -0,0 +1,221 @@
+.box-justify {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+/* part */
+.part-box {
+  margin-bottom: 16px;
+  background-color: #fff;
+  border-radius: var(--border-radius);
+  padding: 16px;
+}
+.part-box.is-border {
+  border: 1px solid var(--color-border);
+}
+.part-box.is-border-bold {
+  border: 1px solid var(--color-border-bold);
+}
+.part-box.is-nopad {
+  padding: 0;
+}
+.part-box.is-filter {
+  padding-bottom: 4px;
+}
+.part-box-head {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  min-height: 30px;
+  margin: -10px 0 10px -10px;
+  color: var(--app-main-text-color);
+}
+.part-box-head > h3 {
+  font-size: 18px;
+}
+.filter-line .arco-input-wrapper,
+.filter-line .arco-select {
+  width: 200px;
+  padding-left: 8px;
+}
+.filter-line .arco-select-view-prefix,
+.filter-line .arco-input-prefix {
+  padding-right: 16px;
+  position: relative;
+  color: var(--color-text-dark-1);
+}
+.filter-line .arco-select-view-prefix::after,
+.filter-line .arco-input-prefix::after {
+  content: '';
+  display: block;
+  position: absolute;
+  width: 1px;
+  height: 14px;
+  background: var(--color-border);
+  right: 8px;
+  top: 50%;
+  margin-top: -7px;
+}
+.part-action {
+  margin-bottom: 16px;
+}
+.part-action .arco-btn-text {
+  padding: 5px 8px;
+  font-weight: 400;
+}
+.part-action .arco-space-item:not(:first-child) .arco-btn-text {
+  color: var(--color-text-dark);
+}
+.part-action .arco-divider {
+  margin: 0;
+  border-color: var(--color-border);
+}
+.page-table .arco-table-tr .arco-table-th {
+  color: var(--color-text-gray);
+  font-weight: 400;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid var(--color-border);
+}
+.page-table .arco-table-tr .arco-table-td {
+  border-color: var(--color-border);
+  color: var(--color-text-dark);
+}
+.page-table .arco-table-cell {
+  padding: 12px;
+}
+.action-more .ant-btn-block {
+  display: block;
+  padding: 5px 8px;
+}
+.action-more .ant-popover-inner {
+  border-radius: 6px;
+  padding: 6px;
+  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.12);
+}
+.empty-none {
+  text-align: center;
+  padding: 10px 0;
+  height: 95px;
+  background-image: url(../images/bg-empty.png);
+  background-size: 98px 74px;
+  background-position: center;
+  background-repeat: no-repeat;
+}
+/* table */
+.table {
+  width: 100%;
+  border-spacing: 0;
+  border-collapse: collapse;
+  text-align: left;
+}
+.table.table-white {
+  background-color: #fff;
+}
+.table th {
+  padding: 12px;
+  line-height: 1.2;
+  letter-spacing: 1px;
+  color: var(--color-text-gray);
+  border: 1px solid var(--color-border);
+}
+.table td {
+  padding: 14px;
+  line-height: 1.2;
+  color: var(--color-text-dark);
+  border: 1px solid var(--color-border);
+}
+.table td.td-link span {
+  cursor: pointer;
+}
+.table td.td-link span:hover {
+  color: var(--color-text-gray);
+}
+.table .td-th {
+  font-weight: 600;
+  color: var(--color-text-gray);
+}
+.table--border {
+  border: 1px solid var(--color-border);
+  border-radius: 10px;
+}
+.table--border th {
+  background-color: #fcfcfd;
+  border: none;
+  border-bottom: 1px solid var(--color-border);
+}
+.table--border td {
+  border: none;
+  border-bottom: 1px solid var(--color-border);
+}
+/* tab-btns */
+.tab-btns {
+  margin-bottom: 15px;
+}
+.tab-btns .arco-btn {
+  border-top-right-radius: 8px;
+  border-top-left-radius: 8px;
+  border-bottom-right-radius: 0;
+  border-bottom-left-radius: 0;
+}
+.tab-btns .arco-btn:first-child {
+  border-bottom-left-radius: 8px;
+}
+.tab-btns .arco-btn:last-child {
+  border-bottom-right-radius: 8px;
+}
+/* btn */
+.btn-danger.arco-btn-text {
+  padding: 0 !important;
+  background-color: transparent !important;
+}
+.btn-danger.arco-btn-text:not(.arco-btn-disabled) {
+  color: var(--color-danger) !important;
+}
+.btn-danger.arco-btn-text:not(.arco-btn-disabled):hover {
+  font-weight: 600;
+}
+.btn-danger.arco-btn-disabled {
+  color: var(--color-text-gray-2);
+}
+.btn-primary.arco-btn-text {
+  padding: 0 !important;
+  background-color: transparent !important;
+}
+.btn-primary.arco-btn-text:not(.arco-btn-disabled):hover {
+  font-weight: 600;
+  color: var(--color-primary) !important;
+}
+.tips-info {
+  font-size: 14px;
+  line-height: 20px;
+  color: var(--color-text-gray);
+}
+.tips-info > i {
+  margin-right: 2px;
+}
+.tips-dark {
+  color: var(--color-text-gray);
+}
+.tips-success {
+  color: var(--color-success);
+}
+.tips-error {
+  color: var(--color-danger);
+}
+.tips-icon {
+  display: inline-block;
+  vertical-align: middle;
+  color: var(--color-text-gray-1);
+  font-size: 18px;
+  margin: 0 10px;
+  cursor: pointer;
+}
+.align-right {
+  text-align: right;
+}
+.mr-10 {
+  margin-right: 10px;
+}
+.ml-10 {
+  margin-left: 10px;
+}

+ 1 - 1
src/assets/style/base.less

@@ -220,7 +220,7 @@
     background-color: transparent !important;
   }
   &.arco-btn-text:not(.arco-btn-disabled) {
-    color: var(--color-text-dark-1) !important;
+    // color: var(--color-text-dark-1) !important;
     &:hover {
       font-weight: 600;
       color: var(--color-primary) !important;

+ 14 - 29
src/views/base/agent-manage/index.vue

@@ -24,8 +24,7 @@
     </a-space>
   </div>
   <div class="part-box">
-    <!-- <a-space v-if="userStore.isAdmin" class="part-action" :size="6"> -->
-    <a-space class="part-action" :size="6">
+    <a-space v-if="userStore.isAdmin" class="part-action" :size="6">
       <a-button type="text" @click="toAdd">
         <template #icon>
           <svg-icon name="icon-add" />
@@ -52,29 +51,22 @@
         <status-tag type="enable" :value="record.enable" />
       </template>
       <template #action="{ record }">
-        <!-- <a-button
+        <a-button
           v-if="userStore.isAdmin"
           type="text"
           class="btn-primary"
           @click="toEdit(record)"
           >编辑</a-button
-        > -->
-        <a-button type="text" class="btn-primary" @click="toEdit(record)"
-          >编辑</a-button
         >
-        <!-- <a-button
-          v-if="userStore.isAdmin"
-          :class="record.enable ? 'btn-danger' : 'btn-primary'"
-          type="text"
-          @click="toEnable(record)"
-          >{{ record.enable ? '禁用' : '启用' }}</a-button
-        > -->
+
         <a-button
+          v-if="userStore.isAdmin"
           :class="record.enable ? 'btn-danger' : 'btn-primary'"
           type="text"
           @click="toEnable(record)"
           >{{ record.enable ? '禁用' : '启用' }}</a-button
         >
+
         <a-button type="text" class="btn-primary" @click="toGuide(record)"
           >考点指引</a-button
         >
@@ -88,18 +80,8 @@
     </a-table>
 
     <!-- ImportDialog -->
-    <!-- <ImportDialog
-      v-if="userStore.isAdmin"
-      ref="importDialogRef"
-      title="导入考点"
-      upload-url="/api/admin/site/import"
-      :format="['xls', 'xlsx']"
-      :download-handle="downloadTemplate"
-      download-filename="考点导入模板.xlsx"
-      :auto-upload="false"
-      @upload-success="getList"
-    /> -->
     <ImportDialog
+      v-if="userStore.isAdmin"
       ref="importDialogRef"
       title="导入考点"
       upload-url="/api/admin/site/import"
@@ -107,16 +89,16 @@
       :download-handle="downloadTemplate"
       download-filename="考点导入模板.xlsx"
       :auto-upload="false"
-      @upload-success="getList"
+      @upload-success="importSuccess"
     />
+
     <!-- ModifyAgent -->
-    <!-- <ModifyAgent
+    <ModifyAgent
       v-if="userStore.isAdmin"
       ref="modifyAgentRef"
       :row-data="curRow"
       @modified="getList"
-    /> -->
-    <ModifyAgent ref="modifyAgentRef" :row-data="curRow" @modified="getList" />
+    />
     <!-- ModifyGuide -->
     <ModifyGuide ref="modifyGuideRef" :row-data="curRow" />
   </div>
@@ -209,7 +191,10 @@
   function toImport() {
     importDialogRef.value?.open();
   }
-
+  function importSuccess() {
+    importDialogRef.value?.close();
+    toPage(1);
+  }
   const modifyAgentRef = ref();
   const curRow = ref({} as AgentItem);
   function toAdd() {

+ 5 - 1
src/views/base/room-manage/index.vue

@@ -79,7 +79,7 @@
       :download-handle="downloadTemplate"
       download-filename="考场导入模板.xlsx"
       :auto-upload="false"
-      @upload-success="getList"
+      @upload-success="importSuccess"
     />
     <!-- ModifyRoom -->
     <ModifyRoom ref="modifyRoomRef" :row-data="curRow" @modified="getList" />
@@ -176,6 +176,10 @@
   function toImport() {
     importDialogRef.value?.open();
   }
+  function importSuccess() {
+    importDialogRef.value?.close();
+    toPage(1);
+  }
 
   const modifyRoomRef = ref();
   const curRow = ref({} as RoomItem);

+ 5 - 1
src/views/base/teaching-manage/index.vue

@@ -75,7 +75,7 @@
       :download-handle="downloadTemplate"
       download-filename="教学点导入模板.xlsx"
       :auto-upload="false"
-      @upload-success="getList"
+      @upload-success="importSuccess"
     />
     <!-- ModifyTeaching -->
     <ModifyTeaching
@@ -167,6 +167,10 @@
   function toImport() {
     importDialogRef.value?.open();
   }
+  function importSuccess() {
+    importDialogRef.value?.close();
+    toPage(1);
+  }
 
   const modifyTeachingRef = ref();
   const curRow = ref({} as TeachingItem);

+ 20 - 2
src/views/order/my-task/index.vue

@@ -43,7 +43,18 @@
         {{ timestampFilter(record?.createTime) }}
       </template>
       <template #action="{ record }">
-        <a-button type="text" class="btn-primary" @click="download(record)"
+        <a-button
+          v-if="record.summary"
+          type="text"
+          class="btn-primary"
+          @click="view(record.summary)"
+          >查看</a-button
+        >
+        <a-button
+          v-if="record.exportFilePath"
+          type="text"
+          class="btn-primary"
+          @click="download(record)"
           >下载</a-button
         >
       </template>
@@ -53,7 +64,7 @@
 
 <script setup lang="ts">
   import { reactive, ref, computed, onMounted, watch } from 'vue';
-  import { Message, TableColumnData } from '@arco-design/web-vue';
+  import { Message, TableColumnData, Modal } from '@arco-design/web-vue';
   import { getMyTasks, getTaskTypes } from '@/api/order';
   import { TaskItem } from '@/api/types/order';
   import useTable from '@/hooks/table';
@@ -142,4 +153,11 @@
   const download = (record: any) => {
     downloadByCrossUrl(record.exportFilePath, `${Date.now()}`);
   };
+
+  const view = (summary: string) => {
+    Modal.info({
+      title: '系统提示',
+      content: summary,
+    });
+  };
 </script>