From 21d14a5080768c7ecd9cf0df05c064eaa5d5a7b8 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 07 三月 2024 10:10:50 +0800
Subject: [PATCH] 采购管理订单页面和新增采购单页面修改
---
src/components/makepager/TableCommonView.vue | 6 +
src/views/purchaseManage/purchase/components/AddPurchase.vue | 38 +++++++
src/views/purchaseManage/purchase/index.vue | 211 ++++++++++++++++++++++++++++++++++++++++--
3 files changed, 241 insertions(+), 14 deletions(-)
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index 42f2469..470fc4a 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -326,6 +326,12 @@
}
this.$emit("tableRowClassName", row)
}
+ },
+ //瑙e喅琛ㄦ牸鎶栧姩闂
+ beforeUpdate() {
+ this.$nextTick(() => {
+ this.$refs["table"].doLayout()
+ })
}
}
</script>
diff --git a/src/views/purchaseManage/purchase/components/AddPurchase.vue b/src/views/purchaseManage/purchase/components/AddPurchase.vue
index f782552..ae87888 100644
--- a/src/views/purchaseManage/purchase/components/AddPurchase.vue
+++ b/src/views/purchaseManage/purchase/components/AddPurchase.vue
@@ -97,11 +97,11 @@
</div>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <!-- <el-col :span="12">
<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSource">
<el-input v-model="editConfig.infomation.orderSource" disabled placeholder="璇峰~鍐�"></el-input>
</el-form-item>
- </el-col>
+ </el-col> -->
<el-col :span="12">
<el-form-item label="閲囪喘鍗曞悕绉�" prop="name">
<el-input
@@ -160,6 +160,38 @@
value-format="yyyy-MM-dd"
>
</el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏀惰揣浠撳簱" prop="receiveWarehouse">
+ <el-select
+ placeholder="璇烽�夋嫨鏀惰揣浠撳簱"
+ v-model="editConfig.infomation.receiveWarehouse"
+ clearable
+ style="width: calc(100% - 0px)"
+ >
+ <el-option
+ v-for="(ele, index) in receiveWhouseList"
+ :key="index"
+ :label="ele.name"
+ :value="ele.id"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍦板潃" prop="address">
+ <el-input v-model="editConfig.infomation.address" placeholder="璇峰~鍐�" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鎺ユ敹浜�" prop="recipient">
+ <el-input v-model="editConfig.infomation.recipient" placeholder="璇峰~鍐�" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceDoc">
+ <el-input v-model="editConfig.infomation.sourceDoc" placeholder="璇峰~鍐�" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
@@ -723,7 +755,7 @@
this.tableData = [
{
purchaseId: 0,
- productId:Number(this.productId),
+ productId: Number(this.productId),
productIndex: this.productIndex,
amount: 0,
name: "",
diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue
index 2c70931..40dcd7c 100644
--- a/src/views/purchaseManage/purchase/index.vue
+++ b/src/views/purchaseManage/purchase/index.vue
@@ -16,7 +16,7 @@
</div>
<div class="body">
- <div class="body-card">
+ <div class="content-top">
<div class="list-view">
<TableCommonView
ref="tableListRef"
@@ -72,6 +72,41 @@
<PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
</div>
</div>
+ <div class="content-bottom">
+ <div class="bottom-tabs">
+ <div
+ class="tab-pane"
+ @click="getTab(0)"
+ :style="{
+ background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8',
+ color: TabsIndex == 0 ? '#fff' : '#666'
+ }"
+ >
+ 浜у搧淇℃伅
+ </div>
+ <div
+ class="tab-pane"
+ @click="getTab(1)"
+ :style="{
+ background: TabsIndex == 1 ? '#2a78fb' : '#F1F3F8',
+ color: TabsIndex == 1 ? '#fff' : '#666'
+ }"
+ >
+ 鏀惰揣淇℃伅
+ </div>
+ </div>
+ <div class="list-view">
+ <TableCommonView :loading="loading" :table-list="productTableList" @selTableCol="selBottomTableCol">
+ <!-- <template slot="tableButton">
+ <el-table-column label="鎿嶄綔" width="160" fixed="right">
+ <template slot-scope="scope">
+ <el-button @click="viewClick(scope.row)" type="text" size="small">鏌ョ湅</el-button>
+ </template>
+ </el-table-column>
+ </template> -->
+ </TableCommonView>
+ </div>
+ </div>
</div>
<!-- 鏂板缓/缂栬緫閿�鍞嚎绱� -->
@@ -97,6 +132,29 @@
mixins: [pageMixin],
computed: {},
data() {
+ // 浜у搧淇℃伅
+ const productColumn = [
+ { label: "浜у搧缂栧彿", prop: "number", default: true },
+ { label: "浜у搧鍚嶇О", prop: "name" },
+ { label: "瑙勬牸鍨嬪彿", prop: "desc" },
+ { label: "閲囪喘鏁伴噺", prop: "purchaseAmount" },
+ { label: "宸插彂璐ф暟閲�", prop: "margin" },
+ { label: "宸插叆搴撴暟閲�", prop: "amount" },
+ { label: "鍗曚綅", prop: "unit" },
+ { label: "閲囪喘鍗曚环", prop: "price", price: true },
+ { label: "浠风◣鍚堣", prop: "total", price: true }
+ ]
+ // 鏀惰揣淇℃伅
+ const recriveColumn = [
+ { label: "鍏ュ簱鍗曞彿", prop: "number", default: true },
+ { label: "鏀惰揣浠撳簱", prop: "name" },
+ { label: "浜у搧鍚嶇О", prop: "orderAmount" },
+ { label: "浜у搧缂栫爜", prop: "invoice" },
+ { label: "鏁伴噺", prop: "carrier" },
+ { label: "鍏ュ簱鏃堕棿", prop: "waybill" },
+ { label: "鏀惰揣浜�", prop: "warehouse" },
+ { label: "鐘舵��", prop: "amount" }
+ ]
return {
purchaseStatusList: getDataByType("purchaseStatus"),
tableLoading: false,
@@ -127,7 +185,28 @@
{ label: "缁忓姙浜�", prop: "handledBy", min: 130 },
{ label: "鍒跺崟浜�", prop: "creator", min: 130 }
],
- showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"]
+ showCol: ["閲囪喘鍗曞彿", "閲囪喘鍗曞悕绉�", "鍗曟嵁绫诲瀷", "渚涘簲鍟嗗悕绉�", "閲囪喘鏁伴噺", "鏀惰揣浠撳簱", "缁忓姙浜�", "鍒跺崟浜�"],
+ tableBottomColumn: [],
+ showBottomCol: [],
+ TabsIndex: "0",
+ productTableList: {},
+ // 浜у搧淇℃伅
+ productColumn: productColumn,
+ showProductCol: [
+ "浜у搧缂栧彿",
+ "浜у搧鍚嶇О",
+ "瑙勬牸鍨嬪彿",
+ "閲囪喘鏁伴噺",
+ "宸插彂璐ф暟閲�",
+ "宸插叆搴撴暟閲�",
+ "鍗曚綅",
+ "閲囪喘鍗曚环",
+ "浠风◣鍚堣"
+ ],
+ // 鏀惰揣淇℃伅
+ recriveColumn: recriveColumn,
+ showReceiveCol: ["鍏ュ簱鍗曞彿", "鏀惰揣浠撳簱", "浜у搧鍚嶇О", "浜у搧缂栧彿", "鏁伴噺", "鍏ュ簱鏃堕棿", "鏀惰揣浜�", "鐘舵��"],
+ loading: false
}
},
created() {
@@ -169,8 +248,8 @@
return "--"
}
},
- setColumnVisible(showCol) {
- return this.tableColumn.map((ele) => {
+ setColumnVisible(showCol, tableColumn) {
+ return tableColumn.map((ele) => {
return {
...ele,
isShowColumn: showCol.includes(ele.label)
@@ -183,9 +262,13 @@
selectIndex: true,
showcol: this.showCol,
allcol: [],
- tableColumn: this.setColumnVisible(this.showCol)
+ tableColumn: this.setColumnVisible(this.showCol, this.tableColumn)
}
this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+ // bottom 浜у搧淇℃伅/鏀惰揣淇℃伅
+ this.tableBottomColumn = this.productColumn
+ this.showBottomCol = this.showProductCol
+ this.setBottomList()
},
selTableCol(val) {
this.showcol = val
@@ -406,6 +489,76 @@
setTimeout(() => {
this.tableLoading = false
}, 3000)
+ },
+ // bom 鍒楄〃
+ setBottomList() {
+ this.productTableList = {
+ selectIndex: true,
+ tableInfomation: [],
+ allcol: [],
+ showcol: this.showBottomCol,
+ tableColumn: this.setColumnVisible(this.showBottomCol, this.tableBottomColumn)
+ }
+ this.setTableList(this.productTableList)
+ },
+ setTableList(tableList) {
+ tableList.allcol = tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+ this.searchOptions = []
+ for (let i = 0; i < tableList.tableColumn.length; i++) {
+ const label = tableList.tableColumn[i].label
+ const value = tableList.tableColumn[i].prop
+ this.searchOptions.push({ value: value, label: label })
+ }
+ },
+ // bottom 浜у搧淇℃伅
+ selBottomTableCol(val) {
+ this.showcol = val
+ this.productTableList.tableColumn = this.setColumnVisible(val, this.tableBottomColumn)
+ },
+ //鑾峰彇褰撳墠閫変腑璧勬簮鐨刬d
+ getTab(tab) {
+ this.TabsIndex = tab
+ if (this.TabsIndex == 0) {
+ // 浜у搧淇℃伅鍒楄〃
+ this.tableBottomColumn = this.productColumn
+ this.showBottomCol = this.showProductCol
+ this.setBottomList()
+ this.getProductInventoryInfo(this.selectRow)
+ } else if (this.TabsIndex == 1) {
+ // 鏀惰揣淇℃伅鍒楄〃
+ this.tableBottomColumn = this.recriveColumn
+ this.showBottomCol = this.showReceiveCol
+ this.setBottomList()
+ // if (this.selectRow.status == 1) {
+ // this.productTableList.tableInfomation = []
+ // } else {
+ this.getProductInventoryInfo(this.selectRow)
+ // }
+ }
+ },
+ // 鐘舵��
+ getStatus(val) {
+ return val === 1 ? "寰呯‘璁�" : val === 2 ? "寰呭嚭搴�" : val === 3 ? "鍑哄簱瀹屾垚" : val === 4 ? "宸插叧闂�" : "--"
+ },
+ // 鑾峰彇浜у搧/鏀惰揣淇℃伅
+ async getProductInventoryInfo(row) {
+ console.log(row)
+ // if (this.TabsIndex == 0 || row.status == 1) {
+ // this.productTableList.tableInfomation = row.products || []
+ // } else {
+ // if (row.number) {
+ // this.loading = true
+ // await getProductInventoryInfo(row.number)
+ // .then((res) => {
+ // this.productTableList.tableInfomation = res.data?.length > 0 ? res.data : []
+ // this.loading = false
+ // })
+ // .catch(() => {
+ // this.productTableList.tableInfomation = []
+ // this.loading = false
+ // })
+ // }
+ // }
}
}
}
@@ -438,15 +591,51 @@
padding: 10px 20px;
border-radius: 12px;
height: calc(100% - 92px);
- &-card {
+ .content-top {
background-color: #fff;
border-radius: 12px;
- height: 100%;
- overflow: hidden;
+ min-height: 70px;
+ height: 48%;
+ position: relative;
+ .list-view {
+ height: calc(100% - 60px);
+ }
}
- .list-view {
- height: calc(100% - 60px);
- overflow: hidden;
+ .content-bottom {
+ .bottom-tabs {
+ height: 40px;
+ line-height: 40px;
+ background: #e6ecf2;
+ display: flex;
+ .tab-pane {
+ width: 100px;
+ margin-right: 20px;
+ font-size: 14px !important;
+ text-align: center;
+ cursor: pointer;
+ background: #2a78fb;
+ border-top-left-radius: 20px;
+ border-top-right-radius: 20px;
+ }
+ }
+ .lable-view {
+ background: #e6ecf2;
+ height: 40px;
+ line-height: 40px;
+ .name {
+ border-left: 4px solid #2a78fb;
+ padding-left: 10px;
+ }
+ }
+ background-color: #fff;
+ border-radius: 12px;
+ min-height: 70px;
+ height: calc(52% - 60px);
+ margin-top: 10px;
+ // padding: 10px 20px;
+ .list-view {
+ height: calc(100% - 10px);
+ }
}
.btn-pager {
display: flex;
--
Gitblit v1.8.0