no message

main
暴炳林 2024-10-18 15:17:52 +08:00
parent 2f33b1a462
commit e970531b23
2 changed files with 147 additions and 19 deletions

View File

@ -83,7 +83,7 @@
/>
<el-popover
placement="bottom-end"
width="150"
width="250"
trigger="click"
>
<el-button
@ -96,7 +96,53 @@
aria-hidden="true"
/>
</el-button>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span v-text="clearfixValue"></span>
<el-button style="float: right; padding: 0px 3px" type="text" @click="clearfixValue='列表显示'"></el-button>
<el-button style="float: right; padding: 0px 3px" type="text" @click="clearfixValue='排序'"></el-button>
</div>
<div v-if="clearfixValue==='列表显示'">
<el-checkbox
style="width: 100%"
v-model="allColumnsSelected"
:indeterminate="allColumnsSelectedIndeterminate"
@change="handleCheckAllChange"
>
全选
</el-checkbox>
<el-checkbox
style="width: 100%"
v-for="item in tableColumns"
:key="item.property"
v-model="item.visible"
@change="handleCheckedTableColumnsChange(item)"
>
{{ item.label }}
</el-checkbox>
</div>
<div v-if="clearfixValue==='排序'">
<el-checkbox
style="width: 100%"
v-model="allColumnsSelected"
:indeterminate="allColumnsSelectedIndeterminate"
@change="handleCheckAllChange"
>
全选
</el-checkbox>
<el-checkbox
style="width: 100%"
v-for="item in tableColumns"
:key="item.property"
v-model="item.visible"
@change="handleCheckedSortablesChange(item)"
>
{{ item.label }}
</el-checkbox>
</div>
</el-card>
<!-- <el-checkbox
v-model="allColumnsSelected"
:indeterminate="allColumnsSelectedIndeterminate"
@change="handleCheckAllChange"
@ -110,7 +156,7 @@
@change="handleCheckedTableColumnsChange(item)"
>
{{ item.label }}
</el-checkbox>
</el-checkbox>-->
</el-popover>
<el-button
size="mini"
@ -172,6 +218,7 @@ export default {
},
data() {
return {
clearfixValue: '列表显示',
headers: { 'Authorization': getToken() },
hiddenColumns: [],
table_configs: [],
@ -425,6 +472,38 @@ export default {
crudTableConfig.add(post_table_config)*/
//this.postToTableConfig();
},
handleCheckedSortablesChange(item) {
let totalCount = 0
let selectedCount = 0
this.tableColumns.forEach(column => {
++totalCount
selectedCount += column.sortable ? 1 : 0
})
if (selectedCount === 0) {
this.crud.notify('请至少选择一列', CRUD.NOTIFICATION_TYPE.WARNING)
this.$nextTick(function () {
item.sortable = true
})
return
}
this.allColumnsSelected = selectedCount === totalCount
this.allColumnsSelectedIndeterminate = selectedCount !== totalCount && selectedCount !== 0
this.updateColumnVisible(item)
/*const columns = []
this.tableColumns.forEach(column => {
if(column.visible==false){
columns.push(column.property)
}
console.log("-"+column.property+"--"+column.visible)
})
const post_table_config = {
value: JSON.stringify(columns),
tableType: this.tableKey
}
crudTableConfig.add(post_table_config)*/
//this.postToTableConfig();
},
postToTableConfig() {
this.updateTableColumns();
const columns = []

View File

@ -32,26 +32,47 @@
<el-input v-model.number="form.upNumber" style="width: 370px;" />
</el-form-item>
<el-form-item label="上料接驳口" prop="upPoint">
<el-select v-model="form.upPoint" value-key="id" filterable placeholder="请选择" style="width: 370px;">
<el-select
v-model="form.upPoint"
value-key="id"
style="width: 370px;"
multiple
filterable
remote
reserve-keyword
placeholder="请选择"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in points"
:key="item.id"
:label="item.name"
:value="item"
/>
:label="item.code"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下料接驳口数" prop="downNumber">
<el-input v-model.number="form.downNumber" style="width: 370px;" />
</el-form-item>
<el-form-item label="下料接驳口" prop="downPoint">
<el-select v-model="form.downPoint" value-key="id" filterable placeholder="请选择" style="width: 370px;">
<el-select
v-model="form.downPoint"
value-key="id"
style="width: 370px;"
multiple
filterable
remote
reserve-keyword
placeholder="请选择"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in points"
:key="item.id"
:label="item.name"
:value="item"
/>
:label="item.code"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="接驳口车辆数">
@ -85,15 +106,30 @@
</template>
</el-table-column>
<el-table-column prop="upNumber" label="上料接驳口数" />
<el-table-column prop="upPointCode" label="上料接驳口">
<el-table-column prop="upPointCode" :show-overflow-tooltip="false" label="上料接驳口">
<template slot-scope="scope">
{{ scope.row.upPoint.code}}
<div class="tag-group">
<el-tag
v-for="item in scope.row.upPoint"
key="item.code"
:type="info"
effect="plain">
{{ item.code }}
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="downNumber" label="下料接驳口数" />
<el-table-column prop="downPointCode" label="下料接驳口">
<el-table-column prop="downPointCode" :show-overflow-tooltip="false" label="下料接驳口">
<template slot-scope="scope">
{{ scope.row.downPoint.code}}
<div class="tag-group">
<el-tag
v-for="item in scope.row.downPoint"
key="item.code"
:type="info"
effect="plain">
{{ item.code }}
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="agvNumber" label="接驳口车辆数" />
@ -126,14 +162,14 @@ import pagination from '@crud/Pagination'
import {queryAreaList} from "@/api/area";
import {getPoints} from "@/api/point";
const defaultForm = { id: null, code: null, name: null, area: null, upNumber: null, upPoint: null, downNumber: null, downPoint: null, agvNumber: null, maxNumber: null, backNumber: null, maxStockNumber: null, deptId: null, description: null, enabled: null, createBy: null, updateBy: null, createTime: null, updateTime: null }
const defaultForm = { id: null, code: null, name: null, area: null, upNumber: null, upPoint: [], downNumber: null, downPoint: [], agvNumber: null, maxNumber: null, backNumber: null, maxStockNumber: null, deptId: null, description: null, enabled: null, createBy: null, updateBy: null, createTime: null, updateTime: null }
export default {
name: 'WorkPoint',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['base_staus'],
cruds() {
return CRUD({ title: 'workPoint', url: 'api/workPoint', idField: 'id', sort: 'id,desc', crudMethod: { ...crudWorkPoint }})
return CRUD({ title: '工作站', url: 'api/workPoint', idField: 'id', sort: 'id,desc', crudMethod: { ...crudWorkPoint }})
},
data() {
return {
@ -185,9 +221,22 @@ export default {
})
},
getPoint() {
getPoints(0).then(res => {
getPoints(null).then(res => {
this.points = res
})
},
remoteMethod(query) {
if (query !== '') {
this.loading = true;
setTimeout(() => {
this.loading = false;
getPoints(query).then(res => {
this.points = res
})
}, 200);
} else {
this.points = [];
}
}
}
}