新增凭证选择组件

main
mo 1 year ago
parent 059486a095
commit 1480adf506

@ -0,0 +1,178 @@
<template>
<el-dialog
title="凭证选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal="false"
width="80%"
center
>
<el-table
v-loading="loading"
:data="accountList"
@current-change="handleCurrent"
@row-dblclick="handleRowDbClick"
>
<el-table-column width="50" align="center">
<template v-slot="scope">
<el-radio
v-model="selectedVoucherId"
:label="scope.row.id"
@change="handleRowChange(scope.row)"
>{{ "" }}</el-radio
>
</template>
</el-table-column>
<el-table-column label="凭证号" align="center" prop="voucherNum" />
<el-table-column label="凭证日期" align="center" prop="voucherTime" />
<el-table-column label="摘要" align="center" prop="digest" />
<el-table-column label="会计年份" align="center" prop="year" />
<el-table-column label="会计月份" align="center" prop="period" />
<el-table-column label="纸档位置" align="center" prop="position" />
<el-table-column label="审核人" align="center" prop="audit" />
<el-table-column label="制单人" align="center" prop="createBy" />
<el-table-column label="凭证类型" align="center" prop="type">
<template v-slot="scope">
<dict-tag
:type="DICT_TYPE.ACCOUNTING_VOUCHER_TYPE"
:value="scope.row.type"
/>
</template>
</el-table-column>
<el-table-column label="完整性" align="center" prop="cherks">
<template v-slot="scope">
<dict-tag
:type="DICT_TYPE.ACCOUNTING_FILE_STATUS"
:value="scope.row.cherks"
/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect"> </el-button>
<el-button @click="showFlag = false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getVoucherPage } from "@/api/accounting/voucher";
export default {
name: "VoucherSelect",
data() {
return {
showFlag: false,
selectedVoucherId: undefined,
selectedRow: undefined,
//
loading: true,
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
accountList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
companyId: null,
company: null,
frequency: null,
fileType: null,
year: null,
period: null,
vouNum: null,
caseNum: null,
catalogNum: null,
filesNum: null,
site: null,
flowId: null,
createTime: [],
status: null,
note: null,
fileStatus: null,
borrowStatus: null,
identifyStatus: null,
remark: null,
recordTime: [],
deptId: null,
deptName: null,
},
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
getVoucherPage(this.queryParams).then((response) => {
this.accountList = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleCurrent(row) {
if (row) {
this.selectedRow = row;
}
},
//
handleRowDbClick(row) {
if (row) {
this.selectedRow = row;
this.$emit("onSelected", this.selectedRow);
this.showFlag = false;
}
},
//
handleRowChange(row) {
if (row) {
this.selectedRow = row;
}
},
//
confirmSelect() {
if (this.selectedVoucherId == null || this.selectedVoucherId == 0) {
this.$notify({
title: "提示",
type: "warning",
message: "请至少选择一条数据!",
});
return;
}
this.$emit("onSelected", this.selectedRow);
this.showFlag = false;
},
},
};
</script>

@ -132,13 +132,32 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="条目顺序号" prop="lineNum">
<el-input v-model="form.lineNum" placeholder="请输入条目顺序号" />
<el-form-item label="凭证号" prop="voucherNum">
<el-input
v-model="form.voucherNum"
placeholder="请选择凭证"
readonly
>
<el-button
slot="append"
@click="handleSelectVoucher"
icon="el-icon-search"
style="
border-color: #46a6ff;
background-color: #46a6ff;
color: white;
"
></el-button>
</el-input>
<VoucherSelect
ref="VoucherSelect"
@onSelected="onVoucherSelected"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="摘要" prop="digest">
<el-input v-model="form.digest" placeholder="请输入摘要" />
<el-form-item label="条目顺序号" prop="lineNum">
<el-input v-model="form.lineNum" placeholder="请输入条目顺序号" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -186,8 +205,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="凭证号" prop="voucherNum">
<el-input v-model="form.voucherNum" placeholder="请输入凭证号" />
<el-form-item label="摘要" prop="digest">
<el-input v-model="form.digest" placeholder="请输入摘要" />
</el-form-item>
</el-col>
</el-row>
@ -209,10 +228,11 @@ import {
getVoucherDetailsPage,
exportVoucherDetailsExcel,
} from "@/api/accounting/voucherDetails";
import VoucherSelect from "@/components/VoucherSelect/single.vue";
export default {
name: "VoucherDetails",
components: {},
components: { VoucherSelect },
data() {
return {
//
@ -387,6 +407,15 @@ export default {
})
.catch(() => {});
},
handleSelectVoucher() {
this.$refs.VoucherSelect.showFlag = true;
},
onVoucherSelected(obj) {
console.log(obj);
if (obj != undefined && obj != null) {
this.form.voucherNum = obj.voucherNum;
}
},
},
};
</script>

Loading…
Cancel
Save