From c93c13d1cfe288d431109ae1eafd7a9fc6d58746 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 13 六月 2023 10:23:17 +0800
Subject: [PATCH] 1.递交
---
src/views/purchasesManager/purchasesList.vue | 343 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 215 insertions(+), 128 deletions(-)
diff --git a/src/views/purchasesManager/purchasesList.vue b/src/views/purchasesManager/purchasesList.vue
index af02b42..41795de 100644
--- a/src/views/purchasesManager/purchasesList.vue
+++ b/src/views/purchasesManager/purchasesList.vue
@@ -57,7 +57,7 @@
</el-select>
</el-form-item>
- <el-form-item label="鍗曟嵁鏃ユ湡" style="display: flex;">
+ <el-form-item label="鍗曟嵁鏃ユ湡" style=" display: flex;font-size: 14px;align-items: center">
<el-date-picker
v-model="form.orderdate"
type="daterange"
@@ -92,7 +92,7 @@
<el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style="display: flex;">
<el-input v-model="form.creatuser" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
- <el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style="display: flex;">
+ <el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style=" display: flex;font-size: 14px;align-items: center">
<el-date-picker
v-model="form.createdate"
type="daterange"
@@ -134,8 +134,13 @@
</div>
<div class="elTableDiv">
+ <TableColumnSettings
+ :list1="tableColumnSettingsArray"
+ @tableColumnUpdate="tableColumnUpdate"
+ />
<el-table
ref="tableDataRef"
+ :key="tableTimeStampKey"
class="tableFixed"
:data="tableData"
:height="isExpandForm?(tableHeight+40):(tableHeight+80)+'px'"
@@ -160,122 +165,37 @@
/>
</template>
</el-table-column>
+
<el-table-column
- prop="RowNum"
- width="50"
- fixed
- label="搴忓彿"
- />
- <el-table-column
- prop="status"
- label="璁㈠崟鐘舵��"
- width="110"
- sortable="custom"
- />
- <el-table-column
- prop="orderdate"
- label="鍗曟嵁鏃ユ湡"
- sortable="custom"
- width="110"
- >
- <template slot-scope="{row}">
- <div v-if="row.orderdate">{{ row.orderdate.substring(0, 11) }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="ordercode"
- label="璁㈠崟缂栧彿"
- sortable="custom"
- width="160"
+ v-for="item in tableColumnSettingsArray"
+ v-if="item.show"
+ :key="item.id"
+ :sortable="item.sortable"
+ :prop="item.prop"
+ :min-width="item.minWidth"
+ :label="item.label"
+ :width="item.width"
show-tooltip-when-overflow
- />
- <el-table-column
- prop="deptname"
- label="閮ㄩ棬鍚嶇О"
- width="130"
- show-tooltip-when-overflow
- sortable="custom"
+ :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
>
<template slot-scope="{row}">
- <div v-if="row.deptname">{{ row.deptname }}</div>
- <div v-else>/</div>
+ <div v-if="!row[item.prop]">/</div>
+ <div v-else-if="item.prop==='status'">
+ {{ mesorderstusArr.find(i => i.value === row[item.prop]).label }}
+ </div>
+ <div v-else-if="item.prop==='acceptdate'">
+ {{ row.acceptdate ? row.acceptdate.substring(0, 11) : '/' }}
+ </div>
+ <div v-else-if="item.prop==='orderdate'">
+ {{ row.orderdate ? row.orderdate.substring(0, 11) : '/' }}
+ </div>
+ <div v-else-if="item.prop==='lm_date'">
+ {{ row.lm_date ? row.lm_date.substring(0, 11) : '/' }}
+ </div>
+ <div v-else>{{ row[item.prop] }}</div>
</template>
</el-table-column>
- <el-table-column
- prop="customername"
- label="閲囪喘渚涙柟"
- sortable="custom"
- min-width="180"
- show-tooltip-when-overflow
- >
- <template slot-scope="{row}">
- <div v-if="row.customername">{{ row.customername }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="saleorderCode"
- label="婧愬崟鍗曞彿"
- sortable="custom"
- width="160"
- show-tooltip-when-overflow
- >
- <template slot-scope="{row}">
- <div v-if="row.saleorderCode">{{ row.saleorderCode }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="acceptdate"
- label="棰勮鍒拌揣鏃ユ湡"
- width="130"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.acceptdate">{{ row.acceptdate.substring(0, 11) }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="lm_user"
- label="鍒涘缓浜哄憳"
- sortable="custom"
- width="110"
- />
- <el-table-column
- prop="lm_date"
- label="鍒涘缓鏃堕棿"
- width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.lm_date">{{ row.lm_date.substring(0, 11) }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="auditoruser"
- label="瀹℃牳浜�"
- width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.auditoruser">{{ row.auditoruser }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="auditordate"
- label="瀹℃牳鏃堕棿"
- width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.auditordate">{{ row.auditordate.substring(0, 11) }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
+
<el-table-column
label="鎿嶄綔"
width="120"
@@ -312,6 +232,7 @@
<div class="elTableDiv">
<el-table
+ ref="tableDataRef2"
:data="tableDataDetail"
border
height="210px"
@@ -362,7 +283,7 @@
prop="quantity"
/>
<el-table-column
- label="绱Н鍒拌揣鏁伴噺"
+ label="绱鍒拌揣鏁伴噺"
show-tooltip-when-overflow
prop="countarrivalquantity"
/>
@@ -376,6 +297,18 @@
<div v-else>/</div>
</template>
</el-table-column>
+
+ <el-table-column
+ label="绱閫�璐ф暟閲�"
+ show-tooltip-when-overflow
+ prop="countreturnquantity"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.countreturnquantity">{{ row.countreturnquantity }}</div>
+ <div v-else>/</div>
+ </template>
+ </el-table-column>
+
<el-table-column
label="棰勮鍒拌揣鏃ユ湡"
show-tooltip-when-overflow
@@ -443,13 +376,19 @@
import { handleDatetime } from '@/utils/global'
import waves from '@/directive/waves'
import { SeaveSearchErpPurchaseOrder } from '@/api/ErpSyncMes'
-import { ClosedPurchaseOrder, DeletePurchaseOrder, PurchaseOrderSearch, PurchaseOrderSubSearch } from '@/api/purchasesManager'
+import {
+ ClosedPurchaseOrder,
+ DeletePurchaseOrder,
+ PurchaseOrderSearch,
+ PurchaseOrderSubSearch
+} from '@/api/purchasesManager'
import { DepartMentSelect, PurchSupplierSelect } from '@/api/basicInfo'
+import TableColumnSettings from '@/components/TableColumnSettings'
export default {
name: 'Zzjg',
components: {
- Pagination
+ Pagination, TableColumnSettings
},
directives: { waves },
data() {
@@ -473,19 +412,133 @@
rows: 20 // 姣忛〉澶氬皯鏉�
},
mesorderstusArr: [
- { label: '鏂拌鍗�', value: 'NEW' },
- { label: '閮ㄥ垎鍒拌揣', value: 'BINARIVE' },
- { label: '宸插埌璐�', value: 'INARIVE' },
- { label: '閮ㄥ垎鍏ュ簱', value: 'BINSTOG' },
- { label: '宸插叆搴�', value: 'INSTOG' },
- { label: '宸插叧闂�', value: 'CLOSED' }
+ { label: '姝e父', value: 'NEW' },
+ // { label: '閮ㄥ垎鍒拌揣', value: 'BINARIVE' },
+ // { label: '宸插埌璐�', value: 'INARIVE' },
+ // { label: '閮ㄥ垎鍏ュ簱', value: 'BINSTOG' },
+ // { label: '宸插叆搴�', value: 'INSTOG' },
+ { label: '鍏抽棴', value: 'CLOSED' }
],
total: 10,
tableData: [],
radioSelected: '',
deptcodeArr: [], // 閮ㄩ棬淇℃伅鏁扮粍
customercodeArr: [], // 閲囪喘渚涙柟鏁扮粍
- tableDataDetail: []
+ tableDataDetail: [],
+ tableColumnSettingsArray: [
+ // { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず
+ { minWidth: 25, width: 50, prop: 'RowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom
+ {
+ minWidth: false,
+ width: 110,
+ prop: 'status',
+ label: '璁㈠崟鐘舵��',
+ id: 3,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'orderdate',
+ label: '鍗曟嵁鏃ユ湡',
+ id: 4,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 130,
+ width: false,
+ prop: 'ordercode',
+ label: '璁㈠崟缂栧彿',
+ id: 5,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'deptname',
+ label: '閮ㄩ棬鍚嶇О',
+ id: 6,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 220,
+ width: false,
+ prop: 'customername',
+ label: '閲囪喘渚涙柟',
+ id: 7,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'saleorderCode',
+ label: '婧愬崟鍗曞彿',
+ id: 8,
+ show: true,
+ fixed: false,
+ sortable: true
+ }, {
+ minWidth: 130,
+ width: false,
+ prop: 'acceptdate',
+ label: '棰勮鍒拌揣鏃ユ湡',
+ id: 9,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'lm_user',
+ label: '鍒涘缓浜哄憳',
+ id: 10,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'lm_date',
+ label: '鍒涘缓鏃堕棿',
+ id: 11,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'auditoruser',
+ label: '瀹℃牳浜�',
+ id: 12,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'auditordate',
+ label: '瀹℃牳鏃堕棿',
+ id: 13,
+ show: true,
+ fixed: false,
+ sortable: true
+ }
+ ],
+ tableTimeStampKey: new Date().getTime() // 琛ㄦ牸key
}
},
@@ -498,6 +551,13 @@
this.getHeight()
},
methods: {
+ tableColumnUpdate(val, isCopyTrue) {
+ if (isCopyTrue) {
+ this.tableColumnSettingsArray = val
+ }
+ this.tableTimeStampKey = new Date().getTime()
+ this.$refs.tableDataRef.doLayout()
+ },
handleRequest() {
this.getPurchaseOrderSearch().then(res => {
if (res.code === '200') {
@@ -547,7 +607,7 @@
this.deptcodeArr = res
},
// 閲囪喘渚涙柟淇℃伅鏌ヨ
- async getPurchSupplierSelect() {
+ async getPurchSupplierSelect() {
const { data: res } = await PurchSupplierSelect()
this.customercodeArr = res
},
@@ -583,11 +643,19 @@
},
async switchButton(row) {
- ClosedPurchaseOrder({ po: row.ordercode }).then(res => {
- if (res.code === '200') {
- this.$message.success('鍏冲崟鎴愬姛锛�')
- this.getPurchaseOrderSearch()
- }
+ this.$confirm('鏄惁纭鍏冲崟?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ ClosedPurchaseOrder({ po: row.ordercode }).then(res => {
+ if (res.code === '200') {
+ this.$message.success('鍏冲崟鎴愬姛锛�')
+ this.getPurchaseOrderSearch()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堝叧鍗�')
})
},
// 鍒犻櫎鎸夐挳
@@ -656,6 +724,7 @@
}
this.isIpad = window.innerHeight < 769 && window.innerWidth < 1367
this.$refs.tableDataRef.doLayout()
+ this.$refs.tableDataRef2.doLayout()
})
},
tableRowClassName({ row, rowIndex }) {
@@ -669,6 +738,24 @@
<style lang="scss" scoped>
$main_color: #42b983;
+::v-deep .el-range__icon {
+ line-height: 28px !important;
+}
+
+::v-deep .el-range-separator {
+ line-height: 28px !important;
+}
+
+::v-deep .el-range-input {
+ font-size: 14px;
+}
+
+::v-deep .el-range-separator {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
::v-deep .el-radio__label {
display: none !important;
}
--
Gitblit v1.9.3