Browse Source

集团账户

Xiao_123 3 months ago
parent
commit
1f47020dd7

+ 1 - 0
src/components/CtFilter/index.vue

@@ -21,6 +21,7 @@
 					<div class="pa-3">
 						<v-btn color="primary" class="elevation-5 half-button" @click="search">查 询</v-btn>
             <v-btn color="primary" variant="outlined" v-if="showResetBtn" class="elevation-5 half-button ml-3" @click="reset">重 置</v-btn>
+            <slot name="appendBtn"></slot>
 					</div>
 				</template>
 				<slot name="btn"></slot>

+ 1 - 1
src/components/CtTable/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div v-if="isTools" class="text-end mb-3">
-      <v-btn class="ml-2" color="primary" @click="emit('add')">
+      <v-btn class="ml-2 elevation-5" color="primary" @click="emit('add')">
         <v-icon left>mdi-plus</v-icon>
         {{ t('common.add') }} 
         <!-- 新增 -->

+ 1 - 1
src/components/FormUI/autocomplete/index.vue

@@ -20,7 +20,7 @@
       :hide-no-data="item.hideNoData"
       :no-data-text="item.noDataText || 'No data available'"
       :hide-selected="item.hideSelected"
-      :hide-details="item.hireDetails || false"
+      :hide-details="item.hideDetails || false"
       @update:search="v => item.search ? debouncedCallbackSearch(v) : null"
       @update:modelValue="modelValueUpDate"
     ></v-autocomplete>

+ 2 - 2
src/views/recruit/enterprise/interviewManagement/index.vue

@@ -79,8 +79,8 @@ const query = ref({
 })
 const positionItems = ref([])
 
-const jobItem = ref({ width: 300, items: positionItems, clearable: true, hireDetails: true, label: '职位' })
-const statusItem = ref({ width: 300, items: statusList, clearable: true, hireDetails: true, label: '面试状态' })
+const jobItem = ref({ width: 300, items: positionItems, clearable: true, hideDetails: true, label: '职位' })
+const statusItem = ref({ width: 300, items: statusList, clearable: true, hideDetails: true, label: '面试状态' })
 
 // 获取有面试的日期列表
 const markers = ref([])

+ 1 - 1
src/views/recruit/enterprise/statistics/overallAnalysis.vue

@@ -71,7 +71,7 @@ const selectItems = ref({
   itemText: 'name',
   itemValue: 'id',
   clearable: true,
-  hireDetails: true,
+  hideDetails: true,
   items: []
 })
 

+ 12 - 25
src/views/recruit/enterprise/systemManagement/groupAccount/index.vue

@@ -27,10 +27,10 @@
 
       <v-divider vertical></v-divider>
 
-      <v-col class="ml-10" cols="9">
+      <v-col class="pl-3" cols="10">
         <div class="d-flex justify-space-between px-3">
           <TextInput v-model="query.name" :item="textItem" @change="getUserList"></TextInput>
-          <v-btn prepend-icon="mdi-plus" color="primary" @click="handleAdd(0)">{{ $t('enterprise.userManagement.inviteNewColleagues') }}</v-btn>
+          <v-btn prepend-icon="mdi-plus" class="elevation-5" color="primary" @click="handleAdd(0)">{{ $t('enterprise.userManagement.inviteNewColleagues') }}</v-btn>
         </div>
         <CtTable
           :items="tableData"
@@ -96,7 +96,7 @@
 
 <script setup>
 defineOptions({ name: 'group-account'})
-import { ref, computed } from 'vue'
+import { ref } from 'vue'
 import { useI18n } from '@/hooks/web/useI18n'
 import { timesTampChange } from '@/utils/date'
 import { getEnterpriseTree } from '@/api/recruit/enterprise/system/group'
@@ -183,8 +183,6 @@ const roleForm = ref({
   ]
 })
 
-
-
 // 获取用户列表
 const getUserList = async () => {
   loading.value = true
@@ -199,12 +197,15 @@ const getUserList = async () => {
 
 // 获取树形列表
 const getTreeData = async () => {
-  const data = await getEnterpriseTree()
-  if (!data) return
-  treeData.value = [data]
-  query.value.enterpriseId = data.id
-  // 获取用户列表
-  getUserList()
+  treeData.value = []
+  try {
+    const data = await getEnterpriseTree()
+    if (!data) return
+    treeData.value[0] = data
+    query.value.enterpriseId = data.id
+    // 获取用户列表
+    getUserList()
+  } catch {}
 }
 getTreeData()
 
@@ -254,14 +255,6 @@ const formItems = ref({
       key: 'avatar',
       value: null
     },
-    // {
-    //   type: 'ifRadio',
-    //   key: 'sex',
-    //   value: '',
-    //   label: '性别 *',
-    //   width: 90,
-    //   items: []
-    // },
     {
       type: 'text',
       key: 'name',
@@ -302,11 +295,6 @@ const formItems = ref({
     }
   ]
 })
-// getDict('menduner_sex').then(({ data }) => {
-//   data = data?.length && data || []
-//   formItems.value.options.find(e => e.key === 'sex').items = data
-// })
-
 
 // 编辑员工信息
 const showEdit = ref(false)
@@ -400,7 +388,6 @@ const handleSubmit = async () => {
     id: editId.value
   } 
   formItems.value.options.forEach(e => { obj[e.key] = e.value })
-  // if (!obj.sex || obj.sex === '0') return Snackbar.warning('请选择员工性别')
   await updateGroupUserAccount(obj)
   showEdit.value = false
   editId.value = null

+ 0 - 6
src/views/recruit/enterprise/systemManagement/roleManagement/components/DataPermission.vue

@@ -112,7 +112,6 @@ const handleExpand = (val) => {
   }
 }
 
-
 const getTypeDict = async () => {
   const { data } = await getDict('mde_data_scope', null)
   items.value = data
@@ -120,7 +119,6 @@ const getTypeDict = async () => {
 }
 
 const init = async () => {
-
   // 重置
   deptExpand.value = true
   checkStrictly.value = true
@@ -148,10 +146,6 @@ const handleChangeSelect = async () => {
     }
   }
 }
-
-
-
-
 getTypeDict()
 
 const submit = () => {

+ 59 - 55
src/views/recruit/enterprise/systemManagement/roleManagement/index.vue

@@ -1,16 +1,15 @@
 <template>
-  <v-card class="pa-5 card-box">
-    <div class="d-flex justify-space-between">
-      <div class="d-flex mb-3">
-        <CtTextField class="mr-3" v-model="query.name" v-bind="nameItem"></CtTextField>
-        <CtTextField class="mr-3" v-model="query.code" v-bind="codeItem"></CtTextField>
-        <Autocomplete v-model="query.status" :item="statusItem"></Autocomplete>
-        <v-btn color="primary" class="half-button ml-3" @click="handleSearch">查 询</v-btn>
-        <v-btn class="half-button mx-3" variant="outlined" color="primary" @click="handleReset">重 置</v-btn>
-      </div>
-    </div>
+  <CtFilter :items="formItems" @reset="handleReset" @search="handleSearch">
+    <template #appendBtn>
+      <v-btn class="ml-3 elevation-5" color="primary" @click="handleAdd">
+        <v-icon left>mdi-plus</v-icon>
+        {{ t('common.add') }} 
+      </v-btn>
+    </template>
+  </CtFilter>
+
+  <v-card class="pa-5 card-box mt-3">
     <CtTable
-      class="mt-3"
       :items="items"
       :headers="headers"
       :loading="loading"
@@ -18,7 +17,7 @@
       :total="total"
       :page-info="pageInfo"
       itemKey="id"
-      @add="handleAdd"
+      :isTools="false"
       @pageHandleChange="handleChangePage"
     >
       <template #status="{ item }">
@@ -84,29 +83,40 @@ const dataItem = ref(null)
 const loadingData = ref(false)
 const dataPermissionRef = ref()
 
-const nameItem = ref({
-  width: 300,
-  clearable: true,
-  hireDetails: true,
-  label: '角色名称',
-  variant: 'outlined',
-  density: 'compact',
-  color: 'primary',
-  placeholder: '请输入角色名称'
+// 检索框
+const formItems = ref({
+  options: [
+		{
+      type: 'text',
+      key: 'name',
+      value: '',
+      label: '角色名称',
+			clearable: true,
+			hideDetails: true,
+			width: 200
+    },
+		{
+      type: 'text',
+      key: 'code',
+      value: '',
+      label: '角色标识',
+			clearable: true,
+			hideDetails: true,
+			width: 200
+    },
+    {
+      type: 'autocomplete',
+      key: 'status',
+      value: null,
+      label: '状态',
+      clearable: true,
+			hideDetails: true,
+      items: [],
+      width: 200
+    }
+  ]
 })
 
-const codeItem = ref({
-  width: 300,
-  clearable: true,
-  hireDetails: true,
-  label: '角色标识',
-  variant: 'outlined',
-  density: 'compact',
-  color: 'primary',
-  placeholder: '请输入角色标识'
-})
-const statusItem = ref({ width: 300, items: [], clearable: true, hireDetails: true, label: '状态', placeholder: '请选择状态' })
-
 const query = ref({
   name: null,
   status: null,
@@ -118,19 +128,19 @@ const pageInfo = ref({
 })
 
 const headers = [
-  { title: '角色编号', key: 'id', align: 'left' },
-  { title: '角色名称', key: 'name' },
-  { title: '角色标识', key: 'code' },
-  { title: '显示顺序', key: 'sort', align: 'center' },
-  { title: '备注', key: 'remark' },
-  { title: '状态', key: 'status', align: 'center' },
-  { title: '创建时间', key: 'createTime', value: (e) => formatDate(e.createTime, 'YYYY-MM-DD HH:mm:ss') },
-  { title: t('common.actions'), key: 'actions' }
+  { title: '角色编号', key: 'id', align: 'left', sortable: false },
+  { title: '角色名称', key: 'name', sortable: false },
+  { title: '角色标识', key: 'code', sortable: false },
+  { title: '显示顺序', key: 'sort', align: 'center', sortable: false },
+  { title: '备注', key: 'remark', sortable: false },
+  { title: '状态', key: 'status', align: 'center', sortable: false },
+  { title: '创建时间', key: 'createTime', value: (e) => formatDate(e.createTime, 'YYYY-MM-DD HH:mm:ss'), sortable: false },
+  { title: t('common.actions'), key: 'actions', sortable: false }
 ]
 // 字典
 const getStatusDict = async () => {
   const { data } = await getDict('menduner_status', null)
-  statusItem.value.items = data || []
+  formItems.value.options.find(e => e.key === 'status').items = data || []
   getPage()
 }
 // 列表
@@ -139,7 +149,7 @@ const getPage = async () => {
   try {
     const res = await getRolePage({ ...pageInfo.value, ...query.value })
     items.value = res.list.map(e => {
-      e.statusName = statusItem.value.items.find(_e => _e.value === e.status)?.label ?? ''
+      e.statusName = formItems.value.options.find(e => e.key === 'status').items.find(_e => _e.value === e.status)?.label ?? ''
       return e
     })
     total.value = res.total
@@ -148,18 +158,16 @@ const getPage = async () => {
   }
 }
 // 检索
-const handleSearch = () => {
+const handleSearch = (obj) => {
   pageInfo.value.pageNo = 1
+  query.value = obj
   getPage()
 }
 // 重置
-const handleReset = () => {
-  query.value = {
-    name: null,
-    status: null,
-    code: null
-  }
-  handleSearch()
+const handleReset = (obj) => {
+  pageInfo.value.pageNo = 1
+  query.value = obj
+  getPage()
 }
 // 新增
 const handleAdd = () => {
@@ -234,7 +242,3 @@ const handleSubmitData = async () => {
 getStatusDict()
 
 </script>
-
-<style scoped lang="scss">
-
-</style>

+ 1 - 1
src/views/recruit/personal/PersonalCenter/resume/blockEnt/index.vue

@@ -91,7 +91,7 @@ const item = ref({
   label: '请输入企业名称搜索',
   outlined: true,
   clearable: true,
-  hireDetails: true,
+  hideDetails: true,
   itemText: 'value',
   itemValue: 'key',
   width: '400',