123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 |
- <template>
- <div class="app-container">
- <!-- 筛选条件 -->
- <div class="screen-container">
- <div class="top clearfix">
- <div class="title fl">条件筛选</div>
- <div class="fr">
- <el-button size="small" type="primary" @click="isOpen = !isOpen"
- >{{ isOpen ? '收起' : '展开'
- }}<i class="el-icon--right" :class="isOpen ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i
- ></el-button>
- <el-button size="small" @click="resetScreenForm">清空</el-button>
- <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
- </div>
- </div>
- <el-form ref="screenForm" :model="screenForm" label-width="70px" size="small" label-position="left">
- <el-row :gutter="20">
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="条形码" prop="code">
- <el-input v-model="screenForm.code" placeholder="请输入条形码"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="订单号" prop="orderNo">
- <el-input v-model="screenForm.orderNo" placeholder="请输入订单号"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="销售公司" prop="salesCompany">
- <el-input v-model="screenForm.salesCompany" placeholder="请输入销售公司"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6">
- <el-form-item label="收货地址" prop="address">
- <el-input v-model="screenForm.address" placeholder="请输入收货地址"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="扫描时间" prop="scanDate">
- <el-date-picker
- v-model="screenForm.scanDate"
- type="daterange"
- range-separator="至"
- style="width: 100%"
- ref="scanDate"
- value-format="yyyy-MM-dd"
- :picker-options="pickerOptions"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="产品名称" prop="goodsName">
- <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="设备仓库" prop="warehouse">
- <el-input v-model="screenForm.warehouse" placeholder="请输入设备仓库"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="网点信息" prop="website">
- <el-input v-model="screenForm.website" placeholder="请输入网点信息"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="服务人员" prop="worker">
- <el-input v-model="screenForm.worker" placeholder="请输入服务人员"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="12" :lg="6" v-if="isOpen">
- <el-form-item label="核验时间" prop="checkDate">
- <el-date-picker
- v-model="screenForm.checkDate"
- type="daterange"
- range-separator="至"
- style="width: 100%"
- value-format="yyyy-MM-dd"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <div class="mymain-container">
- <div class="btn-group clearfix">
- <div class="fr">
- <el-button size="small" type="primary" @click="handleExport" v-if="checkBtnRole('export')"
- >导出数据</el-button
- >
- </div>
- </div>
- <div class="table">
- <el-table
- v-loading="listLoading"
- :data="dataList"
- element-loading-text="Loading"
- border
- fit
- highlight-current-row
- stripe
- >
- <el-table-column
- align="center"
- label="条形码"
- prop="barCode"
- min-width="140"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- align="center"
- label="产品名称"
- prop="productName"
- min-width="220"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column align="center" label="出库采集时间" prop="deliveryTime" min-width="160"></el-table-column>
- <el-table-column align="center" label="设备仓库" prop="warehouse" min-width="100"></el-table-column>
- <el-table-column
- align="center"
- label="收货地址"
- prop="address"
- min-width="220"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column align="center" label="发货日期" prop="consignerTime" min-width="160"></el-table-column>
- <el-table-column
- align="center"
- label="订单号"
- prop="orderNumber"
- min-width="140"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column align="center" label="最新核验状态" prop="verificationStatus" min-width="120">
- <template slot-scope="scope">
- {{ scope.row.verificationStatus | CODE_CHECK_STATUS_FILTER }}
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="最新核验时间"
- prop="verificationTime"
- min-width="160"
- ></el-table-column>
- <el-table-column align="center" label="核验人员" prop="workerNumber" min-width="160" show-overflow-tooltip>
- <template slot-scope="scope"> {{ scope.row.workerName }}({{ scope.row.workerNumber }}) </template>
- </el-table-column>
- <el-table-column align="center" label="核验人员手机号" prop="workerPhone" min-width="130"></el-table-column>
- <el-table-column
- align="center"
- label="所属网点名称"
- prop="websitName"
- min-width="160"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- align="center"
- label="所属网点编号"
- prop="websitNumber"
- min-width="120"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column align="center" label="上传人" prop="createByNumber" min-width="160" show-overflow-tooltip>
- <template slot-scope="scope"> {{ scope.row.createBy }}({{ scope.row.createByNumber }}) </template>
- </el-table-column>
- <el-table-column align="center" label="上传时间" prop="createTime" min-width="160"></el-table-column>
- </el-table>
- </div>
- <div class="pagination clearfix">
- <div class="fr">
- <el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :current-page="currentPage"
- :page-sizes="[10, 20, 30, 50]"
- :page-size="10"
- layout="total, sizes, prev, pager, next, jumper"
- :total="listTotal"
- >
- </el-pagination>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- import { getCodeList } from '@/api/barcodeVerification'
- import { downloadFiles, handleImport } from '@/utils/util'
- export default {
- data() {
- return {
- isOpen: false, // 是否展开条件筛选
- dataList: null, // 列表数据
- listLoading: false, // 列表加载loading
- currentPage: 1, // 当前页码
- pageSize: 10, // 每页数量
- listTotal: 0, // 列表总数
- screenForm: {
- // 筛选表单数据
- code: '',
- orderNo: '',
- salesCompany: '',
- address: '',
- scanDate: [],
- goodsName: '',
- warehouse: '',
- website: '',
- worker: '',
- checkDate: []
- },
- pickerOptions: {
- onPick: ({ maxDate, minDate }) => {
- this.selectDate = minDate.getTime()
- if (maxDate) {
- this.selectDate = ''
- }
- },
- disabledDate: time => {
- if (this.selectDate !== '') {
- const one = 30 * 24 * 3600 * 1000
- const minTime = this.selectDate - one
- const maxTime = this.selectDate + one
- return time.getTime() < minTime || time.getTime() > maxTime
- }
- }
- },
- importLoading_wh: false, // 导入加载loading
- importFileList_wh: [], // 导入列表
- importLoading_ss: false, // 导入加载loading
- importFileList_ss: [], // 导入列表
- importLoading_ls: false, // 导入加载loading
- importFileList_ls: [], // 导入列表
- importLoading_tm: false, // 导入加载loading
- importFileList_tm: [], // 导入列表
- importLoading_lb: false, // 导入加载loading
- importFileList_lb: [] // 导入列表
- }
- },
- computed: {
- userInfo() {
- return JSON.parse(localStorage.getItem('settlement_user'))
- }
- },
- created() {
- // this.getCodeList();
- },
- methods: {
- // 查询按钮权限
- checkBtnRole(value) {
- return true
- let btnRole = this.$route.meta.roles
- if (!btnRole) {
- return true
- }
- let index = btnRole.indexOf(value)
- return index >= 0 ? true : false
- },
- // 获取列表
- getCodeList() {
- this.listLoading = true
- let params = {
- pageNo: this.currentPage,
- pageSize: this.pageSize,
- barCode: this.screenForm.code,
- orderNumber: this.screenForm.orderNo,
- salesCompany: this.screenForm.salesCompany,
- address: this.screenForm.address,
- startTime:
- this.screenForm.scanDate && this.screenForm.scanDate.length ? this.screenForm.scanDate[0] + ' 00:00:00' : '',
- endTime:
- this.screenForm.scanDate && this.screenForm.scanDate.length ? this.screenForm.scanDate[1] + ' 23:59:59' : '',
- productName: this.screenForm.goodsName,
- warehouse: this.screenForm.warehouse,
- websitNumber: this.screenForm.website,
- workerName: this.screenForm.worker,
- verificationStartTime:
- this.screenForm.checkDate && this.screenForm.checkDate.length
- ? this.screenForm.checkDate[0] + ' 00:00:00'
- : '',
- verificationEndTime:
- this.screenForm.checkDate && this.screenForm.checkDate.length
- ? this.screenForm.checkDate[1] + ' 23:59:59'
- : ''
- }
- getCodeList(params).then(res => {
- this.dataList = res.data.records
- this.listTotal = res.data.total
- this.listLoading = false
- })
- },
- // 更改每页数量
- handleSizeChange(val) {
- this.pageSize = val
- this.currentPage = 1
- this.getCodeList()
- },
- // 更改当前页
- handleCurrentChange(val) {
- this.currentPage = val
- this.getCodeList()
- },
- // 提交筛选表单
- submitScreenForm() {
- this.currentPage = 1
- this.getCodeList()
- },
- // 重置筛选表单
- resetScreenForm() {
- this.$refs.screenForm.resetFields()
- this.currentPage = 1
- this.getCodeList()
- },
- // 导出
- handleExport() {
- if (!this.screenForm.scanDate || this.screenForm.scanDate.length < 1) {
- this.isOpen = true
- return this.$errorMsg('请选择扫描时间')
- }
- let screenData = {
- barCode: this.screenForm.code,
- orderNumber: this.screenForm.orderNo,
- salesCompany: this.screenForm.salesCompany,
- address: this.screenForm.address,
- startTime:
- this.screenForm.scanDate && this.screenForm.scanDate.length ? this.screenForm.scanDate[0] + ' 00:00:00' : '',
- endTime:
- this.screenForm.scanDate && this.screenForm.scanDate.length ? this.screenForm.scanDate[1] + ' 23:59:59' : '',
- productName: this.screenForm.goodsName,
- warehouse: this.screenForm.warehouse,
- websitNumber: this.screenForm.website,
- workerName: this.screenForm.worker,
- verificationStartTime:
- this.screenForm.checkDate && this.screenForm.checkDate.length
- ? this.screenForm.checkDate[0] + ' 00:00:00'
- : '',
- verificationEndTime:
- this.screenForm.checkDate && this.screenForm.checkDate.length
- ? this.screenForm.checkDate[1] + ' 23:59:59'
- : ''
- }
- downloadFiles('externalCode/equipment/export', screenData)
- },
- // 导入
- async handleImport_wh(param) {
- this.importLoading_wh = true
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- let result = await handleImport('java/code/equipmentCode/importWanHao', formData)
- this.importLoading_wh = false
- this.importFileList_wh = []
- this.$importMsg(result)
- if (result.code == 200) {
- this.getCodeList()
- }
- },
- // 导入
- async handleImport_ss(param) {
- this.importLoading_ss = true
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- let result = await handleImport('java/code/equipmentCode/importSanShui', formData)
- this.importLoading_ss = false
- this.importFileList_ss = []
- this.$importMsg(result)
- if (result.code == 200) {
- this.getCodeList()
- }
- },
- // 导入
- async handleImport_ls(param) {
- this.importLoading_ls = true
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- let result = await handleImport('java/code/equipmentCode/import', formData)
- this.importLoading_ls = false
- this.importFileList_ls = []
- this.$importMsg(result)
- if (result.code == 200) {
- this.getCodeList()
- }
- },
- // 导入
- async handleImport_tm(param) {
- this.importLoading_tm = true
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- let result = await handleImport('java/code/equipmentCode/importTianMao', formData)
- this.importLoading_tm = false
- this.importFileList_tm = []
- this.$importMsg(result)
- if (result.code == 200) {
- this.getCodeList()
- }
- },
- // 导入
- async handleImport_lb(param) {
- this.importLoading_lb = true
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- let result = await handleImport('java/code/equipmentCode/importLuBao', formData)
- this.importLoading_lb = false
- this.importFileList_lb = []
- this.$importMsg(result)
- if (result.code == 200) {
- this.getCodeList()
- }
- },
- // 下载导入模版
- handleDownload_wh() {
- downloadFiles('java/code/equipmentCode/wanhaoDownload')
- },
- // 下载导入模版
- handleDownload_ss() {
- downloadFiles('java/code/equipmentCode/sanshuiDownload')
- },
- // 下载导入模版
- handleDownload_ls() {
- downloadFiles('java/code/equipmentCode/longshangDownload')
- },
- // 下载导入模版
- handleDownload_tm() {
- downloadFiles('java/code/equipmentCode/tianMaoDownload')
- },
- // 下载导入模版
- handleDownload_lb() {
- downloadFiles('java/code/equipmentCode/luBaoDownload')
- }
- }
- }
- </script>
|