Commit f6332c83 authored by wangxl's avatar wangxl
parents a08f9ab6 21255ac5
......@@ -145,6 +145,9 @@ export default {
getUnitById (params) {
return fetch('/v1/science-admin/com-unit/getUnitById', params)
},
getListByUnitName (params) {
return fetch('/v1/science-admin/com-unit/getListByUnitName', params)
},
addUnit (params) {
return fetch('/v1/science-admin/com-unit/addUnit', params, 'post', 'json')
},
......
......@@ -8,18 +8,23 @@
</div>
</a-col>
</a-row>
<a-row>
<!-- <a-row>
<a-col :span="24">
<a-form-model-item ref="upTreeCode" label="上级单位" prop="upTreeCode">
<unit-tree-select v-model="formData.upTreeCode" :unitType="0" />
</a-form-model-item>
</a-col>
</a-row>
</a-row> -->
<a-row>
<a-col :span="24">
<a-form-model-item ref="unitName" label="单位名称" prop="unitName">
<a-input v-model="formData.unitName" @blur="() => {$refs.unitName.onFieldBlur(); }" style="width: 350px;" />
</a-form-model-item>
<!-- <a-select v-model="formData.unitName" showSearch placeholder="请输入单位名称" :filterOption="filterOption" @search="onSearch" @change="handleChange" style="width: 350px;">
<a-select-option v-for="item in selectData" :key="item.key" :value="item.key">
{{ item.title }}
</a-select-option>
</a-select>-->
</a-form-model-item>
</a-col>
</a-row>
<a-row>
......@@ -142,7 +147,25 @@ export default {
visibleCheck: false,
unitRules: {
upTreeCode: [{ required: true, message: '请选择单位', trigger: 'change' }],
unitName: [{ required: true, message: '请输入单位名称', trigger: 'blur' }],
unitName: [
{ required: true, message: '请输入单位名称', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (value == '' || value == undefined) {
callback()
}
else {
let pars = { UnitName: value }
this.$api.unit.getListByUnitName(pars).then(({ data = {} }) => {
if (data && data.length > 0) {
callback(new Error("单位已存在"));
} else
callback()
})
}
}
}
],
unitType: [{ required: true, message: '请选择单位类型', trigger: 'change' }],
organizationCode: [{ required: true, message: '请输入机构代码', trigger: 'blur' }],
unitAddress: [{ required: true, message: '请输入地址', trigger: 'blur' }],
......@@ -240,6 +263,7 @@ export default {
],
code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
},
selectData: [],
}
},
props: {
......@@ -254,6 +278,28 @@ export default {
},
methods: {
onSearch(value) {
let pars = { UnitName: value }
this.$api.unit.getListByUnitName(pars).then(({ data = {} }) => {
this.selectData = []
// 模拟从数据库查询数据
const matchedOptions = data.filter(option => option.title.includes(value));
if (matchedOptions.length > 0) {
matchedOptions.forEach(e => {
this.selectData.push(e)
})
} else {
this.selectData.push({ title: value, key: "00000000-0000-0000-0000-000000000000" })
}
})
},
filterOption(input, option) {
// 自定义过滤逻辑,如果没有匹配的选项就保留输入值
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
},
handleChange(value) {
this.formData.unitName = value
},
verifiMobile () {
this.$refs.from.validateField('mobile', (error) => {
if (!error) {
......@@ -283,6 +329,7 @@ export default {
}, 1000)
},
submitUnit () {
console.log(this.formData)
let cardInfo = null
this.$refs.from.validate(valid => {
if (valid) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment