1、员工标签作废后的编辑去掉

2、员工管理-员工信息-服务指令:增加已选择服务指令可查看详情功能
3、调整员工标签-作废提示语
This commit is contained in:
1378012178@qq.com 2026-03-18 09:08:36 +08:00
parent 54b36c45a7
commit 1b1a8babde
6 changed files with 43 additions and 22 deletions

View File

@ -26,6 +26,7 @@ enum Api {
qyList = '/nuBaseInfo/nuBaseInfo/qyPemissionList', qyList = '/nuBaseInfo/nuBaseInfo/qyPemissionList',
fwzlList = '/services/serviceDirective/list', fwzlList = '/services/serviceDirective/list',
fwzlQueryById = '/services/serviceDirective/queryById',
changePassword = '/sys/user/changePassword', changePassword = '/sys/user/changePassword',
frozenBatch = '/sys/user/frozenBatch', frozenBatch = '/sys/user/frozenBatch',
@ -138,6 +139,8 @@ export const saveDataRule = (params) => defHttp.post({ url: Api.queryDataRule, p
export const fwzlList = (params) => defHttp.get({ url: Api.fwzlList, params }); export const fwzlList = (params) => defHttp.get({ url: Api.fwzlList, params });
export const fwzlQueryById = (params) => defHttp.get({ url: Api.fwzlQueryById, params });
/** /**
* *
* @param params * @param params

View File

@ -213,17 +213,17 @@
<a-form-item label="健康证" v-bind="validateInfos.healthCertificatePositive" <a-form-item label="健康证" v-bind="validateInfos.healthCertificatePositive"
id="BizEmployeesInfoForm-healthCertificatePositive" id="BizEmployeesInfoForm-healthCertificatePositive"
name="healthCertificatePositive"> name="healthCertificatePositive">
<j-image-upload :fileMax="1" <j-image-upload :fileMax="1" :bizPath="`employeesZzxx`"
:bizPath="`employeesZzxx`"
:value="opeMediaAddress + formData.healthCertificatePositive" :value="opeMediaAddress + formData.healthCertificatePositive"
disabled></j-image-upload> disabled></j-image-upload>
<!-- <span v-else>未上传</span> --> <!-- <span v-else>未上传</span> -->
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" v-else> <a-col :span="24" v-else>
<div style="display: flex; flex-direction: column; align-items: center; width: 100%;"> <div
<img :src="opeMediaAddress + defaultPrePic" style="height: 100px; margin-bottom: 8px;" /> style="display: flex; flex-direction: column; align-items: center; width: 100%;">
<span style="font-size: 14px; color: #999;">暂未上传</span> <img :src="opeMediaAddress + defaultPrePic"
style="height: 100px; margin-bottom: 8px;" />
</div> </div>
</a-col> </a-col>
<!-- <a-col :span="12"> <!-- <a-col :span="12">
@ -243,8 +243,7 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="银行卡正面" v-bind="validateInfos.bankPositive" <a-form-item label="银行卡正面" v-bind="validateInfos.bankPositive"
id="BizEmployeesInfoForm-bankPositive" name="bankPositive"> id="BizEmployeesInfoForm-bankPositive" name="bankPositive">
<j-image-upload :fileMax="1" <j-image-upload :fileMax="1" :bizPath="`employeesZzxx`"
:bizPath="`employeesZzxx`"
:value="opeMediaAddress + (formData.bankPositive || defaultPrePic)" :value="opeMediaAddress + (formData.bankPositive || defaultPrePic)"
disabled></j-image-upload> disabled></j-image-upload>
<!-- <span v-else>未上传</span> --> <!-- <span v-else>未上传</span> -->
@ -253,8 +252,7 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="银行卡反面" v-bind="validateInfos.bankNegative" <a-form-item label="银行卡反面" v-bind="validateInfos.bankNegative"
id="BizEmployeesInfoForm-bankNegative" name="bankNegative"> id="BizEmployeesInfoForm-bankNegative" name="bankNegative">
<j-image-upload :fileMax="1" <j-image-upload :fileMax="1" :bizPath="`employeesZzxx`"
:bizPath="`employeesZzxx`"
:value="opeMediaAddress + (formData.bankNegative || defaultPrePic)" :value="opeMediaAddress + (formData.bankNegative || defaultPrePic)"
disabled></j-image-upload> disabled></j-image-upload>
<!-- <span v-else>未上传</span> --> <!-- <span v-else>未上传</span> -->
@ -268,8 +266,7 @@
<a-form-item label="资质证" v-bind="validateInfos.qualification" <a-form-item label="资质证" v-bind="validateInfos.qualification"
id="BizEmployeesInfoForm-qualification" name="qualification" id="BizEmployeesInfoForm-qualification" name="qualification"
:labelCol="labelCol3"> :labelCol="labelCol3">
<j-image-upload :fileMax="1" <j-image-upload :fileMax="1" :bizPath="`employeesZzxx`"
:bizPath="`employeesZzxx`"
:value="opeMediaAddress + (formData.qualification || defaultPrePic)" :value="opeMediaAddress + (formData.qualification || defaultPrePic)"
disabled></j-image-upload> disabled></j-image-upload>
<!-- <span v-else>未上传</span> --> <!-- <span v-else>未上传</span> -->
@ -283,8 +280,7 @@
<a-form-item label="无犯罪证明" v-bind="validateInfos.noCrimeCertificate" <a-form-item label="无犯罪证明" v-bind="validateInfos.noCrimeCertificate"
id="BizEmployeesInfoForm-noCrimeCertificate" name="noCrimeCertificate" id="BizEmployeesInfoForm-noCrimeCertificate" name="noCrimeCertificate"
:labelCol="labelCol3"> :labelCol="labelCol3">
<j-image-upload :fileMax="1" <j-image-upload :fileMax="1" :bizPath="`employeesZzxx`"
:bizPath="`employeesZzxx`"
:value="opeMediaAddress + (formData.noCrimeCertificate || defaultPrePic)" :value="opeMediaAddress + (formData.noCrimeCertificate || defaultPrePic)"
disabled></j-image-upload> disabled></j-image-upload>
<!-- <span v-else>未上传</span> --> <!-- <span v-else>未上传</span> -->

View File

@ -30,6 +30,7 @@ import { ref, reactive } from 'vue';
const tagsDetailData = ref<any[]>([]); const tagsDetailData = ref<any[]>([]);
function showDetail(record) { function showDetail(record) {
console.log("🌊 ~ showDetail ~ record:", record)
tagsDetailData.value = [] tagsDetailData.value = []
tagsDetailData.value = record tagsDetailData.value = record
} }

View File

@ -48,7 +48,8 @@
<a-col :lg="5"> <a-col :lg="5">
<a-form-item name="directiveName"> <a-form-item name="directiveName">
<template #label><span title="服务指令">服务指令</span></template> <template #label><span title="服务指令">服务指令</span></template>
<JInput v-model:value="fuzlQueryParam.directiveName" placeholder="请输入服务指令" allowClear @change="fwzlReload()"/> <JInput v-model:value="fuzlQueryParam.directiveName" placeholder="请输入服务指令" allowClear
@change="fwzlReload()" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="2"> <a-col :span="2">
@ -92,8 +93,9 @@
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<a @click="handleYichu(record)">移除</a> <a @click="handleYichu(record)">移除</a>
<a-divider type="vertical" v-if="record.type == 'bq'" /> <a-divider type="vertical" />
<a @click="handleEmlDetail(record)" v-if="record.type == 'bq'">详情</a> <a @click="handleEmlDetail(record)" v-if="record.type == 'bq'">详情</a>
<a @click="handleYxFwzlDetail(record)" v-if="record.type == 'zl'">详情</a>
</template> </template>
</template> </template>
</a-table> </a-table>
@ -119,7 +121,7 @@ import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage' import { useListPage } from '/@/hooks/system/useListPage'
import { serviceTagcolumns, employeesTagcolumns, fwzlColumns } from '../BizEmployeesInfo.data'; import { serviceTagcolumns, employeesTagcolumns, fwzlColumns } from '../BizEmployeesInfo.data';
import { getEmployeesList, queryTagsById, checkTags, removeTags, getEmployeesServiceTags, fwzlList, addBatch } from '../BizEmployeesInfo.api'; import { getEmployeesList, queryTagsById, checkTags, removeTags, getEmployeesServiceTags, fwzlList, addBatch, fwzlQueryById } from '../BizEmployeesInfo.api';
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import EmpServiceTagDetailForm from './EmpServiceTagDetailForm.vue' import EmpServiceTagDetailForm from './EmpServiceTagDetailForm.vue'
@ -259,11 +261,29 @@ function handleDetail(record) {
}) })
} }
/**
* 已选服务指令详情
* @param record
*/
function handleYxFwzlDetail(record) {
showTagDetail.value = true
rowA.value = 18;
rowB.value = 6;
tagsDetailData.value = []
visible.value = true
fwzlQueryById({ id: record.employeesTagsId }).then(item => {
console.log("🌊 ~ handleYxFwzlDetail ~ item:", item)
tagsDetailData.value.push(item);
nextTick(() => {
registerForm.value.showDetail(tagsDetailData.value)
});
})
}
/** /**
* 服务指令列表详情 * 服务指令列表详情
*/ */
function handleFwzlDetail(record) { function handleFwzlDetail(record) {
console.log("🌊 ~ handleFwzlDetail ~ record:", record)
showTagDetail.value = true showTagDetail.value = true
rowA.value = 18; rowA.value = 18;
rowB.value = 6; rowB.value = 6;

View File

@ -25,7 +25,7 @@
<JInput v-model:value="queryParam.name" placeholder="请输入长者姓名" /> <JInput v-model:value="queryParam.name" placeholder="请输入长者姓名" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-col :span="6" :push="6">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons"> <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6"> <a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button> <a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>

View File

@ -178,7 +178,7 @@ function handleIzEnabled(record, izEnabled_) {
function handleCancellation(record) { function handleCancellation(record) {
createConfirm({ createConfirm({
title: '作废', title: '作废',
content: `是否确认作废【` + record.tagName + `<br/>作废后所有已分配的此员工标签将被移除,<br/>且相关服务指令无法继续执行,请谨慎操作!`, content: `是否确认作废【` + record.tagName + `标签?<br/>一旦作废:<br/>所有员工的` + record.tagName + `标签将被即刻清除;<br/>正在进行的盘点指令将全部失效。<br/>确认后无法恢复,请确认是否继续?`,
iconType: 'warning', iconType: 'warning',
onOk: () => { onOk: () => {
record.izEnabled = 'N' record.izEnabled = 'N'
@ -214,6 +214,7 @@ function getTableAction(record) {
{ {
label: '编辑', label: '编辑',
onClick: tagEdit.bind(null, record), onClick: tagEdit.bind(null, record),
ifShow: record.izEnabled == 'Y',
}, },
{ {
label: '详情', label: '详情',