|
@@ -18,7 +18,10 @@ const { Columns, TabColumns } = judgeColumns();
|
|
|
const NewColumns = initColumns(Columns);
|
|
|
const NewTabColumns = TabColumns.map((element) => ({
|
|
|
...element,
|
|
|
- tableColumns: initColumns(element.tableColumns),
|
|
|
+ tableColumns: initColumns(element.tableColumns).map((item, index) => ({
|
|
|
+ ...item,
|
|
|
+ hidden: true,
|
|
|
+ })),
|
|
|
}));
|
|
|
//
|
|
|
const SelectColumns = NewColumns.filter(
|
|
@@ -38,6 +41,7 @@ export default {
|
|
|
VirtualColumn,
|
|
|
FileUploadCenter: () => import("../components/FileUploadCenter/index.vue"),
|
|
|
FilePrint: () => import("../print/index.vue"),
|
|
|
+ ButtonHide: () => import("../components/hide/index.vue"),
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -68,6 +72,27 @@ export default {
|
|
|
},
|
|
|
set() {},
|
|
|
},
|
|
|
+ innerColumns: {
|
|
|
+ get() {
|
|
|
+ let { tabName, tabColumns } = this;
|
|
|
+ let obj = tabColumns.find(({ key }) => key === tabName).tableColumns;
|
|
|
+
|
|
|
+ return obj;
|
|
|
+ },
|
|
|
+ set(value) {
|
|
|
+ let { tabName, tabColumns } = this;
|
|
|
+ this.tabColumns = tabColumns.map((item) => {
|
|
|
+ if (item.key === tabName) {
|
|
|
+ item.tableColumns = value;
|
|
|
+ }
|
|
|
+ return { ...item };
|
|
|
+ });
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.puOrderItemList &&
|
|
|
+ this.$refs.puOrderItemList[0].doLayout();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
},
|
|
|
watch: {},
|
|
|
methods: {
|
|
@@ -121,7 +146,6 @@ export default {
|
|
|
},
|
|
|
// 发送NC
|
|
|
async handleSendNC() {
|
|
|
-
|
|
|
try {
|
|
|
let { code } = await orderApi.toNc({ puOrderId: this.params.id });
|
|
|
|
|
@@ -162,7 +186,8 @@ export default {
|
|
|
|
|
|
let sumColumn = tabColumns
|
|
|
.find((tab) => tab.key === tabName)
|
|
|
- .tableColumns.filter(
|
|
|
+ .tableColumns.filter((item) => item.hidden)
|
|
|
+ .filter(
|
|
|
({ key, isSummary }) => isSummary && key === column.property
|
|
|
);
|
|
|
|
|
@@ -186,6 +211,9 @@ export default {
|
|
|
// sums[index] = sums[index] && sums[index].toFixed(2); // 保留2位小数,解决小数合计列
|
|
|
return [means];
|
|
|
},
|
|
|
+ onHide(prop) {
|
|
|
+ this.innerColumns = prop;
|
|
|
+ },
|
|
|
},
|
|
|
created() {},
|
|
|
mounted() {},
|
|
@@ -396,7 +424,6 @@ export default {
|
|
|
:label="column.title"
|
|
|
:name="column.key"
|
|
|
>
|
|
|
-
|
|
|
<ux-grid
|
|
|
border
|
|
|
use-virtual
|
|
@@ -420,8 +447,10 @@ export default {
|
|
|
width="60"
|
|
|
></ux-table-column>
|
|
|
<ux-table-column
|
|
|
- v-for="(cColumn, cIndex) in column.tableColumns"
|
|
|
- :key="cIndex"
|
|
|
+ v-for="(cColumn, cIndex) in column.tableColumns.filter(
|
|
|
+ (item) => item.hidden
|
|
|
+ )"
|
|
|
+ :key="cColumn.key + cColumn.hidden"
|
|
|
:field="cColumn.key"
|
|
|
:title="cColumn.title"
|
|
|
:width="cColumn.width || 80"
|
|
@@ -507,6 +536,11 @@ export default {
|
|
|
</ux-grid>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
+ <el-row style="margin-top: 10px">
|
|
|
+ <el-col>
|
|
|
+ <button-hide v-model="innerColumns" @change="onHide"></button-hide>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-card>
|
|
|
</el-form>
|
|
|
</el-drawer>
|