Merge remote-tracking branch 'origin/dev_JLMY' into dev_JLMY
¶Ô±ÈÐÂÎļþ |
| | |
| | | // å¼ç¥¨å°è´¦é¡µé¢æ¥å£ |
| | | import request from '@/utils/request' |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function invoiceLedgerList(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/page', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // æ°å¢ |
| | | export function invoiceLedgerSaveOrUpdate(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/saveOrUpdate', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // å¼ç¥¨å°è´¦å é¤ |
| | | export function invoiceLedgerDel(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/del', |
| | | method: 'delete', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // 详æ
æ¥è¯¢ |
| | | export function invoiceLedgerDetail(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/info', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // éä»¶æäº¤ |
| | | export function commitFile(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/commitFile', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // å¼ç¥¨å°è´¦é¨å乿¥è¯¢ |
| | | export function invoiceLedgerListNoPage(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/list', |
| | | method: 'get', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function invoiceLedgerSalesAccount(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/salesAccount', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 产åå¼ç¥¨è®°å½å页æ¥è¯¢ |
| | | export function registrationProductPage(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/registrationProductPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 产åå¼ç¥¨è¯¦æ
æ¥è¯¢ |
| | | export function invoiceLedgerProductInfo(query) { |
| | | return request({ |
| | | url: '/invoiceLedger/invoiceLedgerProductInfo', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function delInvoiceLedgerByRegProductId(invoiceRegistrationProductId) { |
| | | return request({ |
| | | url: '/invoiceLedger/delInvoiceLedger/'+ invoiceRegistrationProductId, |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // éå®å°è´¦é¡µé¢æ¥å£ |
| | | import request from '@/utils/request' |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function invoiceRegistrationList(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/listPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | // å¼ç¥¨ç»è®°æ°å¢ |
| | | export function invoiceRegistrationSave(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/save', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | // å¼ç¥¨ç»è®°å é¤ |
| | | export function invoiceRegistrationDel(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/del', |
| | | method: 'delete', |
| | | data: query |
| | | }) |
| | | } |
| | | // åè¡¨æ ¼æ¥è¯¢ |
| | | export function productList(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/productList', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // å¼ç¥¨ç»è®°è¯¦æ
|
| | | export function invoiceRegistrationDetail(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/detail', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 导åºå¼ç¥¨ç»è®° |
| | | export function invoiceRegistrationExport(query) { |
| | | return request({ |
| | | url: '/invoiceRegistration/export', |
| | | method: 'get', |
| | | params: query, |
| | | responseType: 'blob' |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // å¼ç¥¨ç»è®°é¡µé¢æ¥å£ |
| | | import request from '@/utils/request' |
| | | |
| | | // æ°å¢/ä¿®æ¹ |
| | | export function receiptPaymentSaveOrUpdate(query) { |
| | | return request({ |
| | | url: '/receiptPayment/saveOrUpdate', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // 客æ·å¾æ¥è®°å½æ¥è¯¢ |
| | | export function customerInteractions(query) { |
| | | return request({ |
| | | url: '/receiptPayment/customerInteractions', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 详æ
|
| | | export function receiptPaymentInfo(query) { |
| | | return request({ |
| | | url: '/receiptPayment/info', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function receiptPaymentDel(query) { |
| | | return request({ |
| | | url: '/receiptPayment/del', |
| | | method: 'delete', |
| | | data: query |
| | | }) |
| | | } |
| | | |
| | | // æ¥è¯¢å·²ç»ç»å®å票çå¼ç¥¨å°è´¦ |
| | | export function bindInvoiceNoRegPage(query) { |
| | | return request({ |
| | | url: '/receiptPayment/bindInvoiceNoRegPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // å¼ç¥¨å°è´¦è¯¦æ
|
| | | export function invoiceInfo(query) { |
| | | return request({ |
| | | url: '/receiptPayment/invoiceInfo', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // è¯¢åæ¬¾è®°å½ |
| | | export function receiptPaymentHistoryList(query) { |
| | | return request({ |
| | | url: '/receiptPayment/receiptPaymentHistoryList', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å款记å½å页æ¥è¯¢ |
| | | */ |
| | | export function receiptPaymentHistoryListPage(query) { |
| | | return request({ |
| | | url: '/receiptPayment/receiptPaymentHistoryListPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function receiptPaymentHistoryListNoPage(query) { |
| | | return request({ |
| | | url: '/receiptPayment/receiptPaymentHistoryListNoPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // éå®å°è´¦é¡µé¢æ¥å£ |
| | | import request from "@/utils/request"; |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function ledgerList(query) { |
| | | return request({ |
| | | url: "/sales/ledger/list", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // åè¡¨æ ¼æ¥è¯¢ |
| | | export function productList(query) { |
| | | return request({ |
| | | url: "/sales/product/list", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ¥è¯¢å®¢æ·åç§°å表 |
| | | export function customerList(query) { |
| | | return request({ |
| | | url: "/basic/customer/customerList", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // æ°å¢ãä¿®æ¹éå®å°è´¦ |
| | | export function addOrUpdateSalesLedger(query) { |
| | | return request({ |
| | | url: "/sales/ledger/addOrUpdateSalesLedger", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // å é¤éå®å°è´¦ |
| | | export function delLedger(query) { |
| | | return request({ |
| | | url: "/sales/ledger/delLedger", |
| | | method: "delete", |
| | | data: query, |
| | | }); |
| | | } |
| | | // æ¥è¯¢éå®å°è´¦è¯¦æ
|
| | | export function getSalesLedgerWithProducts(query) { |
| | | return request({ |
| | | url: "/sales/ledger/getSalesLedgerWithProducts", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | // 宿¶ä¿®æ¹äº§åä¿¡æ¯ |
| | | export function addOrUpdateSalesLedgerProduct(query) { |
| | | return request({ |
| | | url: "/sales/product/addOrUpdateSalesLedgerProduct", |
| | | method: "post", |
| | | data: query, |
| | | }); |
| | | } |
| | | // å é¤äº§å |
| | | export function delProduct(query) { |
| | | return request({ |
| | | url: "/sales/product/delProduct", |
| | | method: "delete", |
| | | data: query, |
| | | }); |
| | | } |
| | | // ä¸ä¼ éä»¶ |
| | | export function upload(query) { |
| | | return request({ |
| | | url: "/file/upload", |
| | | method: "post", |
| | | data: query, |
| | | responseType: "blob", |
| | | }); |
| | | } |
| | | // ç¼è¾æ¶å é¤éä»¶ |
| | | export function delLedgerFile(query) { |
| | | return request({ |
| | | url: "/sales/ledger/delLedgerFile", |
| | | method: "delete", |
| | | data: query, |
| | | }); |
| | | } |
| | | |
| | | // éå®ä¸å页æ¥è¯¢ |
| | | export function ledgerListNoPage(query) { |
| | | return request({ |
| | | url: "/sales/ledger/listNoPage", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function ledgerListPage(query) { |
| | | return request({ |
| | | url: "/sales/ledger/listPage", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // æ ¹æ®éå®ååå·æ¥äº§åä¿¡æ¯ |
| | | export function getProductInfoByContractNo(query) { |
| | | return request({ |
| | | url: "/purchase/ledger/getProductBySalesNo", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="searchForm" :inline="true"> |
| | | <el-form-item label="客æ·åç§°"> |
| | | <el-input |
| | | v-model="searchForm.customer" |
| | | placeholder="è¾å
¥å®¢æ·åç§°æç´¢" |
| | | @change="handleQuery" |
| | | clearable |
| | | :prefix-icon="Search" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="ç
¤ç§"> |
| | | <el-input |
| | | v-model="searchForm.coal" |
| | | placeholder="è¾å
¥ç
¤ç§" |
| | | @change="handleQuery" |
| | | clearable |
| | | :prefix-icon="Search" |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="项ç®åç§°"> |
| | | <el-input |
| | | v-model="searchForm.projectName" |
| | | placeholder="è¾å
¥é¡¹ç®åç§°" |
| | | @change="handleQuery" |
| | | clearable |
| | | :prefix-icon="Search" |
| | | /> |
| | | </el-form-item> --> |
| | | <el-form-item label="åºæ¶æ¥æ"> |
| | | <el-date-picker |
| | | v-model="searchForm.receiptPaymentDate" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | type="daterange" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´" |
| | | clearable |
| | | style="width: 300px" |
| | | @change="changeDateRange" |
| | | @clear="clearRange" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="handleQuery"> æç´¢ </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="table_list"> |
| | | <PIMTable |
| | | rowKey="id" |
| | | :column="tableColumn" |
| | | :tableData="tableData" |
| | | :page="page" |
| | | :isSelection="true" |
| | | :isShowSummary="isShowSummarySon" |
| | | :summaryMethod="summarizeMainTable1" |
| | | :tableLoading="tableLoading" |
| | | :total="page.total" |
| | | @pagination="pagination" |
| | | @selection-change="handleSelectionChange" |
| | | ></PIMTable> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from "vue"; |
| | | import { Search } from "@element-plus/icons-vue"; |
| | | import { receiptPaymentHistoryListPage } from "@/api/salesManagement/receiptPayment.js"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | | import useFormData from "@/hooks/useFormData"; |
| | | import dayjs from "dayjs"; |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | | const tableColumn = ref([ |
| | | { |
| | | label: "客æ·åç§°", |
| | | prop: "customer", |
| | | width:300 |
| | | }, |
| | | { |
| | | label: "ç
¤ç§", |
| | | prop: "coal", |
| | | width:240 |
| | | }, |
| | | { |
| | | label: "åºæ¶æ¥æ", |
| | | prop: "receiptPaymentDate", |
| | | width:300 |
| | | }, |
| | | // { |
| | | // label: "客æ·åç§°", |
| | | // prop: "customerName", |
| | | // width:240 |
| | | // }, |
| | | // { |
| | | // label: "项ç®åç§°", |
| | | // prop: "projectName", |
| | | // width:200 |
| | | // }, |
| | | { |
| | | label: "åºæ¶éé¢ï¼å
ï¼", |
| | | prop: "receiptPaymentAmount", |
| | | width:200, |
| | | formatData: (params) => { |
| | | return params ? parseFloat(params).toFixed(2) : 0; |
| | | }, |
| | | }, |
| | | { |
| | | label: "åºæ¶æ¹å¼", |
| | | prop: "receiptPaymentType", |
| | | width:200, |
| | | dataType: "tag", |
| | | formatData: (params) => { |
| | | if (params == 0) { |
| | | return "çµæ±"; |
| | | } else if (params == 1) { |
| | | return "æ¿å
"; |
| | | } else { |
| | | return null; |
| | | } |
| | | }, |
| | | formatType: (params) => { |
| | | return "info"; |
| | | }, |
| | | }, |
| | | { |
| | | label: "ç»è®°äºº", |
| | | prop: "registrant", |
| | | width:200 |
| | | }, |
| | | { |
| | | label: "ç»è®°æ¥æ", |
| | | prop: "createTime", |
| | | width:300 |
| | | }, |
| | | ]); |
| | | const tableData = ref([]); |
| | | const selectedRows = ref([]); |
| | | const tableLoading = ref(false); |
| | | const page = reactive({ |
| | | current: 1, |
| | | size: 100, |
| | | total: 0, |
| | | }); |
| | | const total = ref(0); |
| | | |
| | | const { form: searchForm } = useFormData({ |
| | | searchText: undefined, |
| | | receiptPaymentDate: [ |
| | | dayjs().startOf("month").format("YYYY-MM-DD"), |
| | | dayjs().endOf("month").format("YYYY-MM-DD"), |
| | | ], |
| | | receiptPaymentDateStart: dayjs() |
| | | .startOf("month") |
| | | .format("YYYY-MM-DD 00:00:00"), |
| | | receiptPaymentDateEnd: dayjs().endOf("month").format("YYYY-MM-DD 23:59:59"), |
| | | customerContractNo: undefined, |
| | | projectName: undefined, |
| | | }); |
| | | const { receipt_payment_type } = proxy.useDict("receipt_payment_type"); |
| | | const isShowSummarySon = ref(true); |
| | | // æ¥è¯¢å表 |
| | | /** æç´¢æé®æä½ */ |
| | | const handleQuery = () => { |
| | | page.current = 1; |
| | | getList(); |
| | | }; |
| | | const pagination = (obj) => { |
| | | page.current = obj.page; |
| | | page.size = obj.limit; |
| | | getList(); |
| | | }; |
| | | const getList = () => { |
| | | tableLoading.value = true; |
| | | const { receiptPaymentDate, ...rest } = searchForm; |
| | | receiptPaymentHistoryListPage({ ...rest, ...page }).then((res) => { |
| | | tableLoading.value = false; |
| | | tableData.value = res.records; |
| | | page.total = res.total; |
| | | }); |
| | | }; |
| | | // å表åè®¡æ¹æ³ |
| | | const summarizeMainTable1 = (param) => { |
| | | return proxy.summarizeTable(param, ["receiptPaymentAmount"], { |
| | | ticketsNum: { noDecimal: true }, // ä¸ä¿çå°æ° |
| | | futureTickets: { noDecimal: true }, // ä¸ä¿çå°æ° |
| | | }); |
| | | }; |
| | | // è¡¨æ ¼éæ©æ°æ® |
| | | const handleSelectionChange = (selection) => { |
| | | selectedRows.value = selection; |
| | | }; |
| | | |
| | | const changeDateRange = (date) => { |
| | | if (date) { |
| | | searchForm.receiptPaymentDateStart = dayjs(date[0]).format( |
| | | "YYYY-MM-DD 00:00:00" |
| | | ); |
| | | searchForm.receiptPaymentDateEnd = dayjs(date[1]).format( |
| | | "YYYY-MM-DD 23:59:59" |
| | | ); |
| | | getList(); |
| | | } |
| | | }; |
| | | |
| | | const clearRange = () => { |
| | | searchForm.receiptPaymentDate = []; |
| | | searchForm.receiptPaymentDateStart = undefined; |
| | | searchForm.receiptPaymentDateEnd = undefined; |
| | | getList(); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getList(); |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .table_list { |
| | | margin-top: unset; |
| | | } |
| | | </style> |
| | |
| | | <el-button @click="closeDia">åæ¶</el-button> |
| | | </div> |
| | | </template> |
| | | <fileUpload |
| | | ref="fileUploadRef" |
| | | :fileSize="1024" |
| | | :fileType="['pdf', 'docx', 'txt', 'xlsx', 'pptx....']" |
| | | :limit="10" |
| | | :drag="false" |
| | | v-model:modelValue="modelValue" |
| | | /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | import {ref} from "vue"; |
| | | import {staffOnJobInfo} from "@/api/personnelManagement/employeeRecord.js"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | | import fileUpload from "@/components/FileUpload/index.vue"; |
| | | const { proxy } = getCurrentInstance() |
| | | const emit = defineEmits(['close']) |
| | | |
| | |
| | | width="50%" |
| | | @close="closeDia" |
| | | > |
| | | <div style="margin-bottom: 10px;text-align: right"> |
| | | <!-- <div style="margin-bottom: 10px;text-align: right"> |
| | | <el-upload |
| | | v-model:file-list="fileList" |
| | | class="upload-demo" |
| | |
| | | > |
| | | <el-button type="primary">ä¸ä¼ éä»¶</el-button> |
| | | </el-upload> |
| | | |
| | | <el-button type="danger" plain @click="handleDelete">å é¤</el-button> |
| | | </div> |
| | | <PIMTable |
| | |
| | | :total="total" |
| | | :page="page.current" |
| | | :limit="page.size" |
| | | /> |
| | | /> --> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button @click="closeDia">åæ¶</el-button> |
| | | </div> |
| | | </template> |
| | | <fileUpload |
| | | ref="fileUploadRef" |
| | | :fileSize="1024" |
| | | :fileType="['pdf', 'docx', 'txt', 'xlsx', 'pptx....']" |
| | | :limit="10" |
| | | :drag="false" |
| | | v-model:modelValue="modelValue" |
| | | /> |
| | | </el-dialog> |
| | | <filePreview ref="filePreviewRef" /> |
| | | </div> |
| | |
| | | fileListPage |
| | | } from "@/api/financialManagement/revenueManagement.js"; |
| | | import Pagination from "@/components/PIMTable/Pagination.vue"; |
| | | import fileUpload from "@/components/FileUpload/index.vue"; |
| | | const { proxy } = getCurrentInstance() |
| | | const emit = defineEmits(['close']) |
| | | |
| | |
| | | const headers = ref({ |
| | | Authorization: "Bearer " + getToken(), |
| | | }); |
| | | const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/file/upload"); // ä¸ä¼ çå¾çæå¡å¨å°å |
| | | // const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/file/upload"); // ä¸ä¼ çå¾çæå¡å¨å°å |
| | | |
| | | // æå¼å¼¹æ¡ |
| | | const openDialog = (row,type) => { |
| | |
| | | </el-tabs> |
| | | <!-- æä½æé®åº --> |
| | | <el-space> |
| | | <el-button type="primary" @click="openForm('add')">æ°å¢åºæ¶</el-button> |
| | | <el-button type="primary" :icon="Plus" @click="openDia(undefined, 'add')">æ°å»º</el-button> |
| | | <el-button type="danger" :icon="Delete" @click="handleDelete">å é¤</el-button> |
| | | <el-button type="info" plain :icon="Download" @click="handleExport">导åº</el-button> |
| | |
| | | /> |
| | | </el-card> |
| | | <form-dia ref="formDia" @closeDia="handleQuery"></form-dia> |
| | | |
| | | <!-- æ°å¢åºæ¶å¼¹çª --> |
| | | <el-dialog |
| | | v-model="dialogFormVisible" |
| | | title="æ°å¢åºæ¶" |
| | | width="70%" |
| | | @close="closeDia" |
| | | > |
| | | <el-form |
| | | :model="former" |
| | | label-width="140px" |
| | | label-position="top" |
| | | :rules="rules" |
| | | ref="formRef" |
| | | > |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客æ·åç§°ï¼" prop="customer"> |
| | | <el-input |
| | | v-model="former.customer" |
| | | placeholder="èªå¨å¡«å
" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç
¤ç§ï¼" prop="coal"> |
| | | <el-input |
| | | v-model="former.coal" |
| | | placeholder="èªå¨å¡«å
" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="é宿»éé¢(å
)ï¼" prop="totalAmount"> |
| | | <el-input |
| | | type="number" |
| | | v-model="former.totalAmount" |
| | | placeholder="èªå¨å¡«å
" |
| | | :step="0.01" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¬æ¬¡åºæ¶éé¢ï¼" prop="receiptPaymentAmount"> |
| | | <el-input-number :step="0.01" :min="0" style="width: 100%" |
| | | :precision="2" |
| | | v-model="former.receiptPaymentAmount" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="忬¾å½¢å¼ï¼" prop="receiptPaymentType"> |
| | | <el-select |
| | | v-model="former.receiptPaymentType" |
| | | placeholder="è¯·éæ©" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in receipt_payment_type" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="ç»è®°äººï¼" prop="registrant"> |
| | | <el-input |
| | | v-model="former.registrant" |
| | | placeholder="请è¾å
¥" |
| | | clearable |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ¥æ¬¾æ¥æï¼" prop="receiptPaymentDate"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="former.receiptPaymentDate" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | type="date" |
| | | placeholder="è¯·éæ©" |
| | | clearable |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确认</el-button> |
| | | <el-button @click="closeDia">åæ¶</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import {ref, reactive, onMounted} from "vue"; |
| | | import {ref, reactive, onMounted, nextTick} from "vue"; |
| | | const { proxy } = getCurrentInstance() |
| | | const { receipt_payment_type } = proxy.useDict("receipt_payment_type"); |
| | | import {Delete, Download, Plus} from "@element-plus/icons-vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import ETable from "@/components/Table/ETable.vue"; |
| | | import Pagination from "@/components/Pagination/index.vue"; |
| | | import FormDia from "@/views/salesOutbound/components/formDia.vue"; |
| | | import {delSalesRecord, salesRecordList} from "@/api/salesOutbound/index.js"; |
| | | import { |
| | | receiptPaymentSaveOrUpdate, |
| | | bindInvoiceNoRegPage, |
| | | invoiceInfo, |
| | | receiptPaymentHistoryListNoPage, |
| | | receiptPaymentDel, |
| | | } from "@/api/salesManagement/receiptPayment.js"; |
| | | |
| | | |
| | | const formDia = ref() |
| | | const activeTab = ref("out"); |
| | |
| | | // è¡¨æ ¼æ°æ® |
| | | const operationsArr = ref(['edit', 'viewRow']); |
| | | const tableLoading = ref(false); |
| | | const dialogFormVisible = ref(false); |
| | | const tableData = ref([]); |
| | | const columns = ref([ |
| | | { prop: "saleDate", label: "é宿¥æ", minWidth: 160 }, |
| | |
| | | const total = ref(0); |
| | | const pageNum = ref(1); |
| | | const pageSize = ref(10); |
| | | const former = ref({}) |
| | | |
| | | // æ¥è¯¢åæ° |
| | | const queryParams = reactive({ |
| | | saleDate: "", |
| | |
| | | const handleSelectionChange = (selection) => { |
| | | selectedRows.value = selection; |
| | | }; |
| | | |
| | | // æå¼å¼¹æ¡ |
| | | const openForm = () => { |
| | | if (selectedRows.value.length !== 1) { |
| | | proxy.$modal.msgError("è¯·éæ©ä¸æ¡æ°æ®"); |
| | | return; |
| | | } |
| | | invoiceInfo({ id: selectedRows.value[0].id }).then((res) => { |
| | | console.log(res.data) |
| | | former.value = { ...res.data }; |
| | | former.value.salesRecordId = former.value.id; |
| | | former.value.id = ""; |
| | | // form.value.registrant = userStore.nickName; |
| | | }); |
| | | dialogFormVisible.value = true; |
| | | }; |
| | | // æäº¤è¡¨å |
| | | const submitForm = () => { |
| | | proxy.$refs["formRef"].validate((valid) => { |
| | | if (valid) { |
| | | receiptPaymentSaveOrUpdate(former.value).then((res) => { |
| | | proxy.$modal.msgSuccess("æäº¤æå"); |
| | | closeDia(); |
| | | getList(); |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | // å
³éå¼¹æ¡ |
| | | const closeDia = () => { |
| | | proxy.resetForm("formRef"); |
| | | dialogFormVisible.value = false; |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |