From 983c6c7c026f6089fb4317dbff3a164e7c05aa8c Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 28 二月 2024 14:10:12 +0800
Subject: [PATCH] 产品管理添加、编辑、删除相关组件数据处理
---
src/views/sales/refundForm/AddRefundFormDialog.vue | 153 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 122 insertions(+), 31 deletions(-)
diff --git a/src/views/sales/refundForm/AddRefundFormDialog.vue b/src/views/sales/refundForm/AddRefundFormDialog.vue
index fda3b18..2d116cb 100644
--- a/src/views/sales/refundForm/AddRefundFormDialog.vue
+++ b/src/views/sales/refundForm/AddRefundFormDialog.vue
@@ -13,7 +13,7 @@
:model="editConfig.infomation"
:rules="rules"
label-position="right"
- label-width="308px"
+ label-width="30%"
size="mini"
style="height: 60vh; overflow-x: hidden"
>
@@ -24,9 +24,39 @@
<div class="basic-info-view">
<el-row>
<el-col :span="12">
+ <el-form-item label="閫�娆惧崟缂栧彿" prop="number">
+ <el-input
+ v-if="
+ editConfig.title == '缂栬緫' ||
+ (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+ "
+ :disabled="editConfig.title == '缂栬緫'"
+ v-model="editConfig.infomation.number"
+ placeholder="璇疯緭鍏ョ紪鐮�"
+ >
+ </el-input>
+ <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c"
+ >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+ >
+ <!-- <WordInput
+ v-if="codenumer && (explain != '' || isIdDisabled) && method == 0"
+ :codenumer="codenumer"
+ :sum="sum"
+ :disabled="editConfig.title !== '鏂板缓' || isIdDisabled"
+ :inputValue="inputValue"
+ @codeList="codeList"
+ />
+ <span v-else-if="method == 0" style="color: #f56c6c"
+ >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+ >
+ <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span> -->
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="瀹㈡埛鍚嶇О" prop="client_name">
<div class="custom-name">
<el-autocomplete
+ style="width: 100%"
v-model="editConfig.infomation.client_name"
:fetch-suggestions="
(queryString, callback) => {
@@ -44,20 +74,17 @@
class="common-select-btn"
@click="clearupClient('client')"
>
- <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+ <i class="el-icon-remove-outline" title="娓呴櫎"></i>
</div>
</div>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="閫�娆惧崟缂栧彿" prop="number">
- <el-input v-model="editConfig.infomation.number"></el-input>
- </el-form-item>
- </el-col>
+
<el-col :span="12">
<el-form-item label="閿�鍞��璐у崟" prop="sale_return_nunber">
<div class="custom-name">
<el-autocomplete
+ style="width: 100%"
v-model="editConfig.infomation.sale_return_nunber"
:fetch-suggestions="
(queryString, callback) => {
@@ -77,7 +104,7 @@
class="common-select-btn"
@click="clearupClient('salesReturn')"
>
- <i class="el-icon-edit-outline"></i>
+ <i class="el-icon-remove-outline"></i>
</div>
</div>
</el-form-item>
@@ -85,10 +112,10 @@
<el-col :span="12">
<el-form-item label="閿�鍞礋璐d汉" prop="memberId">
<el-select
+ style="width: 100%"
v-model="editConfig.infomation.memberId"
placeholder="璇烽�夋嫨"
size="mini"
- style="width: 63%"
>
<el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
</el-option>
@@ -98,6 +125,7 @@
<el-col :span="12">
<el-form-item label="閫�娆炬棩鏈�" prop="refundDate">
<el-date-picker
+ style="width: 100%"
v-model="editConfig.infomation.refundDate"
value-format="yyyy-MM-dd"
type="date"
@@ -107,9 +135,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="浠樻鏂瑰紡" prop="paymentTypeId">
+ <el-form-item label="閫�娆炬柟寮�" prop="paymentTypeId">
<div class="common-select">
<el-select
+ style="width: 100%"
v-model="editConfig.infomation.paymentTypeId"
placeholder="璇烽�夋嫨"
class="common-select-sel"
@@ -131,6 +160,7 @@
<el-form-item label="璐︽埛" prop="bankAccountId">
<div class="common-select">
<el-select
+ style="width: 100%"
v-model="editConfig.infomation.bankAccountId"
placeholder="璇烽�夋嫨"
class="common-select-sel"
@@ -147,6 +177,7 @@
<el-form-item label="鏄惁寮�绁�" prop="isInvoice">
<div class="common-select">
<el-select
+ style="width: 100%"
v-model="editConfig.infomation.isInvoice"
placeholder="璇烽�夋嫨"
class="common-select-sel"
@@ -165,8 +196,9 @@
<div class="basic-info-view">
<el-row>
<el-col :span="24">
- <el-form-item label="閫�娆惧師鍥�" prop="reason">
+ <el-form-item label="閫�娆惧師鍥�" prop="reason" label-width="15%">
<el-input
+ style="width: 100%"
type="textarea"
:autosize="{ minRows: 2 }"
v-model="editConfig.infomation.reason"
@@ -293,9 +325,14 @@
import { getAddSalesRefund, getUpdateSalesRefund } from "@/api/sales/refundForm"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
-import { getPaymentTypeList } from "@/api/common/payment"
+import { getBankAccountList, getPaymentTypeList } from "@/api/common/payment"
+import codeMixin from "@/components/makepager/mixin/codeMixin"
+import { getSalesReturnList } from "@/api/sales/salesReturn"
+import { mapActions } from "vuex"
+
export default {
name: "AddRefundFormDialog",
+ mixins: [codeMixin],
props: {
editCommonConfig: {
type: Object,
@@ -319,13 +356,13 @@
},
data() {
return {
- dialogWidth: "80%",
+ dialogWidth: "50%",
editConfig: this.editCommonConfig,
rules: {
client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }],
- number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }],
+ number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }],
- memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }],
+ memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }]
},
memberOptions: [],
@@ -350,7 +387,8 @@
editSelCommonConfig: {
editVisible: false,
title: "",
- infomation: {}
+ infomation: {},
+ clientId: ""
},
clientId: this.editCommonConfig.infomation.client_id,
sourceId: this.editCommonConfig.infomation.sourceId,
@@ -364,27 +402,62 @@
this.$store.dispatch("geReturnList")
this.setTableForm()
this.getCommonData()
+ this.formInfo()
+ },
+ watch: {
+ "editClientManageConfig.visible"(val) {
+ if (val) {
+ this.formInfo()
+ }
+ }
},
methods: {
- getCommonData() {
- getAllData().then((res) => {
- this.memberOptions = res.data.member
- this.accountOptions = res.data.accountId
- })
+ ...mapActions(["getReturnListFliter"]),
+ formInfo() {
+ this.objCode.type = "閿�鍞��娆剧紪鐮�"
+ this.objCode.codeStandID = ""
+ if (this.editConfig.infomation.codeStandID) {
+ this.objCode.codeStandID = this.editConfig.infomation.codeStandID
+ }
+ this.getRCodeStandardList()
+ this.getBankAccountList()
+ },
+ async getCommonData() {
+ const res = await getAllData()
+ if (res.code == 200) {
+ this.memberOptions = res.data.member ? res.data.member : []
+ if (this.editConfig.title === "鏂板缓") {
+ let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
+ this.memberOptions.map((item) => {
+ if (item.username == username) {
+ this.$set(this.editConfig.infomation, "memberId", item.id)
+ }
+ })
+ }
+ }
+ this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId)
this.getPaymentTypeList()
},
- async getPaymentTypeList() {
- await getPaymentTypeList().then((res) => {
- if (res.data.code === 200) {
- this.paymentTypeListOptions = res.data.data.data
+ getPaymentTypeList() {
+ getPaymentTypeList().then((res) => {
+ if (res.code === 200) {
+ this.paymentTypeListOptions = res.data.data ?? []
}
+ this.$set(this.editConfig.infomation, "paymentTypeId", this.editConfig.infomation.paymentTypeId)
+ })
+ },
+ getBankAccountList() {
+ getBankAccountList().then((res) => {
+ if (res.code === 200) {
+ this.accountOptions = res.data.data ? res.data.data : []
+ }
+ this.$set(this.editConfig.infomation, "bankAccountId", this.editConfig.infomation.bankAccountId)
})
},
// 淇濆瓨
saveClick(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
- console.log(this.editConfig.infomation)
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].name.length === 0) {
this.isNoProduct = true
@@ -397,7 +470,6 @@
this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
} else {
const params = this.saveParams()
- console.log(params)
if (this.editConfig.title === "鏂板缓") {
getAddSalesRefund(params).then((res) => {
console.log(res)
@@ -467,9 +539,16 @@
}
}
},
- handleSelectClient(value, item) {
+ async handleSelectClient(value, item) {
if (value === "client") {
this.clientId = item.id
+ this.editSelCommonConfig.clientId = item.id
+ console.log("瀹㈡埛鍚嶇О", this.clientId, value, item)
+ await getSalesReturnList({
+ clientId: this.clientId
+ }).then((res) => {
+ this.getReturnListFliter(res.data.list)
+ })
} else if (value === "salesReturn") {
console.log(item)
this.editConfig.infomation.sale_return_nunber = item.number
@@ -522,7 +601,8 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ unit: ""
}
]
} else {
@@ -539,6 +619,7 @@
{ label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true },
{ label: "浜у搧缂栧彿", prop: "number" },
{ label: "鏁伴噺", prop: "amount", inputNumber: true, isRequird: true },
+ { label: "鍗曚綅", prop: "unit" },
{ label: "閿�鍞崟浠�", prop: "price", inputFloat: true },
{ label: "浠风◣鍚堣", prop: "total", inputFloat: true }
]
@@ -564,7 +645,8 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ unit: ""
})
this.showSummary.show = true
},
@@ -580,7 +662,8 @@
name: "",
number: "",
price: 0,
- total: 0
+ total: 0,
+ unit: ""
}
]
this.productTableList.tableData = this.tableData
@@ -590,6 +673,14 @@
clearupProduct(data) {
this.tableData = data
this.productTableList.tableData = this.tableData
+ },
+ // 閿�鍞礋璐d汉鑷畾涔夋牎楠岃鍒�
+ validateMemberId(rule, value, callback) {
+ if (this.editConfig.infomation?.memberId > 0) {
+ callback()
+ } else {
+ callback(new Error("璇烽�夋嫨閿�鍞礋璐d汉"))
+ }
}
}
}
--
Gitblit v1.8.0