<template>
|
<el-dialog v-model="approveItemDialog" :title="title">
|
<el-form :model="approveItemForm" label-width="150px" ref="approveItemFormRef" :rules="approveItemFormRule">
|
<el-col :span="24" style="margin-bottom: 24px">
|
<el-form-item label="审批项名称" prop="itemName">
|
<el-input v-model="approveItemForm.itemName" class="input-add" placeholder="请填写审批项名称"> </el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24" style="margin-bottom: 24px">
|
<el-form-item label="审批项类型" prop="type">
|
<el-select v-model="approveItemForm.type" placeholder="请选择审批项类型" class="input-add">
|
<el-option v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24" style="margin-bottom: 24px">
|
<el-form-item label="措施名称" prop="measureId">
|
<el-select v-model="approveItemForm.measureId" placeholder="请选择措施" class="input-add">
|
<el-option v-for="item in actionList" :key="item.id" :value="item.id" :label="item.context"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="24" style="margin-bottom: 20px">
|
<el-form-item label="标准名称" prop="standId">
|
<el-select v-model="approveItemForm.standId" class="input-add" placeholder="选择标准">
|
<el-option v-for="item in standardList" :key="item.ruleStandId" :value="item.ruleStandId" :label="item.title"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
|
<div align="right">
|
<el-button type="warning" @click="approveItemDialog = false" size="default" plain>取消</el-button>
|
<el-button type="primary" @click="submitApproveItem()" size="default">确认</el-button>
|
</div>
|
</el-form>
|
</el-dialog>
|
</template>
|
|
<script lang="ts">
|
import { reactive, toRefs, ref, onMounted } from 'vue';
|
import { ElMessage } from 'element-plus/es';
|
import { userApi } from '/@/api/systemManage/user';
|
import { safetyActionApi } from '/@/api/specialWorkSystem/safetyAction';
|
import approveRule from '/@/views/specialWorkSystem/workFlow/approveRule/index.vue';
|
import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic/index';
|
interface dataState {
|
title: string;
|
activeName: string;
|
approveItemDialog: boolean;
|
approveItemForm: stepAddReqDTO;
|
approveItemFormRule: {};
|
actionList: Array<type>;
|
typeList: Array<type>;
|
standardList: [];
|
order: '';
|
}
|
interface stepAddReqDTO {
|
itemName: string | null;
|
type: null;
|
measureId: number | null;
|
standId: number | null;
|
}
|
interface type {
|
id: number;
|
name: string;
|
}
|
export default {
|
name: 'approveItemDialog',
|
setup(props: any, context: any) {
|
const approveItemFormRef = ref();
|
const data = reactive<dataState>({
|
title: '',
|
activeName: 'ApproveAction',
|
approveItemDialog: false,
|
approveItemForm: {
|
itemName: null,
|
type: null,
|
measureId: null,
|
standId: null
|
},
|
approveItemFormRule: {},
|
actionList: [],
|
typeList: [
|
{ id: 1, name: '数值' },
|
{ id: 2, name: '选项' },
|
{ id: 3, name: '填空' }
|
],
|
standardList: [],
|
order: null
|
});
|
|
const showApproveItemDialog = (type: string, value: {}, index: number) => {
|
data.approveItemDialog = true;
|
data.order = index;
|
if (type === '新增') {
|
data.title = '新增审批项';
|
data.approveItemForm = {
|
itemName: null,
|
type: null,
|
measureId: null,
|
standId: null
|
};
|
} else {
|
data.title = '修改审批项';
|
data.approveItemForm = JSON.parse(JSON.stringify(value));
|
}
|
};
|
|
const submitApproveItem = async () => {
|
context.emit('addApprovalItem', data.approveItemForm, data.title, data.order);
|
data.approveItemDialog = false;
|
};
|
|
//获取措施项
|
const getActionData = async () => {
|
let res = await safetyActionApi().getAllSafetyActionList({ workType: null, type: null, context: null });
|
if (res.data.code === '200') {
|
data.actionList = res.data.data;
|
} else {
|
ElMessage({
|
type: 'warning',
|
message: res.data.msg
|
});
|
}
|
};
|
|
//获取标准
|
const getStandardData = async () => {
|
let res = await approveBasicApi().getAllApproveBasicList({ ruleStandType: null, title: null });
|
if (res.data.code === '200') {
|
data.standardList = res.data.data;
|
} else {
|
ElMessage({
|
type: 'warning',
|
message: res.data.msg
|
});
|
}
|
};
|
|
// 页面加载时
|
onMounted(() => {
|
getActionData();
|
getStandardData();
|
});
|
return {
|
...toRefs(data),
|
approveItemFormRef,
|
submitApproveItem,
|
showApproveItemDialog
|
};
|
}
|
};
|
</script>
|
|
<style scoped></style>
|