From 7c5c3b8a1b2d571c66efd85b5dbbd37aa57c9ff8 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期三, 15 十一月 2023 14:08:03 +0800
Subject: [PATCH] 采购管理修改
---
src/api/purchaseManage/purchase.js | 2
src/store/modules/getSupplierName.js | 6 +-
src/views/purchaseManage/purchase/components/AddPurchase.vue | 36 ++++++++---
src/views/purchaseManage/purchase/index.vue | 111 ++++++++++++++++++++++++++++++++-----
src/components/makepager/CommonFormTableView.vue | 21 ++++--
5 files changed, 138 insertions(+), 38 deletions(-)
diff --git a/src/api/purchaseManage/purchase.js b/src/api/purchaseManage/purchase.js
index fe2a48a..e9ab89b 100644
--- a/src/api/purchaseManage/purchase.js
+++ b/src/api/purchaseManage/purchase.js
@@ -90,7 +90,7 @@
// 鎻愪氦閲囪喘鍗�
export function submitPurchase(data) {
return request({
- url: "/api/purchase/submit/"+data.id,
+ url: "/api/purchase/submit",
method: "post",
data
})
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index e3a49c1..3f0eb9f 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -39,6 +39,7 @@
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
<el-input
+ :disabled="item.disabled"
v-model.trim="scope.row[item.prop]"
maxlength="50"
size="mini"
@@ -49,9 +50,10 @@
"
></el-input>
</el-form-item>
- <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+ <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
<div class="custom-name">
<el-autocomplete
+ :disabled="item.disabled"
v-model="scope.row[item.prop]"
:fetch-suggestions="querySearchAsync"
value-key="name"
@@ -63,13 +65,13 @@
}
"
></el-autocomplete>
- <div class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)">
- <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
+ <div v-if="!item.disabled" class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)">
+ <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
</div>
- <div class="common-select-btn" @click="clearupClient(scope.row, scope)">
+ <div v-if="!item.disabled" class="common-select-btn" @click="clearupClient(scope.row, scope)">
<i class="el-icon-remove-outline" title="娓呴櫎"></i>
</div>
- <div class="common-select-btn" v-if="scope.$index != 0" @click="deleteClient(scope.row, scope)">
+ <div class="common-select-btn" v-if="scope.$index != 0||!item.disabled" @click="deleteClient(scope.row, scope)">
<i class="el-icon-delete" title="鍒犻櫎"></i>
</div>
</div>
@@ -91,6 +93,7 @@
:rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
>
<el-input-number
+ :disabled="item.disabled"
v-model="scope.row[item.prop]"
placeholder=""
:min="0"
@@ -112,9 +115,9 @@
>
<template v-if="item.multiply">
<el-input-number
+ :disabled="item.disabled"
:value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]"
placeholder=""
- :disabled="item.disabled"
:min="0"
:precision="2"
:controls="false"
@@ -129,6 +132,7 @@
</template>
<template v-else>
<el-input-number
+ :disabled="item.disabled"
v-model="scope.row[item.prop]"
placeholder=""
:min="0"
@@ -152,8 +156,8 @@
</el-table>
</el-form>
<div v-if="!detailEnter" style="margin: 10px">
- <el-button size="small" type="primary" @click="add">鏂板</el-button>
- <el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
+ <el-button :disabled="tableList.disabled" size="small" type="primary" @click="add">鏂板</el-button>
+ <el-button :disabled="tableList.disabled" size="small" type="primary" @click="empty">娓呯┖</el-button>
</div>
<!-- 浜у搧鍚嶇О -->
<SelectCommonDialog
@@ -184,6 +188,7 @@
type: Object,
default: () => {
return {
+ disabled:false,
tableData: [], // 鎺ュ彛杩斿洖鏁版嵁
tableColumn: [
// table琛ㄥ崟
diff --git a/src/store/modules/getSupplierName.js b/src/store/modules/getSupplierName.js
index 3a9a5c5..172e6e5 100644
--- a/src/store/modules/getSupplierName.js
+++ b/src/store/modules/getSupplierName.js
@@ -12,9 +12,9 @@
},
actions:{
getSupplier(context){
- getSupplierList({page:1,pageSize:50}).then((res) => {
- if (res.data.code == 200) {
- context.commit("supplierNameList", res.data.data.list)
+ getSupplierList({page:1,pageSize:100}).then((res) => {
+ if (res.code == 200) {
+ context.commit("supplierNameList", res.data.list)
} else {
Message.error(res.msg)
}
diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue
index 5dcef72..97e8b19 100644
--- a/src/views/purchaseManage/purchase/components/AddPurchase.vue
+++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue
@@ -31,6 +31,7 @@
style="width:100%;"
>
<el-select
+ :disabled="editConfig.isDisabled"
placeholder="璇烽�夋嫨閲囪喘绫诲瀷"
v-model="editConfig.infomation.purchaseTypeId"
clearable
@@ -44,6 +45,7 @@
></el-option>
</el-select>
<i
+ v-if="!editConfig.isDisabled"
class="el-icon-setting margin_left_10px cursor_pointer"
style="font-size: 20px; color: #333"
@click="handleShow"
@@ -55,6 +57,7 @@
<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
<div class="custom-name">
<el-autocomplete
+ :disabled="editConfig.isDisabled"
style="width: calc(100% - 40px)"
v-model="editConfig.infomation.supplierName"
:fetch-suggestions="
@@ -67,6 +70,7 @@
@select="handleSelectClient('client', $event)"
></el-autocomplete>
<div
+ v-if="!editConfig.isDisabled"
class="common-select-btn"
@click="selClientClick('client')"
>
@@ -80,7 +84,8 @@
class="common-select-btn"
@click="clearupClient('client')"
>
- <i class="el-icon-remove-outline" title="娓呴櫎"></i>
+ <i class="el-icon-remove-outline"
+ v-if="!editConfig.isDisabled" title="娓呴櫎"></i>
</div>
</div>
</el-form-item>
@@ -97,6 +102,7 @@
<el-col :span="12">
<el-form-item label="閲囪喘鍗曞悕绉�" prop="name">
<el-input
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.name"
placeholder="璇峰~鍐�"
clearable
@@ -106,6 +112,7 @@
<el-col :span="12">
<el-form-item label="渚涘簲鍟嗚仈绯讳汉" prop="contact">
<el-input
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.contact"
placeholder="璇峰~鍐�"
clearable
@@ -115,6 +122,7 @@
<el-col :span="12">
<el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
<el-input
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.phone"
placeholder="璇峰~鍐�"
clearable
@@ -124,6 +132,7 @@
<el-col :span="12">
<el-form-item label="绛剧害鏃ユ湡" prop="signingDate">
<el-date-picker
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.signingDate"
style="width: 100%"
type="date"
@@ -137,6 +146,7 @@
<el-col :span="12">
<el-form-item label="浜や粯鏃ユ湡" prop="deliveryDate">
<el-date-picker
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.deliveryDate"
style="width: 100%"
type="date"
@@ -150,6 +160,7 @@
<el-col :span="24">
<el-form-item label="澶囨敞淇℃伅" prop="remark">
<el-input
+ :disabled="editConfig.isDisabled"
type="textarea"
:autosize="{ minRows: 3, maxRows: 4 }"
maxlength="500"
@@ -182,6 +193,7 @@
<el-select
v-model="editConfig.infomation.wholeDiscountType"
placeholder="璇烽�夋嫨"
+ :disabled="editConfig.isDisabled"
filterable
@change="getTotal"
>
@@ -195,7 +207,7 @@
<el-input
v-model="editConfig.infomation.wholeDiscount"
size="mini"
- :disabled="editConfig.infomation.wholeDiscountType?false:true"
+ :disabled="editConfig.isDisabled"
@change="getTotal"
placeholder="璇峰~鍐�"
></el-input>
@@ -206,6 +218,7 @@
<div class="table-bottom-l">
<el-form-item label="璋冩暣" prop="member_id">
<el-select
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.priceAdjustmentType"
placeholder="璇烽�夋嫨"
filterable
@@ -219,9 +232,9 @@
<div class="table-bottom-r">
<el-form-item label="" prop="member_id">
<el-input
+ :disabled="editConfig.isDisabled"
v-model="editConfig.infomation.priceAdjustment"
size="mini"
- :disabled="editConfig.infomation.priceAdjustmentType?false:true"
@change="getTotal"
placeholder="璇峰~鍐�"
></el-input>
@@ -495,10 +508,8 @@
this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖");
} else {
const params = this.saveParams();
- console.log(params);
if (this.editConfig.title === "鍒涘缓") {
addPurchase(params).then((res) => {
- console.log(res);
this.editConfig.visible = false;
if (res.code === 200) {
this.$message.success("娣诲姞鎴愬姛");
@@ -533,7 +544,7 @@
let params = {
productList:this.tableData,
purchase:{
- supplierId:this.supplierId||0,
+ supplierId:data.supplierId,
signingDate:data.signingDate||'',
remark:data.remark,
orderSource:data.orderSource||'',
@@ -577,9 +588,9 @@
};
},
handleSelectClient(value, item) {
- console.log(value);
if (value === "client") {
this.supplierId = item.id;
+ this.editConfig.infomation.supplierId=item.ID
}
},
selClientClick() {
@@ -624,6 +635,7 @@
}
this.productTableList = {
tableData: this.tableData,
+ disabled:this.editConfig.isDisabled,
tableColumn: [
{
label: "浜у搧鍚嶇О",
@@ -631,19 +643,21 @@
min: 180,
productName: true,
isRequird: true,
+ disabled:this.editConfig.isDisabled,
},
{ label: "浜у搧缂栧彿", prop: "number", min: 150,},
{ label: "璁¢噺鍗曚綅", prop: "unit" },
- { label: "瑙勬牸鍨嬪彿", prop: "specifications" },
- { label: "鏁伴噺", prop: "amount", inputNumber: true, isRequird: true },
+ { label: "瑙勬牸鍨嬪彿", prop: "specifications",},
+ { label: "鏁伴噺", prop: "amount", inputNumber: true,disabled:this.editConfig.isDisabled, },
{
label: "閲囪喘鍗曚环",
prop: "price",
inputFloat: true,
isRequird: true,
+ disabled:this.editConfig.isDisabled,
},
- { label: "浠风◣鍚堣", prop: "total", inputFloat: true,disabled:true,multiply:true, },
- { label: "鎻忚堪", prop: "remark", input: true },
+ { label: "浠风◣鍚堣", prop: "total", inputFloat: true,disabled:this.editConfig.isDisabled,multiply:true, },
+ { label: "鎻忚堪", prop: "remark", input: true,disabled:this.editConfig.isDisabled},
],
};
this.toal=this.editConfig.infomation.realTotalPrice
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 4a12b42..e16f0dd 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -30,12 +30,24 @@
{{ getpurchaseStatus(scope.row.status) }}
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" width="120" fixed="right">
+ <el-table-column label="鎿嶄綔" width="220" fixed="right">
<template slot-scope="scope">
- <el-button type="text" size="small" @click="editClick(scope.row)" style="margin-right: 5px"
+ <el-button type="text" size="small" @click="btnConfirm(scope.row)" style="margin-right: 5px"
+ >纭</el-button
+ >
+ <el-button type="text" size="small" @click="btnEdit(scope.row)" style="margin-right: 5px"
>缂栬緫</el-button
>
- <el-button v-if="scope.row.status< 4" @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button>
+ <el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px"
+ >鏌ョ湅</el-button
+ >
+ <el-button type="text" size="small" @click="btnCancel(scope.row)" style="margin-right: 5px"
+ >鍙栨秷</el-button
+ >
+ <el-button type="text" size="small" @click="btnDelete(scope.row)" style="margin-right: 5px"
+ >鍒犻櫎</el-button
+ >
+ <!-- <el-button v-if="scope.row.status< 4" @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> -->
</template>
</el-table-column>
</template>
@@ -53,16 +65,15 @@
<!-- 璇︽儏 -->
<DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" />
<!-- 鏂板缓/缂栬緫 -->
- <AddPurchase v-if="editConfig.visible" :edit-common-config="editConfig" />
+ <AddPurchase ref="addDialog" v-if="editConfig.visible" :edit-common-config="editConfig" />
</div>
</template>
<script>
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-import { getPurchaseList, getPurchaseInfo, submitPurchase } from "@/api/purchaseManage/purchase"
+import { getPurchaseList, getPurchaseInfo, submitPurchase,deletePurchase } from "@/api/purchaseManage/purchase"
import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier"
import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase"
-import { getDataByType } from "@/api/data"
import { getSupplierList } from "@/api/supplierManage/supplier"
export default {
name: "SupplierManage",
@@ -84,11 +95,11 @@
editConfig: {
visible: false,
title: "鍒涘缓",
+ isDisabled:false,
infomation: {
supplierList:[]
}
},
- purchaseStatusList: getDataByType("purchaseStatus"),
tableColumn: [
{ label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true},
{ label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
@@ -109,10 +120,17 @@
},
methods: {
getpurchaseStatus(val) {
+ let statusList=[
+ {id:1,name:"寰呯‘璁�"},
+ {id:2,name:"寰呭叆搴�"},
+ {id:3,name:"宸插叆搴�"},
+ {id:4,name:"宸插畬鎴�"},
+ {id:5,name:"宸插彇娑�"}
+ ]
if (val) {
- for (let i in this.purchaseStatusList) {
- if (this.purchaseStatusList[i].id == val) {
- return this.purchaseStatusList[i].name
+ for (let i in statusList) {
+ if (statusList[i].id == val) {
+ return statusList[i].name
}
}
} else {
@@ -181,6 +199,7 @@
},
// 鏂板缓
addBtnClick() {
+ this.editConfig.isDisabled=false
// this.editRow = {};
// this.$refs.add.islook = true;
this.editConfig.visible = true
@@ -206,7 +225,7 @@
},
// 缂栬緫
- editClick(row) {
+ btnEdit(row) {
this.tableLoading = true
getPurchaseInfo({ id: row.ID }).then((res) => {
if (res.code == 200) {
@@ -229,15 +248,14 @@
// this.$refs.add.islook = true;
},
// 纭鍙戣揣
- submitClick(row) {
+ btnConfirm(row) {
this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
})
.then(() => {
- console.log("dddd")
- submitPurchase({ id: row.ID }).then((response) => {
+ submitPurchase({ id: row.ID,status:2 }).then((response) => {
if (response.code === 200) {
this.$message.success("鎻愪氦鎴愬姛")
this.getData()
@@ -249,7 +267,70 @@
console.error(e)
})
},
-
+ // 鍙栨秷
+ btnCancel(row){
+ this.$confirm("鏄惁鍙栨秷?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ submitPurchase({ id: row.ID,status:5 }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("宸插彇娑�")
+ this.getData()
+ } else {
+ // this.$message.warning("鎻愪氦澶辫触")
+ }
+ })
+ },(e)=>{
+ console.error(e)
+ })
+ },
+ // 鍒犻櫎
+ btnDelete(row){
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deletePurchase({ id: row.ID }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鍒犻櫎澶辫触")
+ }
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝垹闄�'
+ });
+ });
+ },
+ // 鏌ョ湅
+ btnLook(row){
+ this.editConfig.isDisabled=true
+ this.tableLoading = true
+ getPurchaseInfo({ id: row.ID }).then((res) => {
+ if (res.code == 200) {
+ this.tableLoading = false
+ this.editConfig.visible = true
+ this.editConfig.title = "鏌ョ湅"
+ this.editConfig.infomation = {
+ productList: res.data.productList,
+ supplierName: res.data.purchase.supplier.name,
+ ...res.data.purchase
+ }
+ } else {
+ this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�")
+ }
+ })
+ setTimeout(() => {
+ this.tableLoading = false
+ }, 3000)
+ },
// 璇︽儏
selCommonClick(row) {
console.log(row)
--
Gitblit v1.8.0