This commit is contained in:
123 2025-05-20 18:58:14 +08:00
parent ad7d94e61d
commit 57d48a518c

View File

@ -78,7 +78,10 @@
<el-input v-model="form.sealName" placeholder="请输入公章名称" /> <el-input v-model="form.sealName" placeholder="请输入公章名称" />
</el-form-item> </el-form-item>
<el-form-item label="公章管理员" prop="sealAdminId"> <el-form-item label="公章管理员" prop="sealAdminId">
<el-input v-model="form.sealAdminId" placeholder="请输入公章管理员" /> <el-button type="primary" icon="Plus" circle @click="openUserSelectCopy" />
<el-tag v-for="user in selectCopyUserList" :key="user.userId" closable style="margin: 2px" @close="handleCopyCloseTag(user)">
{{ user.nickName }}
</el-tag>
</el-form-item> </el-form-item>
<el-form-item label="公章类型" prop="sealType"> <el-form-item label="公章类型" prop="sealType">
<el-select v-model="form.sealType" placeholder="公章类型" clearable> <el-select v-model="form.sealType" placeholder="公章类型" clearable>
@ -104,7 +107,8 @@
<script setup name="MaterialSeal" lang="ts"> <script setup name="MaterialSeal" lang="ts">
import { listMaterialSeal, getMaterialSeal, delMaterialSeal, addMaterialSeal, updateMaterialSeal , changeSealStatus } from '@/api/operate/materialSeal'; import { listMaterialSeal, getMaterialSeal, delMaterialSeal, addMaterialSeal, updateMaterialSeal , changeSealStatus } from '@/api/operate/materialSeal';
import { MaterialSealVO, MaterialSealQuery, MaterialSealForm } from '@/api/operate/materialSeal/types'; import { MaterialSealVO, MaterialSealQuery, MaterialSealForm } from '@/api/operate/materialSeal/types';
import UserSelect from '@/components/UserSelect';
import { UserVO } from '@/api/system/user/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const materialSealList = ref<MaterialSealVO[]>([]); const materialSealList = ref<MaterialSealVO[]>([]);
@ -116,6 +120,12 @@ const single = ref(true);
const multiple = ref(true); const multiple = ref(true);
const total = ref(0); const total = ref(0);
//
const selectCopyUserList = ref<UserVO[]>([]);
//id
const selectCopyUserIds = ref<string>(undefined);
const userSelectCopyRef = ref<InstanceType<typeof UserSelect>>();
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const materialSealFormRef = ref<ElFormInstance>(); const materialSealFormRef = ref<ElFormInstance>();
const { opr_seal_type } = toRefs<any>(proxy?.useDict('opr_seal_type')); const { opr_seal_type } = toRefs<any>(proxy?.useDict('opr_seal_type'));
@ -255,6 +265,26 @@ const handleExport = () => {
}, `materialSeal_${new Date().getTime()}.xlsx`) }, `materialSeal_${new Date().getTime()}.xlsx`)
} }
//
const openUserSelectCopy = () => {
userSelectCopyRef.value.open();
};
//
const userSelectCopyCallBack = (data: UserVO[]) => {
if (data && data.length > 0) {
selectCopyUserList.value = data;
selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(',');
}
};
//
const handleCopyCloseTag = (user: UserVO) => {
const userId = user.userId;
// 使split
const index = selectCopyUserList.value.findIndex((item) => item.userId === userId);
selectCopyUserList.value.splice(index, 1);
selectCopyUserIds.value = selectCopyUserList.value.map((item) => item.userId).join(',');
};
onMounted(() => { onMounted(() => {
getList(); getList();
}); });