This commit is contained in:
YeMingfei666 2024-10-21 09:34:21 +08:00
commit c86a85473b
13 changed files with 77 additions and 57 deletions

View File

@ -154,17 +154,6 @@ export function deletetbProskuCon(data) {
data data
}); });
} }
/**
* 查询耗材流水信息
* @returns
*/
export function gettbConsInfoFlow(data) {
return request({
url: "/api/viewConInfoFlow/get",
method: "post",
data
});
}
/** /**

View File

@ -1,8 +1,10 @@
<template> <template>
<el-breadcrumb class="app-breadcrumb" separator="/"> <el-breadcrumb class="app-breadcrumb" separator="/">
<transition-group name="breadcrumb"> <transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path"> <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path">
<span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span> <span v-if="item.redirect === 'noredirect' || index == levelList.length - 1" class="no-redirect">{{
item.meta.title
}}</span>
<a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
</el-breadcrumb-item> </el-breadcrumb-item>
</transition-group> </transition-group>
@ -37,7 +39,7 @@ export default {
const first = matched[0] const first = matched[0]
if (!this.isDashboard(first)) { if (!this.isDashboard(first)) {
matched = [{ path: '/data_statistics', meta: { title: '首页' }}].concat(matched) matched = [{ path: '/', meta: { title: '首页' } }].concat(matched)
} }
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
@ -73,6 +75,7 @@ export default {
font-size: 14px; font-size: 14px;
line-height: 50px; line-height: 50px;
margin-left: 8px; margin-left: 8px;
.no-redirect { .no-redirect {
color: #97a8be; color: #97a8be;
cursor: text; cursor: text;

View File

@ -49,6 +49,7 @@
<el-radio label="1">部分分类</el-radio> <el-radio label="1">部分分类</el-radio>
<!-- <el-radio label="2">部分商品</el-radio> --> <!-- <el-radio label="2">部分商品</el-radio> -->
</el-radio-group> </el-radio-group>
<div style="color: rgb(255, 77, 79);margin-left: 80px;">仅打印制作单[厨房]</div>
<div v-if="forms.classifyPrint == 1" style="margin-left:70px"> <div v-if="forms.classifyPrint == 1" style="margin-left:70px">
<!-- <el-tree :data="partList" show-checkbox node-key="id" ref="tree" :default-checked-keys="this.forms.categoryIds" <!-- <el-tree :data="partList" show-checkbox node-key="id" ref="tree" :default-checked-keys="this.forms.categoryIds"
:props="{ children: 'childrenList', label: 'name' }"> :props="{ children: 'childrenList', label: 'name' }">
@ -115,9 +116,15 @@ export default {
return { return {
forms: { forms: {
sort: "0", sort: "0",
status: "0", status: 1,
connectionType: "network", printType: [], connectionType: "network",
selectcheckbox: [] selectcheckbox: [],
receiptSize: '58mm',
classifyPrint: '0',
printQty: 'm1^1',
printType: ["refund", 'handover', 'queue'],
printMethod: "all",
}, },
partList: [] partList: []
} }

View File

@ -91,7 +91,7 @@
<div class="line_item"> <div class="line_item">
<div class="line_item_top"> <div class="line_item_top">
<div>销售金额</div> <div>销售金额</div>
<div class="t">{{ formatDecimal(tradeSale.totalSaleAmount || 0) }}</div> <!-- <div class="t">{{ formatDecimal(tradeSale.totalSaleAmount || 0) }}</div> -->
</div> </div>
<div class="line_gropress"> <div class="line_gropress">
<div class="gropress l" <div class="gropress l"
@ -112,7 +112,7 @@
<div class="line_item"> <div class="line_item">
<div class="line_item_top"> <div class="line_item_top">
<div>充值金额</div> <div>充值金额</div>
<div class="t">{{ formatDecimal(tradeSale.totalVipAmount || 0) }}</div> <!-- <div class="t">{{ formatDecimal(tradeSale.totalVipAmount || 0) }}</div> -->
</div> </div>
<div class="line_gropress"> <div class="line_gropress">
<div class="gropress l" <div class="gropress l"
@ -1118,7 +1118,6 @@ export default {
width: 200px; width: 200px;
color: #333; color: #333;
display: flex; display: flex;
justify-content: space-between;
&:not(:first-child) { &:not(:first-child) {
margin-top: 20px; margin-top: 20px;
@ -1251,6 +1250,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
color: #333; color: #333;
font-size: 14px;
.icon { .icon {
font-size: 12px; font-size: 12px;

View File

@ -133,10 +133,13 @@ export default {
this.form.lpNum = this.profitNumber this.form.lpNum = this.profitNumber
this.form.balance = this.form.stockNumber this.form.balance = this.form.stockNumber
this.loading = true this.loading = true
this.form.conInfoId = this.form.id
delete this.form['id'];
console.log(this.form)
let res = await tbConCheck(this.form) let res = await tbConCheck(this.form)
console.log(this.form); console.log(this.form);
this.$emit('success', res) this.$emit('success', res)
// this.dialogVisible = false this.dialogVisible = false
this.loading = false this.loading = false
this.$notify({ this.$notify({
title: '注意', title: '注意',
@ -153,7 +156,7 @@ export default {
}, },
async show(obj) { async show(obj) {
let res = await hasPermission('允许耗材盘点'); let res = await hasPermission('允许耗材盘点');
if ( !res) { return; } if (!res) { return; }
this.form.remark = '' this.form.remark = ''
this.form.stocktakinNum = 0 this.form.stocktakinNum = 0
this.form.lpNum = 0 this.form.lpNum = 0
@ -162,11 +165,10 @@ export default {
this.form = Object.assign(this.form, obj) this.form = Object.assign(this.form, obj)
this.dialogVisible = true this.dialogVisible = true
this.form.conInfoId = obj.consId this.form.conInfoId = obj.consId
this.form.stockNumber = obj.balance * 1 this.form.stockNumber = obj.stockNumber
this.form.balance = obj.stockNumber
this.form.price == null ? 0 : this.form.price this.form.price == null ? 0 : this.form.price
this.searhForm.productId = obj.id
this.searhForm.skuId = obj.productId
this.searhForm.productId = obj.consId
this.getTableData() this.getTableData()
}, },
// //
@ -184,6 +186,7 @@ export default {
try { try {
this.tableData.loading = true this.tableData.loading = true
const res = await tbConCheckGet({ const res = await tbConCheckGet({
page: this.tableData.page, page: this.tableData.page,
size: this.tableData.size, size: this.tableData.size,
conInfoId: this.searhForm.productId, conInfoId: this.searhForm.productId,

View File

@ -76,7 +76,7 @@
</template> </template>
<script> <script>
import { gettbConsInfoFlow } from "@/api/consumable"; import { gettbConsInfo } from "@/api/consumable";
import orderDetail from "@/views/order_manage/components/orderDetail"; import orderDetail from "@/views/order_manage/components/orderDetail";
export default { export default {
components:{ components:{
@ -144,7 +144,7 @@ export default {
async getTableData() { async getTableData() {
try { try {
this.clickseetableData.loading = true; this.clickseetableData.loading = true;
const res = await gettbConsInfoFlow({ const res = await gettbConsInfo({
page: this.clickseetableData.page, page: this.clickseetableData.page,
size: this.clickseetableData.size, size: this.clickseetableData.size,
...this.query, ...this.query,

View File

@ -96,7 +96,7 @@
</template> </template>
<script> <script>
import { gettbConsInfoFlow, gettbConsInfo } from "@/api/consumable"; import { gettbConsInfo } from "@/api/consumable";
export default { export default {
data() { data() {
return { return {
@ -139,7 +139,7 @@ export default {
async getGroupConInfoFlow(row) { async getGroupConInfoFlow(row) {
try { try {
row.loading = true; row.loading = true;
const res = await gettbConsInfoFlow({ const res = await gettbConsInfo({
page: row.page, page: row.page,
size: row.size, size: row.size,
consId: row.consId, consId: row.consId,
@ -157,7 +157,7 @@ export default {
total: res.totalElements, total: res.totalElements,
}); });
} }
// const res = await gettbConsInfoFlow({ // const res = await gettbConsInfo({
// page: this.clickseetableData.page, // page: this.clickseetableData.page,
// size: this.clickseetableData.size, // size: this.clickseetableData.size,
// consId: "", // consId: "",
@ -213,7 +213,7 @@ export default {
conName: this.query.conName, conName: this.query.conName,
shopId: localStorage.getItem("shopId"), shopId: localStorage.getItem("shopId"),
}); });
// const res = await gettbConsInfoFlow({ // const res = await gettbConsInfo({
// page: this.clickseetableData.page, // page: this.clickseetableData.page,
// size: this.clickseetableData.size, // size: this.clickseetableData.size,
// consId: "", // consId: "",

View File

@ -81,7 +81,7 @@
</template> </template>
<script> <script>
import { gettbConsInfoFlow, gettbConsInfo } from "@/api/consumable"; import { gettbConsInfo } from "@/api/consumable";
import consRecordDetail from "../components/cons_record_detail"; import consRecordDetail from "../components/cons_record_detail";
export default { export default {

View File

@ -38,7 +38,6 @@
<el-button type="primary" icon="el-icon-plus" @click="clickdialogframe('add')">添加</el-button> <el-button type="primary" icon="el-icon-plus" @click="clickdialogframe('add')">添加</el-button>
<el-button @click="routerGo('operation_in')">入库</el-button> <el-button @click="routerGo('operation_in')">入库</el-button>
<el-button @click="routerGo('operation_out')">出库</el-button> <el-button @click="routerGo('operation_out')">出库</el-button>
<el-button @click="$router.push({ name: 'cons_record' })">耗材记录</el-button>
<el-button @click="$router.push({ name: 'type' })">分类管理</el-button> <el-button @click="$router.push({ name: 'type' })">分类管理</el-button>
<el-button @click="$router.push({ name: 'supplier_manage' })">供应商管理</el-button> <el-button @click="$router.push({ name: 'supplier_manage' })">供应商管理</el-button>
<el-button icon="el-icon-download" :loading="downloadLoading" @click="protHandle">导出耗材</el-button> <el-button icon="el-icon-download" :loading="downloadLoading" @click="protHandle">导出耗材</el-button>
@ -264,8 +263,8 @@
<i class="el-icon-caret-bottom el-icon--right"></i> <i class="el-icon-caret-bottom el-icon--right"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item class="clearfix" v-for="(item) in scope.row.product" :key="item.productId" <el-dropdown-item class="clearfix" v-for="(item) in scope.row.product" :key="item.id"
:command="item.productId"> :command="item.id">
{{ item.name }} {{ item.name }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
@ -581,7 +580,6 @@ import {
gettbConsType, gettbConsType,
gettbConsInfo, gettbConsInfo,
posttbConsInfo, posttbConsInfo,
gettbConsInfoFlow,
posttbConsInfostockIn, posttbConsInfostockIn,
postapitbConsInfo, postapitbConsInfo,
tbConsInfoFlowcount, tbConsInfoFlowcount,
@ -820,7 +818,7 @@ export default {
// //
async showChange(e, row) { async showChange(e, row) {
await postapitbConsInfo([{ await postapitbConsInfo([{
id: row.consId, id: row.id,
"isCheck": row.isCheck, "isCheck": row.isCheck,
shopId: localStorage.getItem('shopId') shopId: localStorage.getItem('shopId')
}]) }])
@ -845,7 +843,7 @@ export default {
this.ruleForm[key] = row[key]; this.ruleForm[key] = row[key];
} }
console.log(row, '调试1') console.log(row, '调试1')
this.ruleForm.id = row.consId; this.ruleForm.id = row.id;
this.dialogshow = true; this.dialogshow = true;
}, },
// //
@ -1146,7 +1144,7 @@ export default {
async getConsRecord() { async getConsRecord() {
try { try {
this.clickseetableData.loading = true; this.clickseetableData.loading = true;
const res = await gettbConsInfoFlow({ const res = await gettbConsInfo({
page: this.clickseetableData.page, page: this.clickseetableData.page,
size: this.clickseetableData.size, size: this.clickseetableData.size,
// consId: this.consRecordItem.consId, // consId: this.consRecordItem.consId,

View File

@ -382,15 +382,15 @@ export default {
}, },
// //
tabChange(value, type) { tabChange(value, type) {
console.log(value,type) console.log(value, type)
this.shopTypesActive = type == 'in' ? 0 : 1 this.shopTypesActive = type == 'in' ? 0 : 1
this.inTabValue = value this.inTabValue = value
this.resetHandle() this.resetHandle()
this.$refs.shopList.reset()// this.$refs.shopList.reset()//
this.$refs.ConsumableList.reset()// this.$refs.ConsumableList.reset()//
}, },
// //
changeTypeEnum(index) { changeTypeEnum(index) {
this.inTabs.forEach((i) => { this.inTabs.forEach((i) => {
if (i.value == this.inTabValue) { if (i.value == this.inTabValue) {
this.queryForm.type = i.type this.queryForm.type = i.type
@ -487,9 +487,14 @@ export default {
break; break;
} }
this.queryFormLoading = false this.queryFormLoading = false
this.showResult = true this.$message({
this.$refs.shopList.reset()// message: '入库提交成功',
this.$refs.ConsumableList.reset()// type: 'success'
})
this.resetHandle()//
// this.showResult = true
// this.$refs.shopList.reset()//
// this.$refs.ConsumableList.reset()//
} catch (error) { } catch (error) {
console.log(error) console.log(error)
this.queryFormLoading = false this.queryFormLoading = false
@ -522,7 +527,7 @@ export default {
this.$refs.queryForm.resetFields() this.$refs.queryForm.resetFields()
this.$refs.queryForm.resetFields() this.$refs.queryForm.resetFields()
}, },
// //
async tbShopPurveyorGet() { async tbShopPurveyorGet() {
try { try {

View File

@ -450,9 +450,14 @@ export default {
break; break;
} }
this.queryFormLoading = false this.queryFormLoading = false
this.showResult = true this.$message({
this.$refs.shopList.clearSelection()// message: '出库提交成功',
this.$refs.ConsumableList.clearSelection()// type: 'success'
})
this.resetHandle()//
// this.showResult = true
// this.$refs.shopList.clearSelection()//
// this.$refs.ConsumableList.clearSelection()//
} catch (error) { } catch (error) {
console.log(error) console.log(error)
this.queryFormLoading = false this.queryFormLoading = false

View File

@ -56,7 +56,8 @@
<div v-if="profilepicturedata.state == 1" style="color: #52C41A;font-size: 16px;margin-top: 17px;"> <div v-if="profilepicturedata.state == 1" style="color: #52C41A;font-size: 16px;margin-top: 17px;">
已发送至用户<i class="el-icon-circle-check" style="color: #52C41A;"></i> 已发送至用户<i class="el-icon-circle-check" style="color: #52C41A;"></i>
</div> </div>
<div v-else style="color:#FF4D4F;font-size: 16px;margin-top: 17px;">用户未订阅消息 <i style="color: #FF4D4F;" class="el-icon-circle-close"></i></div> <div v-else style="color:#FF4D4F;font-size: 16px;margin-top: 17px;">用户未订阅消息 <i style="color: #FF4D4F;"
class="el-icon-circle-close"></i></div>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button style="width: 176px; <el-button style="width: 176px;
@ -77,7 +78,8 @@ border: 1px solid rgba(255,255,255,0.28);" @click="dialogConfirm(3)">过号</el-
<el-dialog title="取号" :visible.sync="dialogVisibles" width="30%"> <el-dialog title="取号" :visible.sync="dialogVisibles" width="30%">
<div> <div>
<div style="color: #000;">选择桌型</div> <div style="color: #000;">选择桌型</div>
<ul class="lineUpBoxUl" style="margin-top: 10px;"> <ul class="lineUpBoxUl" :class="[tableData.records.length > 2 ? 'dfs' : 'dfas']"
style="margin-top: 10px;">
<li v-for="item in tableData.records" :key="item.id" @click="selectTabletype = item" <li v-for="item in tableData.records" :key="item.id" @click="selectTabletype = item"
:class="[[selectTabletype.id == item.id ? 'active' : '']]"> :class="[[selectTabletype.id == item.id ? 'active' : '']]">
<div>{{ item.name }}</div> <div>{{ item.name }}</div>
@ -341,7 +343,6 @@ li {
.lineUpBoxList { .lineUpBoxList {
width: 507px; width: 507px;
// flex: 0 0 50%;
height: 148px; height: 148px;
background: #FFFFFF; background: #FFFFFF;
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
@ -376,7 +377,6 @@ li {
>button:first-child { >button:first-child {
background: #FFFFFF; background: #FFFFFF;
font-family: Source Han Sans CN, Source Han Sans CN; font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
@ -388,6 +388,16 @@ li {
} }
.dfs {
justify-content: space-between;
}
.dfas {
>li {
margin-right: 52px;
}
}
.lineUpBoxUl { .lineUpBoxUl {
display: flex; display: flex;
align-items: center; align-items: center;
@ -399,7 +409,6 @@ li {
width: 112px; width: 112px;
height: 55px; height: 55px;
text-align: center; text-align: center;
margin-right: 52px;
position: relative; position: relative;
>div { >div {

View File

@ -15,7 +15,8 @@
<el-table-column label="手机号" prop="phone"> </el-table-column> <el-table-column label="手机号" prop="phone"> </el-table-column>
<el-table-column label="状态"> <el-table-column label="状态">
<template v-slot="scope"> <template v-slot="scope">
<span>{{ scope.row.state | stateFilter }}</span> <span style="font-weight: 400;font-size: 14px;"
:style="{ color: scope.row.state == 2 ? '#3F9EFF' : '' }">{{ scope.row.state | stateFilter }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="时间" prop="callTime"> </el-table-column> <el-table-column label="时间" prop="callTime"> </el-table-column>
@ -104,7 +105,7 @@ export default {
&:hover { &:hover {
cursor: grab; cursor: grab;
} }
} }
.shop_info { .shop_info {