yyw提交

This commit is contained in:
DESKTOP-8FGKA8Q\chunfen 2024-08-08 19:56:28 +08:00
parent cfc9870314
commit 887573a81f
10 changed files with 254 additions and 192 deletions

View File

@ -251,8 +251,12 @@ export default {
return return
} }
import('@/util/Export2Excel').then(excel => { import('@/util/Export2Excel').then(excel => {
const tHeader = ['商品名称', 'sku规格', '规格编码', '销量', '销售额'] const tHeader = ['商品名称', 'sku规格', '规格编码', '销量', '销售额', '库存', '可售库存', '状态']
const filterVal = ['name', 'title', 'external_sku_id', 'goods_total', 'goods_total_amount'] const filterVal = ['name', 'title', 'external_sku_id', 'goods_total', 'goods_total_amount', 'stock', 'sale_stock', 'status']
if(this.time_type == 'day') {
tHeader.splice(5, 0, '昨日销量', '3日内销量', '7日内销量', '已发货数', '未发货数')
filterVal.splice(5, 0, 'yesterday_avg_num', 'three_day_avg_num', 'seven_day_avg_num', 'shipping_num', 'unshipping_num')
}
const list = res.data.data.data const list = res.data.data.data
const data = this.formatJson(filterVal, list) const data = this.formatJson(filterVal, list)
let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime

View File

@ -61,8 +61,6 @@
<el-table-column label="类型名称" prop="type_name"></el-table-column> <el-table-column label="类型名称" prop="type_name"></el-table-column>
<el-table-column label="库存" prop="stock"></el-table-column> <el-table-column label="库存" prop="stock"></el-table-column>
<el-table-column label="可售库存" prop="sale_stock"></el-table-column> <el-table-column label="可售库存" prop="sale_stock"></el-table-column>
<el-table-column label="销量" prop="goods_total"></el-table-column>
<el-table-column label="销售额" prop="goods_total_amount"></el-table-column>
<el-table-column label="已发货数" prop="shipping_num" v-if="time_type == 'day'"></el-table-column> <el-table-column label="已发货数" prop="shipping_num" v-if="time_type == 'day'"></el-table-column>
<el-table-column label="未发货数" prop="unshipping_num" v-if="time_type == 'day'"></el-table-column> <el-table-column label="未发货数" prop="unshipping_num" v-if="time_type == 'day'"></el-table-column>
@ -208,8 +206,13 @@ export default {
} }
this.downloadLoading = true this.downloadLoading = true
import('@/util/Export2Excel').then(excel => { import('@/util/Export2Excel').then(excel => {
const tHeader = ['类型名称', '库存', '可售库存', '未发货数', '未发货数', '总销量', '总销售金额'] const tHeader = ['类型名称', '库存', '可售库存', '总销量', '总销售金额']
const filterVal = ['type_name', 'stock', 'sale_stock', 'shipping_num', 'unshipping_num', 'goods_total', 'goods_total_amount'] const filterVal = ['type_name', 'stock', 'sale_stock', 'goods_total', 'goods_total_amount']
if(this.time_type == 'day') {
tHeader.splice(3, 0, '已发货数', '未发货数')
filterVal.splice(3, 0, 'shipping_num', 'unshipping_num')
}
const list = this.saleList const list = this.saleList
let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime
const data = this.formatJson(filterVal, list) const data = this.formatJson(filterVal, list)

View File

@ -15,13 +15,13 @@
style="width: 220px;" style="width: 220px;"
v-model="form.type_id" /> v-model="form.type_id" />
</div> </div>
<div class="row"> <!-- <div class="row">
<span>商品品牌</span> <span>商品品牌</span>
<el-select v-model="form.brand_id" placeholder="商品品牌" clearable> <el-select v-model="form.brand_id" placeholder="商品品牌" clearable>
<el-option v-for="item in brand" :key="item.id" :label="item.name" :value="item.id"> <el-option v-for="item in brand" :key="item.id" :label="item.name" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</div> </div> -->
<div class="row"> <div class="row">
<span>商品编码</span> <span>商品编码</span>
<el-input v-model="form.external_sku_id" placeholder="商品编码" clearable></el-input> <el-input v-model="form.external_sku_id" placeholder="商品编码" clearable></el-input>
@ -101,11 +101,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="规格" prop="title"></el-table-column> <el-table-column label="规格" prop="title"></el-table-column>
<el-table-column label="品牌"> <!-- <el-table-column label="品牌">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.goods && scope.row.goods.brand && scope.row.goods.brand.name || '' }}</div> <div>{{ scope.row.goods && scope.row.goods.brand && scope.row.goods.brand.name || '' }}</div>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- <el-table-column prop="yesterday_num" sortable label="1T"></el-table-column> <!-- <el-table-column prop="yesterday_num" sortable label="1T"></el-table-column>
<el-table-column sortable label="0T"> <el-table-column sortable label="0T">
@ -187,7 +187,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column sortable label="损耗"> <!-- <el-table-column sortable label="损耗">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.daily" class="flex"> <div v-if="scope.row.daily" class="flex">
<div v-if="scope.row.id === editLossId"> <div v-if="scope.row.id === editLossId">
@ -218,7 +218,7 @@
</el-popover> </el-popover>
</div> </div>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="stock" sortable label="库存"></el-table-column> <el-table-column prop="stock" sortable label="库存"></el-table-column>
<el-table-column prop="sale_stock" label="在售库存"></el-table-column> <el-table-column prop="sale_stock" label="在售库存"></el-table-column>

View File

@ -43,7 +43,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="query(1)">查询</el-button> <el-button type="primary" icon="el-icon-search" @click="query(1)">查询</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> </el-card>
@ -85,15 +85,14 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card>
<!-- 分页功能 --> <div class="page-pagination">
<div class="block"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page"
:current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page" layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total">
layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total"> </el-pagination>
</el-pagination> </div>
</div> </el-card>
</div> </div>
</template> </template>
@ -361,11 +360,5 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.block {
margin-top: 20px;
}
::v-deep .el-card__body {
padding: 0;
}
</style> </style>

View File

@ -36,7 +36,7 @@
<el-table-column prop="id" label="ID" width="80" align="center" /> <el-table-column prop="id" label="ID" width="80" align="center" />
<el-table-column prop="goods_sku.name" label="商品标题" /> <el-table-column prop="goods_sku.name" label="商品标题" />
<el-table-column prop="goods_sku.external_sku_id" label="规格编码" /> <el-table-column prop="goods_sku.external_sku_id" label="规格编码" />
<el-table-column prop="sku_id" label="skuID" /> <!-- <el-table-column prop="sku_id" label="skuID" /> -->
<el-table-column prop="day" label="日期" /> <el-table-column prop="day" label="日期" />
<el-table-column prop="inventory" label="盘点库存" /> <el-table-column prop="inventory" label="盘点库存" />
<el-table-column prop="inventory_time" label="盘点时间" /> <el-table-column prop="inventory_time" label="盘点时间" />

View File

@ -36,7 +36,7 @@
<el-table-column prop="id" label="ID" width="80" align="center" /> <el-table-column prop="id" label="ID" width="80" align="center" />
<el-table-column prop="goods_sku.name" label="商品标题" /> <el-table-column prop="goods_sku.name" label="商品标题" />
<el-table-column prop="external_sku_id" label="规格编码" /> <el-table-column prop="external_sku_id" label="规格编码" />
<el-table-column prop="sku_id" label="skuID" /> <!-- <el-table-column prop="sku_id" label="skuID" /> -->
<el-table-column prop="num" label="数量" /> <el-table-column prop="num" label="数量" />
<el-table-column prop="cost" label="成本" /> <el-table-column prop="cost" label="成本" />
<el-table-column prop="buyer_name" label="采购人姓名" /> <el-table-column prop="buyer_name" label="采购人姓名" />
@ -73,7 +73,10 @@
<el-input v-model="curInfo.cost" clearable></el-input> <el-input v-model="curInfo.cost" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="采购人"> <el-form-item label="采购人">
<el-input v-model="curInfo.buyer_name" clearable></el-input> <el-select v-model="curInfo.buyer_user_id" clearable filterable ref="userRef">
<el-option v-for="item in usersList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="报损原因"> <el-form-item label="报损原因">
<el-input v-model="curInfo.reason" clearable></el-input> <el-input v-model="curInfo.reason" clearable></el-input>
@ -105,6 +108,7 @@
<script> <script>
import { getLossLog, addLossLog, updateLossLog } from "@/api/supplyChain" import { getLossLog, addLossLog, updateLossLog } from "@/api/supplyChain"
import axios from "axios" import axios from "axios"
import { userList } from "@/api/user"
export default { export default {
data() { data() {
@ -123,7 +127,8 @@ export default {
}, },
addTime: [], addTime: [],
showImport: false, showImport: false,
fileList: [] fileList: [],
usersList: []
} }
}, },
methods: { methods: {
@ -168,8 +173,15 @@ export default {
}, },
commitSupplier() { commitSupplier() {
this.commitloading = true this.commitloading = true
let params = {
...this.curInfo
}
params.buyer_name = ''
if(params.buyer_user_id) {
params.buyer_name = this.$refs.userRef.selectedLabel
}
if(this.curInfo.id) { if(this.curInfo.id) {
updateLossLog(this.curInfo.id, this.curInfo).then((res) => { updateLossLog(this.curInfo.id, params).then((res) => {
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "更新成功!" }) this.$message({ type: "success", message: "更新成功!" })
this.dialogVisible = false this.dialogVisible = false
@ -178,7 +190,7 @@ export default {
this.commitloading = false this.commitloading = false
}) })
} else { } else {
addLossLog(this.curInfo).then((res) => { addLossLog(params).then((res) => {
this.page = 1 this.page = 1
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "新增成功!" }) this.$message({ type: "success", message: "新增成功!" })
@ -226,10 +238,20 @@ export default {
} else { } else {
this.$message.error("请先上传文件"); this.$message.error("请先上传文件");
} }
},
getUserList() {
let params = {
page: 1,
per_page: 9999
}
userList(params).then((res) => {
this.usersList = res.data.data
})
} }
}, },
mounted() { mounted() {
this.fetchList() this.fetchList()
this.getUserList()
} }
} }
</script> </script>

View File

@ -78,10 +78,16 @@
<el-input v-model="curInfo.cost" clearable></el-input> <el-input v-model="curInfo.cost" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="采购人"> <el-form-item label="采购人">
<el-input v-model="curInfo.buyer_name" clearable></el-input> <el-select v-model="curInfo.buyer_user_id" clearable filterable ref="userRef">
<el-option v-for="item in usersList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="供应商"> <el-form-item label="供应商">
<el-input v-model="curInfo.supplier_name" clearable></el-input> <el-select v-model="curInfo.supplier_id" clearable filterable ref="supplierRef">
<el-option v-for="item in supplierList" :key="item.id" :label="item.supplier_name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="过期时间"> <el-form-item label="过期时间">
<el-date-picker <el-date-picker
@ -118,8 +124,9 @@
</template> </template>
<script> <script>
import { getPurchaseLog, addPurchaseLog, updatePurchaseLog } from "@/api/supplyChain" import { getPurchaseLog, addPurchaseLog, updatePurchaseLog, getSupplier } from "@/api/supplyChain"
import axios from "axios" import axios from "axios"
import { userList } from "@/api/user"
export default { export default {
data() { data() {
@ -138,7 +145,9 @@ export default {
dialogVisible: false, dialogVisible: false,
curInfo: {}, curInfo: {},
showImport: false, showImport: false,
fileList: [] fileList: [],
usersList: [],
supplierList: []
} }
}, },
methods: { methods: {
@ -183,8 +192,19 @@ export default {
}, },
commitSupplier() { commitSupplier() {
this.commitloading = true this.commitloading = true
let params = {
...this.curInfo
}
params.buyer_name = ''
params.supplier_name = ''
if(params.buyer_user_id) {
params.buyer_name = this.$refs.userRef.selectedLabel
}
if(params.supplier_id) {
params.supplier_name = this.$refs.supplierRef.selectedLabel
}
if(this.curInfo.id) { if(this.curInfo.id) {
updatePurchaseLog(this.curInfo.id, this.curInfo).then((res) => { updatePurchaseLog(this.curInfo.id, params).then((res) => {
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "更新成功!" }) this.$message({ type: "success", message: "更新成功!" })
this.dialogVisible = false this.dialogVisible = false
@ -193,7 +213,7 @@ export default {
this.commitloading = false this.commitloading = false
}) })
} else { } else {
addPurchaseLog(this.curInfo).then((res) => { addPurchaseLog(params).then((res) => {
this.page = 1 this.page = 1
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "新增成功!" }) this.$message({ type: "success", message: "新增成功!" })
@ -241,10 +261,30 @@ export default {
} else { } else {
this.$message.error("请先上传文件"); this.$message.error("请先上传文件");
} }
},
getUserList() {
let params = {
page: 1,
per_page: 9999
}
userList(params).then((res) => {
this.usersList = res.data.data
})
},
getSupplierList() {
let params = {
page: 1,
per_page: 9999
}
getSupplier(params).then((res) => {
this.supplierList = res.data.data
})
} }
}, },
mounted() { mounted() {
this.fetchList() this.fetchList()
this.getSupplierList()
this.getUserList()
} }
} }
</script> </script>

View File

@ -7,7 +7,7 @@
<el-table v-loading="loading" :data="supplierList" style="width: 100%" border> <el-table v-loading="loading" :data="supplierList" style="width: 100%" border>
<el-table-column prop="id" label="供应商ID" width="80" align="center" /> <el-table-column prop="id" label="供应商ID" width="80" align="center" />
<el-table-column prop="supplier_name" label="供应商名称" /> <el-table-column prop="supplier_name" label="供应商名称" />
<el-table-column prop="company_name" label="供应商ID" /> <el-table-column prop="company_name" label="公司名称" />
<el-table-column prop="address" label="地址" /> <el-table-column prop="address" label="地址" />
<el-table-column prop="link_tel" label="联系方式" align="center" /> <el-table-column prop="link_tel" label="联系方式" align="center" />
<el-table-column prop="supply_type" label="供应品类" /> <el-table-column prop="supply_type" label="供应品类" />
@ -55,8 +55,11 @@
<el-form-item label="支付方式"> <el-form-item label="支付方式">
<el-input v-model="gysInfo.payment_account" clearable></el-input> <el-input v-model="gysInfo.payment_account" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="代理人名称"> <el-form-item label="开发维护人">
<el-input v-model="gysInfo.agent_name"></el-input> <el-select v-model="gysInfo.agent_id" clearable filterable ref="labelRef">
<el-option v-for="item in usersList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -69,6 +72,8 @@
<script> <script>
import { getSupplier, removeSupplier, addSupplier, updateSupplier } from "@/api/supplyChain" import { getSupplier, removeSupplier, addSupplier, updateSupplier } from "@/api/supplyChain"
import { userList } from "@/api/user"
export default { export default {
data() { data() {
return { return {
@ -80,6 +85,7 @@ export default {
dialogVisible: false, dialogVisible: false,
gysInfo: {}, gysInfo: {},
commitloading: false, commitloading: false,
usersList: []
} }
}, },
methods: { methods: {
@ -117,8 +123,15 @@ export default {
}, },
commitSupplier() { commitSupplier() {
this.commitloading = true this.commitloading = true
let params = {
...this.gysInfo
}
params.agent_name = ''
if(params.agent_id) {
params.agent_name = this.$refs.labelRef.selectedLabel
}
if(this.gysInfo.id) { if(this.gysInfo.id) {
updateSupplier(this.gysInfo.id, this.gysInfo).then((res) => { updateSupplier(this.gysInfo.id, params).then((res) => {
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "更新成功!" }) this.$message({ type: "success", message: "更新成功!" })
this.dialogVisible = false this.dialogVisible = false
@ -127,7 +140,7 @@ export default {
this.commitloading = false this.commitloading = false
}) })
} else { } else {
addSupplier(this.gysInfo).then((res) => { addSupplier(params).then((res) => {
this.page = 1 this.page = 1
this.fetchList() this.fetchList()
this.$message({ type: "success", message: "新增成功!" }) this.$message({ type: "success", message: "新增成功!" })
@ -150,10 +163,20 @@ export default {
this.dialogVisible = false this.dialogVisible = false
}) })
}) })
},
getUserList() {
let params = {
page: 1,
per_page: 9999
}
userList(params).then((res) => {
this.usersList = res.data.data
})
} }
}, },
mounted() { mounted() {
this.fetchList() this.fetchList()
this.getUserList()
} }
} }
</script> </script>

View File

@ -1,28 +1,10 @@
<template> <template>
<div class="conent"> <div class="pageBox">
<!-- 点击新增弹出表单 --> <el-card>
<div class="from"> <div class="opaBox">
<el-dialog title="新增角色" :visible.sync="dialogVisible2" width="30%" :close-on-click-modal="false"> <el-button type="primary" icon="el-icon-plus" @click="dialogVisible2 = true">新增</el-button>
<div> </div>
<el-form label-width="80px"> <el-table v-loading="loading" :data="tableList" style="width: 100%" border>
<el-form-item label="角色名称">
<el-input v-model="newrole"></el-input>
</el-form-item>
<div class="from-btn">
<el-button type="danger" @click="dialogVisible2 = false">取消</el-button>
<el-button @click="onSubmit">确认</el-button>
</div>
</el-form>
</div>
</el-dialog>
</div>
<!-- 新增按钮 -->
<el-button type="primary" @click="dialogVisible2 = true">新增</el-button>
<!-- 角色列表 -->
<div class="table" style="margin-top: 10px">
<el-table v-loading="loading" :data="tableList" style="width: 100%">
<el-table-column prop="id" label="ID"> </el-table-column> <el-table-column prop="id" label="ID"> </el-table-column>
<el-table-column prop="name" label="角色名称"> </el-table-column> <el-table-column prop="name" label="角色名称"> </el-table-column>
<el-table-column label="权限内容"> <el-table-column label="权限内容">
@ -32,11 +14,11 @@
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="onEdit(scope.row)">编辑</el-button> <el-button type="primary" @click="onEdit(scope.row)" icon="el-icon-edit">编辑权限</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </el-card>
<!-- 点击编辑弹出权限框 --> <!-- 点击编辑弹出权限框 -->
<el-dialog title="编辑权限" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false"> <el-dialog title="编辑权限" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false">
@ -49,16 +31,27 @@
<el-button type="primary" @click="getCheckedKeys()"> </el-button> <el-button type="primary" @click="getCheckedKeys()"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="新增角色" :visible.sync="dialogVisible2" width="30%" :close-on-click-modal="false">
<div>
<el-form label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="newrole"></el-input>
</el-form-item>
<div class="from-btn">
<el-button @click="dialogVisible2 = false">取消</el-button>
<el-button type="primary" @click="onSubmit">确认</el-button>
</div>
</el-form>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import { roleList, roleAdd, jurisdiction, jurisdictionEdit } from "@/api/role.js"
roleList,
roleAdd,
jurisdiction,
jurisdictionEdit,
} from "../../api/role.js";
export default { export default {
data() { data() {
return { return {
@ -158,5 +151,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.opaBox{
margin-bottom: 15px;
}
</style> </style>

View File

@ -1,118 +1,101 @@
<template> <template>
<div class="conent"> <div class="pageBox">
<el-card>
<div class="opaBox">
<el-button type="primary" icon="el-icon-plus" @click="dialogVisible = true">新增</el-button>
</div>
<!-- 点击新增弹出表单 --> <el-table v-loading="loading" :data="tableList" style="width: 100%" border>
<div class="from"> <el-table-column prop="id" label="ID"></el-table-column>
<el-dialog title="新增用户" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false"> <el-table-column prop="name" label="姓名"></el-table-column>
<div> <el-table-column label="角色">
<el-form label-width="80px"> <template slot-scope="scope">{{ scope.row.roles[0].name }}</template>
<el-form-item label="姓名"> </el-table-column>
<el-input v-model="from.name"></el-input> <el-table-column label="操作">
</el-form-item> <template slot-scope="scope">
<el-form-item label="密码"> <el-button type="primary" @click="openEdit(scope.row)" icon="el-icon-edit">编辑</el-button>
<el-input v-model="from.password"></el-input> <!-- <el-button type="danger">删除</el-button> -->
</el-form-item> </template>
<el-form-item label="确认密码"> </el-table-column>
<el-input v-model="from.password_confirmation"></el-input> </el-table>
</el-form-item>
<el-form-item label="角色">
<template>
<el-select v-model="value" placeholder="请选择">
<el-option v-for="item in roleOptions" :key="item.value" :label="item.name"
:value="item.name">
</el-option>
</el-select>
</template>
</el-form-item>
<div class="from-btn">
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
<el-button @click="onSubmit">确认</el-button>
</div>
</el-form>
</div>
</el-dialog>
</div>
<!-- 点击编辑弹出表单信息 --> <div class="page-pagination">
<div class="edit_from"> <el-pagination
<el-dialog title="编辑" :visible.sync="editVisible" width="30%" :close-on-click-modal="false"> @size-change="handleSizeChange"
<div> @current-change="handleCurrentChange"
<el-form label-width="80px"> :current-page="current_page"
<el-form-item label="ID"> :page-sizes="[15, 50, 100]"
<el-input v-model="edit_from.id"></el-input> :page-size="per_page"
</el-form-item> layout="total, sizes, prev, pager, next, jumper"
<el-form-item label="姓名"> :total="Paginationdata.total">
<el-input v-model="edit_from.name"></el-input> </el-pagination>
</el-form-item> </div>
<el-form-item label="邮箱"> </el-card>
<el-input v-model="edit_from.email"></el-input>
</el-form-item>
<el-form-item label="角色">
<template>
<el-select v-model="edit_from.role_name" placeholder="请选择">
<el-option v-for="item in roleOptions" :key="item.value" :label="item.name"
:value="item.name">
</el-option>
</el-select>
</template>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="edit_from.password"></el-input>
</el-form-item>
<el-form-item label="密码确认">
<el-input v-model="edit_from.password_confirmation"></el-input>
</el-form-item>
<div class="from-btn">
<el-button type="danger" @click="editVisible = false">取消</el-button>
<el-button @click="onEdit()">确认</el-button>
</div>
</el-form>
</div>
</el-dialog>
</div>
<!-- 新增按钮 -->
<el-button type="primary" @click="dialogVisible = true">新增</el-button>
<!-- 用户列表 -->
<div class="table" style="margin-top: 10px">
<template>
<el-table v-loading="loading" :data="tableList" style="width: 100%">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column label="角色">
<template slot-scope="scope">{{
scope.row.roles[0].name
}}</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button @click="openEdit(scope.row)">编辑</el-button>
<!-- <el-button type="danger">删除</el-button> -->
</template>
</el-table-column>
</el-table>
</template>
</div>
<el-dialog title="编辑" :visible.sync="editVisible" width="500px" :close-on-click-modal="false">
<el-form label-width="80px">
<el-form-item label="ID">
<el-input v-model="edit_from.id"></el-input>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="edit_from.name"></el-input>
</el-form-item>
<el-form-item label="邮箱">
<el-input v-model="edit_from.email"></el-input>
</el-form-item>
<el-form-item label="角色">
<el-select v-model="edit_from.role_name" placeholder="请选择">
<el-option v-for="item in roleOptions" :key="item.value" :label="item.name" :value="item.name">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="edit_from.password"></el-input>
</el-form-item>
<el-form-item label="密码确认">
<el-input v-model="edit_from.password_confirmation"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editVisible = false">取消</el-button>
<el-button type="primary" @click="onEdit()">确认</el-button>
</span>
</el-dialog>
<!-- 分页功能 --> <!-- 分页功能 -->
<div class="block">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page" <el-dialog title="新增用户" :visible.sync="dialogVisible" width="500px" :close-on-click-modal="false">
layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total"> <el-form label-width="80px">
</el-pagination> <el-form-item label="姓名">
</div> <el-input v-model="from.name"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input v-model="from.password"></el-input>
</el-form-item>
<el-form-item label="确认密码">
<el-input v-model="from.password_confirmation"></el-input>
</el-form-item>
<el-form-item label="角色">
<template>
<el-select v-model="from.role_name" placeholder="请选择">
<el-option v-for="item in roleOptions" :key="item.value" :label="item.name"
:value="item.name">
</el-option>
</el-select>
</template>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="onSubmit()">确认</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import { userList, userAdd, userEdit, userConfirm, roleList } from "@/api/user"
userList,
userAdd,
userEdit,
userConfirm,
roleList,
} from "../../api/user";
export default { export default {
data() { data() {
return { return {
@ -143,7 +126,6 @@ export default {
current_page: 1, // current_page: 1, //
per_page: 15, // per_page: 15, //
roleOptions: [], // roleOptions: [], //
value: "", //
}; };
}, },
@ -174,7 +156,6 @@ export default {
// //
onSubmit() { onSubmit() {
this.from.role_name = this.value;
let from = this.from; let from = this.from;
userAdd(from).then((res) => { userAdd(from).then((res) => {
this.tableList = [...this.tableList, res.data.data]; this.tableList = [...this.tableList, res.data.data];
@ -190,13 +171,14 @@ export default {
// //
openEdit(e) { openEdit(e) {
this.editVisible = true; let id = e.id
let id = e.id; this.id = e.id
this.id = e.id;
// id // id
userEdit(id).then((res) => { userEdit(id).then((res) => {
this.edit_from = res.data.data; this.edit_from = res.data.data
}); this.edit_from.role_name = res.data.data.roles ? res.data.data.roles[0].name : ''
this.editVisible = true
})
}, },
// //
@ -229,7 +211,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.block { .opaBox{
margin-top: 20px; margin-bottom: 15px;
} }
</style> </style>