|
@@ -1,154 +1,111 @@
|
|
|
<template>
|
|
|
- <vxe-modal v-model="value" id="openLogModal" title="操作日志" width="50%" height="60%" min-width="460" min-height="320" show-zoom resize transfer :show-footer="!hideBtn" v-loading="load">
|
|
|
- <by-table :propConfig="config" ref="table" >
|
|
|
+ <vxe-modal
|
|
|
+ v-model="value"
|
|
|
+ id="openLogModal"
|
|
|
+ title="操作日志"
|
|
|
+ width="50%"
|
|
|
+ height="60%"
|
|
|
+ min-width="460"
|
|
|
+ min-height="320"
|
|
|
+ show-zoom
|
|
|
+ resize
|
|
|
+ transfer
|
|
|
+ :show-footer="!hideBtn"
|
|
|
+ v-loading="load"
|
|
|
+ >
|
|
|
+ <by-table :propConfig="config" ref="table">
|
|
|
<!-- <template v-slot:num="{row}">
|
|
|
<vxe-input v-model="row.num" v-if="row.splitNum > 0" placeholder="请输入" type="integer" @input="onChangeRow(row)"></vxe-input>
|
|
|
</template> -->
|
|
|
</by-table>
|
|
|
<template #footer>
|
|
|
- <div class="btn">
|
|
|
- <el-button plain size="small" @click="value = false">取消</el-button>
|
|
|
- <el-button type="primary" size="small" @click="btn">确定</el-button>
|
|
|
+ <div class="page">
|
|
|
+ <el-pagination
|
|
|
+ v-if="page.total > 0"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="page.pageNo"
|
|
|
+ :page-size="page.pageSize"
|
|
|
+ :layout="'total, sizes, prev, pager, next, jumper'"
|
|
|
+ :total="page.total"
|
|
|
+ ></el-pagination>
|
|
|
</div>
|
|
|
+ <!-- <div class="btn">
|
|
|
+ <el-button plain size="small" @click="value = false">取消</el-button>
|
|
|
+ </div> -->
|
|
|
</template>
|
|
|
</vxe-modal>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
import { Component, Prop, Vue, Watch } from "vue-property-decorator";
|
|
|
-import { splitQtyQuery,split } from '@/api/omsOrder'
|
|
|
-@Component({components:{}})
|
|
|
-export default class SplitModel extends Vue {
|
|
|
- value=false;
|
|
|
- load=false;
|
|
|
- billData:any=null;
|
|
|
- hideBtn=false;
|
|
|
- data:Array<any>=[]
|
|
|
- config:any={
|
|
|
- attr:{
|
|
|
- size:'small',
|
|
|
- seq:true
|
|
|
+@Component({ components: {} })
|
|
|
+export default class openLogModal extends Vue {
|
|
|
+ value = false;
|
|
|
+ load = false;
|
|
|
+ billData: any = null;
|
|
|
+ hideBtn = false;
|
|
|
+ data: Array<any> = [];
|
|
|
+ page: any = {
|
|
|
+ pageNo: 1, //当前页
|
|
|
+ pageSize: 10, //每页条数
|
|
|
+ total: 0, //总条数
|
|
|
+ };
|
|
|
+ config: any = {
|
|
|
+ attr: {
|
|
|
+ size: "small",
|
|
|
+ align: "center",
|
|
|
+ seq: true,
|
|
|
},
|
|
|
- columns:[{
|
|
|
- title:'操作内容',
|
|
|
- field:'name',
|
|
|
- width:200
|
|
|
- },{
|
|
|
- title:'操作人',
|
|
|
- field:'price',
|
|
|
- width:200
|
|
|
- },{
|
|
|
- title:'创建时间',
|
|
|
- field:'qty',
|
|
|
- width:200
|
|
|
- }]
|
|
|
- }
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ title: "操作内容",
|
|
|
+ field: "content",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "操作人",
|
|
|
+ field: "userName",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "创建时间",
|
|
|
+ field: "createTime",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
|
|
|
- setShow(v:boolean){
|
|
|
+ setShow(v: boolean) {
|
|
|
this.hideBtn = false;
|
|
|
+ console.log("数据111111111========", v);
|
|
|
this.value = v;
|
|
|
}
|
|
|
- setData(data:any){
|
|
|
- if(data){
|
|
|
- this.billData = data;
|
|
|
- this.data = [];
|
|
|
- if(data.items) {
|
|
|
- for(const item of data.items){
|
|
|
- item.splitNum = item.qty - item.splitQty
|
|
|
- this.data.push(item)
|
|
|
- }
|
|
|
- }
|
|
|
- // this.getSplitNum(data);
|
|
|
- }else{
|
|
|
- this.billData = null;
|
|
|
- this.data = [];
|
|
|
- }
|
|
|
- this.$nextTick(()=>{
|
|
|
- let height = (document.getElementById('split-table') as any).parentNode.offsetHeight;
|
|
|
- this.config.attr.height=height - 36;
|
|
|
- if(this.$refs.table){
|
|
|
+ setValue(data: any) {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // const data = localStorage.getItem("logLsit");
|
|
|
+ // console.log("数据111111111datas========", JSON.parse(data)||null);
|
|
|
+ this.data=data.reverse();
|
|
|
+ this.page.total=data.length
|
|
|
+ // let height = (document.getElementById('openLogModal') as any).parentNode.offsetHeight;
|
|
|
+ // this.config.attr.height=height - 36;
|
|
|
+ if (this.$refs.table) {
|
|
|
(this.$refs.table as any).setConfig(this.config);
|
|
|
(this.$refs.table as any).setValue(this.data);
|
|
|
}
|
|
|
- })
|
|
|
- }
|
|
|
-//获取可拆分数量
|
|
|
- getSplitNum(v:any){
|
|
|
- if(!v) return;
|
|
|
- let data = v.items?v.items:[];
|
|
|
- if(data.length == 0) return;
|
|
|
- this.load = true;
|
|
|
- splitQtyQuery({id:v.id}).then((res:any) => {
|
|
|
- this.load = false;
|
|
|
- if(res.data){
|
|
|
- let j = 0;
|
|
|
- for(const item of data){
|
|
|
- let n = Number(res.data[item.id]);
|
|
|
- if(n){
|
|
|
- item.splitNum = item.qty - n;
|
|
|
- }else{
|
|
|
- item.splitNum = item.qty;
|
|
|
- }
|
|
|
- this.data.push(item)
|
|
|
- if(item.splitNum == 0){
|
|
|
- j++
|
|
|
- }
|
|
|
- }
|
|
|
- if(j == this.data.length){
|
|
|
- this.hideBtn = true
|
|
|
- }
|
|
|
- (this.$refs.table as any).setValue(this.data);
|
|
|
- }
|
|
|
- }).catch((err:any) => {
|
|
|
- this.load = false
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
- btn(){
|
|
|
- let data = (this.$refs.table as any).getValue();
|
|
|
- let info:Array<any>=[];
|
|
|
- if(data.length == 0){
|
|
|
- this.$message('未有数据不能执行此操作!')
|
|
|
- return
|
|
|
- }
|
|
|
- for(const item of data){
|
|
|
- if(Number(item.num) > 0){
|
|
|
- info.push({
|
|
|
- qty:Number(item.num),
|
|
|
- orderItemId:item.id
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- if(info.length == 0){
|
|
|
- this.$message('请设置拆分数量!')
|
|
|
- return
|
|
|
- }
|
|
|
- this.load = true;
|
|
|
- split({
|
|
|
- id:this.billData.id,
|
|
|
- splitInfos:info
|
|
|
- }).then((res:any) => {
|
|
|
- this.load = false;
|
|
|
- this.$message({
|
|
|
- message:'拆分成功!',
|
|
|
- type:'success'
|
|
|
- })
|
|
|
- this.$emit('handleSuccess');
|
|
|
- this.value = false;
|
|
|
- }).catch(() => {
|
|
|
- this.load = false
|
|
|
- })
|
|
|
+ handleSizeChange(v: number) {
|
|
|
+ this.page.pageSize = v;
|
|
|
}
|
|
|
-
|
|
|
- onChangeRow(row:any){
|
|
|
- if(Number(row.splitNum) < Number(row.num)){
|
|
|
- this.$message('拆分数量不能大于可拆分数量!');
|
|
|
- row.num = 0;
|
|
|
- this.$forceUpdate()
|
|
|
- }
|
|
|
+ handleCurrentChange(v: number) {
|
|
|
+ this.page.pageNo = v;
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
-
|
|
|
+.page {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ padding: 8px;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
</style>
|