import {invokeServer, msg, Scope} from 'yvan-ext' import vjson from "./LzwTest.view" import model from "./LzwTest.model" export default class LzwTest extends Scope { path = '/bas/area/LzwTest/LzwTest' constructor() { super({model, vjson}); } onLoad() { } refresh() { this.refs.grid1.reload() } add() { this.refs.grid1.appendEditRow({}, 1) } remove() { const grid1 = this.refs.grid1 const selected = grid1?.selModel?.selected?.items?.map(row => row.data)[0] if (selected && grid1?.getStore().getNewRecords().map(row => row.data).indexOf(selected) < 0) { system.confirm(`真的要删除?`) .then(() => { this.setLoading(true) invokeServer('/bas/area/LzwTest/LzwTest@deleteItem', selected) .then(res => { grid1?.removeEditRow() system.msg(res.msg) }).finally(() => this.setLoading(false)) }) } else { grid1?.removeEditRow() } } save() { let {newRows, modifyRows, removeRecords, err} = system.getGridEditRows(this.refs.grid1) if (err) return this.setLoading(true) invokeServer('/bas/area/LzwTest/LzwTest@saveItems', {newRows, modifyRows, removeRecords,}) .then(res => { system.msg(res.msg) this.refs.grid1.reload() }).finally(() => this.setLoading(false)) } grid1Select(sender, selected) { this.viewModel.set('selectedRow', selected[0]?.data) } }