|
|
@@ -39,26 +39,30 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :span="12">-->
|
|
|
- <!-- <el-form-item-->
|
|
|
- <!-- label="会计科目"-->
|
|
|
- <!-- prop="accountingSubjectId"-->
|
|
|
- <!-- -->
|
|
|
- <!-- >-->
|
|
|
- <!-- <ele-tree-select-->
|
|
|
- <!-- clearable-->
|
|
|
- <!-- filterable-->
|
|
|
- <!-- ref="treeSelect"-->
|
|
|
- <!-- :data="accountingSubjectList"-->
|
|
|
- <!-- v-model="form.accountingSubjectId"-->
|
|
|
- <!-- valueKey="id"-->
|
|
|
- <!-- labelKey="name"-->
|
|
|
- <!-- placeholder="请选择"-->
|
|
|
- <!-- @change="changeSubjectInfo"-->
|
|
|
- <!-- default-expand-all-->
|
|
|
- <!-- />-->
|
|
|
- <!-- </el-form-item>-->
|
|
|
- <!-- </el-col>-->
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="来源类型" prop="sourceType">
|
|
|
+ <el-select
|
|
|
+ v-model="form.sourceType"
|
|
|
+ @change="handleSelType"
|
|
|
+ :disabled="isOtherSourceFlag"
|
|
|
+ clearable
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option label="对账单" :value="1"></el-option>
|
|
|
+ <el-option label="合同" :value="2"></el-option>
|
|
|
+ <el-option label="订单" :value="3"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-if="form.sourceType == 1">
|
|
|
+ <el-form-item label="对账单" prop="sourceCode">
|
|
|
+ <el-input
|
|
|
+ v-model="form.sourceCode"
|
|
|
+ readonly
|
|
|
+ @click.native="handleSelectAccount"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="金额" prop="amount">
|
|
|
<el-input-number
|
|
|
@@ -70,8 +74,6 @@
|
|
|
></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="12">
|
|
|
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="申请部门" prop="applyDeptId">
|
|
|
@@ -96,9 +98,7 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
|
|
|
- <el-row :gutter="12">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="预计开票日期">
|
|
|
<el-date-picker
|
|
|
@@ -111,16 +111,6 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :span="12">-->
|
|
|
- <!-- <el-form-item prop="repliedFiles" label="附件">-->
|
|
|
- <!-- <fileUpload-->
|
|
|
- <!-- v-model="form.files"-->
|
|
|
- <!-- module="main"-->
|
|
|
- <!-- :showLib="false"-->
|
|
|
- <!-- :limit="10"-->
|
|
|
- <!-- />-->
|
|
|
- <!-- </el-form-item>-->
|
|
|
- <!-- </el-col>-->
|
|
|
</el-row>
|
|
|
<headerTitle title="开票信息"></headerTitle>
|
|
|
<el-row :gutter="12">
|
|
|
@@ -200,285 +190,321 @@
|
|
|
></table-info>
|
|
|
<div slot="footer">
|
|
|
<el-button type="primary" @click="handleSave(0)">保存</el-button>
|
|
|
- <el-button type="primary" v-if="isNeed_process_is_close" @click="handleSave(1)">提交</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ v-if="isNeed_process_is_close"
|
|
|
+ @click="handleSave(1)"
|
|
|
+ >提交</el-button
|
|
|
+ >
|
|
|
<el-button @click="cancel">返回</el-button>
|
|
|
</div>
|
|
|
- <process-submit-dialog api-fun-name="fininvoiceapplyStatusAPI" :processSubmitDialogFlag.sync="processSubmitDialogFlag" v-if="processSubmitDialogFlag" ref="processSubmitDialogRef" @reload="reload"></process-submit-dialog>
|
|
|
-
|
|
|
+ <process-submit-dialog
|
|
|
+ api-fun-name="fininvoiceapplyStatusAPI"
|
|
|
+ :processSubmitDialogFlag.sync="processSubmitDialogFlag"
|
|
|
+ v-if="processSubmitDialogFlag"
|
|
|
+ ref="processSubmitDialogRef"
|
|
|
+ @reload="reload"
|
|
|
+ ></process-submit-dialog>
|
|
|
+ <!--对账单-->
|
|
|
+ <account-statement-dialog
|
|
|
+ ref="accountStatementDialogRef"
|
|
|
+ :form="form"
|
|
|
+ v-if="accountStatementDialogFlag"
|
|
|
+ :accountstatement-dialog-flag.sync="accountStatementDialogFlag"
|
|
|
+ @getAccountData="getAccountData"
|
|
|
+ :contactData="contactData"
|
|
|
+ >
|
|
|
+ </account-statement-dialog>
|
|
|
</ele-modal>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import personSelect from '@/components/CommomSelect/person-select.vue';
|
|
|
-import { listOrganizations } from '@/api/system/organization';
|
|
|
-import { mapGetters } from 'vuex';
|
|
|
-import fileUpload from '@/components/upload/fileUpload.vue';
|
|
|
-import tableInfo from './tableInfo.vue';
|
|
|
-import { getTreeByPid } from '@/api/classifyManage';
|
|
|
-import {
|
|
|
- invoiceApplyInfoAPI,
|
|
|
- invoiceApplySaveAPI,
|
|
|
- invoiceApplySubmit,
|
|
|
- invoiceApplyUpdateAPI
|
|
|
-} from '@/api/financialManage/invoiceManage';
|
|
|
-import processSubmitDialog from "@/BIZComponents/processSubmitDialog/processSubmitDialog.vue";
|
|
|
-import modalTitle from '@/BIZComponents/modalTitle.vue';
|
|
|
-export default {
|
|
|
- name: 'add-or-edit-dialog',
|
|
|
- components: {
|
|
|
- processSubmitDialog,
|
|
|
- fileUpload,
|
|
|
- personSelect,
|
|
|
- tableInfo,modalTitle
|
|
|
- },
|
|
|
- props: {
|
|
|
- addOrEditDialogFlag: {
|
|
|
- type: Boolean,
|
|
|
- default: false
|
|
|
+ import personSelect from '@/components/CommomSelect/person-select.vue';
|
|
|
+ import { listOrganizations } from '@/api/system/organization';
|
|
|
+ import { mapGetters } from 'vuex';
|
|
|
+ import fileUpload from '@/components/upload/fileUpload.vue';
|
|
|
+ import tableInfo from './tableInfo.vue';
|
|
|
+ import { getTreeByPid } from '@/api/classifyManage';
|
|
|
+ import {
|
|
|
+ invoiceApplyInfoAPI,
|
|
|
+ invoiceApplySaveAPI,
|
|
|
+ invoiceApplyUpdateAPI
|
|
|
+ } from '@/api/financialManage/invoiceManage';
|
|
|
+ import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
|
|
|
+ import modalTitle from '@/BIZComponents/modalTitle.vue';
|
|
|
+ import accountStatementDialog from './accountstatementDialog.vue';
|
|
|
+
|
|
|
+ export default {
|
|
|
+ name: 'add-or-edit-dialog',
|
|
|
+ components: {
|
|
|
+ processSubmitDialog,
|
|
|
+ fileUpload,
|
|
|
+ personSelect,
|
|
|
+ tableInfo,
|
|
|
+ modalTitle,
|
|
|
+ accountStatementDialog
|
|
|
},
|
|
|
- contactData: {
|
|
|
- type: Object,
|
|
|
- default: () => {
|
|
|
- return {};
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- provide() {
|
|
|
- return {
|
|
|
- invoiceType: () => this.form.type
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapGetters(['user'])
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- fullscreen: false,
|
|
|
- dialogType: '',
|
|
|
- title: '',
|
|
|
- isOtherSourceFlag: false,
|
|
|
- processSubmitDialogFlag: false,
|
|
|
- form: {
|
|
|
- id: '',
|
|
|
- accountingSubjectCode: '',
|
|
|
- accountingSubjectId: '',
|
|
|
- accountingSubjectName: '',
|
|
|
- amount: undefined,
|
|
|
- applyDeptId: '',
|
|
|
- applyDeptName: '',
|
|
|
- applyUserId: '',
|
|
|
- applyUserName: '',
|
|
|
- companyAddress: '',
|
|
|
- companyBankAccount: '',
|
|
|
- companyUsc: '',
|
|
|
- expectInvoiceDate: '',
|
|
|
- companyBankBranchNo: '',
|
|
|
- companyName: '',
|
|
|
- receiverAddress: '',
|
|
|
- receiverName: '',
|
|
|
- receiverTel: '',
|
|
|
- companyTel: '',
|
|
|
- detailList: [],
|
|
|
- drawerId: '',
|
|
|
- drawerName: '',
|
|
|
- files: [],
|
|
|
- invoiceStatus: '',
|
|
|
- link: [],
|
|
|
- remark: '',
|
|
|
- settlementAccountId: '',
|
|
|
- settlementAccountName: '',
|
|
|
- type: ''
|
|
|
+ props: {
|
|
|
+ addOrEditDialogFlag: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
},
|
|
|
- feeTypeList: [],
|
|
|
- accountingSubjectList: [],
|
|
|
- deptList: [],
|
|
|
- deptTreeList: [],
|
|
|
- rules: {
|
|
|
- applyDeptId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
- applyUserId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
- accountingSubjectId: {
|
|
|
- required: true,
|
|
|
- message: '请选择',
|
|
|
- trigger: 'change'
|
|
|
- },
|
|
|
- feeTypeId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
- amount: { required: true, message: '请输入', trigger: 'blur' },
|
|
|
- companyName: { required: true, message: '请输入', trigger: 'blur' },
|
|
|
- type: { required: true, message: '请选择', trigger: 'change' }
|
|
|
- }
|
|
|
- };
|
|
|
- },
|
|
|
- created() {},
|
|
|
- methods: {
|
|
|
- //从发票管理新增发票初始化
|
|
|
- async init(row = {}, type) {
|
|
|
- this.title = type == 'add' ? '新增' : '修改';
|
|
|
- this.dialogType = type;
|
|
|
- await this.getClassifyList(24, 'accountingSubjectList');
|
|
|
- await this.getDeptList();
|
|
|
- if (type == 'add') {
|
|
|
- this.form.applyDeptId = this.user.info.groupId;
|
|
|
- this.form.applyDeptName = this.user.info.groupName;
|
|
|
- this.form.applyUserId = this.user.info.userId;
|
|
|
- this.form.applyUserName = this.user.info.name;
|
|
|
- } else {
|
|
|
- await this.getInfo(row.id);
|
|
|
+ contactData: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
}
|
|
|
- this.$nextTick(async () => {
|
|
|
- await this.getUserList(this.form.applyDeptId);
|
|
|
- });
|
|
|
},
|
|
|
- //从其他来源新增发票初始化
|
|
|
- createInvoice(
|
|
|
- row = {},
|
|
|
- invoiceType,
|
|
|
- tableInfo = {},
|
|
|
- isOtherSourceFlag = true,
|
|
|
- dialogType = 'add'
|
|
|
- ) {
|
|
|
- this.form.type = invoiceType;
|
|
|
- this.isOtherSourceFlag = isOtherSourceFlag;
|
|
|
- this.dialogType = dialogType;
|
|
|
- this.init(row, dialogType);
|
|
|
+ provide() {
|
|
|
+ return {
|
|
|
+ invoiceType: () => this.form.type
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(['user'])
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ fullscreen: false,
|
|
|
+ dialogType: '',
|
|
|
+ title: '',
|
|
|
+ isOtherSourceFlag: false,
|
|
|
+ processSubmitDialogFlag: false,
|
|
|
+ accountStatementDialogFlag: false,
|
|
|
+
|
|
|
+ form: {
|
|
|
+ id: '',
|
|
|
+ accountingSubjectCode: '',
|
|
|
+ accountingSubjectId: '',
|
|
|
+ accountingSubjectName: '',
|
|
|
+ amount: undefined,
|
|
|
+ applyDeptId: '',
|
|
|
+ applyDeptName: '',
|
|
|
+ applyUserId: '',
|
|
|
+ applyUserName: '',
|
|
|
+ companyAddress: '',
|
|
|
+ companyBankAccount: '',
|
|
|
+ companyUsc: '',
|
|
|
+ expectInvoiceDate: '',
|
|
|
+ companyBankBranchNo: '',
|
|
|
+ companyName: '',
|
|
|
+ receiverAddress: '',
|
|
|
+ receiverName: '',
|
|
|
+ receiverTel: '',
|
|
|
+ companyTel: '',
|
|
|
+ detailList: [],
|
|
|
+ drawerId: '',
|
|
|
+ drawerName: '',
|
|
|
+ files: [],
|
|
|
+ invoiceStatus: '',
|
|
|
+ link: [],
|
|
|
+ remark: '',
|
|
|
+ settlementAccountId: '',
|
|
|
+ settlementAccountName: '',
|
|
|
+ type: ''
|
|
|
+ },
|
|
|
+ feeTypeList: [],
|
|
|
+ accountingSubjectList: [],
|
|
|
+ deptList: [],
|
|
|
+ deptTreeList: [],
|
|
|
+ rules: {
|
|
|
+ applyDeptId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
+ applyUserId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
+ accountingSubjectId: {
|
|
|
+ required: true,
|
|
|
+ message: '请选择',
|
|
|
+ trigger: 'change'
|
|
|
+ },
|
|
|
+ feeTypeId: { required: true, message: '请选择', trigger: 'change' },
|
|
|
+ amount: { required: true, message: '请输入', trigger: 'blur' },
|
|
|
+ companyName: { required: true, message: '请输入', trigger: 'blur' },
|
|
|
+ type: { required: true, message: '请选择', trigger: 'change' },
|
|
|
+ sourceType: { required: true, message: '请选择', trigger: 'change' }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {},
|
|
|
+ methods: {
|
|
|
+ //从发票管理新增发票初始化
|
|
|
+ async init(row = {}, type) {
|
|
|
+ this.title = type == 'add' ? '新增' : '修改';
|
|
|
+ this.dialogType = type;
|
|
|
+ await this.getClassifyList(24, 'accountingSubjectList');
|
|
|
+ await this.getDeptList();
|
|
|
+ if (type == 'add') {
|
|
|
+ this.form.applyDeptId = this.user.info.groupId;
|
|
|
+ this.form.applyDeptName = this.user.info.groupName;
|
|
|
+ this.form.applyUserId = this.user.info.userId;
|
|
|
+ this.form.applyUserName = this.user.info.name;
|
|
|
+ } else {
|
|
|
+ await this.getInfo(row.id);
|
|
|
+ }
|
|
|
+ this.$nextTick(async () => {
|
|
|
+ await this.getUserList(this.form.applyDeptId);
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- setTimeout(() => {
|
|
|
+ //对账单
|
|
|
+ async handleSelectAccount() {
|
|
|
+ this.accountStatementDialogFlag = true;
|
|
|
+ },
|
|
|
+ getAccountData(tableInfo) {
|
|
|
+ this.form.sourceId = tableInfo?.children?.id;
|
|
|
+ this.form.sourceCode = tableInfo?.statementNo
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.table.getAccountData(tableInfo);
|
|
|
});
|
|
|
- }, 400);
|
|
|
- },
|
|
|
- //获取详情
|
|
|
- async getInfo(id) {
|
|
|
- this.form = await invoiceApplyInfoAPI(id);
|
|
|
- },
|
|
|
+ },
|
|
|
+ //从其他来源新增发票初始化
|
|
|
+ createInvoice(
|
|
|
+ row = {},
|
|
|
+ invoiceType,
|
|
|
+ tableInfo = {},
|
|
|
+ isOtherSourceFlag = true,
|
|
|
+ dialogType = 'add'
|
|
|
+ ) {
|
|
|
+ this.form.type = invoiceType;
|
|
|
+ this.isOtherSourceFlag = isOtherSourceFlag;
|
|
|
+ this.dialogType = dialogType;
|
|
|
+ this.init(row, dialogType);
|
|
|
|
|
|
- //获取分类管理中的数据
|
|
|
- async getClassifyList(id, listName) {
|
|
|
- let res = await getTreeByPid(id);
|
|
|
- this[listName] = res.data;
|
|
|
- },
|
|
|
- //获取费用类别选中数据
|
|
|
- changeFeeTypeInfo(val) {
|
|
|
- if (!val) {
|
|
|
- this.form.feeTypeName = '';
|
|
|
- this.form.feeTypeCode = '';
|
|
|
- }
|
|
|
- let data = this.$refs.feeTypeTree?.$refs?.tree?.getCurrentNode() || {};
|
|
|
- this.form.feeTypeName = data.name;
|
|
|
- this.form.feeTypeCode = data.code;
|
|
|
- },
|
|
|
- //获取会计科目选中数据
|
|
|
- changeSubjectInfo(val) {
|
|
|
- if (!val) return (this.form.accountingSubjectName = '');
|
|
|
- let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {};
|
|
|
- this.form.accountingSubjectName = data.name;
|
|
|
- },
|
|
|
- // 获取部门数据
|
|
|
- getDeptList() {
|
|
|
- listOrganizations().then((list) => {
|
|
|
- this.deptList = list;
|
|
|
- this.deptTreeList = this.$util.toTreeData({
|
|
|
- data: list,
|
|
|
- idField: 'id',
|
|
|
- parentIdField: 'parentId'
|
|
|
+ setTimeout(() => {}, 400);
|
|
|
+ },
|
|
|
+ //获取详情
|
|
|
+ async getInfo(id) {
|
|
|
+ this.form = await invoiceApplyInfoAPI(id);
|
|
|
+ },
|
|
|
+
|
|
|
+ //获取分类管理中的数据
|
|
|
+ async getClassifyList(id, listName) {
|
|
|
+ let res = await getTreeByPid(id);
|
|
|
+ this[listName] = res.data;
|
|
|
+ },
|
|
|
+ //获取费用类别选中数据
|
|
|
+ changeFeeTypeInfo(val) {
|
|
|
+ if (!val) {
|
|
|
+ this.form.feeTypeName = '';
|
|
|
+ this.form.feeTypeCode = '';
|
|
|
+ }
|
|
|
+ let data = this.$refs.feeTypeTree?.$refs?.tree?.getCurrentNode() || {};
|
|
|
+ this.form.feeTypeName = data.name;
|
|
|
+ this.form.feeTypeCode = data.code;
|
|
|
+ },
|
|
|
+ //获取会计科目选中数据
|
|
|
+ changeSubjectInfo(val) {
|
|
|
+ if (!val) return (this.form.accountingSubjectName = '');
|
|
|
+ let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {};
|
|
|
+ this.form.accountingSubjectName = data.name;
|
|
|
+ },
|
|
|
+ // 获取部门数据
|
|
|
+ getDeptList() {
|
|
|
+ listOrganizations().then((list) => {
|
|
|
+ this.deptList = list;
|
|
|
+ this.deptTreeList = this.$util.toTreeData({
|
|
|
+ data: list,
|
|
|
+ idField: 'id',
|
|
|
+ parentIdField: 'parentId'
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
- },
|
|
|
- // 选择负责人部门
|
|
|
- changeDeptInfo(id) {
|
|
|
- const info = this.deptList.find((e) => e.id == id) || {};
|
|
|
- this.form.applyDeptName = info.name;
|
|
|
- this.form.applyUserId = '';
|
|
|
- this.form.applyUserName = '';
|
|
|
- this.getUserList(id);
|
|
|
- },
|
|
|
- // 获取人员数据
|
|
|
- getUserList(deptId) {
|
|
|
- if (deptId) {
|
|
|
- this.$refs.directorRef.getList({ deptId });
|
|
|
- }
|
|
|
- },
|
|
|
- //选择人员数据
|
|
|
- changeUserInfo(val, info) {
|
|
|
- this.form.applyUserName = info.name;
|
|
|
- },
|
|
|
- //选择人员数据
|
|
|
- changDrawerName(val, info) {
|
|
|
- this.form.drawerName = info.name;
|
|
|
- },
|
|
|
- //
|
|
|
- handleSelType(val) {
|
|
|
- this.$refs.table.clearTable();
|
|
|
- },
|
|
|
- setPrice(val) {
|
|
|
- this.form.amount = val;
|
|
|
- },
|
|
|
- //
|
|
|
- handleSave(flag) {
|
|
|
- this.$refs.form.validate(async (valid) => {
|
|
|
- if (!valid) return this.$message.warning('有必填项未填,请检查');
|
|
|
- let tableData = await this.$refs.table.getTableValidate();
|
|
|
- this.form.link = tableData.link;
|
|
|
- this.form.detailList = tableData.detailList;
|
|
|
- const API =
|
|
|
- this.dialogType == 'add'
|
|
|
- ? invoiceApplySaveAPI
|
|
|
- : invoiceApplyUpdateAPI;
|
|
|
- const id = await API(this.form);
|
|
|
- if (flag) {
|
|
|
- await this.handleSub(id);
|
|
|
- return
|
|
|
+ },
|
|
|
+ // 选择负责人部门
|
|
|
+ changeDeptInfo(id) {
|
|
|
+ const info = this.deptList.find((e) => e.id == id) || {};
|
|
|
+ this.form.applyDeptName = info.name;
|
|
|
+ this.form.applyUserId = '';
|
|
|
+ this.form.applyUserName = '';
|
|
|
+ this.getUserList(id);
|
|
|
+ },
|
|
|
+ // 获取人员数据
|
|
|
+ getUserList(deptId) {
|
|
|
+ if (deptId) {
|
|
|
+ this.$refs.directorRef.getList({ deptId });
|
|
|
}
|
|
|
- this.$message.success('操作成功');
|
|
|
+ },
|
|
|
+ //选择人员数据
|
|
|
+ changeUserInfo(val, info) {
|
|
|
+ this.form.applyUserName = info.name;
|
|
|
+ },
|
|
|
+ //选择人员数据
|
|
|
+ changDrawerName(val, info) {
|
|
|
+ this.form.drawerName = info.name;
|
|
|
+ },
|
|
|
+ //
|
|
|
+ handleSelType(val) {
|
|
|
+ this.form.sourceId = ''
|
|
|
+ this.form.sourceCode = ''
|
|
|
+ this.$refs.table.clearTable();
|
|
|
+ },
|
|
|
+ setPrice(val) {
|
|
|
+ this.form.amount = val;
|
|
|
+ },
|
|
|
+ //
|
|
|
+ handleSave(flag) {
|
|
|
+ this.$refs.form.validate(async (valid) => {
|
|
|
+ if (!valid) return this.$message.warning('有必填项未填,请检查');
|
|
|
+ let tableData = await this.$refs.table.getTableValidate();
|
|
|
+ this.form.link = tableData.link;
|
|
|
+ this.form.detailList = tableData.detailList;
|
|
|
+ const API =
|
|
|
+ this.dialogType == 'add'
|
|
|
+ ? invoiceApplySaveAPI
|
|
|
+ : invoiceApplyUpdateAPI;
|
|
|
+ const id = await API(this.form);
|
|
|
+ if (flag) {
|
|
|
+ await this.handleSub(id);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.done();
|
|
|
+ this.cancel();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //提交-开启流程
|
|
|
+ async handleSub(id = '') {
|
|
|
+ let data = await invoiceApplyInfoAPI(id);
|
|
|
+ this.processSubmitDialogFlag = true;
|
|
|
+ let key =
|
|
|
+ data.type == 1 ? 'fin_invoice_apply' : 'fin_invoice_receive_apply';
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let params = {
|
|
|
+ businessId: data.id,
|
|
|
+ businessKey: key,
|
|
|
+ formCreateUserId: data.createUserId,
|
|
|
+ variables: {
|
|
|
+ type: data.type,
|
|
|
+ businessCode: data.code
|
|
|
+ }
|
|
|
+ // callBackMethodType : '1',
|
|
|
+ // callBackMethod : 'proTargetPlanApproveApiImpl.updatePlanApprovalStatus',
|
|
|
+ // pcHandle : '/bpm/handleTask/components/project-manage/plan-manage/submit.vue',
|
|
|
+ // pcView : '/bpm/handleTask/components/project-manage/plan-manage/detailDialog.vue',
|
|
|
+ // miniHandle : '',
|
|
|
+ // miniView : '',
|
|
|
+ };
|
|
|
+ this.$refs.processSubmitDialogRef.init(params);
|
|
|
+ });
|
|
|
+ // try {
|
|
|
+ // await invoiceApplySubmit({
|
|
|
+ // businessId: id || this.form.id,
|
|
|
+ // type: this.form.type
|
|
|
+ // });
|
|
|
+ // } catch (e) {
|
|
|
+ // this.$message.error(e.message);
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ reload() {
|
|
|
this.done();
|
|
|
this.cancel();
|
|
|
- });
|
|
|
- },
|
|
|
- //提交-开启流程
|
|
|
- async handleSub(id = '') {
|
|
|
- let data = await invoiceApplyInfoAPI(id);
|
|
|
- this.processSubmitDialogFlag = true
|
|
|
- let key = data.type == 1?'fin_invoice_apply':'fin_invoice_receive_apply'
|
|
|
- this.$nextTick(()=>{
|
|
|
- let params = {
|
|
|
- businessId:data.id,
|
|
|
- businessKey : key,
|
|
|
- formCreateUserId: data.createUserId,
|
|
|
- variables:{
|
|
|
- type: data.type,
|
|
|
- businessCode:data.code
|
|
|
- },
|
|
|
- // callBackMethodType : '1',
|
|
|
- // callBackMethod : 'proTargetPlanApproveApiImpl.updatePlanApprovalStatus',
|
|
|
- // pcHandle : '/bpm/handleTask/components/project-manage/plan-manage/submit.vue',
|
|
|
- // pcView : '/bpm/handleTask/components/project-manage/plan-manage/detailDialog.vue',
|
|
|
- // miniHandle : '',
|
|
|
- // miniView : '',
|
|
|
- }
|
|
|
- this.$refs.processSubmitDialogRef.init(params)
|
|
|
- })
|
|
|
- // try {
|
|
|
- // await invoiceApplySubmit({
|
|
|
- // businessId: id || this.form.id,
|
|
|
- // type: this.form.type
|
|
|
- // });
|
|
|
- // } catch (e) {
|
|
|
- // this.$message.error(e.message);
|
|
|
- // }
|
|
|
- },
|
|
|
- reload(){
|
|
|
- this.done()
|
|
|
- this.cancel()
|
|
|
- },
|
|
|
- //刷新主列表数据
|
|
|
- done() {
|
|
|
- this.$emit('reload');
|
|
|
- },
|
|
|
- //关闭弹窗
|
|
|
- cancel() {
|
|
|
- this.$emit('update:addOrEditDialogFlag', false);
|
|
|
+ },
|
|
|
+ //刷新主列表数据
|
|
|
+ done() {
|
|
|
+ this.$emit('reload');
|
|
|
+ },
|
|
|
+ //关闭弹窗
|
|
|
+ cancel() {
|
|
|
+ this.$emit('update:addOrEditDialogFlag', false);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
+ };
|
|
|
</script>
|
|
|
-<style scoped lang="scss">
|
|
|
-</style>
|
|
|
+<style scoped lang="scss"></style>
|