123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <template>
- <j-popup
- v-bind="popupProps"
- @input="handlePopupInput"
- />
- </template>
- <script>
- import JVxeCellMixins, { dispatchEvent, vModel } from '@/components/jeecg/JVxeTable/mixins/JVxeCellMixins'
- export default {
- name: 'JVxePopupCell',
- mixins: [JVxeCellMixins],
- computed: {
- popupProps() {
- const {innerValue, originColumn: col, caseId, cellProps} = this
- return {
- ...cellProps,
- value: innerValue,
- field: col.field || col.key,
- code: col.popupCode,
- orgFields: col.orgFields,
- destFields: col.destFields,
- groupId: caseId,
- param: col.param,
- sorter: col.sorter,
- }
- },
- },
- methods: {
- /** popup回调 */
- handlePopupInput(value, others) {
- const {row, originColumn: col} = this
- // 存储输入的值
- let popupValue = value
- if (others && Object.keys(others).length > 0) {
- Object.keys(others).forEach(key => {
- let currentValue = others[key]
- // 当前列直接赋值,其他列通过vModel赋值
- if (key === col.key) {
- popupValue = currentValue
- } else {
- vModel.call(this, currentValue, row, key)
- }
- })
- }
- this.handleChangeCommon(popupValue)
- },
- },
- // 【组件增强】注释详见:JVxeCellMixins.js
- enhanced: {
- aopEvents: {
- editActived(event) {
- dispatchEvent.call(this, event, 'ant-input')
- },
- },
- },
- }
- </script>
- <style scoped>
- </style>
|