Merge branch 'wwz' of gitee.com:shaanxi-super-shopkeeper_1/cashierdesktop into gyq
This commit is contained in:
commit
7dc27dbeef
|
|
@ -25,3 +25,16 @@ export function shopinfoqueryDutyFlow(params) {
|
|||
params
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 登出
|
||||
|
||||
* @param {*} params
|
||||
* @returns
|
||||
*/
|
||||
export function loginlogout(params) {
|
||||
return request({
|
||||
method: "post",
|
||||
url: "login/logout",
|
||||
params
|
||||
});
|
||||
}
|
||||
|
|
@ -13,19 +13,23 @@
|
|||
</el-icon>
|
||||
<el-text class="text">{{ item.label }}</el-text>
|
||||
</router-link>
|
||||
<div class="item more">
|
||||
<div class="item more" @click="moreref.show()">
|
||||
<el-icon class="icon">
|
||||
<Operation />
|
||||
</el-icon>
|
||||
<el-text class="text">更多</el-text>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 更多 -->
|
||||
<more ref="moreref"></more>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import more from '@/components/more.vue'
|
||||
const route = useRoute()
|
||||
const moreref = ref(null)
|
||||
console.log(route.path)
|
||||
const menus = ref([
|
||||
{
|
||||
|
|
@ -62,6 +66,83 @@ const menus = ref([
|
|||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.drawerbox {
|
||||
:deep(.el-drawer__body) {
|
||||
background: #1c1d1f !important;
|
||||
}
|
||||
|
||||
.drawerbox_box {
|
||||
color: #fff;
|
||||
|
||||
.drawerbox_bo_top {
|
||||
padding: 20px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #ccc;
|
||||
|
||||
.drawerbox_bo_top_left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.drawerbox_bo_top_ring {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.drawerbox_bo_top_ring_tb {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
padding: 6px 10px;
|
||||
|
||||
span {
|
||||
width: 80px;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.drawerbox_bo_box {
|
||||
width: 100%;
|
||||
|
||||
.drawerbox_bo_box_itemb_felx {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
|
||||
.drawerbox_bo_box_itembox:nth-child(1) {
|
||||
margin-left: 0px;
|
||||
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_itembox {
|
||||
width: 20%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-left: 40px;
|
||||
|
||||
.drawerbox_bo_box_icon {
|
||||
border-radius: 6px;
|
||||
background: #2196f3;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_icontext {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.left_menu_wrap {
|
||||
height: 100vh;
|
||||
width: 60px;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,182 @@
|
|||
<template>
|
||||
<div class="drawerbox">
|
||||
<el-drawer size="50%" :with-header="false" direction="rtl" v-model="dialogVisible" style="padding: 0;">
|
||||
<div class="drawerbox_box">
|
||||
<div class="drawerbox_bo_top">
|
||||
<div class="drawerbox_bo_top_left">
|
||||
<div class="drawerbox_bo_top_left_one">
|
||||
{{ store.userInfo.loginName }}
|
||||
</div>
|
||||
<div class="drawerbox_bo_top_left_tow" style="margin-top: 10px;">
|
||||
收银员:{{ store.userInfo.userCode }} <span style="color: #666;">登录:{{
|
||||
store.userInfo.loginTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="drawerbox_bo_top_ring">
|
||||
<div class="drawerbox_bo_top_ring_tb">
|
||||
<el-icon style="margin: 0 auto;" size="20">
|
||||
<FolderAdd />
|
||||
</el-icon>
|
||||
<span>修改密码</span>
|
||||
</div>
|
||||
<div class="drawerbox_bo_top_ring_tb" style="margin-left: 10px;">
|
||||
<el-icon style="margin: 0 auto;" size="20">
|
||||
<CopyDocument />
|
||||
</el-icon>
|
||||
<span>最小化</span>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="drawerbox_bo_box">
|
||||
<div style="padding:10px;color: #999; font-weight:bold;">系统</div>
|
||||
<div class="drawerbox_bo_box_itemb_felx">
|
||||
<div class="drawerbox_bo_box_itembox">
|
||||
<div class="drawerbox_bo_box_icon">
|
||||
<el-icon size="40" style="margin:30px;">
|
||||
<Setting />
|
||||
</el-icon>
|
||||
</div>
|
||||
<div class="drawerbox_bo_box_icontext">
|
||||
设置
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="drawerbox_bo_box_itembox" @click="screenref.show()">
|
||||
<div class="drawerbox_bo_box_icon">
|
||||
<el-icon size="40" style="margin:30px;">
|
||||
<Setting />
|
||||
</el-icon>
|
||||
</div>
|
||||
<div class="drawerbox_bo_box_icontext">
|
||||
锁屏
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="boxabsolute">
|
||||
<div>
|
||||
银收客-餐饮版20-1
|
||||
</div>
|
||||
<div>
|
||||
有效期
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
<!-- <screen ref="screenref"></screen> -->
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useUser } from "@/store/user.js"
|
||||
|
||||
const store = useUser()
|
||||
const screenref = ref(null)
|
||||
|
||||
const dialogVisible = ref(false)
|
||||
|
||||
function show() {
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
show
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.drawerbox {
|
||||
:deep(.el-drawer__body) {
|
||||
background: #1c1d1f !important;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.boxabsolute {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
bottom: 20px;
|
||||
|
||||
div {
|
||||
color: #8c9196;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div:nth-child(2) {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.drawerbox_box {
|
||||
color: #fff;
|
||||
|
||||
.drawerbox_bo_top {
|
||||
padding: 20px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #ccc;
|
||||
|
||||
.drawerbox_bo_top_left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.drawerbox_bo_top_ring {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.drawerbox_bo_top_ring_tb {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
padding: 6px 10px;
|
||||
|
||||
span {
|
||||
width: 80px;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.drawerbox_bo_box {
|
||||
width: 100%;
|
||||
|
||||
.drawerbox_bo_box_itemb_felx {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
|
||||
.drawerbox_bo_box_itembox:nth-child(1) {
|
||||
margin-left: 0px;
|
||||
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_itembox {
|
||||
width: 20%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-left: 40px;
|
||||
|
||||
.drawerbox_bo_box_icon {
|
||||
border-radius: 6px;
|
||||
background: #2196f3;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_icontext {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
<template>
|
||||
<div class="drawerbox">
|
||||
<el-drawer size="50%" :with-header="false" direction="rtl" v-model="dialogVisible" style="padding: 0;">
|
||||
<div class="drawerbox_box">
|
||||
111
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useUser } from "@/store/user.js"
|
||||
|
||||
const store = useUser()
|
||||
|
||||
|
||||
const dialogVisible = ref(false)
|
||||
|
||||
function show() {
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
show
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.drawerbox {
|
||||
:deep(.el-drawer__body) {
|
||||
background: #1c1d1f !important;
|
||||
}
|
||||
|
||||
.drawerbox_box {
|
||||
color: #fff;
|
||||
|
||||
.drawerbox_bo_top {
|
||||
padding: 20px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #ccc;
|
||||
|
||||
.drawerbox_bo_top_left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.drawerbox_bo_top_ring {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.drawerbox_bo_top_ring_tb {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
padding: 6px 10px;
|
||||
|
||||
span {
|
||||
width: 80px;
|
||||
margin-top: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.drawerbox_bo_box {
|
||||
width: 100%;
|
||||
|
||||
.drawerbox_bo_box_itemb_felx {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
|
||||
.drawerbox_bo_box_itembox:nth-child(1) {
|
||||
margin-left: 0px;
|
||||
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_itembox {
|
||||
width: 20%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-left: 40px;
|
||||
|
||||
.drawerbox_bo_box_icon {
|
||||
border-radius: 6px;
|
||||
background: #2196f3;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.drawerbox_bo_box_icontext {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -13,11 +13,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="demo_tabs_boxitem_onetow">
|
||||
<div>
|
||||
<span style="font-size: var(--el-font-size-base);" v-for="item1 in item.names" :key="item1">{{
|
||||
item1 }}</span>
|
||||
</div>
|
||||
<span style="font-size: 16px; color: #757575;">{{ item.orderNo }}</span>
|
||||
<div style="width: 80%;">{{item.names && item.names.join(',') }}</div>
|
||||
<div style="font-size: 16px; color: #757575;">{{ item.orderNo }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="demo_tabs_boxitem_tow">
|
||||
|
|
@ -69,6 +66,7 @@ const clickitemboxshow = (e) => {
|
|||
.demo_tabs_boxitem_one {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
flex-shrink: 0;
|
||||
|
||||
.demo_tabs_boxitem_oneone {
|
||||
display: flex;
|
||||
|
|
@ -79,25 +77,14 @@ const clickitemboxshow = (e) => {
|
|||
}
|
||||
|
||||
.demo_tabs_boxitem_onetow {
|
||||
width: 40%;
|
||||
display: flex;
|
||||
flex: 1;
|
||||
margin-left: 20px;
|
||||
flex-direction: column;
|
||||
height: 70px;
|
||||
justify-content: space-around;
|
||||
|
||||
div {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.demo_tabs_boxitem_tow {
|
||||
width: 20%;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 70px;
|
||||
|
|
|
|||
|
|
@ -428,7 +428,6 @@ onMounted(() => {
|
|||
.demo_tabs_boxitem_one {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
|
||||
.demo_tabs_boxitem_oneone {
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
|
|
@ -438,7 +437,7 @@ onMounted(() => {
|
|||
}
|
||||
|
||||
.demo_tabs_boxitem_onetow {
|
||||
width: 40%;
|
||||
// width: 40%;
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
flex-direction: column;
|
||||
|
|
@ -446,7 +445,7 @@ onMounted(() => {
|
|||
justify-content: space-around;
|
||||
|
||||
div {
|
||||
width: 100%;
|
||||
// width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
|
|
@ -456,7 +455,7 @@ onMounted(() => {
|
|||
}
|
||||
|
||||
.demo_tabs_boxitem_tow {
|
||||
width: 20%;
|
||||
// width: 20%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 70px;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,11 @@
|
|||
<el-drawer size="100%" :with-header="false" direction="btt" v-model="dialogVisible">
|
||||
<div class="box">
|
||||
<div class="box_top">
|
||||
<router-link to="/">
|
||||
<div class="box_top_left">
|
||||
<router-link to="/" class="box_top_left">
|
||||
<el-icon size="20">
|
||||
<ArrowLeft />
|
||||
</el-icon>
|
||||
<div style="margin-left: 10px;"> 交班</div>
|
||||
</div>
|
||||
<div style="margin-left: 10px;">返回</div>
|
||||
</router-link>
|
||||
<router-link to='/workrecord' class="box_top_right">
|
||||
交班记录
|
||||
|
|
@ -110,9 +108,11 @@
|
|||
{{ infoData.userName }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box_content_right_tiembutton">
|
||||
关班/退出
|
||||
<div class="box_content_right_tiembutton" :loading="loading" @click="exit">
|
||||
<span v-if="!loading">交班/关班</span>
|
||||
<span v-else>交班/关班中....</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -124,19 +124,46 @@
|
|||
import { ref, onMounted } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { ElMessage, dayjs } from 'element-plus'
|
||||
import { shopInfoqueryDuty } from '@/api/work/index.js'
|
||||
import { shopInfoqueryDuty, loginlogout } from '@/api/work/index.js'
|
||||
import useStorage from '@/utils/useStorage'
|
||||
import { useRouter } from "vue-router";
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const dialogVisible = ref(true) //交班
|
||||
//详情数据
|
||||
const infoData = ref({})
|
||||
const loading = ref(false);
|
||||
|
||||
const exit = async () => {
|
||||
try {
|
||||
loading.value = true;
|
||||
let res = await loginlogout({
|
||||
status:1
|
||||
})
|
||||
useStorage.clear()
|
||||
ElMessage.success("交班成功");
|
||||
setTimeout(() => {
|
||||
router.replace({
|
||||
name: "login",
|
||||
});
|
||||
}, 1000);
|
||||
loading.value = false;
|
||||
} catch (error) {
|
||||
loading.value = false;
|
||||
}
|
||||
}
|
||||
const infoshopInfoqueryDutys = async () => {
|
||||
let res = await shopInfoqueryDuty({
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
infoData.value = res
|
||||
console.log(res)
|
||||
try {
|
||||
let res = await shopInfoqueryDuty({
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
})
|
||||
infoData.value = res
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
onMounted(() => {
|
||||
infoshopInfoqueryDutys()
|
||||
|
|
@ -163,6 +190,8 @@ onMounted(() => {
|
|||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
color: #161718;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.box_top_right {
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
<el-drawer size="100%" :with-header="false" direction="btt" v-model="record">
|
||||
<div class="box">
|
||||
<div class="box_top" @click="clickrecord">
|
||||
<div class="box_top_left">
|
||||
<router-link to='/work' class="box_top_left">
|
||||
<el-icon size="20">
|
||||
<ArrowLeft />
|
||||
</el-icon>
|
||||
<router-link to='/work' class="box_top_right">
|
||||
<div class="box_top_right">
|
||||
交班记录
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="box_content">
|
||||
<div class="box_content_left">
|
||||
|
|
@ -160,12 +160,14 @@ onMounted(() => {
|
|||
background: #fff;
|
||||
padding: 6px 10px;
|
||||
border-radius: 6px;
|
||||
|
||||
/* 取消下划线效果 */
|
||||
|
||||
.box_top_left {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
/* 取消下划线效果 */
|
||||
}
|
||||
|
||||
.box_top_right {
|
||||
|
|
@ -214,17 +216,18 @@ onMounted(() => {
|
|||
width: 100%;
|
||||
height: 80%;
|
||||
padding: 0 20px;
|
||||
|
||||
.box_content_left_bouttomox::after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
}
|
||||
.box_content_left_bouttomox {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
.box_content_left_bouttom_item::after {
|
||||
content: '';
|
||||
width: 32%;
|
||||
}
|
||||
.box_content_left_bouttom_item {
|
||||
|
||||
.box_content_left_bouttom_item {
|
||||
margin-top: 10px;
|
||||
width: 32%;
|
||||
background: #eeeeee;
|
||||
|
|
|
|||
Loading…
Reference in New Issue