| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="ä¸çº§ç»ç»" prop="parentId"> |
| | | <el-cascader |
| | | :options="organization" |
| | | v-model="form.parentId" |
| | | :disabled="form.disabled" |
| | | placeholder="è¯·éæ©ä¸çº§ç»ç»" |
| | | :props="{ label: 'name', value: 'id', checkStrictly: true }" |
| | | clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åç§°" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { tree } from '@/api/business/companyDepartment' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'OperaCompanyDepartmentWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | name: '', |
| | | parentId: [], |
| | | type: '', |
| | | disabled: false |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥ç»ç»åç§°' } |
| | | ] |
| | | }, |
| | | organization: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/companyDepartment', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | __confirmCreate () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | let obj = JSON.parse(JSON.stringify(this.form)) |
| | | obj.parentId = obj.parentId && obj.parentId.length > 0 ? obj.parentId[0] : '' |
| | | obj.type = this.userInfo.type |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | this.isWorking = true |
| | | this.api.create(obj) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('æ°å»ºæå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | }, |
| | | __confirmEdit () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | // è°ç¨æ°å»ºæ¥å£ |
| | | let obj = JSON.parse(JSON.stringify(this.form)) |
| | | obj.parentId = obj.parentId && obj.parentId.length > 0 ? obj.parentId[0] : '' |
| | | obj.type = this.userInfo.type |
| | | this.isWorking = true |
| | | this.api.updateById(obj) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('ä¿®æ¹æå') |
| | | this.$emit('success') |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.getTree() |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | }, |
| | | getTree() { |
| | | tree() |
| | | .then(records => { |
| | | this.organization = records |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |