<template>
|
<a-spin :spinning="confirmLoading">
|
<j-form-container :disabled="formDisabled">
|
<a-form-model ref="form" :model="model" slot="detail" :rules="validatorRules">
|
<a-row type="flex" :gutter="16">
|
<a-col :span="24">
|
<a-form-model-item label="目标计量单位代码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="targetUnitId">
|
<a-tree-select
|
style="width:100%"
|
:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
|
:treeData="treeData"
|
v-model="model.targetUnitId"
|
placeholder="请选择父级菜单"
|
:replace-fields="replaceFields"
|
:disabled="false"
|
@change="handleParentIdChange">
|
</a-tree-select>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col :span="24">
|
<a-form-model-item label="换算比例" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="conversionRatio">
|
<a-input style="width: 48%" :min="1" defaultValue="1" :disabled="true" ></a-input>
|
<span>:</span>
|
<a-input style="width: 49%" :min="1" v-model="model.conversionRatio" placeholder="请输入换算比例"></a-input>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col :span="24">
|
<a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
|
<a-input style="width: 100%" :min="1" v-model="model.remark" placeholder="请输入备注"></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row type="flex" :gutter="16" justify="center">
|
<a-col>
|
<a-button type="primary" @click="submitForm">保存</a-button>
|
</a-col>
|
|
<a-col>
|
<a-button type="primary" @click="submitFormAndAdd">保存并新增</a-button>
|
</a-col>
|
|
<a-col>
|
<a-button type="primary" @click="close">取消</a-button>
|
</a-col>
|
</a-row>
|
</a-form-model>
|
</j-form-container>
|
</a-spin>
|
</template>
|
|
<script>
|
import { httpAction, getAction } from '@/api/manage'
|
import { validateDuplicateValue } from '@/utils/util'
|
import JFormContainer from '@/components/jeecg/JFormContainer'
|
import JDate from '@/components/jeecg/JDate'
|
import JDictSelectTag from '@/components/dict/JDictSelectTag'
|
|
export default {
|
name: 'MomUnitConversionForm',
|
components: {
|
JFormContainer,
|
JDate,
|
JDictSelectTag,
|
},
|
props: {
|
formData: {
|
type: Object,
|
default: () => {},
|
required: false,
|
},
|
normal: {
|
type: Boolean,
|
default: false,
|
required: false,
|
},
|
disabled: {
|
type: Boolean,
|
default: false,
|
required: false,
|
},
|
},
|
data() {
|
return {
|
model: { status: 1 },
|
id: '',
|
treeData: null,
|
replaceFields: {
|
children:"children",
|
title: 'codeName',
|
key:"code",
|
value:"id"
|
},
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 },
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 16 },
|
},
|
confirmLoading: false,
|
url: {
|
addMomUnit: '/base/unit/addMomUnit',
|
deleteMomUnit: '/base/unit/deleteMomUnit',
|
addMomUnitOnversion: '/base/unit/onversion/addMomUnitOnversion',
|
deleteMomUnitOnversion:'/base/unit/onversion/deleteMomUnitOnversion',
|
treeList:'/base/getUnitTree'
|
},
|
validatorRules: {
|
targetUnitId: [{ required: true, message: '请选择目标计量单位代码!' }, { trigger: 'blur' }],
|
conversionRatio: [{ required: true, message: '请输入换算比例!' }, { trigger: 'blur' }],
|
},
|
cb: null,
|
}
|
},
|
computed: {
|
formDisabled() {
|
if (this.normal === false) {
|
if (this.formData.disabled === false) {
|
return false
|
} else {
|
return true
|
}
|
}
|
return this.disabled
|
},
|
disabledId() {
|
return this.id ? true : false
|
},
|
showFlowSubmitButton() {
|
if (this.normal === false) {
|
if (this.formData.disabled === false) {
|
return true
|
} else {
|
return false
|
}
|
} else {
|
return false
|
}
|
},
|
},
|
created() {
|
this.showFlowData()
|
this.loadTree()
|
},
|
methods: {
|
showAdd(record, { cb }) {
|
this.cb = cb
|
this.model = record ? Object.assign({}, record) : this.model
|
this.id = record ? record.id : ''
|
this.model.id=''
|
this.model.name=''
|
this.model.remark=''
|
this.model.unitId=record[0].id
|
this.visible = true
|
},
|
show(record, { cb }) {
|
this.cb = cb
|
this.model = record[0] ? Object.assign({}, record[0]) : this.model
|
this.id = record[0] ? record[0].id : ''
|
this.visible = true
|
this.loadTree();
|
},
|
showFlowData() {
|
if (this.normal === false) {
|
let params = { id: this.formData.dataId }
|
getAction(this.url.queryById, params).then((res) => {
|
if (res.success) {
|
this.edit(res.result)
|
}
|
})
|
}
|
},
|
//保存按钮触发
|
submitForm() {
|
const that = this
|
// 触发表单验证
|
that.$refs.form.validate((valid) => {
|
if (valid) {
|
that.confirmLoading = true
|
let httpurl = this.url.addMomUnitOnversion
|
let method = 'post'
|
httpAction(httpurl, this.model, method)
|
.then((res) => {
|
if (res.success) {
|
that.$message.success(res.message)
|
that.$emit('ok')
|
} else {
|
that.$message.warning(res.message)
|
}
|
})
|
.finally(() => {
|
that.confirmLoading = false
|
this.cb(this.id)
|
this.cb = null
|
})
|
} else {
|
return false
|
}
|
})
|
},
|
//保存并新增按钮触发
|
submitFormAndAdd() {
|
const that = this
|
// 触发表单验证
|
that.$refs.form.validate((valid) => {
|
if (valid) {
|
that.confirmLoading = true
|
let httpurl = this.url.addMomUnit
|
let method = 'post'
|
httpAction(httpurl, this.model, method)
|
.then((res) => {
|
if (res.success) {
|
that.$message.success(res.message)
|
} else {
|
that.$message.warning(res.message)
|
}
|
})
|
.finally(() => {
|
this.confirmLoading = false
|
this.model.id = ''
|
this.model.num = ''
|
this.model.name = ''
|
this.cb(this.id)
|
})
|
} else {
|
return false
|
}
|
})
|
},
|
loadTree(){
|
var that = this;
|
getAction(that.url.treeList).then((res) => {
|
if (res.success) {
|
that.treeData = res.result
|
}
|
})
|
},
|
handleParentIdChange(value){
|
if(!value){
|
this.validateStatus="error"
|
}else{
|
this.validateStatus="success"
|
}
|
},
|
//取消按钮触发
|
close() {
|
this.$emit('ok')
|
this.visible = false
|
},
|
},
|
}
|
</script>
|