[update] 修改bug78215
This commit is contained in:
@@ -60,6 +60,7 @@
|
|||||||
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_MORE.value"
|
<j-select-depart v-else-if="item.fieldShowType === FieldType.ORGAN_MORE.value"
|
||||||
v-model="formInline[item.dbFieldName]"
|
v-model="formInline[item.dbFieldName]"
|
||||||
:disabled="innerDisabledField.includes(item.dbFieldName)"
|
:disabled="innerDisabledField.includes(item.dbFieldName)"
|
||||||
|
:selectRange="item.dbFieldName === 'auth_dept' ? departSelectRange : []"
|
||||||
:multi="true"
|
:multi="true"
|
||||||
:backDepart="true"
|
:backDepart="true"
|
||||||
:treeOpera="true" />
|
:treeOpera="true" />
|
||||||
@@ -292,7 +293,8 @@ export default {
|
|||||||
optionsData: {}, // 用接口获取到的下拉数据
|
optionsData: {}, // 用接口获取到的下拉数据
|
||||||
excludeStandardNumbers: '', // 不包含的标准号
|
excludeStandardNumbers: '', // 不包含的标准号
|
||||||
standardGradeClassification: [], // 企标级别映射
|
standardGradeClassification: [], // 企标级别映射
|
||||||
innerDisabledField: [] // 内部不可编辑字段
|
innerDisabledField: [], // 内部不可编辑字段
|
||||||
|
departSelectRange: [] // 选择部门的选择范围,传了就只能从这些里面选,不传就都能选
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -312,6 +314,7 @@ export default {
|
|||||||
} else if (val === StandardGradeClassify.ONE_LEVEL.value) {
|
} else if (val === StandardGradeClassify.ONE_LEVEL.value) {
|
||||||
// 选的是1级
|
// 选的是1级
|
||||||
this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds
|
this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds
|
||||||
|
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '1').deptIds.split(',')
|
||||||
this.formInline = JSON.parse(JSON.stringify(this.formInline))
|
this.formInline = JSON.parse(JSON.stringify(this.formInline))
|
||||||
if (this.innerDisabledField.includes('auth_dept')) {
|
if (this.innerDisabledField.includes('auth_dept')) {
|
||||||
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
|
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
|
||||||
@@ -319,6 +322,7 @@ export default {
|
|||||||
} else if (val === StandardGradeClassify.TWO_LEVEL.value) {
|
} else if (val === StandardGradeClassify.TWO_LEVEL.value) {
|
||||||
// 选的是2级
|
// 选的是2级
|
||||||
this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds
|
this.formInline.auth_dept = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds
|
||||||
|
this.departSelectRange = this.standardGradeClassification.find(item => item.level + '' === '2').deptIds.split(',')
|
||||||
this.formInline = JSON.parse(JSON.stringify(this.formInline))
|
this.formInline = JSON.parse(JSON.stringify(this.formInline))
|
||||||
if (this.innerDisabledField.includes('auth_dept')) {
|
if (this.innerDisabledField.includes('auth_dept')) {
|
||||||
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
|
this.innerDisabledField = this.innerDisabledField.filter(item => item !== 'auth_dept')
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
:store="storeField"
|
:store="storeField"
|
||||||
:text="textField"
|
:text="textField"
|
||||||
:treeOpera="treeOpera"
|
:treeOpera="treeOpera"
|
||||||
|
:selectRange="selectRange"
|
||||||
@ok="handleOK"
|
@ok="handleOK"
|
||||||
@initComp="initComp"/>
|
@initComp="initComp"/>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,6 +80,14 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
required: false
|
required: false
|
||||||
|
},
|
||||||
|
// 选择部门的选择范围,传了就只能从这些里面选,不传就都能选
|
||||||
|
selectRange: {
|
||||||
|
type: Array,
|
||||||
|
default: () => {
|
||||||
|
return []
|
||||||
|
},
|
||||||
|
required: false
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -112,6 +121,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initComp (textVals) {
|
initComp (textVals) {
|
||||||
|
console.log(textVals)
|
||||||
this.textVals = textVals
|
this.textVals = textVals
|
||||||
},
|
},
|
||||||
// 返回选中的部门信息
|
// 返回选中的部门信息
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
import { queryDepartTreeList } from '@/api/api'
|
import { queryDepartTreeList } from '@/api/api'
|
||||||
export default {
|
export default {
|
||||||
name: 'JSelectDepartModal',
|
name: 'JSelectDepartModal',
|
||||||
props: ['modalWidth', 'multi', 'rootOpened', 'departId', 'store', 'text', 'treeOpera'],
|
props: ['modalWidth', 'multi', 'rootOpened', 'departId', 'store', 'text', 'treeOpera', 'selectRange'],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -84,6 +84,19 @@ export default {
|
|||||||
handler () {
|
handler () {
|
||||||
this.initDepartComponent(true)
|
this.initDepartComponent(true)
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 选择部门的选择范围,传了就只能从这些里面选,不传就都能选
|
||||||
|
selectRange: {
|
||||||
|
deep: true,
|
||||||
|
handler (val) {
|
||||||
|
if (val && val.length > 0) {
|
||||||
|
console.log(this.treeData)
|
||||||
|
console.log('--------filterTreeDataOnlySelectRange--------', val)
|
||||||
|
this.filterTreeDataOnlySelectRange(this.treeData)
|
||||||
|
console.log(this.treeData)
|
||||||
|
this.$forceUpdate()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -114,6 +127,22 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 筛选出只有在选择范围里的数据
|
||||||
|
filterTreeDataOnlySelectRange (arr) {
|
||||||
|
for (const item of arr) {
|
||||||
|
if (item.children && item.children.length > 0) {
|
||||||
|
this.filterTreeDataOnlySelectRange(item.children)
|
||||||
|
} else {
|
||||||
|
if (!this.selectRange.includes(item.key)) {
|
||||||
|
item.disabled = true
|
||||||
|
item.selectable = false
|
||||||
|
} else {
|
||||||
|
item.disabled = false
|
||||||
|
item.selectable = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
initDepartComponent (flag) {
|
initDepartComponent (flag) {
|
||||||
const arr = []
|
const arr = []
|
||||||
// 该方法两个地方用 1.visible改变事件重新设置选中项 2.组件编辑页面回显
|
// 该方法两个地方用 1.visible改变事件重新设置选中项 2.组件编辑页面回显
|
||||||
|
|||||||
Reference in New Issue
Block a user