Your Name
2022-08-31 9f0eeddb0d3977dd39f3e317fedc50faf389c375
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<template>
    <el-dialog :visible.sync="approveItemDialog" :title="title" :close-on-click-modal="false">
        <el-form :model="approveItemForm" label-width="150px" ref="approveItemFormRef" :rules="approveItemFormRule">
            <el-col :span="24" >
                <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" >
                <el-form-item label="审批项类型" prop="type">
                    <el-select v-model="approveItemForm.type" @change="clearValue" placeholder="请选择审批项类型" class="input-add" clearable filterable>
                        <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="smType">-->
            <!--                    <el-select v-model="approveItemForm.smType" @change="clearValue" placeholder="请选择措施或标准" class="input-add" clearable filterable>-->
            <!--                        <el-option v-for="item in smTypeList" :key="item.id" :value="item.id" :label="item.name"></el-option>-->
            <!--                    </el-select>-->
            <!--                </el-form-item>-->
            <!--            </el-col>-->
            <el-col v-if="(approveItemForm.type === 2 || approveItemForm.type === 3) && personType !== 3" :span="24">
                <el-form-item label="措施名称" prop="measureId">
                    <el-select v-model="approveItemForm.measureId" placeholder="请选择措施" class="input-add" clearable filterable>
                        <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 v-if="approveItemForm.type === 1" :span="24" >
                <el-form-item label="标准名称" prop="standId">
                    <el-select v-model="approveItemForm.standId" class="input-add" placeholder="选择标准" clearable filterable>
                        <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>
 
export default {
    name: 'approveItemDialog',
    data(){
        return{
            title: '',
            activeName: 'ApproveAction',
            approveItemDialog: false,
            approveItemForm: {
                itemName: null,
                type: null,
                measureId: null,
                smType: 1,
                standId: null
            },
            approveItemFormRule: {
                itemName: [{ required: true, message: '请填写审批项名称', trigger: 'blur' }],
                type: [{ required: true, message: '请选择审批项类型', trigger: 'change' }],
                measureId: [{ required: true, message: '请选择措施', trigger: 'change' }],
                smType: [{ required: true, message: '请选择措施或标准', trigger: 'change' }],
                standId: [{ required: true, message: '请选择标准', trigger: 'change' }]
            },
            actionList: [],
            typeList: [],
            smTypeList: [
                { id: 1, name: '标准' },
                { id: 2, name: '措施' }
            ],
            standardList: [],
            order: null,
            personType: null,
        }
    },
    methods:{
        showApproveItemDialog(type, value, index, approveLevelForm, standardList, actionList) {
            this.approveItemDialog = true;
            this.standardList = standardList;
            this.actionList = actionList;
            this.order = index;
            if (approveLevelForm.type === 3) {
                this.personType = 3
                this.typeList = [
                    { id: 1, name: '数值' },
                    { id: 3, name: '填空' }
                ];
            } else {
                this.typeList = [
                    { id: 2, name: '选项' },
                    { id: 3, name: '填空' }
                ];
            }
            this.$nextTick(() => {
                this.$refs["approveItemFormRef"].clearValidate();
            });
            if (type === '新增') {
                this.title = '新增审批项';
                this.approveItemForm = {
                    itemName: null,
                    type: null,
                    measureId: null,
                    standId: null,
                    smType: 1
                };
            } else {
                this.title = '修改审批项';
                this.approveItemForm = JSON.parse(JSON.stringify(value));
            }
        },
 
        submitApproveItem() {
            this.$refs["approveItemFormRef"].validate((valid) => {
                if (valid) {
                    this.approveItemForm.smType = 1;
                    this.$emit('addApprovalItem', this.approveItemForm, this.title, this.order);
                    this.approveItemDialog = false;
                } else {
                    this.$message({
                        type: 'warning',
                        message: '请完善审批项基本信息'
                    });
                }
            });
        },
 
        clearValue () {
            if (this.approveItemForm.type === 1) {
                this.approveItemForm.measureId = null;
            } else {
                this.approveItemForm.standId = null;
            }
        },
    },
 
};
</script>
 
<style scoped></style>