刘洋 1 year ago
parent
commit
e1343bedcc

+ 2 - 2
server.config.ts

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

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

@@ -29,6 +29,7 @@ export namespace User {
     /** needRealName */
     /** needRealName */
     needRealName: boolean
     needRealName: boolean
     markerPausedLimit?: number | undefined
     markerPausedLimit?: number | undefined
+    needRealEmployer?: boolean
   }
   }
   type UserLogin = BaseDefine<
   type UserLogin = BaseDefine<
     {
     {
@@ -80,6 +81,7 @@ export namespace User {
     BaseUserInfo & {
     BaseUserInfo & {
       id?: number
       id?: number
       password: string
       password: string
+      employer?: string
     }
     }
   >
   >
 
 
@@ -105,6 +107,7 @@ export namespace User {
     start?: number
     start?: number
     /** 科目代码 */
     /** 科目代码 */
     subjectCode: string
     subjectCode: string
+    employer?: string
   }>
   }>
 
 
   /** 查询用户信息 */
   /** 查询用户信息 */

+ 6 - 2
src/modules/admin-subject/edit-main-question/index.vue

@@ -29,7 +29,7 @@
           ></confirm-button>
           ></confirm-button>
         </template>
         </template>
         <template #form-item-compare>
         <template #form-item-compare>
-          <el-select v-model="compare">
+          <el-select v-model="compare" @change="compareChange">
             <el-option value="1" label="启用"></el-option>
             <el-option value="1" label="启用"></el-option>
             <el-option value="0" label="不启用"></el-option>
             <el-option value="0" label="不启用"></el-option>
           </el-select>
           </el-select>
@@ -152,7 +152,11 @@ const model = reactive<ExtractApiParams<'addMainQuestion'>>({
   relationMainNumber: void 0,
   relationMainNumber: void 0,
   markSpeedLimit: false,
   markSpeedLimit: false,
 })
 })
-
+const compareChange = (val: string) => {
+  if (val == '0') {
+    model.relationMainNumber = void 0
+  }
+}
 const levelRangeView = computed(() => {
 const levelRangeView = computed(() => {
   return model.levelRange.map((n) => `${n * 100 || 0}%`).join(',')
   return model.levelRange.map((n) => `${n * 100 || 0}%`).join(',')
 })
 })

+ 12 - 1
src/modules/admin-user/bulk-add-user/index.vue

@@ -58,6 +58,7 @@ const initModel: ExtractApiParams<'bulkSaveUser'> = {
   prefix: '',
   prefix: '',
   role: 'MARKER',
   role: 'MARKER',
   start: 1,
   start: 1,
+  employer: '',
 }
 }
 
 
 const model = reactive<any>(initModel)
 const model = reactive<any>(initModel)
@@ -128,7 +129,7 @@ const groups: FormGroup[] = [
   },
   },
   {
   {
     groupTitle: '批量新增设置',
     groupTitle: '批量新增设置',
-    rowKeys: ['row-6', 'row-7', 'row-8', 'row-9'],
+    rowKeys: ['row-6', 'row-7', 'row-8', 'row-9', 'row-10'],
   },
   },
 ]
 ]
 
 
@@ -279,6 +280,16 @@ const items = computed<EpFormItem[]>(() => {
         placeholder: '设置用户角色',
         placeholder: '设置用户角色',
       },
       },
     }),
     }),
+    span7({
+      rowKey: 'row-9',
+      label: '单位',
+      slotType: 'input',
+      prop: 'employer',
+      slot: {
+        maxlength: 100,
+        placeholder: '设置用户单位',
+      },
+    }),
   ].filter(Boolean) as EpFormItem[]
   ].filter(Boolean) as EpFormItem[]
 })
 })
 
 

+ 23 - 31
src/modules/admin-user/edit-user/index.vue

@@ -52,6 +52,7 @@ const initModel: ExtractApiParams<'saveUserInfo'> = {
   role: 'MARKER',
   role: 'MARKER',
   loginName: '',
   loginName: '',
   name: '',
   name: '',
+  employer: '',
   password: '',
   password: '',
   enable: true,
   enable: true,
   stage: '',
   stage: '',
@@ -87,35 +88,6 @@ const { subjectList, mainQuestionList, groupList, dataModel, changeModelValue }
   'group',
   'group',
 ])
 ])
 
 
-// watch(dataModel, () => {
-//   if (model.role !== 'EXPERT' && model.role !== 'SECTION_LEADER') {
-//     model.subjectCode = dataModel.subject || ''
-//     model.mainNumber = dataModel.question
-//     model.markingGroupNumber = dataModel.group
-//   }
-//   if (model.role === 'SECTION_LEADER') {
-//     model.subjectCode = dataModel.subject || '全部'
-//   }
-// })
-// watch(
-//   () => model.role,
-//   () => {
-//     if (model.role === 'EXPERT') {
-//       model.subjectCode = '全部'
-//       model.mainNumber = '全部'
-//       model.markingGroupNumber = '全部'
-//     } else if (model.role === 'SECTION_LEADER') {
-//       model.subjectCode = ''
-//       model.mainNumber = '全部'
-//       model.markingGroupNumber = '全部'
-//     } else {
-//       model.subjectCode = ''
-//       model.mainNumber = void 0
-//       model.markingGroupNumber = void 0
-//     }
-//   }
-// )
-
 const resetModel = (r: any, result?: any) => {
 const resetModel = (r: any, result?: any) => {
   let role = r || model.role
   let role = r || model.role
   if (role === 'EXPERT') {
   if (role === 'EXPERT') {
@@ -226,6 +198,15 @@ const items = computed<EpFormItem[]>(() => {
         placeholder: '设置用户姓名',
         placeholder: '设置用户姓名',
       },
       },
     },
     },
+    {
+      label: '单位',
+      slotType: 'input',
+      prop: 'employer',
+      slot: {
+        maxlength: 100,
+        placeholder: '设置用户单位',
+      },
+    },
     model.role === 'MARKER'
     model.role === 'MARKER'
       ? {
       ? {
           label: '阶段',
           label: '阶段',
@@ -266,7 +247,7 @@ const { fetch: getUserInfo } = useFetch('getUserInfo')
 
 
 if (isEdit) {
 if (isEdit) {
   getUserInfo({ id: +props.id }).then((result) => {
   getUserInfo({ id: +props.id }).then((result) => {
-    const { subjectCode, markingGroupNumber, mainNumber, role, loginName, name, enable, id, stage } = result
+    const { subjectCode, markingGroupNumber, mainNumber, role, loginName, name, employer, enable, id, stage } = result
     changeModelValue('subject')(subjectCode)
     changeModelValue('subject')(subjectCode)
     nextTick(() => {
     nextTick(() => {
       changeModelValue('question')(mainNumber)
       changeModelValue('question')(mainNumber)
@@ -274,7 +255,18 @@ if (isEdit) {
       changeModelValue('group')(markingGroupNumber)
       changeModelValue('group')(markingGroupNumber)
     })
     })
 
 
-    Object.assign(model, { subjectCode, markingGroupNumber, mainNumber, role, loginName, name, enable, id, stage })
+    Object.assign(model, {
+      subjectCode,
+      markingGroupNumber,
+      mainNumber,
+      role,
+      loginName,
+      name,
+      employer,
+      enable,
+      id,
+      stage,
+    })
     resetModel(role, result)
     resetModel(role, result)
   })
   })
 }
 }

+ 4 - 1
src/modules/analysis/personnel-statistics/index.vue

@@ -249,7 +249,10 @@ onOptionInit(onSearch)
 const { fetch: exportStatisticsByGroup, loading: exporting } = useFetch('exportStatisticsByGroup', 'get')
 const { fetch: exportStatisticsByGroup, loading: exporting } = useFetch('exportStatisticsByGroup', 'get')
 /**导出 */
 /**导出 */
 function onExport() {
 function onExport() {
-  let params: any = omit(fetchModel.value, 'expand')
+  let params: any = {
+    ...omit(fetchModel.value, 'expand', 'markingGroupNumber'),
+    markingGroupNumbers: fetchModel.value.markingGroupNumber.filter(Boolean),
+  }
   if (fetchModel.value.curDay == 'notIncludeCurDay') {
   if (fetchModel.value.curDay == 'notIncludeCurDay') {
     params.curDay = ''
     params.curDay = ''
     params.includeCurDay = false
     params.includeCurDay = false

+ 25 - 13
src/modules/bootstrap/init-name/index.vue

@@ -1,7 +1,11 @@
 <template>
 <template>
   <div class="grid full init-name-view">
   <div class="grid full init-name-view">
     <div class="init-name-modal">
     <div class="init-name-modal">
-      <div class="p-l-large modal-header">首次登录,请填写姓名{{ needEmployer ? '和单位' : '' }}</div>
+      <div class="p-l-large modal-header">
+        首次登录,请填写{{
+          `${needRealName ? '姓名' : ''}${needRealName && needEmployer ? '和' : ''}${needEmployer ? '单位' : ''}`
+        }}
+      </div>
       <div class="login-modal-content">
       <div class="login-modal-content">
         <base-form ref="formRef" :rules="rules" :model="model" :items="items" size="large"></base-form>
         <base-form ref="formRef" :rules="rules" :model="model" :items="items" size="large"></base-form>
         <div class="m-t-super-large">
         <div class="m-t-super-large">
@@ -33,16 +37,23 @@ const model = reactive<{ name: string; employer: string }>({ name: '', employer:
 
 
 const { formRef, elFormRef } = useForm()
 const { formRef, elFormRef } = useForm()
 
 
-const rules: EpFormRules = {
-  name: [
-    { required: true, message: '请输入你的姓名' },
-    { type: 'string', max: 50, message: '用户姓名限制50字以内' },
-  ],
-}
-
-const items: any = computed(() => {
-  let options = [
-    {
+const rules = computed(() => {
+  let obj: any = {}
+  if (needRealName.value) {
+    obj.name = [
+      { required: true, message: '请输入你的姓名' },
+      { type: 'string', max: 50, message: '用户姓名限制50字以内' },
+    ]
+  }
+  return obj
+})
+const needRealName = computed(() => {
+  return mainStore.loginInfo?.needRealName
+})
+const items = computed<any>(() => {
+  let options = []
+  if (needRealName.value) {
+    options.push({
       prop: 'name',
       prop: 'name',
       slotType: 'input',
       slotType: 'input',
       label: '姓名',
       label: '姓名',
@@ -55,8 +66,8 @@ const items: any = computed(() => {
           }
           }
         },
         },
       },
       },
-    },
-  ]
+    })
+  }
   if (needEmployer.value) {
   if (needEmployer.value) {
     options.push({
     options.push({
       prop: 'employer',
       prop: 'employer',
@@ -64,6 +75,7 @@ const items: any = computed(() => {
       label: '单位',
       label: '单位',
       labelWidth: '60px',
       labelWidth: '60px',
       slot: {
       slot: {
+        maxlength: 100,
         placeholder: '请输入你的单位全称',
         placeholder: '请输入你的单位全称',
         onKeydown(event: any) {
         onKeydown(event: any) {
           if (event.keyCode == 13) {
           if (event.keyCode == 13) {

+ 6 - 5
src/modules/bootstrap/login/index.vue

@@ -140,11 +140,12 @@ function loginSuccess(loginInfo: ExtractApiResponse<'userLogin'>) {
       if (!loginInfo.needRealName) {
       if (!loginInfo.needRealName) {
         mainStore.getMyUserInfo()
         mainStore.getMyUserInfo()
       }
       }
-      let next = loginInfo.needRealName
-        ? { name: 'InitUserName' }
-        : loginInfo.role === 'MARKER'
-        ? { name: 'MarkingMark' }
-        : { path: path }
+      let next =
+        loginInfo.needRealName || loginInfo.needRealEmployer
+          ? { name: 'InitUserName' }
+          : loginInfo.role === 'MARKER'
+          ? { name: 'MarkingMark' }
+          : { path: path }
       // : { path: renderMenus[0].path || '/' }
       // : { path: renderMenus[0].path || '/' }
 
 
       replace(next)
       replace(next)