From fc188397419e76da8e97c0782599f757fb34bd30 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 14 十二月 2023 16:13:26 +0800
Subject: [PATCH] 增加编码规范功能及新建供应商和采购页面增加编码
---
src/views/purchaseManage/purchase/index.vue | 280 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 214 insertions(+), 66 deletions(-)
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 93e3d2b..2c70931 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -1,16 +1,16 @@
<template>
- <div class="purchase" v-loading="tableLoading">
+ <div class="purchase" v-loading="tableLoading">
<div class="filter">
<div class="filter-card">
<CommonSearch
- :show-add="true"
- add-title="鏂板缓"
- @addCommonClick="addBtnClick"
- :show-download="false"
- :amount-view="false"
- :show-action-btn="false"
- :placeholder="'璇疯緭鍏ヤ緵搴斿晢/鐗╂枡/閲囪喘鍗曠瓑'"
- @searchClick="onFilterSearch"
+ :show-add="true"
+ add-title="鏂板缓"
+ @addCommonClick="addBtnClick"
+ :show-download="false"
+ :amount-view="false"
+ :show-action-btn="false"
+ :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О/鐗╂枡鍚嶇О/閲囪喘鍗曞悕绉�'"
+ @searchClick="onFilterSearch"
/>
</div>
</div>
@@ -19,23 +19,50 @@
<div class="body-card">
<div class="list-view">
<TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- @selCommonClick="selCommonClick"
- @selTableCol="selTableCol"
+ ref="tableListRef"
+ :table-list="tableList"
+ @selCommonClick="selCommonClick"
+ @selTableCol="selTableCol"
>
<template slot="tableButton">
- <el-table-column label="鐘舵��" width="120">
+ <el-table-column label="鐘舵��" width="120">
<template slot-scope="scope">
{{ 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
+ <el-button
+ v-if="scope.row.status === 1"
+ type="text"
+ size="small"
+ @click="btnConfirm(scope.row)"
+ style="margin-right: 5px"
+ >纭</el-button
>
- <el-button @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button>
+ <el-button
+ v-if="scope.row.status === 1"
+ type="text"
+ size="small"
+ @click="btnEdit(scope.row)"
+ style="margin-right: 5px"
+ >缂栬緫</el-button
+ >
+ <el-button type="text" size="small" @click="btnLook(scope.row)" style="margin-right: 5px"
+ >鏌ョ湅</el-button
+ >
+ <el-button
+ v-if="scope.row.status === 1"
+ type="text"
+ size="small"
+ @click="btnCancel(scope.row)"
+ style="margin-right: 5px"
+ >鍙栨秷</el-button
+ >
+ <!-- <el-button v-if="scope.row.status===1" 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>
@@ -47,21 +74,21 @@
</div>
</div>
-
<!-- 鏂板缓/缂栬緫閿�鍞嚎绱� -->
<!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> -->
<!-- 璇︽儏 -->
<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 { getSupplierList } from "@/api/supplierManage/supplier"
import { getDataByType } from "@/api/data"
export default {
name: "SupplierManage",
@@ -71,6 +98,7 @@
computed: {},
data() {
return {
+ purchaseStatusList: getDataByType("purchaseStatus"),
tableLoading: false,
tableList: {}, // 鍒楄〃
selValueList: [],
@@ -83,25 +111,51 @@
editConfig: {
visible: false,
title: "鍒涘缓",
- infomation: {}
+ isDisabled: false,
+ detailEnter: false,
+ infomation: {
+ supplierList: []
+ }
},
- purchaseStatusList: getDataByType("purchaseStatus"),
tableColumn: [
- { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true },
- { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
{ label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 },
- { label: "渚涘簲鍟嗗悕绉�", prop: "contact", min: 130 },
+ { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true, default: true },
+ { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true },
+ { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", min: 130 },
{ label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 },
{ label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 },
{ label: "缁忓姙浜�", prop: "handledBy", min: 130 },
{ label: "鍒跺崟浜�", prop: "creator", min: 130 }
],
- showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱', '缁忓姙浜�', '鍒跺崟浜�']
+ showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"]
}
},
created() {
+ console.log(this.$route.params, "璺敱鍙傛暟")
+ if (this.$route.params.supplierId) {
+ this.editConfig.visible = true
+ this.editConfig.infomation = {
+ productList: [],
+ purchaseTypeId: "",
+ supplierId: this.$route.params.supplierId || "",
+ supplierName: this.$route.params.supplierName || "",
+ orderSource: "鎵嬪姩鍒涘缓",
+ name: "",
+ contact: "",
+ phone: "",
+ signingDate: "",
+ deliveryDate: "",
+ remark: "",
+ wholeDiscountType: null,
+ wholeDiscount: 0,
+ priceAdjustmentType: null,
+ priceAdjustment: 0,
+ realTotalPrice: 0
+ }
+ }
this.setTable()
this.getData()
+ this.getSupplierData()
},
methods: {
getpurchaseStatus(val) {
@@ -115,11 +169,11 @@
return "--"
}
},
- setColumnVisible(showCol){
- return this.tableColumn.map(ele=>{
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
return {
...ele,
- isShowColumn:showCol.includes(ele.label)
+ isShowColumn: showCol.includes(ele.label)
}
})
},
@@ -129,52 +183,62 @@
selectIndex: true,
showcol: this.showCol,
allcol: [],
- tableColumn:this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol)
}
- this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label);
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
},
selTableCol(val) {
- this.showcol = val;
- this.tableList.tableColumn = this.setColumnVisible(val);
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
},
// 璇锋眰鏁版嵁
async getData() {
await getPurchaseList({
- keyword: this.search,
+ keyword: this.search || "",
page: this.pagerOptions.currPage,
pageSize: this.pagerOptions.pageSize
})
.then((res) => {
- if (res.data.code === 200) {
- const list = res.data.data.list
+ if (res.code === 200) {
+ let list = res.data.list
+ list.map((item) => {
+ item.supplierName = item.supplier.name
+ })
this.tableList.tableInfomation = list || []
- this.pagerOptions.totalCount = res.data.data.total
+ this.pagerOptions.totalCount = res.data.total
}
})
.catch((err) => {
console.log(err)
})
},
+ // 鑾峰彇渚涘簲鍟嗘暟鎹�
+ async getSupplierData() {
+ await getSupplierList({
+ // [val]: content,
+ status: 1,
+ page: 1,
+ pageSize: 10
+ }).then((res) => {
+ if (res.data.code == 200) {
+ this.editConfig.infomation.supplierList = res.data.data.list
+ }
+ })
+ },
// 鎼滅储
- searchClick(val, content) {
- console.log(val, content)
- this.search = content
- this.getData()
- },
- resetClick() {
- this.search = ""
- this.getData()
- },
- onFilterSearch(searchText){
- this.search = searchText ?? ''
+ onFilterSearch(searchText) {
+ this.search = searchText ?? ""
+ this.pagerOptions.currPage = 1
this.getData()
},
// 鏂板缓
addBtnClick() {
+ this.editConfig.detailEnter = false
+ this.editConfig.isDisabled = false
// this.editRow = {};
// this.$refs.add.islook = true;
this.editConfig.visible = true
- this.editConfig.title = "鍒涘缓"
+ this.editConfig.title = "鏂板缓"
this.editConfig.infomation = {
productList: [],
purchaseTypeId: "",
@@ -182,6 +246,7 @@
supplierName: "",
orderSource: "鎵嬪姩鍒涘缓",
name: "",
+ number: "",
contact: "",
phone: "",
signingDate: "",
@@ -196,13 +261,18 @@
},
// 缂栬緫
- editClick(row) {
+ btnEdit(row) {
+ this.editConfig.detailEnter = false
+ this.editConfig.isDisabled = false
this.tableLoading = true
- getPurchaseInfo({ id: row.ID }).then((res) => {
+ getPurchaseInfo({ id: row.id }).then((res) => {
if (res.code == 200) {
this.tableLoading = false
this.editConfig.visible = true
this.editConfig.title = "缂栬緫"
+ res.data.productList.map((item, index) => {
+ item.productIndex = index
+ })
this.editConfig.infomation = {
productList: res.data.productList,
supplierName: res.data.purchase.supplier.name,
@@ -219,32 +289,110 @@
// this.$refs.add.islook = true;
},
// 纭鍙戣揣
- submitClick(row) {
- this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", {
+ btnConfirm(row) {
+ let string = "鏄惁鎻愪氦锛�"
+ if (!row.supplierName) {
+ string = "鎮ㄦ湁蹇呭~瀛楁鏈綍鍏ワ紝璇锋鏌ユ暟鎹畬鏁存�с��"
+ }
+ this.$confirm(string, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(
+ () => {
+ if (!row.supplierName) {
+ this.btnEdit(row)
+ } else {
+ submitPurchase({ id: row.ID, status: 2 }).then((response) => {
+ if (response.code === 200) {
+ this.$message.success("鎻愪氦鎴愬姛")
+ this.getData()
+ } else {
+ this.$message.warning("鎻愪氦澶辫触")
+ }
+ })
+ }
+ },
+ (e) => {
+ 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(() => {
- console.log("dddd")
- submitPurchase({ id: row.ID }).then((response) => {
+ deletePurchase({ id: row.ID }).then((response) => {
if (response.code === 200) {
- this.$message.success("鎻愪氦鎴愬姛")
+ this.$message.success("鍒犻櫎鎴愬姛")
this.getData()
} else {
- this.$message.warning("鎻愪氦澶辫触")
+ this.$message.warning("鍒犻櫎澶辫触")
}
})
})
- .catch(() => {})
+ .catch(() => {
+ this.$message({
+ type: "info",
+ message: "宸插彇娑堝垹闄�"
+ })
+ })
},
-
+ // 鏌ョ湅
+ btnLook(row) {
+ this.editConfig.detailEnter = true
+ 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)
this.tableLoading = true
- getPurchaseInfo({ id: row.ID }).then((res) => {
+ getPurchaseInfo({ id: row.id }).then((res) => {
if (res.code == 200) {
+ console.log(res, "浜у搧璇︽儏")
this.tableLoading = false
this.commonDetail.visible = true
this.commonDetail.infomation = {
@@ -265,16 +413,16 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
-.purchase{
+.purchase {
height: 100%;
overflow: hidden;
background-color: transparent;
- .filter{
+ .filter {
height: 80px;
display: flex;
align-items: center;
padding: 12px 20px 0 20px;
- &-card{
+ &-card {
height: 80px;
display: flex;
align-items: center;
@@ -285,7 +433,7 @@
background-color: #fff;
}
}
- .body{
+ .body {
box-sizing: border-box;
padding: 10px 20px;
border-radius: 12px;
--
Gitblit v1.8.0