|
@@ -0,0 +1,577 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div class="app-list-content">
|
|
|
|
|
+ <x-crud class="liu-crud-wrap order-list-wrap" @load="onLoad">
|
|
|
|
|
+
|
|
|
|
|
+ <template #slot-tabs>
|
|
|
|
|
+ <el-tabs class="liu-tabs" type="border-card" v-model="tabIndex" @tab-click="handleClick">
|
|
|
|
|
+ <el-tab-pane
|
|
|
|
|
+ v-for="(item, index) in tabsData"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ :label="`${item.text}`"
|
|
|
|
|
+ :name="item.key"
|
|
|
|
|
+ ></el-tab-pane>
|
|
|
|
|
+ </el-tabs>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #table-column-sendStaffName="{scope}">
|
|
|
|
|
+ <span v-if="scope.row.sendStaffName!=''" style="cursor:pointer;" @click="changeSendStaff(scope.row)">{{ scope.row.sendStaffName }}</span>
|
|
|
|
|
+ <span v-else>
|
|
|
|
|
+ <i class="el-icon-edit" style="color:#409eff;font-size:17px;cursor:pointer;" slot="reference" @click="changeSendStaff(scope.row)"></i>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #table-column-shopAdminName="{scope}">
|
|
|
|
|
+ <span v-if="scope.row.shopAdminName!=''" style="cursor:pointer;" @click="changeKdStaff(scope.row)">{{ scope.row.shopAdminName }}</span>
|
|
|
|
|
+ <span v-else>
|
|
|
|
|
+ <i class="el-icon-edit" style="color:#409eff;font-size:17px;cursor:pointer;" slot="reference" @click="changeKdStaff(scope.row)"></i>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #slot-column-option="{scope}">
|
|
|
|
|
+ <el-button @click.stop="detailShowFn(scope.row)" size="small" type="success" v-if="scope.row.status != 1 && scope.row.status != 5">详情</el-button>
|
|
|
|
|
+ <el-button v-else size="small" @click.stop="detailShowFn(scope.row)">详情</el-button>
|
|
|
|
|
+
|
|
|
|
|
+ <el-button v-if="scope.row.status != 1 && scope.row.status != 5" @click.stop="printOrder(scope.row)" size="small" type="primary">打A4</el-button>
|
|
|
|
|
+ <el-button v-else size="small">打A4</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #slot-search-option="{scope}">
|
|
|
|
|
+ <el-input v-model="name" placeholder="客户名称 / 订单号" size="mini" style="width:140px;" :clearable="true" ref="orderSearchRef" @input="changeSearch()" @focus="name=''"></el-input>
|
|
|
|
|
+ <el-select size="mini" v-model="currentKdStaffName" placeholder="开单人" style="width:110px;margin-left:8px;" @change="getKdStaff" :clearable="true">
|
|
|
|
|
+ <el-option v-for="item in staffList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <span style="margin-left:9px;font-size:16px;">账单时间:</span>
|
|
|
|
|
+ <el-date-picker v-model="currentDateList" type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始日期" @change="getSearchDate" value-format="yyyy-MM-dd"
|
|
|
|
|
+ class="custom-date-picker" end-placeholder="结束日期" :picker-options="pickerOptions" size="mini" style="margin-right:8px;">
|
|
|
|
|
+ </el-date-picker>
|
|
|
|
|
+ <el-radio-group v-model="book" @change="changeBook" style="margin-right:20px;padding-top:6px;margin-left:4px;">
|
|
|
|
|
+ <el-radio label="-1">全部</el-radio>
|
|
|
|
|
+ <el-radio label="0">常规订单</el-radio>
|
|
|
|
|
+ <el-radio label="1">预订单</el-radio>
|
|
|
|
|
+ </el-radio-group>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template #slot-export-order>
|
|
|
|
|
+ <el-button type="primary" size="mini" style="margin-left:10px;" @click="exportData()">导出数据</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ </x-crud>
|
|
|
|
|
+
|
|
|
|
|
+ <select-staff ref="selectStaffRef" @getStaff="getStaff" :staffData="staffData" />
|
|
|
|
|
+
|
|
|
|
|
+ <arrival ref="arrivalRef" :arrivalData="arrivalData" @searchFocus="searchFocus" @addNewItem="addNewItem" @refreshData="refreshData" @getStockDetail="getStockDetail" @getCostChange="getCostChange" @openLoan="openLoan" />
|
|
|
|
|
+
|
|
|
|
|
+ <simple-item ref="simpleItemRef" :simpleData="simpleData" @renewArrival="renewArrival" />
|
|
|
|
|
+
|
|
|
|
|
+ <order-detail ref="LiveDetail" :orderOperate="optionData" @getStockDetail="getStockDetail" @searchFocus="searchFocus" />
|
|
|
|
|
+
|
|
|
|
|
+ <sel-order ref="selOrder" :id="optionData.id" @song-success="onSongSuccess" />
|
|
|
|
|
+
|
|
|
|
|
+ <stock-detail ref="stockDetail" :itemData="itemData" />
|
|
|
|
|
+
|
|
|
|
|
+ <begin-refund ref="beginRefundRef" :currentRefundData="currentRefundData" @searchFocus="searchFocus" />
|
|
|
|
|
+ <refund-record ref="refundRecordRef" :currentData="refundRecordData" @searchFocus="searchFocus" />
|
|
|
|
|
+ <cost-change ref="costChangeRef" :costData="costData" @searchFocus="searchFocus" />
|
|
|
|
|
+ <loan-item ref="loanItemRef" :currentData="loanData" @renewArrival="renewArrival" />
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+import selectStaff from '@/components/staff/select-staff';
|
|
|
|
|
+import stockDetail from './components/stock-detail';
|
|
|
|
|
+import SelOrder from './components/sel-order';
|
|
|
|
|
+import LiveDetail from './components/live-detail';
|
|
|
|
|
+import arrival from './components/arrival';
|
|
|
|
|
+import simpleItem from './components/simple-item';
|
|
|
|
|
+import beginRefund from './components/begin-refund';
|
|
|
|
|
+import refundRecord from './components/refund-record';
|
|
|
|
|
+import costChange from '@/components/item/cost-change';
|
|
|
|
|
+import loanItem from '@/components/item/loan-item';
|
|
|
|
|
+import {hiprint, defaultElementTypeProvider} from 'vue-plugin-hiprint'
|
|
|
|
|
+export default {
|
|
|
|
|
+ components: {
|
|
|
|
|
+ SelOrder,
|
|
|
|
|
+ LiveDetail,
|
|
|
|
|
+ arrival,
|
|
|
|
|
+ simpleItem,
|
|
|
|
|
+ beginRefund,
|
|
|
|
|
+ refundRecord,
|
|
|
|
|
+ selectStaff,
|
|
|
|
|
+ stockDetail,
|
|
|
|
|
+ costChange,
|
|
|
|
|
+ loanItem
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ app: null,
|
|
|
|
|
+ tabIndex: '0',
|
|
|
|
|
+ tabsData: [
|
|
|
|
|
+ {
|
|
|
|
|
+ text: '全部订单',
|
|
|
|
|
+ key: '0',
|
|
|
|
|
+ val: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ text: '待付款',
|
|
|
|
|
+ key: '1',
|
|
|
|
|
+ val: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ text: '待发货',
|
|
|
|
|
+ key: '2',
|
|
|
|
|
+ val: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ text: '待收货',
|
|
|
|
|
+ key: '3',
|
|
|
|
|
+ val: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ text: '已完成',
|
|
|
|
|
+ key: '4',
|
|
|
|
|
+ val: 0
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ optionData: {},
|
|
|
|
|
+ arrivalData:{},
|
|
|
|
|
+ costData:{},
|
|
|
|
|
+ loanData:{},
|
|
|
|
|
+ simpleData:{},
|
|
|
|
|
+ staffData:{title:'',changeType:'',obj:null},
|
|
|
|
|
+ orderData:'',
|
|
|
|
|
+ book:"-1",
|
|
|
|
|
+ currentDateList:[],
|
|
|
|
|
+ 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]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, {
|
|
|
|
|
+ text: '最近三个月',
|
|
|
|
|
+ onClick(picker) {
|
|
|
|
|
+ const end = new Date();
|
|
|
|
|
+ const start = new Date();
|
|
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }]
|
|
|
|
|
+ },
|
|
|
|
|
+ startTime:'',
|
|
|
|
|
+ endTime:'',
|
|
|
|
|
+ searchTime:'',
|
|
|
|
|
+ name:'',
|
|
|
|
|
+ currentRefundData:{},
|
|
|
|
|
+ refundRecordData:{},
|
|
|
|
|
+ currentKdStaffName:'',
|
|
|
|
|
+ currentKdStaffId:0,
|
|
|
|
|
+ staffList:[],
|
|
|
|
|
+ selectedData:[],
|
|
|
|
|
+ itemData:{id:0}
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.init();
|
|
|
|
|
+ },
|
|
|
|
|
+ mounted() {
|
|
|
|
|
+ let that = this;
|
|
|
|
|
+ document.onkeydown=function(e) {
|
|
|
|
|
+ if(e && e.key == ',' && e.ctrlKey){
|
|
|
|
|
+ let query = {}
|
|
|
|
|
+ that.$router.push({path:'/order/add',query})
|
|
|
|
|
+ }
|
|
|
|
|
+ if(e && e.key == '.' && e.ctrlKey){
|
|
|
|
|
+ let query = {}
|
|
|
|
|
+ that.$router.push({path:'/in/add',query})
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.orderSearchRef.focus()
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ that.$service.shopAdmin.getAllStaff().then(res => {
|
|
|
|
|
+ that.staffList = res.list
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ searchFocus(){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ that.$refs.orderSearchRef.focus()
|
|
|
|
|
+ },1000)
|
|
|
|
|
+ },
|
|
|
|
|
+ getStaff(staff){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ if(this.staffData.changeType == 'changeSend'){
|
|
|
|
|
+ let order = this.staffData.obj
|
|
|
|
|
+ this.$service.order.changeSendStaff({orderId:order.id,staffId:staff.id}).then(res=>{
|
|
|
|
|
+ this.$message.success('修改成功')
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ that.refreshData()
|
|
|
|
|
+ }, 1000)
|
|
|
|
|
+ })
|
|
|
|
|
+ return true
|
|
|
|
|
+ }
|
|
|
|
|
+ if(this.staffData.changeType == 'changeKd'){
|
|
|
|
|
+ this.$message.error('开发中')
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ changeSendStaff(order){
|
|
|
|
|
+ this.staffData = {title:'修改送货员',changeType:'changeSend',obj:order}
|
|
|
|
|
+ this.$refs.selectStaffRef.init()
|
|
|
|
|
+ },
|
|
|
|
|
+ changeKdStaff(order){
|
|
|
|
|
+ this.staffData = {title:'修改开单人',changeType:'changeKd',obj:order}
|
|
|
|
|
+ this.$refs.selectStaffRef.init()
|
|
|
|
|
+ },
|
|
|
|
|
+ goRefund(data){
|
|
|
|
|
+ this.currentRefundData = data
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.beginRefundRef.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ renewArrival(info){
|
|
|
|
|
+ this.confirmArrival(info)
|
|
|
|
|
+ },
|
|
|
|
|
+ getStockDetail(info){
|
|
|
|
|
+ this.itemData = {id:info.productId,name:info.name,direction:'rtl'}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.stockDetail.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getCostChange(info){
|
|
|
|
|
+ this.costData = {id:info.productId,name:info.name,direction:'rtl'}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.costChangeRef.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ openLoan(param,orderId){
|
|
|
|
|
+ this.$service.bookItemCustom.getInfo({orderId:orderId,productId:param.productId}).then(data=>{
|
|
|
|
|
+ let info = data.res
|
|
|
|
|
+ this.loanData = {customId:info.customId,customName:info.customName,id:info.id,itemName:info.name,itemId:info.itemId,direction:'rtl',orderId:orderId}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.loanItemRef.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ addNewItem(data){
|
|
|
|
|
+ this.simpleData = data
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.simpleItemRef.init()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ //预订单的确认发货
|
|
|
|
|
+ confirmArrival(info){
|
|
|
|
|
+ this.arrivalData = {id:info.id}
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.arrivalRef.init();
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ changeSearch(){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ if(this.T != null){
|
|
|
|
|
+ clearTimeout(this.T)
|
|
|
|
|
+ }
|
|
|
|
|
+ this.T = setTimeout(function(){
|
|
|
|
|
+ that.app.refresh({ status: that.tabIndex,book:that.book,searchTime:that.searchTime,startTime:that.startTime,endTime:that.endTime,name:that.name,shopAdminId:this.currentKdStaffId })
|
|
|
|
|
+ },650)
|
|
|
|
|
+ },
|
|
|
|
|
+ confirmReach(info){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ this.$confirm('确认已送达?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
|
|
|
|
|
+ this.$service.order.confirmReach({id:info.id}).then(res=>{
|
|
|
|
|
+ that.$message.success('确认成功')
|
|
|
|
|
+ that.refreshData()
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ confirmSend(info){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ this.$service.order.fh({id:info.id,fhType:0}).then(data => {
|
|
|
|
|
+ this.$notify({ title: '操作成功', message: '', type: 'success'})
|
|
|
|
|
+ that.refreshData()
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ changeReCheck(info){
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ this.$service.order.modifyReCheck({id:info.id}).then(data => {
|
|
|
|
|
+ this.$notify({ title: '操作成功', message: '', type: 'success'})
|
|
|
|
|
+ info.reCheck = 1
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ newCg(){
|
|
|
|
|
+ let query = {}
|
|
|
|
|
+ this.$router.push({path:'/in/add',query})
|
|
|
|
|
+ },
|
|
|
|
|
+ billing(){
|
|
|
|
|
+ let query = {}
|
|
|
|
|
+ this.$router.push({path:'/order/add',query})
|
|
|
|
|
+ },
|
|
|
|
|
+ changeBook(e){
|
|
|
|
|
+ this.book = e
|
|
|
|
|
+ this.app.refresh({ status: this.tabIndex,book:this.book,name:this.name,shopAdminId:this.currentKdStaffId });
|
|
|
|
|
+ },
|
|
|
|
|
+ getSearchDate(){
|
|
|
|
|
+ if (this.$util.isEmpty(this.currentDateList)) {
|
|
|
|
|
+ this.searchTime = ''
|
|
|
|
|
+ this.startTime = ''
|
|
|
|
|
+ this.endTime = ''
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.searchTime = 'custom'
|
|
|
|
|
+ this.startTime = this.currentDateList[0]
|
|
|
|
|
+ this.endTime = this.currentDateList[1]
|
|
|
|
|
+ }
|
|
|
|
|
+ this.app.refresh({ status: this.tabIndex,book:this.book,searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,name:this.name,shopAdminId:this.currentKdStaffId})
|
|
|
|
|
+ },
|
|
|
|
|
+ refreshData(){
|
|
|
|
|
+ this.app.refresh({ status: this.tabIndex,book:this.book,searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,name:this.name,shopAdminId:this.currentKdStaffId})
|
|
|
|
|
+ },
|
|
|
|
|
+ init() {
|
|
|
|
|
+ this.$store.dispatch('getUsage');
|
|
|
|
|
+ },
|
|
|
|
|
+ printOrder(info){
|
|
|
|
|
+ this.$service.order.info({ id: info.id }).then(res => {
|
|
|
|
|
+ let printData = res.printData ? res.printData : ''
|
|
|
|
|
+ let str = res.template ? res.template:''
|
|
|
|
|
+ let template = JSON.parse(str)
|
|
|
|
|
+ hiprint.init();
|
|
|
|
|
+ var hiprintTemplate = new hiprint.PrintTemplate({template:template});
|
|
|
|
|
+ hiprintTemplate.print(printData)
|
|
|
|
|
+ //增加打印次数
|
|
|
|
|
+ this.$service.order.addPrintNum({id:info.id}).then(data => {
|
|
|
|
|
+ this.app.refresh({ status: this.tabIndex,book:this.book,name:this.name })
|
|
|
|
|
+ })
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ shipDrawFn(item) {
|
|
|
|
|
+ this.optionData = item;
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.selOrder.init();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ getKdStaff(e){
|
|
|
|
|
+ this.currentKdStaffId = e
|
|
|
|
|
+ this.refreshData()
|
|
|
|
|
+ },
|
|
|
|
|
+ detailShowFn(item) {
|
|
|
|
|
+ this.optionData = item;
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.$refs.LiveDetail.init();
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ handleClick(tab, e) {
|
|
|
|
|
+ this.app.refresh({ status: this.tabIndex,book:this.book,name:this.name });
|
|
|
|
|
+ },
|
|
|
|
|
+ exportData(){
|
|
|
|
|
+ this.$service.order.getOrderList({status: this.tabIndex,book:this.book,searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,pageSize:9999999,export:1,name:this.name,shopAdminId:this.currentKdStaffId}).then(res => {
|
|
|
|
|
+ if(res.file){
|
|
|
|
|
+ window.location.href = res.file
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ onLoad({ ctx, app }) {
|
|
|
|
|
+ this.app = app;
|
|
|
|
|
+ if(this.$route.query.status){
|
|
|
|
|
+ this.tabIndex = this.$route.query.status
|
|
|
|
|
+ }
|
|
|
|
|
+ if(this.$route.query.customName){
|
|
|
|
|
+ this.name = this.$route.query.customName
|
|
|
|
|
+ }
|
|
|
|
|
+ if(this.$route.query.searchTime){
|
|
|
|
|
+ this.searchTime = this.$route.query.searchTime
|
|
|
|
|
+ }
|
|
|
|
|
+ if(this.$route.query.startTime){
|
|
|
|
|
+ this.startTime = this.$route.query.startTime
|
|
|
|
|
+ }
|
|
|
|
|
+ if(this.$route.query.endTime){
|
|
|
|
|
+ this.endTime = this.$route.query.endTime
|
|
|
|
|
+ }
|
|
|
|
|
+ ctx.service(this.$service.liveOrder)
|
|
|
|
|
+ .set('table', {
|
|
|
|
|
+ columns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type: 'selection',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '40'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'orderSn',
|
|
|
|
|
+ label: '单号',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '130'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'itemCover',
|
|
|
|
|
+ label: '图片',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '120'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'itemName',
|
|
|
|
|
+ label: '花材',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '180'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'customNum',
|
|
|
|
|
+ label: '客户数',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '100'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'itemNum',
|
|
|
|
|
+ label: '花材数',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '100'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'switch',
|
|
|
|
|
+ label: '转换',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: '60'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'addTime',
|
|
|
|
|
+ label: '创建时间',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: 150
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'updateTime',
|
|
|
|
|
+ label: '修改时间',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: 150
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ on: {
|
|
|
|
|
+ 'selection-change': selection => {
|
|
|
|
|
+ this.selectedData = selection.map(e => {
|
|
|
|
|
+ return {id:e.id,status:e.status,sameTimeIdsNum:e.sameTimeIdsNum}
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ 'default-sort': {
|
|
|
|
|
+ prop: 'addTime',
|
|
|
|
|
+ order: 'descending'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ op: {
|
|
|
|
|
+ visible: true,
|
|
|
|
|
+ props: {
|
|
|
|
|
+ width: 330,
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ fixed: 'right',
|
|
|
|
|
+ label: '操作'
|
|
|
|
|
+ },
|
|
|
|
|
+ layout: ['slot-column-option']
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ .set('layout', [
|
|
|
|
|
+ ['slot-tabs'],
|
|
|
|
|
+ ['slot-search-option','slot-export-order'],
|
|
|
|
|
+ ['data-table'],
|
|
|
|
|
+ ['flex1', 'pagination']
|
|
|
|
|
+ ])
|
|
|
|
|
+ .on('refresh', async (params, { next }) => {
|
|
|
|
|
+ this.name = params.name?params.name:''
|
|
|
|
|
+ let asset = await next(params);
|
|
|
|
|
+ this.tabsData[0].val = asset.shop.totalOrder||0;
|
|
|
|
|
+ this.tabsData[1].val = asset.shop.unPayOrder||0;
|
|
|
|
|
+ this.tabsData[2].val = asset.shop.unSendOrder||0;
|
|
|
|
|
+ this.tabsData[3].val = asset.shop.sendingOrder||0;
|
|
|
|
|
+ this.tabsData[4].val = asset.shop.finishOrder||0;
|
|
|
|
|
+ })
|
|
|
|
|
+ .done();
|
|
|
|
|
+ app.refresh({ status: this.tabIndex,book:this.book,searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,name:this.name,shopAdminId:this.currentKdStaffId })
|
|
|
|
|
+ },
|
|
|
|
|
+ onSongSuccess() {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+</script>
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
|
+.custom-date-picker{
|
|
|
|
|
+ width:230px;
|
|
|
|
|
+}
|
|
|
|
|
+.book-wrap {
|
|
|
|
|
+ @include disFlex(center, flex-start);
|
|
|
|
|
+ & > div {
|
|
|
|
|
+ margin-left: 6px;
|
|
|
|
|
+ &:first-child {
|
|
|
|
|
+ margin-left: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+.print-html-box {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ top: 9990px;
|
|
|
|
|
+}
|
|
|
|
|
+.steps-wrap {
|
|
|
|
|
+ width: 150px;
|
|
|
|
|
+ //height: 26px;
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss">
|
|
|
|
|
+.order-list-wrap {
|
|
|
|
|
+ .el-step__head.is-process {
|
|
|
|
|
+ color: #c0c4cc;
|
|
|
|
|
+ border-color: #c0c4cc;
|
|
|
|
|
+ .el-step__icon.is-text {
|
|
|
|
|
+ background-color: #c0c4cc;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step__head.is-success {
|
|
|
|
|
+ color: #409eff;
|
|
|
|
|
+ border-color: #409eff;
|
|
|
|
|
+ .el-step__icon.is-text {
|
|
|
|
|
+ background-color: #409eff;
|
|
|
|
|
+ font-size: 1px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step__line {
|
|
|
|
|
+ background-color: #409eff;
|
|
|
|
|
+ .el-step__line-inner {
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step__head.is-wait {
|
|
|
|
|
+ .el-step__icon.is-text {
|
|
|
|
|
+ background-color: #c0c4cc;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step__icon-inner {
|
|
|
|
|
+ font-size: 1px;
|
|
|
|
|
+ display: none;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step__icon {
|
|
|
|
|
+ width: 10px;
|
|
|
|
|
+ height: 10px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .el-step.is-horizontal .el-step__line {
|
|
|
|
|
+ height: 1px;
|
|
|
|
|
+ left: 16px;
|
|
|
|
|
+ right: -16px;
|
|
|
|
|
+ top: 9px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|