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 <el-popover
placement="bottom-end" placement="bottom-end"
width="150" width="250"
trigger="click" trigger="click"
> >
<el-button <el-button
@ -96,7 +96,53 @@
aria-hidden="true" aria-hidden="true"
/> />
</el-button> </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 <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" v-model="allColumnsSelected"
:indeterminate="allColumnsSelectedIndeterminate" :indeterminate="allColumnsSelectedIndeterminate"
@change="handleCheckAllChange" @change="handleCheckAllChange"
@ -110,7 +156,7 @@
@change="handleCheckedTableColumnsChange(item)" @change="handleCheckedTableColumnsChange(item)"
> >
{{ item.label }} {{ item.label }}
</el-checkbox> </el-checkbox>-->
</el-popover> </el-popover>
<el-button <el-button
size="mini" size="mini"
@ -172,6 +218,7 @@ export default {
}, },
data() { data() {
return { return {
clearfixValue: '列表显示',
headers: { 'Authorization': getToken() }, headers: { 'Authorization': getToken() },
hiddenColumns: [], hiddenColumns: [],
table_configs: [], table_configs: [],
@ -425,6 +472,38 @@ export default {
crudTableConfig.add(post_table_config)*/ crudTableConfig.add(post_table_config)*/
//this.postToTableConfig(); //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() { postToTableConfig() {
this.updateTableColumns(); this.updateTableColumns();
const columns = [] const columns = []

View File

@ -32,26 +32,47 @@
<el-input v-model.number="form.upNumber" style="width: 370px;" /> <el-input v-model.number="form.upNumber" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="上料接驳口" prop="upPoint"> <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 <el-option
v-for="item in points" v-for="item in points"
:key="item.id" :key="item.id"
:label="item.name" :label="item.code"
:value="item" :value="item">
/> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="下料接驳口数" prop="downNumber"> <el-form-item label="下料接驳口数" prop="downNumber">
<el-input v-model.number="form.downNumber" style="width: 370px;" /> <el-input v-model.number="form.downNumber" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="下料接驳口" prop="downPoint"> <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 <el-option
v-for="item in points" v-for="item in points"
:key="item.id" :key="item.id"
:label="item.name" :label="item.code"
:value="item" :value="item">
/> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="接驳口车辆数"> <el-form-item label="接驳口车辆数">
@ -85,15 +106,30 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="upNumber" label="上料接驳口数" /> <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"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="downNumber" label="下料接驳口数" /> <el-table-column prop="downPointCode" :show-overflow-tooltip="false" label="下料接驳口">
<el-table-column prop="downPointCode" label="下料接驳口">
<template slot-scope="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column prop="agvNumber" label="接驳口车辆数" /> <el-table-column prop="agvNumber" label="接驳口车辆数" />
@ -126,14 +162,14 @@ import pagination from '@crud/Pagination'
import {queryAreaList} from "@/api/area"; import {queryAreaList} from "@/api/area";
import {getPoints} from "@/api/point"; 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 { export default {
name: 'WorkPoint', name: 'WorkPoint',
components: { pagination, crudOperation, rrOperation, udOperation }, components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['base_staus'], dicts: ['base_staus'],
cruds() { 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() { data() {
return { return {
@ -185,9 +221,22 @@ export default {
}) })
}, },
getPoint() { getPoint() {
getPoints(0).then(res => { getPoints(null).then(res => {
this.points = 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 = [];
}
} }
} }
} }