|
@@ -1,13 +1,723 @@
|
|
|
<template>
|
|
|
- <div>change history index</div>
|
|
|
+ <div>
|
|
|
+ <div class="app-container">
|
|
|
+ <div class="filter-container">
|
|
|
+ <el-input
|
|
|
+ v-model="history.query.cond"
|
|
|
+ placeholder="请输入员工电话,姓名"
|
|
|
+ style="width: 300px;"
|
|
|
+ class="filter-item"
|
|
|
+ />
|
|
|
+ <el-button
|
|
|
+ class="filter-item"
|
|
|
+ style="margin-left: 10px;"
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="handleQuery"
|
|
|
+ >
|
|
|
+ 查询
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :key="tableKey"
|
|
|
+ v-loading="history.loading"
|
|
|
+ :data="history.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ type="index"
|
|
|
+ label="序号"
|
|
|
+ width="80"
|
|
|
+ align="center"
|
|
|
+ fixed
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="员工姓名"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="name"
|
|
|
+ fixed
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="联系方式"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="phone"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="最近出勤时间"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="last"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="已完成订单数"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="count"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="待完成订单数"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="todo"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="平均出勤时长"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ convertSeconds(row.avg) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="最久出勤时长"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ convertSeconds(row.max) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" fixed="right">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-button type="text" @click="open(row)">查看</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ hide-on-single-page
|
|
|
+ :total="history.total"
|
|
|
+ :page.sync="history.query.page"
|
|
|
+ :limit.sync="history.query.limit"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="showModal"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ center
|
|
|
+ width="80%"
|
|
|
+ title="员工上酒详情"
|
|
|
+ >
|
|
|
+ <div class="flex_grid">
|
|
|
+ <div>员工ID:<span>{{ select.id }}</span></div>
|
|
|
+ <div>员工姓名:<span>{{ select.name }}</span></div>
|
|
|
+ <div>联系方式:<span>{{ select.phone }}</span></div>
|
|
|
+ <div>最近出勤时间:<span>{{ select.last }}</span></div>
|
|
|
+ <div>已完成上酒订单:<span>{{ select.count }}</span></div>
|
|
|
+ <div>未完成上酒订单:<span class="red">{{ select.todo }}</span></div>
|
|
|
+ <div>平均上酒时长:{{ convertSeconds(select.avg) }}</div>
|
|
|
+ <div>最久上酒时长:{{ convertSeconds(select.max) }}</div>
|
|
|
+ </div>
|
|
|
+ <el-card header="历史记录">
|
|
|
+ <div class="filter-container">
|
|
|
+ <el-input
|
|
|
+ v-model="order.query.cond"
|
|
|
+ placeholder="请输入员工电话,姓名"
|
|
|
+ style="width: 300px;"
|
|
|
+ class="filter-item"
|
|
|
+ />
|
|
|
+ <el-select v-model="order.query.deal" class="filter-item">
|
|
|
+ <el-option label="不限" :value="-1" />
|
|
|
+ <el-option label="已处理" :value="1" />
|
|
|
+ <el-option label="未处理" :value="0" />
|
|
|
+ </el-select>
|
|
|
+ <el-button
|
|
|
+ class="filter-item"
|
|
|
+ style="margin-left: 10px;"
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="handleQueryOrder"
|
|
|
+ >
|
|
|
+ 查询
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :key="tableKey"
|
|
|
+ v-loading="order.loading"
|
|
|
+ :data="order.list"
|
|
|
+ border
|
|
|
+ fit
|
|
|
+ highlight-current-row
|
|
|
+ style="width: 100%;"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ type="index"
|
|
|
+ label="序号"
|
|
|
+ width="80"
|
|
|
+ align="center"
|
|
|
+ fixed
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="订单ID"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="id"
|
|
|
+ fixed
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="贩卖机ID"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ row.device.id }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="贩卖机地址"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span>{{ row.device.addr }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="发布时间"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="publish"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="完成时间"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="finish"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="订单状态"
|
|
|
+ width="100"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-tag v-if="row.deal" type="success">已完成</el-tag>
|
|
|
+ <el-tag v-else type="warning">待完成</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="授权码"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="code"
|
|
|
+ />
|
|
|
+ <el-table-column label="操作" width="150" fixed="right">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-button style="margin-right: 10px" type="text" @click="openOrder(row)">查看</el-button>
|
|
|
+ <el-popconfirm
|
|
|
+ v-if="row.deal === false"
|
|
|
+ title="确定要删除这个订单吗?"
|
|
|
+ @confirm="del(row)"
|
|
|
+ >
|
|
|
+ <el-button slot="reference" size="mini" round plain type="danger">删除</el-button>
|
|
|
+ </el-popconfirm>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ hide-on-single-page
|
|
|
+ :total="order.total"
|
|
|
+ :page.sync="order.query.page"
|
|
|
+ :limit.sync="order.query.limit"
|
|
|
+ @pagination="getWorkerOrder"
|
|
|
+ />
|
|
|
+ </el-card>
|
|
|
+ <el-dialog
|
|
|
+ width="60%"
|
|
|
+ :visible.sync="showOrder"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ center
|
|
|
+ title="订单详情"
|
|
|
+ append-to-body
|
|
|
+ @close="resetForm"
|
|
|
+ >
|
|
|
+ <div class="flex_grid">
|
|
|
+ <div>订单id:{{ orderSelect.id }}</div>
|
|
|
+ <div>贩卖机id:{{ orderSelect.device.id }}</div>
|
|
|
+ <div>贩卖机地址:{{ orderSelect.device.addr }}</div>
|
|
|
+ <div>订单状态:<span :class="[ orderSelect.deal ? 'green': 'red' ]">{{ orderSelect.deal ? '已完成' : '待完成' }}</span></div>
|
|
|
+ <div>发布时间:{{ orderSelect.publish }}</div>
|
|
|
+ <div>完成时间:{{ orderSelect.deal ? orderSelect.finish : '-' }}</div>
|
|
|
+ <div>授权码:{{ orderSelect.code }}</div>
|
|
|
+ </div>
|
|
|
+ <template v-if="orderSelect.deal">
|
|
|
+ <el-card header="更新前">
|
|
|
+ <div class="grid">
|
|
|
+ <div>酒名</div>
|
|
|
+ <div>{{ orderSelect.old[0].name ? orderSelect.old[0].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[1].name ? orderSelect.old[1].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[2].name ? orderSelect.old[2].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[3].name ? orderSelect.old[3].name : '' }}</div>
|
|
|
+ <div>酒量</div>
|
|
|
+ <div>{{ orderSelect.old[0].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[1].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[2].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[3].remain }}ml</div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ <el-card header="更新后">
|
|
|
+ <div class="grid">
|
|
|
+ <div>酒名</div>
|
|
|
+ <div>{{ orderSelect.new[0].name ? orderSelect.new[0].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.new[1].name ? orderSelect.new[1].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.new[2].name ? orderSelect.new[2].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.new[3].name ? orderSelect.new[3].name : '' }}</div>
|
|
|
+ <div>酒量</div>
|
|
|
+ <div>{{ orderSelect.new[0].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.new[1].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.new[2].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.new[3].remain }}ml</div>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="grid">
|
|
|
+ <div>酒名</div>
|
|
|
+ <div>{{ orderSelect.old[0].name ? orderSelect.old[0].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[1].name ? orderSelect.old[1].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[2].name ? orderSelect.old[2].name : '' }}</div>
|
|
|
+ <div>{{ orderSelect.old[3].name ? orderSelect.old[3].name : '' }}</div>
|
|
|
+ <div>酒量</div>
|
|
|
+ <div>{{ orderSelect.old[0].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[1].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[2].remain }}ml</div>
|
|
|
+ <div>{{ orderSelect.old[3].remain }}ml</div>
|
|
|
+ </div>
|
|
|
+ <el-form ref="myForm" :model="form" label-width="80px" :rules="rules">
|
|
|
+ <el-row :gutter="30">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒名1" prop="name1">
|
|
|
+ <el-select
|
|
|
+ ref="mySelect1"
|
|
|
+ v-model="form.name1"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入酒名"
|
|
|
+ :remote-method="remoteMethod1"
|
|
|
+ @change="onSelectChange1"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.name"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒名2" prop="name2">
|
|
|
+ <el-select
|
|
|
+ ref="mySelect2"
|
|
|
+ v-model="form.name2"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入酒名"
|
|
|
+ :remote-method="remoteMethod1"
|
|
|
+ @change="onSelectChange2"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.name"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒名3" prop="name3">
|
|
|
+ <el-select
|
|
|
+ ref="mySelect3"
|
|
|
+ v-model="form.name3"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入酒名"
|
|
|
+ :remote-method="remoteMethod1"
|
|
|
+ @change="onSelectChange3"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.name"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒名4" prop="name4">
|
|
|
+ <el-select
|
|
|
+ ref="mySelect4"
|
|
|
+ v-model="form.name4"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入酒名"
|
|
|
+ :remote-method="remoteMethod1"
|
|
|
+ @change="onSelectChange4"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.name"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒量1" prop="value1">
|
|
|
+ <el-input v-model.number="form.value1" type="number">
|
|
|
+ <template #append>ml</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒量2" prop="value2">
|
|
|
+ <el-input v-model.number="form.value2" type="number">
|
|
|
+ <template #append>ml</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒量3" prop="value3">
|
|
|
+ <el-input v-model.number="form.value3" type="number">
|
|
|
+ <template #append>ml</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="酒量4" prop="value4">
|
|
|
+ <el-input v-model.number="form.value4" type="number">
|
|
|
+ <template #append>ml</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </template>
|
|
|
+ <span
|
|
|
+ v-if="orderSelect.deal === false"
|
|
|
+ slot="footer"
|
|
|
+ class="dialog-footer"
|
|
|
+ >
|
|
|
+ <el-button @click="resetForm">取 消</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="onSubmit"
|
|
|
+ >确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import api from '@/api/admin/wine/history'
|
|
|
+import changeApi from '@/api/admin/wine/change'
|
|
|
+import Pagination from '@/components/Pagination'
|
|
|
export default {
|
|
|
- name: 'ChangeHistory'
|
|
|
+ name: 'ChangeHistory',
|
|
|
+ components: {
|
|
|
+ Pagination
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableKey: 0,
|
|
|
+ history: {
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ loading: true,
|
|
|
+ sort: {
|
|
|
+ time: 'ascending',
|
|
|
+ price: 'ascending',
|
|
|
+ degree: 'ascending',
|
|
|
+ density: 'ascending'
|
|
|
+ },
|
|
|
+ query: {
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ cond: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ showModal: false,
|
|
|
+ select: {
|
|
|
+ id: '',
|
|
|
+ name: '',
|
|
|
+ phone: '',
|
|
|
+ last: '',
|
|
|
+ count: '',
|
|
|
+ todo: '',
|
|
|
+ avg: 0,
|
|
|
+ max: 0
|
|
|
+ },
|
|
|
+ order: {
|
|
|
+ query: {
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ deal: -1,
|
|
|
+ cond: '',
|
|
|
+ worker: ''
|
|
|
+ },
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ loading: true
|
|
|
+ },
|
|
|
+ orderSelect: {
|
|
|
+ id: '',
|
|
|
+ deal: false,
|
|
|
+ device: {
|
|
|
+ id: '',
|
|
|
+ addr: ''
|
|
|
+ },
|
|
|
+ publish: '',
|
|
|
+ finish: '',
|
|
|
+ code: '',
|
|
|
+ old: [
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' }
|
|
|
+ ],
|
|
|
+ new: [
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' },
|
|
|
+ { name: '', remain: '', id: '' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ form: {
|
|
|
+ id1: '',
|
|
|
+ name1: '',
|
|
|
+ value1: '',
|
|
|
+ id2: '',
|
|
|
+ name2: '',
|
|
|
+ value2: '',
|
|
|
+ id3: '',
|
|
|
+ name3: '',
|
|
|
+ value3: '',
|
|
|
+ id4: '',
|
|
|
+ name4: '',
|
|
|
+ value4: '',
|
|
|
+ worker: ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ name1: [{ required: true, message: '酒名不能为空', trigger: 'blur' }],
|
|
|
+ name2: [{ required: true, message: '酒名不能为空', trigger: 'blur' }],
|
|
|
+ name3: [{ required: true, message: '酒名不能为空', trigger: 'blur' }],
|
|
|
+ name4: [{ required: true, message: '酒名不能为空', trigger: 'blur' }],
|
|
|
+ value1: [{ required: true, message: '酒量不能为空', trigger: 'blur' }],
|
|
|
+ value2: [{ required: true, message: '酒量不能为空', trigger: 'blur' }],
|
|
|
+ value3: [{ required: true, message: '酒量不能为空', trigger: 'blur' }],
|
|
|
+ value4: [{ required: true, message: '酒量不能为空', trigger: 'blur' }]
|
|
|
+ },
|
|
|
+ showOrder: false,
|
|
|
+ options: [],
|
|
|
+ userOptions: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ convertSeconds(val) {
|
|
|
+ // 转换为小时、分钟和秒
|
|
|
+ var hours = Math.floor(val / 3600)
|
|
|
+ var minutes = Math.floor((val % 3600) / 60)
|
|
|
+ var seconds = val % 60
|
|
|
+ var result = hours + '小时 ' + minutes + '分钟 ' + seconds + '秒'
|
|
|
+ return result
|
|
|
+ },
|
|
|
+ getList() {
|
|
|
+ api.QueryWorker(this.history.query).then(res => {
|
|
|
+ for (let i = 0; i < res.data.list.length; ++i) {
|
|
|
+ // res.data.list[i].time = new Date(res.data.list[i].time)
|
|
|
+ // res.data.list[i].time = this.$moment(new Date(res.data.list[i].time)).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ res.data.list[i].last = this.$moment(new Date(res.data.list[i].last)).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ }
|
|
|
+ this.history.list = res.data.list
|
|
|
+ this.history.total = res.data.total
|
|
|
+ this.history.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleQuery() {
|
|
|
+ this.history.query.page = 1
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ open(row) {
|
|
|
+ this.showModal = true
|
|
|
+ this.select = row
|
|
|
+ this.order.query.worker = row.id
|
|
|
+ this.getWorkerOrder()
|
|
|
+ },
|
|
|
+ getWorkerOrder() {
|
|
|
+ api.QueryOrder(this.order.query).then(res => {
|
|
|
+ for (let i = 0; i < res.data.list.length; ++i) {
|
|
|
+ res.data.list[i].publish = this.$moment(new Date(res.data.list[i].publish)).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ if (res.data.list[i].finish) {
|
|
|
+ res.data.list[i].finish = this.$moment(new Date(res.data.list[i].finish)).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.order.list = res.data.list
|
|
|
+ this.order.total = res.data.total
|
|
|
+ this.order.loading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleQueryOrder() {
|
|
|
+ this.order.query.page = 1
|
|
|
+ this.getWorkerOrder()
|
|
|
+ },
|
|
|
+ del(row) {
|
|
|
+ api.Delete(row.id).then(() => {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '删除订单成功成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ this.getWorkerOrder()
|
|
|
+ }).catch(msg => {
|
|
|
+ this.$notify({
|
|
|
+ title: '失败',
|
|
|
+ message: msg,
|
|
|
+ type: 'error',
|
|
|
+ duration: 0
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ openOrder(row) {
|
|
|
+ this.showOrder = true
|
|
|
+ this.orderSelect = row
|
|
|
+ },
|
|
|
+ resetForm() {
|
|
|
+ this.showOrder = false
|
|
|
+ this.form = {
|
|
|
+ id1: '',
|
|
|
+ name1: '',
|
|
|
+ value1: '',
|
|
|
+ id2: '',
|
|
|
+ name2: '',
|
|
|
+ value2: '',
|
|
|
+ id3: '',
|
|
|
+ name3: '',
|
|
|
+ value3: '',
|
|
|
+ id4: '',
|
|
|
+ name4: '',
|
|
|
+ value4: '',
|
|
|
+ worker: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ remoteMethod1(query) {
|
|
|
+ changeApi.QueryWine(query).then(res => {
|
|
|
+ this.options = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ remoteMethod2(query) {
|
|
|
+ changeApi.QueryWorker(query).then(res => {
|
|
|
+ this.userOptions = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSelectChange1(val) {
|
|
|
+ this.options.forEach(item => {
|
|
|
+ if (item.name === val) {
|
|
|
+ this.form.id1 = item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSelectChange2(val) {
|
|
|
+ this.options.forEach(item => {
|
|
|
+ if (item.name === val) {
|
|
|
+ this.form.id2 = item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSelectChange3(val) {
|
|
|
+ this.options.forEach(item => {
|
|
|
+ if (item.name === val) {
|
|
|
+ this.form.id3 = item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSelectChange4(val) {
|
|
|
+ this.options.forEach(item => {
|
|
|
+ if (item.name === val) {
|
|
|
+ this.form.id4 = item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ const params = {
|
|
|
+ id: this.orderSelect.id,
|
|
|
+ new: [
|
|
|
+ { id: Number(this.form.id1), name: this.form.name1, remain: this.form.value1 },
|
|
|
+ { id: Number(this.form.id2), name: this.form.name2, remain: this.form.value2 },
|
|
|
+ { id: Number(this.form.id3), name: this.form.name3, remain: this.form.value3 },
|
|
|
+ { id: Number(this.form.id4), name: this.form.name4, remain: this.form.value4 }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ api.UpdateOrder(params).then(() => {
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message: '上酒成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ this.resetForm()
|
|
|
+ this.getWorkerOrder()
|
|
|
+ }).catch(msg => {
|
|
|
+ this.$notify({
|
|
|
+ title: '失败',
|
|
|
+ message: msg,
|
|
|
+ type: 'error',
|
|
|
+ duration: 0
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-
|
|
|
+.flex_grid {
|
|
|
+ box-sizing: border-box;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ width: 100%;
|
|
|
+ padding: 0 20px;
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ grid-template-rows: repeat(4, 1fr);
|
|
|
+ grid-column-gap: 0px;
|
|
|
+ grid-row-gap: 0px;
|
|
|
+ line-height: 30px;
|
|
|
+ text-align: left;
|
|
|
+}
|
|
|
+.green {
|
|
|
+ color: #2ac06d;
|
|
|
+}
|
|
|
+.red {
|
|
|
+ color: red;
|
|
|
+}
|
|
|
+.grid {
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ width: 100%;
|
|
|
+ height: 60px;
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(5, 1fr);
|
|
|
+ grid-template-rows: repeat(2, 1fr);
|
|
|
+ grid-column-gap: 0px;
|
|
|
+ grid-row-gap: 0px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 30px;
|
|
|
+}
|
|
|
</style>
|