给收入单和支出单增加收支项目下拉框的快捷录入框

This commit is contained in:
jishenghua 2024-09-26 23:00:18 +08:00
parent c585ebdf37
commit b2e231938f
5 changed files with 48 additions and 5 deletions

View File

@ -234,6 +234,7 @@
<div slot="dropdownRender" slot-scope="menu">
<v-nodes :vnodes="menu" />
<slot name="depotAdd" v-if="col.key === 'depotId'" :target="getVM()"/>
<slot name="inOutItemAdd" v-if="col.key === 'inOutItemId'" :target="getVM()"/>
</div>
<!--<template v-for="(opt,optKey) in col.options">-->
<!--<a-select-option :value="opt.value" :key="optKey">{{ opt.title }}</a-select-option>-->

View File

@ -18,7 +18,11 @@ export const FinancialModalMixin = {
billStatus: '0',
isCanCheck: true,
quickBtn: {
person: false
vendor: false,
customer: false,
account: false,
person: false,
inOutItem: false
},
/* 原始审核是否开启 */
checkFlag: true,
@ -191,6 +195,11 @@ export const FinancialModalMixin = {
this.$refs.personModalForm.title = "新增经手人";
this.$refs.personModalForm.disableSubmit = false;
},
addInOutItem(type) {
this.$refs.inOutItemModalForm.add(type);
this.$refs.inOutItemModalForm.title = "新增收支项目";
this.$refs.inOutItemModalForm.disableSubmit = false;
},
vendorModalFormOk() {
this.initSupplier()
},
@ -203,6 +212,9 @@ export const FinancialModalMixin = {
personModalFormOk() {
this.initPerson()
},
inOutItemModalFormOk(type) {
this.initInOutItem(type)
},
workflowModalFormOk() {
this.close()
},
@ -337,6 +349,7 @@ export const FinancialModalMixin = {
this.quickBtn.customer = btnStrList[i].url === '/system/customer'?btnStrList[i].btnStr.indexOf(1)>-1:this.quickBtn.customer
this.quickBtn.account = btnStrList[i].url === '/system/account'?btnStrList[i].btnStr.indexOf(1)>-1:this.quickBtn.account
this.quickBtn.person = btnStrList[i].url === '/system/person'?btnStrList[i].btnStr.indexOf(1)>-1:this.quickBtn.person
this.quickBtn.inOutItem = btnStrList[i].url === '/system/in_out_item'?btnStrList[i].btnStr.indexOf(1)>-1:this.quickBtn.inOutItem
}
}
}

View File

@ -67,7 +67,12 @@
:rowSelection="true"
:actionButton="true"
@added="onAdded"
@valueChange="onValueChange" />
@valueChange="onValueChange">
<template #inOutItemAdd>
<a-divider v-if="quickBtn.inOutItem" style="margin: 4px 0;" />
<div v-if="quickBtn.inOutItem" style="padding: 4px 8px; cursor: pointer;" @click="addInOutItem('in')"><a-icon type="plus" /> 新增收支项目</div>
</template>
</j-editable-table>
<a-row class="form-row" :gutter="24">
<a-col :lg="24" :md="24" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="{xs: { span: 24 },sm: { span: 24 }}" label="">
@ -114,6 +119,7 @@
<account-modal ref="accountModalForm" @ok="accountModalFormOk"></account-modal>
<person-modal ref="personModalForm" @ok="personModalFormOk"></person-modal>
<workflow-iframe ref="modalWorkflow" @ok="workflowModalFormOk"></workflow-iframe>
<in-out-item-modal ref="inOutItemModalForm" @ok="inOutItemModalFormOk('in')"></in-out-item-modal>
</j-modal>
</template>
<script>
@ -121,6 +127,7 @@
import AccountModal from '../../system/modules/AccountModal'
import PersonModal from '../../system/modules/PersonModal'
import WorkflowIframe from '@/components/tools/WorkflowIframe'
import InOutItemModal from '../../system/modules/InOutItemModal'
import { FormTypes } from '@/utils/JEditableTableUtil'
import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
import { FinancialModalMixin } from '../mixins/FinancialModalMixin'
@ -133,6 +140,7 @@
AccountModal,
PersonModal,
WorkflowIframe,
InOutItemModal,
JUpload,
JDate,
VNodes: {

View File

@ -67,7 +67,12 @@
:rowSelection="true"
:actionButton="true"
@added="onAdded"
@valueChange="onValueChange" />
@valueChange="onValueChange">
<template #inOutItemAdd>
<a-divider v-if="quickBtn.inOutItem" style="margin: 4px 0;" />
<div v-if="quickBtn.inOutItem" style="padding: 4px 8px; cursor: pointer;" @click="addInOutItem('out')"><a-icon type="plus" /> 新增收支项目</div>
</template>
</j-editable-table>
<a-row class="form-row" :gutter="24">
<a-col :lg="24" :md="24" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="{xs: { span: 24 },sm: { span: 24 }}" label="">
@ -114,6 +119,7 @@
<account-modal ref="accountModalForm" @ok="accountModalFormOk"></account-modal>
<person-modal ref="personModalForm" @ok="personModalFormOk"></person-modal>
<workflow-iframe ref="modalWorkflow" @ok="workflowModalFormOk"></workflow-iframe>
<in-out-item-modal ref="inOutItemModalForm" @ok="inOutItemModalFormOk('out')"></in-out-item-modal>
</j-modal>
</template>
<script>
@ -121,6 +127,7 @@
import AccountModal from '../../system/modules/AccountModal'
import PersonModal from '../../system/modules/PersonModal'
import WorkflowIframe from '@/components/tools/WorkflowIframe'
import InOutItemModal from '../../system/modules/InOutItemModal'
import { FormTypes } from '@/utils/JEditableTableUtil'
import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
import { FinancialModalMixin } from '../mixins/FinancialModalMixin'
@ -133,6 +140,7 @@
AccountModal,
PersonModal,
WorkflowIframe,
InOutItemModal,
JUpload,
JDate,
VNodes: {

View File

@ -26,7 +26,7 @@
<a-input placeholder="请输入名称" v-decorator.trim="[ 'name', validatorRules.name]" />
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="类型">
<a-select placeholder="请选择类型" v-decorator="[ 'type', validatorRules.type]">
<a-select placeholder="请选择类型" v-decorator="[ 'type', validatorRules.type]" :disabled="typeDisabled">
<a-select-option value="收入">收入</a-select-option>
<a-select-option value="支出">支出</a-select-option>
</a-select>
@ -55,7 +55,9 @@
title:"操作",
visible: false,
model: {},
typeParam: '',
isReadOnly: false,
typeDisabled: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
@ -84,12 +86,23 @@
created () {
},
methods: {
add () {
add (type) {
this.typeParam = type
this.edit({});
},
edit (record) {
this.form.resetFields();
this.model = Object.assign({}, record);
if(this.typeParam) {
this.typeDisabled = true
if(this.typeParam === 'in') {
this.model.type = '收入'
} else if(this.typeParam === 'out') {
this.model.type = '支出'
}
} else {
this.typeDisabled = false
}
this.visible = true;
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model,'name', 'type', 'sort', 'remark'))