|
|
@@ -28,36 +28,33 @@
|
|
|
<headerTitle title="基本信息"></headerTitle>
|
|
|
<el-row :gutter="12">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="应收日期"
|
|
|
- prop="receivableDate"
|
|
|
- >
|
|
|
+ <el-form-item label="应收日期" prop="receivableDate">
|
|
|
<el-date-picker
|
|
|
style="width: 100%"
|
|
|
v-model="form.receivableDate"
|
|
|
disabled
|
|
|
type="date"
|
|
|
- value-format="yyyy-MM-dd">
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ >
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="应收金额"
|
|
|
- prop="receivableTotalPrice"
|
|
|
- >
|
|
|
- <el-input-number disabled v-model="form.receivableTotalPrice" :precision="2" :controls="false"
|
|
|
- style="width: 100%"
|
|
|
- :min="0"></el-input-number>
|
|
|
+ <el-form-item label="应收金额" prop="receivableTotalPrice">
|
|
|
+ <el-input-number
|
|
|
+ disabled
|
|
|
+ v-model="form.receivableTotalPrice"
|
|
|
+ :precision="2"
|
|
|
+ :controls="false"
|
|
|
+ style="width: 100%"
|
|
|
+ :min="0"
|
|
|
+ ></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="12">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="会计科目"
|
|
|
- prop="accountingSubjectId"
|
|
|
- >
|
|
|
+ <el-form-item label="会计科目" prop="accountingSubjectId">
|
|
|
<ele-tree-select
|
|
|
disabled
|
|
|
clearable
|
|
|
@@ -74,62 +71,64 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="发票编码"
|
|
|
- prop="invoiceCode"
|
|
|
- >
|
|
|
+ <el-form-item label="发票编码" prop="invoiceCode">
|
|
|
<el-input disabled v-model="form.invoiceCode"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
-
|
|
|
</el-row>
|
|
|
<el-row :gutter="12">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="来源类型"
|
|
|
- prop="sourceType"
|
|
|
- >
|
|
|
- <el-input :value="form.sourceType==2?'合同':form.sourceType==3?'销售订单':'对账单'" disabled></el-input>
|
|
|
+ <el-form-item label="来源类型" prop="sourceType">
|
|
|
+ <el-input
|
|
|
+ :value="
|
|
|
+ form.sourceType == 2
|
|
|
+ ? '合同'
|
|
|
+ : form.sourceType == 3
|
|
|
+ ? '销售订单'
|
|
|
+ : form.sourceType == 4
|
|
|
+ ? '售后管理'
|
|
|
+ : '对账单'
|
|
|
+ "
|
|
|
+ disabled
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="来源编码"
|
|
|
- prop="sourceCode"
|
|
|
- >
|
|
|
+ <el-form-item label="来源编码" prop="sourceCode">
|
|
|
<el-input v-model="form.sourceCode" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="公司名称"
|
|
|
- prop="contactName"
|
|
|
- >
|
|
|
+ <el-form-item label="公司名称" prop="contactName">
|
|
|
<el-input disabled v-model="form.contactName"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="备注"
|
|
|
- prop="remark"
|
|
|
- >
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
<el-input disabled v-model="form.remark"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="附件">
|
|
|
<fileMain v-model="form.files" type="view"></fileMain>
|
|
|
-
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<headerTitle title="收款信息"></headerTitle>
|
|
|
- <info-table ref="feeRelatedInfoTable" @invoiceChange="init" dialog-type="view" v-if="form.id" :form.sync="form"></info-table>
|
|
|
+ <info-table
|
|
|
+ ref="feeRelatedInfoTable"
|
|
|
+ @invoiceChange="init"
|
|
|
+ dialog-type="view"
|
|
|
+ v-if="form.id"
|
|
|
+ :form.sync="form"
|
|
|
+ ></info-table>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- <bpmDetail v-if="activeComp === 'bpm' && form.processInstanceId" :id="form.processInstanceId"></bpmDetail>
|
|
|
+ <bpmDetail
|
|
|
+ v-if="activeComp === 'bpm' && form.processInstanceId"
|
|
|
+ :id="form.processInstanceId"
|
|
|
+ ></bpmDetail>
|
|
|
<div slot="footer">
|
|
|
<el-button @click="cancel">返回</el-button>
|
|
|
</div>
|
|
|
@@ -137,113 +136,120 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {getFile} from '@/api/system/file';
|
|
|
-import dictMixins from '@/mixins/dictMixins';
|
|
|
-// import fileMain from '@/components/addDoc/index.vue';
|
|
|
-
|
|
|
-import {getFinReceivableInfoAPI} from "@/api/financialManage/receivableManage";
|
|
|
-import {getTreeByPid} from "@/api/classifyManage";
|
|
|
-import infoTable from "@/views/financialManage/receivableManage/components/infoTable.vue";
|
|
|
-import bpmDetail from "@/views/bpm/processInstance/detail.vue";
|
|
|
-import tableInfo from "@/views/financialManage/invoiceManage/components/tableInfo.vue";
|
|
|
+ import { getFile } from '@/api/system/file';
|
|
|
+ import dictMixins from '@/mixins/dictMixins';
|
|
|
+ // import fileMain from '@/components/addDoc/index.vue';
|
|
|
|
|
|
-export default {
|
|
|
- mixins: [dictMixins],
|
|
|
- components: {
|
|
|
- tableInfo, bpmDetail,
|
|
|
- infoTable,
|
|
|
- // fileMain
|
|
|
- },
|
|
|
+ import { getFinReceivableInfoAPI } from '@/api/financialManage/receivableManage';
|
|
|
+ import { getTreeByPid } from '@/api/classifyManage';
|
|
|
+ import infoTable from '@/views/financialManage/receivableManage/components/infoTable.vue';
|
|
|
+ import bpmDetail from '@/views/bpm/processInstance/detail.vue';
|
|
|
+ import tableInfo from '@/views/financialManage/invoiceManage/components/tableInfo.vue';
|
|
|
|
|
|
- data() {
|
|
|
- return {
|
|
|
- activeComp: 'main',
|
|
|
- tabOptions: [
|
|
|
- {key: 'main', name: '收款详情'},
|
|
|
- {key: 'bpm', name: '流程详情'}
|
|
|
- ],
|
|
|
- dialogType: '',
|
|
|
- form: {
|
|
|
- accountingSubjectCode: "",
|
|
|
- accountingSubjectId: '',
|
|
|
- accountingSubjectName: "",
|
|
|
- contactId: '',
|
|
|
- contactName: "",
|
|
|
- files: [],
|
|
|
- id: '',
|
|
|
- invoiceCode: "",
|
|
|
- receivableDate: "",
|
|
|
- receivableTotalPrice: '',
|
|
|
- receivedTotalPrice: '',
|
|
|
- remark: "",
|
|
|
- sourceCode: "",
|
|
|
- sourceId: "",
|
|
|
- sourceType: '',
|
|
|
- unreceiveTotalPrice: 0
|
|
|
- },
|
|
|
- accountingSubjectList: [],
|
|
|
- rules: {
|
|
|
- accountingSubjectId: {required: true, message: '请选择', trigger: 'change'},
|
|
|
- receivableDate: {required: true, message: '请选择', trigger: 'change'},
|
|
|
- }
|
|
|
- };
|
|
|
- },
|
|
|
- props: {
|
|
|
- detailDialogFlag: {
|
|
|
- type: Boolean,
|
|
|
- default: false,
|
|
|
+ export default {
|
|
|
+ mixins: [dictMixins],
|
|
|
+ components: {
|
|
|
+ tableInfo,
|
|
|
+ bpmDetail,
|
|
|
+ infoTable
|
|
|
+ // fileMain
|
|
|
},
|
|
|
- },
|
|
|
- async created() {
|
|
|
|
|
|
- },
|
|
|
- methods: {
|
|
|
- //获取详情
|
|
|
- async init(id) {
|
|
|
- await this.getClassifyList(24, 'accountingSubjectList')
|
|
|
- this.form = await getFinReceivableInfoAPI(id)
|
|
|
- this.$nextTick(()=>{
|
|
|
- this.$refs.feeRelatedInfoTable.init()
|
|
|
- })
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeComp: 'main',
|
|
|
+ tabOptions: [
|
|
|
+ { key: 'main', name: '收款详情' },
|
|
|
+ { key: 'bpm', name: '流程详情' }
|
|
|
+ ],
|
|
|
+ dialogType: '',
|
|
|
+ form: {
|
|
|
+ accountingSubjectCode: '',
|
|
|
+ accountingSubjectId: '',
|
|
|
+ accountingSubjectName: '',
|
|
|
+ contactId: '',
|
|
|
+ contactName: '',
|
|
|
+ files: [],
|
|
|
+ id: '',
|
|
|
+ invoiceCode: '',
|
|
|
+ receivableDate: '',
|
|
|
+ receivableTotalPrice: '',
|
|
|
+ receivedTotalPrice: '',
|
|
|
+ remark: '',
|
|
|
+ sourceCode: '',
|
|
|
+ sourceId: '',
|
|
|
+ sourceType: '',
|
|
|
+ unreceiveTotalPrice: 0
|
|
|
+ },
|
|
|
+ accountingSubjectList: [],
|
|
|
+ rules: {
|
|
|
+ accountingSubjectId: {
|
|
|
+ required: true,
|
|
|
+ message: '请选择',
|
|
|
+ trigger: 'change'
|
|
|
+ },
|
|
|
+ receivableDate: {
|
|
|
+ required: true,
|
|
|
+ message: '请选择',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
},
|
|
|
- downloadFile(file) {
|
|
|
- getFile({objectName: file.storePath}, file.name);
|
|
|
+ props: {
|
|
|
+ detailDialogFlag: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ }
|
|
|
},
|
|
|
+ async created() {},
|
|
|
+ methods: {
|
|
|
+ //获取详情
|
|
|
+ async init(id) {
|
|
|
+ await this.getClassifyList(24, 'accountingSubjectList');
|
|
|
+ this.form = await getFinReceivableInfoAPI(id);
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.feeRelatedInfoTable.init();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ downloadFile(file) {
|
|
|
+ getFile({ objectName: file.storePath }, file.name);
|
|
|
+ },
|
|
|
|
|
|
- //获取分类管理中的数据
|
|
|
- async getClassifyList(id, listName) {
|
|
|
- let res = await getTreeByPid(id)
|
|
|
- this[listName] = res.data
|
|
|
- },
|
|
|
- //获取会计科目选中数据
|
|
|
- changeSubjectInfo(val) {
|
|
|
- if (!val) return this.form.accountingSubjectName = ''
|
|
|
- let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {}
|
|
|
- this.form.accountingSubjectName = data.name
|
|
|
- },
|
|
|
- cancel() {
|
|
|
- this.$emit('update:detailDialogFlag', false)
|
|
|
+ //获取分类管理中的数据
|
|
|
+ async getClassifyList(id, listName) {
|
|
|
+ let res = await getTreeByPid(id);
|
|
|
+ this[listName] = res.data;
|
|
|
+ },
|
|
|
+ //获取会计科目选中数据
|
|
|
+ changeSubjectInfo(val) {
|
|
|
+ if (!val) return (this.form.accountingSubjectName = '');
|
|
|
+ let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {};
|
|
|
+ this.form.accountingSubjectName = data.name;
|
|
|
+ },
|
|
|
+ cancel() {
|
|
|
+ this.$emit('update:detailDialogFlag', false);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-.ele-dialog-form {
|
|
|
- .el-form-item {
|
|
|
- margin-bottom: 10px;
|
|
|
+ .ele-dialog-form {
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-.headbox {
|
|
|
- display: flex;
|
|
|
- justify-content: flex-start;
|
|
|
- align-items: center;
|
|
|
+ .headbox {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
|
|
|
- .amount {
|
|
|
- font-size: 14px;
|
|
|
- font-weight: bold;
|
|
|
- margin-right: 20px;
|
|
|
+ .amount {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
</style>
|