<template>
|
<zt-dialog ref="dialog" @confirm="formSubmit" append-to-body>
|
<el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
|
<zt-form-item prop="name" :label="$t('company.name')">
|
<el-input v-model="companyName" readonly></el-input>
|
</zt-form-item>
|
<zt-form-item :label="$t('job.name')" prop="name" rules="required">
|
<el-input v-model="dataForm.name" :placeholder="$t('job.name')"></el-input>
|
</zt-form-item>
|
<zt-form-item :label="$t('job.code')" prop="code" rules="required">
|
<el-input v-model="dataForm.code" :placeholder="$t('job.code')"></el-input>
|
</zt-form-item>
|
<zt-form-item :label="$t('job.parentJob')" prop="pid">
|
<zt-combo-tree v-model="dataForm.pid" :datas="jobList"/>
|
</zt-form-item>
|
<el-form-item :label="$t('job.sort')" prop="sort">
|
<el-input-number v-model="dataForm.sort" controls-position="right" :min="0"/>
|
</el-form-item>
|
<el-form-item :label="$t('job.remark')" prop="remark">
|
<el-input v-model="dataForm.remark" :placeholder="$t('job.remark')"></el-input>
|
</el-form-item>
|
</el-form>
|
</zt-dialog>
|
</template>
|
|
<script>
|
export default {
|
props: {
|
companyId: {
|
type: String,
|
required: true
|
},
|
companyName: {
|
type: String,
|
required: true
|
}
|
},
|
data() {
|
return {
|
jobList: [],
|
dataForm: {
|
id: '',
|
pid: '0', // 默认为0
|
name: '',
|
code: '',
|
remark: '',
|
sort: 0
|
}
|
}
|
},
|
computed: {
|
},
|
methods: {
|
init() {
|
this.getJobList()
|
},
|
// 获取信息
|
async getInfo() {
|
let res = await this.$http.get(`/sys/job/${this.dataForm.id}`)
|
if (res.success) {
|
this.dataForm = {
|
...this.dataForm,
|
...res.data
|
}
|
}
|
},
|
async getJobList() {
|
let res = await this.$http.get('/sys/job/tree?companyId=' + this.companyId)
|
if (res.success) {
|
this.jobList = res.data
|
}
|
},
|
// 表单提交
|
async formSubmit() {
|
this.dataForm.companyId = this.companyId
|
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/job/', this.dataForm)
|
if (res.success) {
|
await this.$tip.success()
|
this.$refs.dialog.close()
|
this.$emit('refreshDataList')
|
}
|
}
|
}
|
}
|
</script>
|