| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <template>
- <el-dialog title="分类信息"
- :visible.sync="dialogVisible"
- @opened="dialogOpen"
- @closed="dialogClose"
- width="40%">
- <el-form ref="form"
- :model="formdata"
- label-width="110px"
- :rules="rules"
- size="small">
- <el-form-item label="分类名称"
- prop="FullName">
- <el-input v-model="formdata.FullName"></el-input>
- </el-form-item>
- <el-form-item label="分类编码"
- prop="Code">
- <el-input v-model="formdata.Code"></el-input>
- </el-form-item>
- <el-form-item label="关联表">
- <el-input v-model="formdata.TargetTable"></el-input>
- </el-form-item>
- <el-form-item label="使用分类名">
- <el-switch style="width:100%;text-align:left"
- v-model="formdata.UseItemName"></el-switch>
- </el-form-item>
- <el-form-item label="使用分类编码">
- <el-switch style="width:100%;text-align:left"
- v-model="formdata.UseItemCode"></el-switch>
- </el-form-item>
- <el-form-item label="树结构">
- <el-switch style="width:100%;text-align:left"
- v-model="formdata.IsTree"></el-switch>
- </el-form-item>
- <el-form-item label="排序">
- <el-input v-model="formdata.SortCode"></el-input>
- </el-form-item>
- <el-form-item label="备注">
- <el-input type="textarea"
- v-model="formdata.Description"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer"
- class="dialog-footer">
- <el-button type="primary"
- size="mini"
- :loading="loading"
- @click="saveEntity">保存</el-button>
- <el-button size="mini"
- @click="close">关闭</el-button>
- </div>
- </el-dialog>
- </template>
- <script>
- import itemApi from '@/api/sysadmin/item'
- export default {
- name: 'itemEditForm',
- props: {
- id: Number,
- value: Boolean
- },
- data () {
- return {
- loading: false,
- dialogVisible: false,
- classList: [],
- subjectList: [],
- selectSubject: [],
- formdata: {
- ParentId: 0,
- Id: 0,
- FullName: '',
- Code: '',
- TargetTable: '',
- UseItemName: 0,
- UseItemCode: 0,
- IsTree: 0,
- SortCode: '',
- Description: ''
- },
- imageUrl: '',
- rules: {
- FullName: [{
- required: true,
- message: '分类名称不能为空',
- trigger: 'blur'
- }],
- Code: [{
- required: true,
- message: '分类编码不能为空',
- trigger: 'blur'
- }]
- }
- }
- },
- watch: {
- value (val) {
- this.dialogVisible = val
- },
- dialogVisible (val) {
- this.$emit('input', val)
- }
- },
- mounted () {
- },
- methods: {
- dialogOpen () {
- this.$refs.form.resetFields()
- this.initData()
- },
- initData () {
- let _this = this
- if (_this.id > 0) {
- _this.formdata = {}
- const params = {
- id: _this.id
- }
- itemApi.getEntityById(params)
- .then(res => {
- // 编辑时初始化表单数据,给字段赋值
- if (res) {
- console.log(res)
- _this.formdata = {
- Id: res.Id,
- FullName: res.FullName,
- Code: res.Code,
- TargetTable: res.TargetTable,
- UseItemName: res.UseItemName === 1,
- UseItemCode: res.UseItemCode === 1,
- IsTree: res.IsTree === 1,
- SortCode: res.SortCode,
- Description: res.Description ? res.Description : ''
- }
- }
- })
- .catch(err => {
- console.error(err)
- })
- } else {
- _this.formdata.Id = 0
- _this.formdata.FullName = ''
- _this.formdata.Code = ''
- _this.formdata.TargetTable = 'Base_ItemDetails'
- _this.formdata.UseItemName = 0
- _this.formdata.UseItemCode = 0
- _this.formdata.IsTree = 0
- _this.formdata.SortCode = ''
- _this.formdata.Description = ''
- }
- },
- saveEntity () {
- let _this = this
- _this.formdata.Id = _this.id
- _this.$refs['form'].validate(valid => {
- if (valid) {
- _this.formdata.UseItemName = _this.formdata.UseItemName ? 1 : 0
- _this.formdata.UseItemCode = _this.formdata.UseItemCode ? 1 : 0
- _this.formdata.IsTree = _this.formdata.IsTree ? 1 : 0
- _this.loading = true
- if (_this.formdata.Id > 0) {
- itemApi.update(_this.formdata).then(data => {
- _this.loading = false
- _this.dialogVisible = false
- _this.$emit('submit')
- }).catch(err => {
- _this.loading = false
- console.error(err)
- })
- } else {
- itemApi.add(_this.formdata).then(data => {
- _this.loading = false
- _this.dialogVisible = false
- _this.$emit('submit')
- }).catch(err => {
- _this.loading = false
- console.error(err)
- })
- }
- } else {
- return false
- }
- })
- },
- dialogClose () {
- this.$refs['form'].resetFields()
- this.dialogVisible = false
- },
- close () {
- this.dialogClose()
- }
- }
- }
- </script>
- <style>
- .avatar-uploader .el-upload {
- border: 1px dashed #d9d9d9;
- border-radius: 6px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- }
- .avatar-uploader .el-upload:hover {
- border-color: #409eff;
- }
- .avatar-uploader-icon {
- font-size: 28px;
- color: #8c939d;
- width: 80px;
- height: 80px;
- line-height: 80px;
- text-align: center;
- }
- .avatar {
- width: 80px;
- height: 80px;
- display: block;
- }
- </style>
|