烟花爆竹实名登记前端
祖安之光
2026-01-28 189adc4d8bb6b228d49678bc98935b6977d72359
丹灵数据 新增防抖
1 files modified
5 files added
794 ■■■■■ changed files
src/api/danling.js 66 ●●●●● patch | view | raw | blame | history
src/views/danlinData/components/danlinDetail.vue 141 ●●●●● patch | view | raw | blame | history
src/views/danlinData/inOutRecord.vue 283 ●●●●● patch | view | raw | blame | history
src/views/danlinData/retailStock.vue 144 ●●●●● patch | view | raw | blame | history
src/views/danlinData/wholeSaleStock.vue 144 ●●●●● patch | view | raw | blame | history
src/views/usermng/product.vue 16 ●●●● patch | view | raw | blame | history
src/api/danling.js
New file
@@ -0,0 +1,66 @@
import {getToken} from "../utils/auth";
import request from '@/utils/request'
export function getDlSaleStockTotalData(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectSaleStockTotalData?dwmc=' + data,
        method: 'get'
    })
}
export function getDlSaleStockReq(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectPageDlSaleStockReq',
        method: 'post',
        data:data
    })
}
export function getDlWholeSaleStockTotalData(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectWholeSaleStockTotalData?dwmc=' + data,
        method: 'get'
    })
}
export function getDlWholesaleStockReq(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectPageDlWholesaleStockReq',
        method: 'post',
        data:data
    })
}
export function getDlPageInventoryRecord(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectPageInventoryRecord',
        method: 'post',
        data: data
    })
}
export function getDlInventoryDetail(data) {
    return request({
        headers:{
            'Authorization': getToken()
        },
        url: process.env.BASE_API+ '/dlApi/selectInventoryDetail?sjcqid=' + data,
        method: 'get'
    })
}
src/views/danlinData/components/danlinDetail.vue
New file
@@ -0,0 +1,141 @@
<template>
    <el-dialog :visible.sync="detailDialogVisible" :modal-append-to-body="false" :close-on-click-modal="false" title="库存详情"
               width="900px">
        <el-table v-loading="listLoading"
                  :key="tableKey"
                  :data="detailData"
                  border
                  fit
                  highlight-current-row
                  style="width: 100%;">
            <el-table-column label="序号" type="index" align="center" width="60">
            </el-table-column>
            <el-table-column label="产品名称" prop="mc" align="center">
            </el-table-column>
            <el-table-column label="库存总数(箱)" prop="sl" align="center">
            </el-table-column>
        </el-table>
        <br>
        <el-pagination
            v-show="recordTotal>0"
            :current-page="currentPage"
            :page-sizes="[10, 20]"
            :page-size="pageSize"
            :total="recordTotal"
            layout="total, sizes, prev, pager, next, jumper"
            background
            style="float:right;"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
        />
        <br>
    </el-dialog>
</template>
<script>
    import {getDlSaleStockReq, getDlWholesaleStockReq} from "../../../api/danling";
    import {mapGetters} from "vuex";
    import {computePageCount, parseTime} from "../../../utils";
    import {parseError} from "../../../utils/messageDialog";
    export default {
        name: "danlinDetail",
        data() {
            return {
                detailDialogVisible: false,
                detailData: [],
                listLoading: true,
                pageSize: 10,
                currentPage: 1,
                recordTotal: 0,
                pageTotal: 0,
                tableKey: 0
            }
        },
        computed: {
            ...mapGetters([
                'userType',
                'username'
            ])
        },
        methods: {
            open(val,type){
                if(type == 1){
                    this.getRetailList(val);
                }else{
                    this.getWholeSaleList(val);
                }
                this.detailDialogVisible = true;
            },
            getRetailList(val) {
                const _this = this;
                let params = {
                    pageIndex: _this.currentPage,
                    pageSize: _this.pageSize,
                    filter: {
                        dwdm: val
                    }
                }
                getDlSaleStockReq(params).then(response => {
                    const res = response.data;
                    if (res.code === "200") {
                        const result = res.result;
                        _this.recordTotal = result.total;
                        _this.pageSize = result.size;
                        _this.pageTotal = result.pages;
                        _this.currentPage = result.current;
                        _this.detailData = result.records
                    }else {
                        parseError({error: res.message, vm: _this})
                    }
                    _this.listLoading = false;
                }).catch(error => {
                    _this.listLoading = false;
                    parseError({error: error, vm: _this})
                })
            },
            getWholeSaleList(val) {
                const _this = this;
                let params = {
                    pageIndex: _this.currentPage,
                    pageSize: _this.pageSize,
                    filter: {
                        dwdm: val
                    }
                }
                getDlWholesaleStockReq(params).then(response => {
                    const res = response.data;
                    if (res.code === "200") {
                        const result = res.result;
                        _this.recordTotal = result.total;
                        _this.pageSize = result.size;
                        _this.pageTotal = computePageCount(result.totalCount, result.pageSize);
                        _this.currentPage = result.pages;
                        _this.detailData = result.records
                    }else {
                        parseError({error: res.message, vm: _this})
                    }
                    _this.listLoading = false;
                }).catch(error => {
                    _this.listLoading = false;
                    parseError({error: error, vm: _this})
                })
            },
            handleSizeChange: function (val) {
                this.pageSize = val;
                this.currentPage = 1;
                this.getDetailDataList();
            },
            handleCurrentChange: function (val) {
                this.currentPage = val;
                this.getDetailDataList();
            }
        }
    }
</script>
<style scoped>
</style>
src/views/danlinData/inOutRecord.vue
New file
@@ -0,0 +1,283 @@
<template>
    <div class="app-container">
        <div class="filter-container">
            <div style="display: block;">
                <div class="basic_search">
                <span>企业名称:</span>
                <el-input filterable clearable v-model="listQuery.filter.xsdwmc" style="width:200px">
                </el-input>
                </div>
                <div class="basic_search">
                    <span>按时间查询:</span>
                    <el-date-picker
                        value-format="yyyy-MM-dd HH:mm:ss"
                        v-model="validTime"
                        type="daterange"
                        :default-time="['00:00:00','23:59:59']"
                        :picker-options="pickerOptions"
                        range-separator="-"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期"
                    >
                    </el-date-picker>
                </div>
                <div class="basic_search">
                    <span>交易类型:</span>
                    <el-select filterable clearable v-model="listQuery.filter.jylx">
                        <el-option
                            v-for="item in typeList"
                            :key="item.id"
                            :label="item.text"
                            :value="item.id"
                        ></el-option>
                    </el-select>
                </div>
                <div class="basic_search" style="margin-right: 10px">
                    <el-button style="margin-left: 10px;" type="primary" @click="reset()">重置</el-button>
                <el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="search()">查询
                </el-button>
                </div>
            </div>
        </div>
        <div class="table_content">
            <el-table
                v-loading="listLoading"
                :data="tableData"
                border
                fit
                highlight-current-row
                style="width: 100%;"
            >
                <el-table-column label="序号" type="index" align="center" width="60"/>
                <el-table-column label="购买单位名称" prop="gmdwmc" align="center">】
                </el-table-column>
                <el-table-column label="销售单位名称" prop="xsdwmc" align="center">】
                </el-table-column>
                <el-table-column label="交易类型" prop="jylx" align="center">
                    <template slot-scope="scope">
                        {{scope.row.jylx == '02'?'运输出库':scope.row.jylx == '03'?'运输入库':scope.row.jylx == '08'?'零售出库':scope.row.jylx == '10'?'零散销售':'--'}}
                    </template>
                </el-table-column>
                <el-table-column label="个人燃放类物品数量" prop="grsl" align="center">
                </el-table-column>
                <el-table-column label="专业燃放类物品数量" prop="zysl" align="center">
                </el-table-column>
                <el-table-column label="原材料物品数量" prop="yclsl" align="center">
                </el-table-column>
<!--                <el-table-column label="箱数量" prop="sl" align="center">-->
<!--                </el-table-column>-->
                <el-table-column label="零散数量" prop="lssl" align="center">
                </el-table-column>
                <el-table-column label="数据生成时间" prop="sjscsj" align="center">
                </el-table-column>
                <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
                    <template slot-scope="scope">
                        <el-button type="text" @click="showDetail(scope.row.id)">查看明细</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <br>
            <el-pagination
                v-show="recordTotal>0"
                :current-page="listQuery.pageIndex"
                :page-sizes="[10, 20]"
                :page-size="listQuery.pageSize"
                :total="recordTotal"
                layout="total, sizes, prev, pager, next, jumper"
                background
                style="float:right;"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
            <br>
            <el-dialog
                :visible.sync="detailVisible"
                append-to-body
                title="库存详情"
                :close-on-click-modal="false"
                @close="resetDetail"
            >
                <el-table
                    :data="detailData"
                    border
                    fit
                    highlight-current-row
                    style="width: 100%;"
                >
                    <el-table-column label="序号" type="index" align="center" width="60">
                    </el-table-column>
                    <el-table-column label="产品名称" prop="cpmc" align="center">
                    </el-table-column>
                    <el-table-column label="箱数量" prop="xsl" align="center">
                    </el-table-column>
                    <el-table-column label="结余量" prop="jyl" align="center">
                    </el-table-column>
                    <el-table-column label="零散数量" prop="lssl" align="center">
                    </el-table-column>
                </el-table>
                <div slot="footer" class="dialog-footer">
                    <el-button  type="primary" @click="resetDetail">确认</el-button>
                </div>
            </el-dialog>
        </div>
    </div>
</template>
<script>
import {computePageCount} from "@/utils";
import Cookies from 'js-cookie'
import {getDlInventoryDetail, getDlPageInventoryRecord} from "../../api/danling";
export default {
    name: 'retailStock',
    data() {
        return {
            pageSize: 10,
            recordTotal: 0,
            pageTotal: 0,
            listLoading: false,
            tableData: [],
            isSupervision: Cookies.get('isSupervision'),
            validTime:['',''],
            listQuery: {
                pageSize: 10,
                pageIndex: 1,
                filter: {
                    xsdwmc: '',
                    jylx: null,
                    starttime: '',
                    endtime: ''
                },
            },
            typeList: [
                {
                    id: '02',
                    text: '运输出库'
                },
                {
                    id: '03',
                    text: '运输入库'
                },
                {
                    id: '08',
                    text: '零售出库'
                },
                {
                    id: '10',
                    text: '零散销售'
                }
            ],
            detailVisible: false,
            detailData: [],
            pickerOptions: {
                shortcuts: [{
                    text: '最近一周',
                    onClick(picker) {
                        const end = new Date();
                        const start = new Date();
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
                        picker.$emit('pick', [start, end]);
                    }
                }, {
                    text: '最近一个月',
                    onClick(picker) {
                        const end = new Date();
                        const start = new Date();
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
                        picker.$emit('pick', [start, end]);
                    }
                }]
            }
        }
    },
    created() {
        this.initValidTime()
        this.getStock()
    },
    methods: {
        handleSizeChange(val) {
            this.listQuery.pageSize = val
            this.getStock()
        },
        handleCurrentChange(val) {
            this.listQuery.pageIndex = val
            this.getStock()
        },
        search() {
            this.listQuery.pageIndex = 1
            this.getStock()
        },
        resetDetail(){
            this.detailData = []
            this.detailVisible = false
        },
        initValidTime(){
            const end = new Date();
            this.validTime[0] = end.toISOString().slice(0, 10) + " 00:00:00";
            this.validTime[1] = end.toISOString().slice(0, 10) + " 23:59:59";
        },
        getStock() {
            this.listLoading = true
            if( this.validTime !== null ){
                this.listQuery.filter.starttime = this.validTime[0]
                this.listQuery.filter.endtime = this.validTime[1]
            }else{
                this.listQuery.filter.starttime = ''
                this.listQuery.filter.endtime = ''
            }
            getDlPageInventoryRecord(this.listQuery).then(res => {
                if (res.data.code === '200') {
                    this.tableData = res.data.result.records
                    this.recordTotal = res.data.result.total
                    this.pageTotal = res.data.result.pages
                } else {
                    this.$message({
                        type: 'warning',
                        message: res.data.message
                    })
                }
            })
            .finally(res => {
                this.listLoading = false
            })
        },
        showDetail(id){
            getDlInventoryDetail(id).then(res => {
                if (res.data.code === '200') {
                    this.detailData = res.data.result
                } else {
                    this.$message({
                        type: 'warning',
                        message: res.data.message
                    })
                }
            })
            this.detailVisible = true
        },
        reset(){
            this.listQuery= {
                pageSize: 10,
                pageIndex: 1,
                filter: {
                    xsdwmc: '',
                    jylx: null,
                    starttime: '',
                    endtime: ''
                },
            }
            this.validTime = ['','']
            this.initValidTime()
            this.getStock()
        },
    }
}
</script>
<style scoped>
.basic_search {
    display: inline-block;
}
</style>
src/views/danlinData/retailStock.vue
New file
@@ -0,0 +1,144 @@
<template>
    <div class="app-container">
        <div class="filter-container">
            <div style="display: block;">
                <span>企业名称:</span>
                <el-input filterable clearable v-model="listQuery.dwmc" style="width:200px" placeholder="请输入企业名称查询数据">
                </el-input>
                <el-button style="margin-left: 10px;" type="primary" @click="reset()">重置</el-button>
                <el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="search()">查询
                </el-button>
            </div>
        </div>
        <div class="table_content" v-if="showTable">
            <el-table
                v-loading="listLoading"
                :data="tableData"
                border
                fit
                highlight-current-row
                style="width: 100%;"
            >
                <el-table-column label="序号" type="index" align="center" width="60"/>
                <el-table-column label="企业名称" prop="dwmc" align="center">】
                    <template slot-scope="scope">
                        <el-link type="primary" @click="showDetail(scope.row.dwdm)">
                            {{ scope.row.dwmc }}
                        </el-link>
                    </template>
                </el-table-column>
                <el-table-column label="库存总数(箱)" prop="stockNum" align="center">
                </el-table-column>
                <el-table-column label="爆竹类(箱)" prop="firecracker" align="center">
                </el-table-column>
                <el-table-column label="喷花类(箱)" prop="spray" align="center">
                </el-table-column>
                <el-table-column label="旋转类(箱)" prop="rotation" align="center">
                </el-table-column>
                <el-table-column label="升空类(箱)" prop="launch" align="center">
                </el-table-column>
                <el-table-column label="吐珠类(箱)" prop="bead" align="center">
                </el-table-column>
                <el-table-column label="玩具类(箱)" prop="toy" align="center">
                </el-table-column>
                <el-table-column label="礼花类(箱)" prop="display" align="center">
                </el-table-column>
                <el-table-column label="架子烟花类(箱)" prop="shelf" align="center">
                </el-table-column>
                <el-table-column label="组合烟花类(箱)" prop="combined" align="center">
                </el-table-column>
            </el-table>
            <br>
            <danlin-detail ref="detailRef"></danlin-detail>
        </div>
    </div>
</template>
<script>
import {getDlSaleStockTotalData} from "../../api/danling";
import {computePageCount} from "@/utils";
import Cookies from 'js-cookie'
import DanlinDetail from "./components/danlinDetail";
export default {
    name: 'retailStock',
    components: { DanlinDetail },
    data() {
        return {
            listLoading: false,
            showTable: false,
            tableData: [{
                dwmc: '',
                dwdm: '',
                firecracker: null,
                spray: null,
                rotation: null,
                launch: null,
                bead: null,
                toy: null,
                display: null,
                shelf: null,
                combined: null,
                stockNum: null
            }],
            isSupervision: Cookies.get('isSupervision'),
            listQuery: {
                dwmc: ''
            }
        }
    },
    created() {
        this.getStock()
    },
    methods: {
        search() {
            this.showTable = true
            this.getStock()
        },
        getStock() {
            this.listLoading = true
            getDlSaleStockTotalData(this.listQuery.dwmc).then(res => {
                if (res.data.code === '200') {
                    if(Array.isArray(res.data.result) && res.data.result.length > 0){
                        this.tableData[0].dwmc = res.data.result[0].dwmc
                        this.tableData[0].dwdm = res.data.result[0].dwdm
                        this.tableData[0].firecracker = (res.data.result.find(i=>i.cpdl == '110') || {}).totalNum || 0
                        this.tableData[0].spray = (res.data.result.find(i=>i.cpdl == '120') || {}).totalNum || 0
                        this.tableData[0].rotation = (res.data.result.find(i=>i.cpdl == '130') || {}).totalNum || 0
                        this.tableData[0].launch = (res.data.result.find(i=>i.cpdl == '140') || {}).totalNum || 0
                        this.tableData[0].bead = (res.data.result.find(i=>i.cpdl == '150') || {}).totalNum || 0
                        this.tableData[0].toy = (res.data.result.find(i=>i.cpdl == '160') || {}).totalNum || 0
                        this.tableData[0].display = (res.data.result.find(i=>i.cpdl == '170') || {}).totalNum || 0
                        this.tableData[0].shelf = (res.data.result.find(i=>i.cpdl == '180') || {}).totalNum || 0
                        this.tableData[0].combined = (res.data.result.find(i=>i.cpdl == '190') || {}).totalNum || 0
                        this.tableData[0].stockNum = this.tableData[0].firecracker+this.tableData[0].spray+this.tableData[0].rotation+this.tableData[0].launch+this.tableData[0].bead+this.tableData[0].toy+this.tableData[0].display+this.tableData[0].shelf+this.tableData[0].combined
                    }
                } else {
                    this.$message({
                        type: 'warning',
                        message: res.data.message
                    })
                }
            })
            .finally(res => {
                this.listLoading = false
            })
        },
        showDetail(val){
          this.$refs.detailRef.open(val,1)
        },
        reset(){
            this.showTable = false
            this.listQuery= {
                dwmc: ''
            }
            this.getStock()
        },
    }
}
</script>
<style scoped>
</style>
src/views/danlinData/wholeSaleStock.vue
New file
@@ -0,0 +1,144 @@
<template>
    <div class="app-container">
        <div class="filter-container">
            <div style="display: block;">
                <span>企业名称:</span>
                <el-input filterable clearable v-model="listQuery.dwmc" style="width:200px" placeholder="请输入企业名称查询数据">
                </el-input>
                <el-button style="margin-left: 10px;" type="primary" @click="reset()">重置</el-button>
                <el-button style="margin-left: 10px;" type="primary" icon="el-icon-search" @click="search()">查询
                </el-button>
            </div>
        </div>
        <div class="table_content" v-if="showTable">
            <el-table
                v-loading="listLoading"
                :data="tableData"
                border
                fit
                highlight-current-row
                style="width: 100%;"
            >
                <el-table-column label="序号" type="index" align="center" width="60"/>
                <el-table-column label="企业名称" prop="dwmc" align="center">】
                    <template slot-scope="scope">
                        <el-link type="primary" @click="showDetail(scope.row.dwdm)">
                            {{ scope.row.dwmc }}
                        </el-link>
                    </template>
                </el-table-column>
                <el-table-column label="库存总数(箱)" prop="stockNum" align="center">
                </el-table-column>
                <el-table-column label="爆竹类(箱)" prop="firecracker" align="center">
                </el-table-column>
                <el-table-column label="喷花类(箱)" prop="spray" align="center">
                </el-table-column>
                <el-table-column label="旋转类(箱)" prop="rotation" align="center">
                </el-table-column>
                <el-table-column label="升空类(箱)" prop="launch" align="center">
                </el-table-column>
                <el-table-column label="吐珠类(箱)" prop="bead" align="center">
                </el-table-column>
                <el-table-column label="玩具类(箱)" prop="toy" align="center">
                </el-table-column>
                <el-table-column label="礼花类(箱)" prop="display" align="center">
                </el-table-column>
                <el-table-column label="架子烟花类(箱)" prop="shelf" align="center">
                </el-table-column>
                <el-table-column label="组合烟花类(箱)" prop="combined" align="center">
                </el-table-column>
            </el-table>
            <br>
            <danlin-detail ref="detailRef"></danlin-detail>
        </div>
    </div>
</template>
<script>
import {computePageCount} from "@/utils";
import Cookies from 'js-cookie'
import DanlinDetail from "./components/danlinDetail";
import {getDlWholeSaleStockTotalData} from "../../api/danling";
export default {
    name: 'retailStock',
    components: { DanlinDetail },
    data() {
        return {
            listLoading: false,
            showTable: false,
            tableData: [{
                dwmc: '',
                dwdm: '',
                firecracker: null,
                spray: null,
                rotation: null,
                launch: null,
                bead: null,
                toy: null,
                display: null,
                shelf: null,
                combined: null,
                stockNum: null
            }],
            isSupervision: Cookies.get('isSupervision'),
            listQuery: {
                dwmc: ''
            }
        }
    },
    created() {
        this.getStock()
    },
    methods: {
        search() {
            this.showTable = true
            this.getStock()
        },
        getStock() {
            this.listLoading = true
            getDlWholeSaleStockTotalData(this.listQuery.dwmc).then(res => {
                if (res.data.code === '200') {
                    if(Array.isArray(res.data.result) && res.data.result.length > 0){
                        this.tableData[0].dwmc = res.data.result[0].dwmc
                        this.tableData[0].dwdm = res.data.result[0].dwdm
                        this.tableData[0].firecracker = (res.data.result.find(i=>i.cpdl == '110') || {}).totalNum || 0
                        this.tableData[0].spray = (res.data.result.find(i=>i.cpdl == '120') || {}).totalNum || 0
                        this.tableData[0].rotation = (res.data.result.find(i=>i.cpdl == '130') || {}).totalNum || 0
                        this.tableData[0].launch = (res.data.result.find(i=>i.cpdl == '140') || {}).totalNum || 0
                        this.tableData[0].bead = (res.data.result.find(i=>i.cpdl == '150') || {}).totalNum || 0
                        this.tableData[0].toy = (res.data.result.find(i=>i.cpdl == '160') || {}).totalNum || 0
                        this.tableData[0].display = (res.data.result.find(i=>i.cpdl == '170') || {}).totalNum || 0
                        this.tableData[0].shelf = (res.data.result.find(i=>i.cpdl == '180') || {}).totalNum || 0
                        this.tableData[0].combined = (res.data.result.find(i=>i.cpdl == '190') || {}).totalNum || 0
                        this.tableData[0].stockNum = this.tableData[0].firecracker+this.tableData[0].spray+this.tableData[0].rotation+this.tableData[0].launch+this.tableData[0].bead+this.tableData[0].toy+this.tableData[0].display+this.tableData[0].shelf+this.tableData[0].combined
                    }
                } else {
                    this.$message({
                        type: 'warning',
                        message: res.data.message
                    })
                }
            })
            .finally(res => {
                this.listLoading = false
            })
        },
        showDetail(val){
          this.$refs.detailRef.open(val,2)
        },
        reset(){
            this.showTable = false
            this.listQuery= {
                dwmc: ''
            }
            this.getStock()
        },
    }
}
</script>
<style scoped>
</style>
src/views/usermng/product.vue
@@ -240,7 +240,7 @@
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取消</el-button>
        <el-button type="primary" @click="submitHandle">确认</el-button>
        <el-button type="primary" @click="debouncedSubmit">确认</el-button>
      </div>
    </el-dialog>
    <div style="clear: both;"></div>
@@ -337,7 +337,10 @@
      ...mapGetters([
        'userType',
        'username'
      ])
      ]),
        debouncedSubmit() {
            return this.debounce(this.submitHandle, 1000);
        }
    },
    methods: {
      async selectChange(){
@@ -412,6 +415,15 @@
          parseError({error: error, vm: _this})
        })
      },
        debounce(func, wait) {
            let timeout;
            return (...args) => {
                clearTimeout(timeout);
                timeout = setTimeout(() => {
                    func.apply(this, args);
                }, wait);
            };
        },
      submitHandle:function(){
          if (this.dialogStatus === 'create') {
              this.createHandle();