|
@@ -61,6 +61,7 @@
|
|
|
<el-checkbox label="非本院师生" value="external" />
|
|
|
</el-checkbox-group>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="设备标签" prop="condition.equipment">
|
|
@@ -126,6 +127,27 @@
|
|
|
<el-option label="学院领导" value="学院领导" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="role.name === '学院领导'"
|
|
|
+ :label="'领导姓名'"
|
|
|
+ :label-position="'left'"
|
|
|
+ label-width="100px"
|
|
|
+ :prop="`steps.${idx}.roles.${ridx}.leaderId`"
|
|
|
+ :rules="[{ required: true, message: '请选择领导姓名', trigger: 'change' }]"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ v-model="role.leaderId"
|
|
|
+ placeholder="请选择领导姓名"
|
|
|
+ style="width: 300px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="user in leaderOptions"
|
|
|
+ :key="user.id"
|
|
|
+ :label="user.name"
|
|
|
+ :value="user.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item
|
|
|
:label="'通过条件'"
|
|
|
:label-position="'left'"
|
|
@@ -190,6 +212,7 @@ import * as api from '../api';
|
|
|
import * as firstapi from './api';
|
|
|
|
|
|
|
|
|
+
|
|
|
const props = defineProps<{
|
|
|
visible: boolean;
|
|
|
editData?: any;
|
|
@@ -207,6 +230,18 @@ watch(visible, (v) => emit('update:visible', v));
|
|
|
|
|
|
|
|
|
|
|
|
+const leaderOptions =reactive([]);
|
|
|
+firstapi.GetCollegeLeadershipList()
|
|
|
+.then(res=>{
|
|
|
+ const deviceLeaderData = res.data;
|
|
|
+ leaderOptions.splice(0, leaderOptions.length, ...deviceLeaderData);
|
|
|
+})
|
|
|
+.catch(error => {
|
|
|
+ // eslint-disable-next-line no-console
|
|
|
+ console.error("请求失败:", error);
|
|
|
+});
|
|
|
+
|
|
|
+
|
|
|
|
|
|
const resdevicelist=reactive([]);
|
|
|
firstapi.GetDeviceClassList()
|
|
@@ -225,6 +260,7 @@ firstapi.GetDeviceClassList()
|
|
|
const defaultRole = () => ({
|
|
|
name: '',
|
|
|
passType: '',
|
|
|
+ leaderId: null,
|
|
|
});
|
|
|
const defaultStep = () => ({
|
|
|
roles: [defaultRole()],
|
|
@@ -309,6 +345,7 @@ watch(
|
|
|
roles: [{
|
|
|
name: step.step_name || '',
|
|
|
passType: String(step.step_type ?? '1'),
|
|
|
+ leaderId:step.leaderId||null,
|
|
|
}],
|
|
|
}));
|
|
|
} else {
|
|
@@ -420,6 +457,7 @@ async function onSave() {
|
|
|
|
|
|
const roleNames = step.roles.map(role => role.name).filter(Boolean);
|
|
|
const passTypes = step.roles.map(role => role.passType).filter(Boolean);
|
|
|
+ const leaderIds = step.roles.map(role => role.leaderId).filter(Boolean);
|
|
|
|
|
|
const stepType = passTypes[0] || '1';
|
|
|
|
|
@@ -431,7 +469,7 @@ async function onSave() {
|
|
|
step_order: stepOrder,
|
|
|
step_type: stepType,
|
|
|
description: `由${roleNames.join(',')}进行审批`,
|
|
|
- approvers: [1], // 可选:你可以根据需要填入具体 ID
|
|
|
+ approvers: leaderIds.length > 0 ? leaderIds : [1], // 可选:你可以根据需要填入具体 ID
|
|
|
approver_roles: approverRoles,
|
|
|
approver_depts: [],
|
|
|
approval_conditions: {
|