You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.4 KiB

<template>
<view class="dataForm-v">
<u-popup mode="left" :popup="false" v-model="show" length="auto" @close="close" width="100%">
<view class="diyTitle u-flex">
<uni-icons type="back" size="27" class="uni-btn-icon" @click="black"></uni-icons>
<view class="txt">
异常处理
</view>
</view>
<view class="jnpf-wrap jnpf-wrap-form">
<u-form :model="errorDataForm" ref="errorDataForm" :errorType="['toast']" label-position="left"
label-width="150" label-align="left">
<u-form-item prop="errorDataForm" v-for="(item,index) in list" :key="index" :label="item.nodeName"
required>
<jnpf-user-select v-model="errorDataForm.errorRuleUserList[item.nodeId]" :multiple="true"
placeholder="异常处理人员不能为空">
</jnpf-user-select>
</u-form-item>
</u-form>
<view class="buttom-actions">
<u-button class="buttom-btn" @click="cancel">取消</u-button>
<u-button class="buttom-btn" type="primary" @click="submit"></u-button>
</view>
</view>
</u-popup>
</view>
</template>
<script>
export default {
props: {
// 通过双向绑定控制组件的弹出与收起
},
data() {
return {
errorDataForm: {
errorRuleUserList: {},
},
list: [],
show: false,
query: {}
};
},
methods: {
init(list, eventType, query) {
this.query = query
this.show = true
this.list = list
this.eventType = eventType
this.list.map(o => {
this.$set(this.errorDataForm.errorRuleUserList, o.nodeId, [])
})
},
submit() {
const query = {
...this.query,
errorRuleUserList: this.errorDataForm.errorRuleUserList,
eventType: this.eventType
}
for (let rules in this.errorDataForm.errorRuleUserList) {
if (this.errorDataForm.errorRuleUserList[rules].length <= 0) {
return this.$u.toast(
`异常处理人员不能为空`
)
}
}
this.$emit('submitErrorForm', query);
},
cancel() {
this.close()
},
black() {
this.close()
},
close() {
this.show = false
}
}
};
</script>
<style lang="scss" scoped>
.dataForm-v {
.diyTitle {
height: 80rpx;
padding: 14rpx 6rpx;
text-align: center;
justify-content: flex-start;
.uniui-back {
font-size: 27px;
font-weight: lighter;
}
.txt {
flex: 0.95;
}
}
.jnpf-wrap,
.jnpf-wrap-form {
padding: 0;
}
}
</style>