<template>
|
<zt-dialog ref="dialog" @confirm="formSubmit" :has-confirm="false" append-to-body>
|
<el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
|
<zt-form-item :label="$t('notice.type')" prop="type" rules="required">
|
<zt-dict v-model="dataForm.type" dict="notice_type"></zt-dict>
|
</zt-form-item>
|
<zt-form-item :label="$t('notice.title')" prop="title" rules="required">
|
<el-input v-model="dataForm.title" :placeholder="$t('notice.title')"></el-input>
|
</zt-form-item>
|
<zt-form-item :label="$t('notice.content')" prop="content" rules="required" style="width: 100%">
|
<zt-editor v-model="dataForm.content"/>
|
</zt-form-item>
|
<zt-form-item :label="$t('notice.receiverType')" prop="receiverType" rules="required">
|
<zt-dict v-model="dataForm.receiverType" dict="notice_receiver" :radio="true"></zt-dict>
|
</zt-form-item>
|
<zt-form-item v-show="dataForm.receiverType == '1'" label="选择部门" prop="receiverList" rules="required">
|
<zt-dept-selector v-model="dataForm.receiverList1" multiple/>
|
</zt-form-item>
|
<zt-form-item v-show="dataForm.receiverType == '2'" label="选择用户" prop="receiverList" rules="required">
|
<zt-user-selector v-model="dataForm.receiverList2" multiple/>
|
</zt-form-item>
|
</el-form>
|
<template slot="footer">
|
<el-button type="danger" @click="formSubmit(0)">{{ $t('notice.draft') }}</el-button>
|
<el-button type="primary" @click="formSubmit(1)">{{ $t('notice.release') }}</el-button>
|
</template>
|
</zt-dialog>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
dataForm: {
|
id: '',
|
type: 0,
|
title: '',
|
content: '',
|
receiverType: '1',
|
receiverList: '',
|
receiverList1: '',
|
receiverList2: '',
|
status: '',
|
senderName: '',
|
senderDate: '',
|
creator: '',
|
createDate: ''
|
}
|
}
|
},
|
computed: {
|
},
|
methods: {
|
// 获取信息
|
async getInfo() {
|
let res = await this.$http.get(`/sys/notice/${this.dataForm.id}`)
|
this.dataForm = {
|
...this.dataForm,
|
...res.data
|
}
|
// 这里不能用v-if
|
this.dataForm['receiverList' + this.dataForm.receiverType] = this.dataForm.receiverList
|
},
|
// 表单提交
|
async formSubmit(status) {
|
this.dataForm.status = status
|
this.dataForm.receiverList = this.dataForm['receiverList' + this.dataForm.receiverType]
|
|
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/notice/', this.dataForm)
|
if (res.success) {
|
await this.$tip.success()
|
this.$refs.dialog.close()
|
this.$emit('refreshDataList')
|
}
|
}
|
}
|
}
|
</script>
|