作者 xiaoqiu

员工状态置顶

@@ -8,4 +8,4 @@ VITE_APP_ENV = 'development' @@ -8,4 +8,4 @@ VITE_APP_ENV = 'development'
8 VITE_APP_BASE_API = '/dev-api' 8 VITE_APP_BASE_API = '/dev-api'
9 9
10 # 开打新的tab的url前缀 10 # 开打新的tab的url前缀
11 -VITE_APP_TAB_URL_PREFIX = 'http://bxhd.crgx.net' 11 +VITE_APP_TAB_URL_PREFIX = 'http://192.168.2.68:6512'
@@ -18,6 +18,10 @@ @@ -18,6 +18,10 @@
18 /> 18 />
19 19
20 <div class="right-menu"> 20 <div class="right-menu">
  21 + <el-radio-group v-model="state.user.jobStatus" @change="updataState">
  22 + <el-radio label="0">在岗</el-radio>
  23 + <el-radio label="1">离岗</el-radio>
  24 + </el-radio-group>
21 <template v-if="appStore.device !== 'mobile'"> 25 <template v-if="appStore.device !== 'mobile'">
22 <header-search id="header-search" class="right-menu-item" /> 26 <header-search id="header-search" class="right-menu-item" />
23 27
@@ -54,6 +58,7 @@ @@ -54,6 +58,7 @@
54 58
55 <script setup> 59 <script setup>
56 import { ElMessageBox } from "element-plus"; 60 import { ElMessageBox } from "element-plus";
  61 +import { getUserProfile, updateUserProfile } from "@/api/system/user";
57 import Breadcrumb from "@/components/Breadcrumb"; 62 import Breadcrumb from "@/components/Breadcrumb";
58 import TopNav from "@/components/TopNav"; 63 import TopNav from "@/components/TopNav";
59 import Hamburger from "@/components/Hamburger"; 64 import Hamburger from "@/components/Hamburger";
@@ -63,10 +68,32 @@ import useAppStore from "@/store/modules/app"; @@ -63,10 +68,32 @@ import useAppStore from "@/store/modules/app";
63 import useUserStore from "@/store/modules/user"; 68 import useUserStore from "@/store/modules/user";
64 import useSettingsStore from "@/store/modules/settings"; 69 import useSettingsStore from "@/store/modules/settings";
65 70
  71 +const { proxy } = getCurrentInstance();
66 const appStore = useAppStore(); 72 const appStore = useAppStore();
67 const userStore = useUserStore(); 73 const userStore = useUserStore();
68 const settingsStore = useSettingsStore(); 74 const settingsStore = useSettingsStore();
69 75
  76 +const state = reactive({
  77 + user: {},
  78 + roleGroup: {},
  79 + postGroup: {},
  80 +});
  81 +
  82 +function getUser() {
  83 + getUserProfile().then((response) => {
  84 + state.user = response.data;
  85 + state.roleGroup = response.roleGroup;
  86 + state.postGroup = response.postGroup;
  87 + });
  88 +}
  89 +
  90 +getUser();
  91 +
  92 +const updataState = () => {
  93 + updateUserProfile(state.user).then((response) => {
  94 + proxy.$modal.msgSuccess("修改成功");
  95 + });
  96 +};
70 function toggleSideBar() { 97 function toggleSideBar() {
71 appStore.toggleSideBar(); 98 appStore.toggleSideBar();
72 } 99 }
@@ -59,6 +59,11 @@ @@ -59,6 +59,11 @@
59 <span>{{ row.quantity < 0 ? 0 : row.quantity }}</span> 59 <span>{{ row.quantity < 0 ? 0 : row.quantity }}</span>
60 </template> 60 </template>
61 </el-table-column> 61 </el-table-column>
  62 + <el-table-column label="剩余分配数" align="center">
  63 + <template #default="{ row }">
  64 + <span>{{ surplusNum(row) }}</span>
  65 + </template>
  66 + </el-table-column>
62 <el-table-column 67 <el-table-column
63 label="周期分配订单" 68 label="周期分配订单"
64 width="240" 69 width="240"
@@ -139,6 +144,7 @@ import { @@ -139,6 +144,7 @@ import {
139 import { getCount } from "@/api/policy/index"; 144 import { getCount } from "@/api/policy/index";
140 import { listDept } from "@/api/system/dept"; 145 import { listDept } from "@/api/system/dept";
141 import { checkRole } from "@/utils/permission"; // 权限判断函数 146 import { checkRole } from "@/utils/permission"; // 权限判断函数
  147 +import { computed } from "vue";
142 const { proxy } = getCurrentInstance(); 148 const { proxy } = getCurrentInstance();
143 const loading = ref(false); 149 const loading = ref(false);
144 const multiple = ref(true); 150 const multiple = ref(true);
@@ -161,9 +167,20 @@ const rules = { @@ -161,9 +167,20 @@ const rules = {
161 }; 167 };
162 const rulesList = ref([]); 168 const rulesList = ref([]);
163 169
  170 +// 计算剩余分配数
  171 +const surplusNum = computed(() => (row) => {
  172 + if (row.quantity < 0) {
  173 + return row.num + row.quantity;
  174 + } else {
  175 + return row.num - row.quantity;
  176 + }
  177 +});
  178 +
164 onMounted(() => { 179 onMounted(() => {
165 getList(); 180 getList();
  181 + if (checkRole(["admin"])) {
166 getDeptList(); 182 getDeptList();
  183 + }
167 getNumber(); 184 getNumber();
168 }); 185 });
169 186