Bläddra i källkod

feat: bug fix

chenhao 2 år sedan
förälder
incheckning
5c6d2b84c2

+ 2 - 2
server.config.ts

@@ -3,8 +3,8 @@ import type { ServerOptions } from 'vite'
 const server: ServerOptions = {
   proxy: {
     '^/?(api|file)/': {
-      // target: 'http://192.168.10.41:8200',
-      target: 'http://cet-dev.markingtool.cn:8200',
+      target: 'http://192.168.10.41:8200',
+      // target: 'http://cet-dev.markingtool.cn:8200',
     },
   },
 }

+ 2 - 0
src/api/api-types/user.d.ts

@@ -65,6 +65,8 @@ export namespace User {
     groupId: number
     subjectName: string
     roleName: string
+    markDayCount?: number
+    markTotalCount?: number
     updateTime: string
     updaterName: string
   }

+ 9 - 2
src/hooks/useOptions.ts

@@ -127,7 +127,7 @@ const useOptions = (
   )
 
   watch(
-    dataModel,
+    () => dataModel.subject,
     () => {
       if (types.includes('question') && dataModel.subject) {
         // resetQuestionFetch()
@@ -136,13 +136,20 @@ const useOptions = (
         // changeModelValue('group')(void 0)
         getMainQuestionList({ subjectCode: dataModel.subject })
       }
+    },
+    { immediate: true }
+  )
+
+  watch(
+    [() => dataModel.question, () => dataModel.question],
+    () => {
       if (types.includes('group') && dataModel.subject && dataModel.question) {
         // resetGroupList()
         // changeModelValue('group')(void 0)
         getQuestionGroupList({ subjectCode: dataModel.subject, mainNumber: dataModel.question })
       }
     },
-    { immediate: true, deep: true }
+    { immediate: true }
   )
 
   if (autoFill) {

+ 1 - 1
src/modules/admin-role/manage/index.vue

@@ -18,7 +18,7 @@
 
 <script setup lang="ts" name="RoleManage">
 /** 角色管理 */
-import { reactive, ref } from 'vue'
+import { ref } from 'vue'
 import { useRouter } from 'vue-router'
 import { ElButton, ElCard } from 'element-plus'
 import BaseSelect from '@/components/element/BaseSelect.vue'

+ 30 - 7
src/modules/analysis/personnel-statistics/components/SetWorkload.vue

@@ -1,12 +1,20 @@
 <template>
   <base-dialog
     title="设置工作量"
+    v-bind="attrs"
     :width="useVW(500)"
     :footer="false"
     destroy-on-close
     @update:model-value="(v) => emit('update:modelValue', v)"
   >
-    <base-form ref="formRef" :rules="rules" :items="items" :model="model" :label-width="useVW(110)" :disabled="loading">
+    <base-form
+      ref="formRef"
+      :rules="rules"
+      :items="items"
+      :model="model"
+      :label-width="useVW(110)"
+      :disabled="loading || setting"
+    >
       <template #form-item-markerName>
         {{ data?.markerName }}
       </template>
@@ -21,7 +29,7 @@
 </template>
 
 <script setup lang="ts" name="SetWorkload">
-import { reactive } from 'vue'
+import { reactive, useAttrs, watch } from 'vue'
 import { ElFormItem, ElMessage } from 'element-plus'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import BaseForm from '@/components/element/BaseForm.vue'
@@ -33,20 +41,35 @@ import ConfirmButton from '@/components/common/ConfirmButton.vue'
 import type { EpFormItem, EpFormRules } from 'global-type'
 import type { ExtractApiParams, ExtractApiResponse } from '@/api/api'
 
+const attrs = useAttrs()
+
 const props = defineProps<{ data?: ExtractArrayValue<ExtractApiResponse<'getStatisticsByGroup'>> }>()
 
 const emit = defineEmits(['update:modelValue'])
 
-const { fetch: markerSetCount, loading } = useFetch('markerSetCount')
+const { fetch: getUserInfo, result: userInfo, loading } = useFetch('getUserInfo')
+
+watch([() => attrs.modelValue, () => props.data?.markerId], () => {
+  if (attrs.modelValue && props.data?.markerId) {
+    getUserInfo({ id: props.data.markerId })
+  }
+})
+
+const { fetch: markerSetCount, loading: setting } = useFetch('markerSetCount')
 
 const { formRef, elFormRef } = useForm()
 
 const model = reactive<ExtractApiParams<'markerSetCount'>>({
-  markDayCount: void 0,
-  markTotalCount: void 0,
+  markDayCount: 0,
+  markTotalCount: 0,
   userId: [],
 })
 
+watch(userInfo, () => {
+  model.markDayCount = userInfo?.value?.markDayCount || 0
+  model.markTotalCount = userInfo?.value?.markTotalCount || 0
+})
+
 const rules: EpFormRules = {
   markTotalCount: [{ required: true, message: '请填写评卷员工作量' }],
   markDayCount: [{ required: true, message: '请填写评卷员每日工作量' }],
@@ -59,12 +82,12 @@ const items: EpFormItem[] = [
   },
   {
     label: '工作量',
-    slotType: 'input',
+    slotType: 'inputNumber',
     prop: 'markTotalCount',
   },
   {
     label: '每日工作量',
-    slotType: 'input',
+    slotType: 'inputNumber',
     prop: 'markDayCount',
   },
 ]

+ 17 - 4
src/modules/monitor/training-monitoring/index.vue

@@ -10,10 +10,23 @@
     <div class="flex-1 p-base">
       <div class="radius-base p-base fill-blank">
         <div class="flex items m-b-base">
-          <el-button size="small" :disabled="!hasSelected" type="primary" @click="onAssessPass(true)">
+          <el-button
+            size="small"
+            :disabled="!hasSelected"
+            :loading="putSampleIng || putAssessIng"
+            type="primary"
+            @click="onAssessPass(true)"
+          >
             考核通过
           </el-button>
-          <el-button size="small" :disabled="!hasSelected" type="primary" plain @click="onAssessPass(false)">
+          <el-button
+            size="small"
+            :disabled="!hasSelected"
+            :loading="putSampleIng || putAssessIng"
+            type="primary"
+            plain
+            @click="onAssessPass(false)"
+          >
             考核不通过
           </el-button>
           <!-- <el-button size="small" type="primary" custom-1 @click="viewPaper(false)">查看试卷</el-button> -->
@@ -55,9 +68,9 @@ const { diffShow, model, items, onOptionInit } = useFormFilter()
 /** 培训监控列表 */
 const { fetch: getTrainingMonitor, result: trainingMonitor, loading } = useFetch('getTrainingMonitor')
 /** 培训卷审核 */
-const { fetch: putSampleMonitorPass } = useFetch('putSampleMonitorPass')
+const { fetch: putSampleMonitorPass, loading: putSampleIng } = useFetch('putSampleMonitorPass')
 /** 强制考核卷审核 */
-const { fetch: putAssessMonitorPass } = useFetch('putAssessMonitorPass')
+const { fetch: putAssessMonitorPass, loading: putAssessIng } = useFetch('putAssessMonitorPass')
 
 const { hasSelected, selectedList, onSectionChange } = useSection<TableDataType>()