You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.1 KiB
162 lines
4.1 KiB
<!-- 委托客户 --> |
|
<!-- 供应商管理 --> |
|
<template> |
|
<basic-container> |
|
<SearchHeader :searchForm="searchForm" :searchText="searchText" @searchHandle="searchHandle" @addHandle="addHandle" /> |
|
<avue-crud |
|
id="avue-id" |
|
ref="crud" |
|
:option="option" |
|
:data="data" |
|
:page.sync="page" |
|
:table-loading="loading" |
|
@row-save="rowSave" |
|
@row-update="rowUpdate" |
|
@row-del="rowDel" |
|
@current-change="currentChange" |
|
@size-change="sizeChange" |
|
> |
|
<template slot-scope="{type}" slot="menuForm"> |
|
<el-button size="small" @click="$refs.crud.closeDialog()" class="button-el">取消</el-button> |
|
<el-button size="small" v-if="type=='add'" @click="$refs.crud.rowSave()" class="button-el">确定</el-button> |
|
<el-button size="small" v-if="type=='edit'" @click="$refs.crud.rowUpdate()" class="button-el">提交</el-button> |
|
</template> |
|
<template slot-scope="{row,index}" slot="menu"> |
|
<el-button @click="$refs.crud.rowEdit(row,index)" class="look">编辑</el-button> |
|
<el-button @click="$refs.crud.rowDel(row,index)" class="look">删除</el-button> |
|
</template> |
|
</avue-crud> |
|
</basic-container> |
|
</template> |
|
|
|
<script> |
|
import { getList, remove, update } from "@/api/capital/supplier"; |
|
import { save } from "@/api/capital/productstoreList"; |
|
import { tableOption} from '@/const/capital/supplier.js' |
|
export default { |
|
data() { |
|
return { |
|
loading: false, |
|
page: { |
|
current: 1, |
|
total: 1, |
|
size: 10 |
|
}, |
|
// 搜索 |
|
searchForm: { |
|
name: "", |
|
}, |
|
searchText: { |
|
flag: 3, |
|
addText: "新增" |
|
}, |
|
option: tableOption |
|
}; |
|
}, |
|
mounted() { |
|
if(JSON.stringify(this.$store.state.client.supplierParams) !== '{}') { |
|
this.searchForm = this.$store.state.client.supplierParams |
|
} |
|
this.onLoad() |
|
}, |
|
methods: { |
|
// 分页 |
|
currentChange(currentPage) { |
|
this.page.current = currentPage; |
|
this.onLoad() |
|
}, |
|
sizeChange(pageSize) { |
|
this.page.size = pageSize; |
|
this.onLoad() |
|
}, |
|
// 搜索 |
|
searchHandle(item, index) { |
|
this.page.current = 1 |
|
if (index === 1) { |
|
this.searchForm = { |
|
name: "", |
|
}; |
|
} else { |
|
this.searchForm = item |
|
} |
|
this.onLoad() |
|
this.$store.dispatch("changeSetting", {title:'supplierParams',form: this.searchForm}) |
|
}, |
|
// 新增 |
|
addHandle() { |
|
this.$refs.crud.rowAdd(); |
|
}, |
|
|
|
onLoad() { |
|
this.loading = true |
|
const {current,size} = this.page; |
|
getList( Object.assign({ current, size }, this.searchForm)).then((res) => { |
|
const {records,total} = res.data.data |
|
this.data = records |
|
this.page.total = total |
|
this.loading = false |
|
}); |
|
}, |
|
//新增 |
|
rowSave(from, done, loading) { |
|
save(from).then((res) => { |
|
this.$message.success("新增成功"); |
|
this.onLoad(); |
|
}) |
|
done(); |
|
}, |
|
//删除 |
|
rowDel(form, index) { |
|
this.$confirm("此操作会删除该数据,且无法恢复,确定要删除吗?", { |
|
confirmButtonText: "确定", |
|
cancelButtonText: "取消", |
|
type: "warning", |
|
}) |
|
.then(() => { |
|
remove(form.id).then((res) => { |
|
console.log(res); |
|
this.$message.success("删除成功"); |
|
this.onLoad(); |
|
}); |
|
}) |
|
}, |
|
//修改 |
|
rowUpdate(form, index, done, loading) { |
|
console.log(form,'from') |
|
update(form).then((res) => { |
|
this.onLoad(); |
|
done(); |
|
}) |
|
}, |
|
}, |
|
}; |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
// 取消 |
|
.button-el { |
|
color: #999999; |
|
background-color: #fff; |
|
border-color: #e4e7ec; |
|
height: 46px; |
|
width: 100px; |
|
border-radius: 0px; |
|
margin-left: 20px; |
|
} |
|
// 确定 |
|
.button-el:hover { |
|
color: #fff; |
|
background-color: #1e60f5; |
|
border-color: #1e60f5; |
|
height: 46px; |
|
width: 100px; |
|
border-radius: 0px; |
|
margin-left: 20px; |
|
} |
|
/deep/ .avue-crud__pagination { |
|
height: 20px; |
|
padding: 10px; |
|
// padding-top: 30px; |
|
// padding-bottom: 30px; |
|
} |
|
</style>
|
|
|