将耗材记录加入到耗材列表里

This commit is contained in:
duan
2024-08-14 16:02:52 +08:00
parent 1e52030f5e
commit 3b7dbe50a2
6 changed files with 240 additions and 337 deletions

View File

@@ -39,12 +39,19 @@ export function puttbConsType(data) {
* @returns * @returns
*/ */
export function gettbConsInfo(params) { export function gettbConsInfo(params) {
// return request({
// url: '/api/tbConsInfo',
// method: "get",
// params
// });
return request({ return request({
url: '/api/tbConsInfo', url: "/api/viewConInfoFlow",
method: "get", method: "get",
params params
}); });
} }
/** /**
* 耗材入库 * 耗材入库
* @returns * @returns

View File

@@ -13,99 +13,43 @@
@keyup.enter.native="getTableData" @keyup.enter.native="getTableData"
/> --> /> -->
<div style="width: 150px"> <div style="width: 150px">
<el-select <el-select v-model="query.conTypeId" placeholder="请选择耗材分类" style="width: 100%">
v-model="query.conTypeId" <el-option :label="item.conTypeName" :value="item.id" v-for="item in consTypeList"
placeholder="请选择耗材分类" :key="item.conTypeId" />
style="width: 100%"
>
<el-option
:label="item.conTypeName"
:value="item.id"
v-for="item in consTypeList"
:key="item.conTypeId"
/>
</el-select> </el-select>
</div> </div>
<el-input <el-input v-model="query.conTypeName" size="small" clearable placeholder="请输入类型名称" style="width: 150px"
v-model="query.conTypeName" @keyup.enter.native="getTableData" />
size="small" <el-input v-model="query.conCode" size="small" clearable placeholder="请输入耗材代码" style="width: 150px"
clearable @keyup.enter.native="getTableData" />
placeholder="请输入类型名称" <el-input v-model="query.conName" size="small" clearable placeholder="请输入耗材名称" style="width: 150px"
style="width: 150px" @keyup.enter.native="getTableData" />
@keyup.enter.native="getTableData"
/>
<el-input
v-model="query.conCode"
size="small"
clearable
placeholder="请输入耗材代码"
style="width: 150px"
@keyup.enter.native="getTableData"
/>
<el-input
v-model="query.conName"
size="small"
clearable
placeholder="请输入耗材名称"
style="width: 150px"
@keyup.enter.native="getTableData"
/>
<div style="width: 150px"> <div style="width: 150px">
<el-select <el-select v-model="query.status" placeholder="请选择商品规格" style="width: 100%">
v-model="query.status" <el-option :label="item.label" :value="item.value" v-for="item in typeEnums" :key="item.label" />
placeholder="请选择商品规格"
style="width: 100%"
>
<el-option
:label="item.label"
:value="item.value"
v-for="item in typeEnums"
:key="item.label"
/>
</el-select> </el-select>
</div> </div>
<el-button type="primary" @click="getTableData">查询</el-button> <el-button type="primary" @click="getTableData">查询</el-button>
<el-button @click="resetHandle">重置</el-button> <el-button @click="resetHandle">重置</el-button>
</div> </div>
<div class="row"> <div class="row">
<el-button <el-button icon="el-icon-download" :loading="downloadLoading" @click="protHandle">导出耗材</el-button>
icon="el-icon-download" <el-button icon="el-icon-upload2" :loading="uploadLoading" @click="dialogVisible = true">导入耗材</el-button>
:loading="downloadLoading"
@click="protHandle"
>导出耗材</el-button
>
<el-button
icon="el-icon-upload2"
:loading="uploadLoading"
@click="dialogVisible = true"
>导入耗材</el-button
>
</div> </div>
</div> </div>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-row> <el-row>
<el-col> <el-col>
<el-button <el-button type="primary" icon="el-icon-plus" @click="clickdialogframe('add')">添加</el-button>
type="primary"
icon="el-icon-plus"
@click="clickdialogframe('add')"
>添加</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<div class="head-container" id="table_drag"> <div class="head-container" id="table_drag">
<el-table <el-table ref="table" :data="tableData.data" v-loading="tableData.loading" row-key="id">
ref="table" <!-- <el-table-column prop="id" label="ID" width="50px" /> -->
:data="tableData.data"
v-loading="tableData.loading"
row-key="id"
>
<el-table-column prop="id" label="ID" width="50px" />
<el-table-column label="耗材名称" prop="conName" /> <el-table-column label="耗材名称" prop="conName" />
<el-table-column label="耗材代码" prop="conCode" /> <el-table-column label="耗材代码" prop="conCode" />
<!-- <el-table-column label="类型id" prop="conTypeId" /> -->
<el-table-column label="分类名称" prop="conTypeName" /> <el-table-column label="分类名称" prop="conTypeName" />
<el-table-column label="单位" prop="conUnit" /> <el-table-column label="单位" prop="conUnit" />
<el-table-column label="创建时间" prop="createTime" width="200"> <el-table-column label="创建时间" prop="createTime" width="200">
@@ -113,10 +57,42 @@
{{ dayjs(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") }} {{ dayjs(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="现有库存">
<template v-slot="scope">
<span :class="[computedClass(scope.row.balance)]"> {{ scope.row.balance }}</span>
</template>
</el-table-column>
<el-table-column label="耗材消耗" prop="conConsume" align="center" />
<el-table-column label="耗材入库" prop="conIn" align="center" />
<el-table-column label="耗材出库" prop="conOut" align="center" />
<el-table-column label="耗材反还" prop="conReturn" align="center" />
<el-table-column label="库存开关" prop="conReturn" align="center">
<template v-slot="scope">
<el-switch v-model="scope.row.isCheck" active-value="1" inactive-value="0"
@change="showChange($event, scope.row)"></el-switch>
</template>
</el-table-column>
<!-- <el-table-column label="业务编码" prop="bizCode" /> -->
<!-- <el-table-column label="业务说明" prop="bizName" /> -->
<!-- <el-table-column label="商品名称" prop="productName" /> -->
<!-- <el-table-column label="正负号标识" prop="bizType" /> -->
<!-- <el-table-column label="耗材id" prop="consId" /> -->
<!-- <el-table-column label="创建时间" prop="createTime"></el-table-column> -->
<el-table-column label="所属商品" width="320" align="center">
<template v-slot="scope">
<!-- <el-button v-for="(item) in scope.row.product" @click="toGoods(item)" :key="item.productId" type="text">{{
item.productName }}</el-button> -->
{{ scope.row.productName }}
</template>
</el-table-column>
<!-- <el-table-column label="最近入库量" prop="lasterInStock" /> --> <!-- <el-table-column label="最近入库量" prop="lasterInStock" /> -->
<el-table-column label="库存数量" prop="stockNumber"> <el-table-column label="库存数量" prop="stockNumber">
<template v-slot="scope"> <template v-slot="scope">
{{ (scope.row.stockNumber - scope.row.stockConsume).toFixed(2) }} {{ (scope.row.balance).toFixed(2) }}
<!-- {{ (scope.row.stockNumber - scope.row.stockConsume).toFixed(2) }} -->
</template> </template>
</el-table-column> </el-table-column>
@@ -128,24 +104,13 @@
{{ dayjs(scope.row.createdAt).format('YYYY-MM-DD HH:mm:ss') }} {{ dayjs(scope.row.createdAt).format('YYYY-MM-DD HH:mm:ss') }}
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column label="操作" width="180" fixed="right"> <el-table-column label="操作" width="250" fixed="right">
<template v-slot="scope"> <template v-slot="scope">
<el-button type="text" @click="editorHandle(scope.row)" <el-button type="text" @click="editorHandle(scope.row)">编辑</el-button>
>编辑</el-button <el-button type="text" @click="clicksee(scope.row)" style="margin-left: 10px !important">耗材记录</el-button>
> <el-button type="text" size="mini" style="margin-left: 10px !important"
<el-button @click="$refs.AddConsTakin.show(scope.row)">耗材盘点</el-button>
type="text" <el-button style="margin-left: 10px !important" type="text" @click="lookDetail(scope.row)">查看详情</el-button>
@click="clicksee(scope.row)"
style="margin-left: 10px !important"
>耗材记录</el-button
>
<el-button
type="text"
size="mini"
style="margin-left: 10px !important"
@click="$refs.AddConsTakin.show(scope.row)"
>耗材盘点</el-button
>
<!-- <el-button type="text" icon="el-icon-rank">排序</el-button> --> <!-- <el-button type="text" icon="el-icon-rank">排序</el-button> -->
<!-- <el-button type="text" @click="clickdialogfadd(scope.row)" <!-- <el-button type="text" @click="clickdialogfadd(scope.row)"
style="margin-left: 10px !important;">入库</el-button> --> style="margin-left: 10px !important;">入库</el-button> -->
@@ -159,44 +124,23 @@
</el-table> </el-table>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-pagination <el-pagination :total="tableData.total" :current-page="tableData.page + 1" :page-size="tableData.size"
:total="tableData.total" layout="total, sizes, prev, pager, next, jumper" @current-change="paginationChange" @size-change="(e) => {
:current-page="tableData.page + 1"
:page-size="tableData.size"
layout="total, sizes, prev, pager, next, jumper"
@current-change="paginationChange"
@size-change="
(e) => {
tableData.size = e; tableData.size = e;
tableData.page = 0; tableData.page = 0;
getTableData(); getTableData();
} }
" " />
/>
</div> </div>
<!-- 耗材入库 --> <!-- 耗材入库 -->
<el-dialog title="耗材入库" :visible.sync="libraryshow"> <el-dialog title="耗材入库" :visible.sync="libraryshow">
<el-form <el-form :inline="true" ref="reflibrary" :model="libraryshowdata" :rules="ruleslibrary" class="demo-form-inline">
:inline="true"
ref="reflibrary"
:model="libraryshowdata"
:rules="ruleslibrary"
class="demo-form-inline"
>
<el-form-item label="耗材入库数量" prop="stockNumber"> <el-form-item label="耗材入库数量" prop="stockNumber">
<el-input <el-input v-model.number="libraryshowdata.stockNumber" type="number" placeholder="请输入单位"></el-input>
v-model.number="libraryshowdata.stockNumber"
type="number"
placeholder="请输入单位"
></el-input>
</el-form-item> </el-form-item>
<el-form-item style="display: flex; justify-content: flex-end"> <el-form-item style="display: flex; justify-content: flex-end">
<el-button @click="libraryshow = false">取 消</el-button> <el-button @click="libraryshow = false">取 消</el-button>
<el-button <el-button type="primary" @click="clickdialoglibraryshow('reflibrary')">确 定</el-button>
type="primary"
@click="clickdialoglibraryshow('reflibrary')"
>确 定</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
@@ -205,33 +149,18 @@
<el-dialog :title="dialogtitle" :visible.sync="dialogshow" width="80%"> <el-dialog :title="dialogtitle" :visible.sync="dialogshow" width="80%">
<template v-if="dialogtitle != '编辑'"> <template v-if="dialogtitle != '编辑'">
<div v-for="(item, index) in ruleForms" :key="index"> <div v-for="(item, index) in ruleForms" :key="index">
<el-form <el-form :inline="true" :ref="'refruleForm' + index" :model="item" :rules="rules" class="demo-form-inline">
:inline="true"
:ref="'refruleForm'+index"
:model="item"
:rules="rules"
class="demo-form-inline"
>
<el-form-item label=" "> <el-form-item label=" ">
<i <i class="el-icon-remove-outline color-danger" @click="ruleFormsReduce(index)"></i>
class="el-icon-remove-outline color-danger"
@click="ruleFormsReduce(index)"
></i>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="conUnit"> <el-form-item label="单位" prop="conUnit">
<el-input <el-input v-model="item.conUnit" placeholder="请输入单位"></el-input>
v-model="item.conUnit"
placeholder="请输入单位"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="耗材类型" prop="conTypeId"> <el-form-item label="耗材类型" prop="conTypeId">
<el-select v-model="item.conTypeId" placeholder="请选择" @change="selectChange($event,'refruleForm'+index,'conTypeId')" > <el-select v-model="item.conTypeId" placeholder="请选择"
<el-option @change="selectChange($event, 'refruleForm' + index, 'conTypeId')">
v-for="option in consTypeList" <el-option v-for="option in consTypeList" :key="option.conTypeId" :label="option.conTypeName"
:key="option.conTypeId" :value="option.id">
:label="option.conTypeName"
:value="option.id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -252,10 +181,7 @@
> >
</el-form-item> --> </el-form-item> -->
<el-form-item label="耗材信息名称" prop="conName"> <el-form-item label="耗材信息名称" prop="conName">
<el-input <el-input v-model="item.conName" placeholder="请输入耗材信息名称"></el-input>
v-model="item.conName"
placeholder="请输入耗材信息名称"
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="耗材信息代码" prop="conCode"> <!-- <el-form-item label="耗材信息代码" prop="conCode">
<el-input <el-input
@@ -264,23 +190,14 @@
></el-input> ></el-input>
</el-form-item> --> </el-form-item> -->
<el-form-item label="耗材价格"> <el-form-item label="耗材价格">
<el-input <el-input v-model="item.price" placeholder="请输入耗材价格"></el-input>
v-model="item.price"
placeholder="请输入耗材价格"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="预警值"> <el-form-item label="预警值">
<el-input <el-input v-model="item.conWarning" placeholder="请输入耗材预警值"></el-input>
v-model="item.conWarning"
placeholder="请输入耗材预警值"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label=" "> <el-form-item label=" ">
<i <i class="el-icon-circle-plus-outline color-success" @click="ruleFormsAdd(index)"></i>
class="el-icon-circle-plus-outline color-success"
@click="ruleFormsAdd(index)"
></i>
</el-form-item> </el-form-item>
<!-- <el-form-item label="单位耗材值" prop="surplusStock"> <!-- <el-form-item label="单位耗材值" prop="surplusStock">
<el-input v-model="ruleForm.surplusStock" placeholder="请输入单位耗材值"></el-input> <el-input v-model="ruleForm.surplusStock" placeholder="请输入单位耗材值"></el-input>
@@ -297,13 +214,7 @@
</template> </template>
<template v-else> <template v-else>
<el-form <el-form :inline="true" ref="refruleForm" :model="ruleForm" :rules="rules" class="demo-form-inline">
:inline="true"
ref="refruleForm"
:model="ruleForm"
:rules="rules"
class="demo-form-inline"
>
<el-form-item label="单位" prop="conUnit"> <el-form-item label="单位" prop="conUnit">
<el-input v-model="ruleForm.conUnit" placeholder="请输入单位"></el-input> <el-input v-model="ruleForm.conUnit" placeholder="请输入单位"></el-input>
</el-form-item> </el-form-item>
@@ -333,10 +244,7 @@
> >
</el-form-item> --> </el-form-item> -->
<el-form-item label="耗材信息名称" prop="conName"> <el-form-item label="耗材信息名称" prop="conName">
<el-input <el-input v-model="ruleForm.conName" placeholder="请输入耗材信息名称"></el-input>
v-model="ruleForm.conName"
placeholder="请输入耗材信息名称"
></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="耗材信息代码" prop="conCode"> <!-- <el-form-item label="耗材信息代码" prop="conCode">
<el-input <el-input
@@ -345,23 +253,13 @@
></el-input> ></el-input>
</el-form-item> --> </el-form-item> -->
<el-form-item label="耗材价格"> <el-form-item label="耗材价格">
<el-input <el-input v-model="ruleForm.price" placeholder="请输入耗材价格"></el-input>
v-model="ruleForm.price"
placeholder="请输入耗材价格"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="预警值"> <el-form-item label="预警值">
<el-input <el-input v-model="ruleForm.conWarning" placeholder="请输入耗材预警值"></el-input>
v-model="ruleForm.conWarning"
placeholder="请输入耗材预警值"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="状态" v-if="dialogtitle == '编辑'"> <el-form-item label="状态" v-if="dialogtitle == '编辑'">
<el-switch <el-switch v-model="ruleForm.status" active-value="1" inactive-value="0"></el-switch>
v-model="ruleForm.status"
active-value="1"
inactive-value="0"
></el-switch>
</el-form-item> </el-form-item>
<!-- <el-form-item label="单位耗材值" prop="surplusStock"> <!-- <el-form-item label="单位耗材值" prop="surplusStock">
<el-input v-model="ruleForm.surplusStock" placeholder="请输入单位耗材值"></el-input> <el-input v-model="ruleForm.surplusStock" placeholder="请输入单位耗材值"></el-input>
@@ -378,47 +276,19 @@
<el-dialog title="选择类型" :visible.sync="typedialogshow"> <el-dialog title="选择类型" :visible.sync="typedialogshow">
<div class="head-container"> <div class="head-container">
<el-input <el-input v-model="querytypedialogshowquery.conTypeName" size="small" clearable placeholder="请输入耗材类型名称"
v-model="querytypedialogshowquery.conTypeName" style="width: 100%" class="filter-item" @keyup.enter.native="getTableDatatype" />
size="small" <el-input v-model="querytypedialogshowquery.conTypeCode" size="small" clearable placeholder="请输入耗材类型代码"
clearable style="width: 100%" class="filter-item" @keyup.enter.native="getTableDatatype" />
placeholder="请输入耗材类型名称" <el-select v-model="querytypedialogshowquery.status" placeholder="请选择商品规格" style="width: 100%">
style="width: 100%" <el-option :label="item.label" :value="item.value" v-for="item in typeEnums" :key="item.label" />
class="filter-item"
@keyup.enter.native="getTableDatatype"
/>
<el-input
v-model="querytypedialogshowquery.conTypeCode"
size="small"
clearable
placeholder="请输入耗材类型代码"
style="width: 100%"
class="filter-item"
@keyup.enter.native="getTableDatatype"
/>
<el-select
v-model="querytypedialogshowquery.status"
placeholder="请选择商品规格"
style="width: 100%"
>
<el-option
:label="item.label"
:value="item.value"
v-for="item in typeEnums"
:key="item.label"
/>
</el-select> </el-select>
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<el-button type="primary" @click="getTableDatatype">查询</el-button> <el-button type="primary" @click="getTableDatatype">查询</el-button>
<el-button @click="resetHandletype">重置</el-button> <el-button @click="resetHandletype">重置</el-button>
</div> </div>
</div> </div>
<el-table <el-table ref="table" :data="tableDatatype.data" v-loading="tableDatatype.loading" row-key="id">
ref="table"
:data="tableDatatype.data"
v-loading="tableDatatype.loading"
row-key="id"
>
<el-table-column label="耗材类型名称" prop="conTypeName" /> <el-table-column label="耗材类型名称" prop="conTypeName" />
<el-table-column label="耗材类型代码" prop="conTypeCode" /> <el-table-column label="耗材类型代码" prop="conTypeCode" />
<el-table-column label="店铺ID" prop="shopId" /> <el-table-column label="店铺ID" prop="shopId" />
@@ -435,30 +305,19 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="head-container"> <div class="head-container">
<el-pagination <el-pagination :total="tableDatatype.total" :current-page="tableDatatype.page + 1"
:total="tableDatatype.total" :page-size="tableDatatype.size" layout="total, sizes, prev, pager, next, jumper"
:current-page="tableDatatype.page + 1" @current-change="paginationChangetype" />
:page-size="tableDatatype.size"
layout="total, sizes, prev, pager, next, jumper"
@current-change="paginationChangetype"
/>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="耗材信息" :visible.sync="clickseetypedialogshow"> <el-dialog title="耗材信息" :visible.sync="clickseetypedialogshow">
<div class="head-container"> <div class="head-container">
<el-table <el-table ref="table" :data="clickseetableData.data" v-loading="clickseetableData.loading" row-key="id"
ref="table" height="450">
:data="clickseetableData.data"
v-loading="clickseetableData.loading"
row-key="id"
height="450"
>
<el-table-column label="耗材名称" prop="conName" /> <el-table-column label="耗材名称" prop="conName" />
<el-table-column label="变动库存" prop="amount"> <el-table-column label="变动库存" prop="amount">
<template v-slot="scope"> <template v-slot="scope">
<span :class="{ red: scope.row.bizType == '-' }" <span :class="{ red: scope.row.bizType == '-' }">{{ scope.row.bizType }}{{ scope.row.amount }}</span>
>{{ scope.row.bizType }}{{ scope.row.amount }}</span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="现有库存" prop="balance" /> <el-table-column label="现有库存" prop="balance" />
@@ -466,10 +325,7 @@
<el-table-column label="业务说明" prop="bizName" /> <el-table-column label="业务说明" prop="bizName" />
<!-- <el-table-column label="正负号标识" prop="bizType" /> --> <!-- <el-table-column label="正负号标识" prop="bizType" /> -->
<!-- <el-table-column label="耗材id" prop="consId" /> --> <!-- <el-table-column label="耗材id" prop="consId" /> -->
<el-table-column <el-table-column label="商品信息" prop="productName"></el-table-column>
label="商品信息"
prop="productName"
></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column> <el-table-column label="创建时间" prop="createTime"></el-table-column>
<!-- <el-table-column label="更新时间" prop="updateTime"> <!-- <el-table-column label="更新时间" prop="updateTime">
<template v-slot="scope"> <template v-slot="scope">
@@ -479,24 +335,20 @@
</el-table> </el-table>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-pagination <el-pagination :total="clickseetableData.total" :current-page="clickseetableData.page + 1"
:total="clickseetableData.total" :page-size="clickseetableData.size" layout="total, sizes, prev, pager, next, jumper"
:current-page="clickseetableData.page + 1" @current-change="paginationChangetype" @size-change="(e) => {
:page-size="clickseetableData.size"
layout="total, sizes, prev, pager, next, jumper"
@current-change="paginationChangetype"
@size-change="
(e) => {
clickseetableData.size = e; clickseetableData.size = e;
clickseetableData.page = 0; clickseetableData.page = 0;
getConsRecord(); getConsRecord();
} }
" " />
/>
</div> </div>
</el-dialog> </el-dialog>
<!-- 耗材盘点 --> <!-- 耗材盘点 -->
<AddConsTakin ref="AddConsTakin" @success="resetHandle" /> <AddConsTakin ref="AddConsTakin" @success="resetHandle" />
<!-- 查看详情 -->
<cons-record-detail ref="recodeDetail"></cons-record-detail>
<!-- 导入耗材 --> <!-- 导入耗材 -->
<el-dialog title="导入库存" :visible.sync="dialogVisible"> <el-dialog title="导入库存" :visible.sync="dialogVisible">
<UploadExcel :beforeUpload="excelSuccessUpload" /> <UploadExcel :beforeUpload="excelSuccessUpload" />
@@ -508,7 +360,6 @@
import Sortable from "sortablejs"; import Sortable from "sortablejs";
import dayjs from "dayjs"; import dayjs from "dayjs";
import settings from "@/settings"; import settings from "@/settings";
import { upProSort } from "@/api/shop";
function returnPromise(index, prosise) { function returnPromise(index, prosise) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -533,8 +384,10 @@ import AddConsTakin from "../components/addConsTakin";
import { tbConsInfodownload, tbConsInfoinputStock } from '@/api/invoicing' import { tbConsInfodownload, tbConsInfoinputStock } from '@/api/invoicing'
import { downloadFile } from "@/utils"; import { downloadFile } from "@/utils";
import UploadExcel from '@/components/UploadExcel' import UploadExcel from '@/components/UploadExcel'
import consRecordDetail from "../components/cons_record_detail";
export default { export default {
components: { AddConsTakin, UploadExcel }, components: { AddConsTakin, UploadExcel, consRecordDetail },
data() { data() {
return { return {
dayjs, dayjs,
@@ -652,6 +505,12 @@ export default {
this.gettbConsType() this.gettbConsType()
}, },
methods: { methods: {
lookDetail(row) {
this.$refs.recodeDetail.open({
"consId": row.consId,
"conName": row.conName
})
},
//解决selectc值改变后未验证问题 //解决selectc值改变后未验证问题
selectChange($event, ref, type) { selectChange($event, ref, type) {
this.$refs[ref][0].validateField(type) this.$refs[ref][0].validateField(type)
@@ -689,6 +548,22 @@ export default {
console.log(error); console.log(error);
} }
}, },
computedClass(num) {
if (num > 0) {
return 'green'
} else {
return 'red'
}
},
// 状态切换
async showChange(e, row) {
await postapitbConsInfo([{
id: row.consId,
"isCheck": row.isCheck,
shopId: localStorage.getItem('shopId')
}])
this.$message.success('修改成功')
},
// 耗材导出 // 耗材导出
async protHandle() { async protHandle() {
try { try {
@@ -707,7 +582,8 @@ export default {
for (let key in this.ruleForm) { for (let key in this.ruleForm) {
this.ruleForm[key] = row[key]; this.ruleForm[key] = row[key];
} }
this.ruleForm.id = row.id; console.log(row, '调试1')
this.ruleForm.id = row.consId;
this.dialogshow = true; this.dialogshow = true;
}, },
// 重置查询 // 重置查询
@@ -822,7 +698,7 @@ export default {
}); });
} else { } else {
this.dialogtitle = "编辑"; this.dialogtitle = "编辑";
this.ruleForm.id = item.id; this.ruleForm.id = item.consId;
this.ruleForm.conTypeId = item.conTypeId; this.ruleForm.conTypeId = item.conTypeId;
this.ruleForm.conCode = item.conCode; this.ruleForm.conCode = item.conCode;
this.ruleForm.conName = item.conName; this.ruleForm.conName = item.conName;
@@ -862,6 +738,7 @@ export default {
if (valid) { if (valid) {
this.ruleFormLoading = true; this.ruleFormLoading = true;
if (this.dialogtitle == "编辑") { if (this.dialogtitle == "编辑") {
console.log(this.ruleForm, '调试 ')
await postapitbConsInfo([this.ruleForm]); await postapitbConsInfo([this.ruleForm]);
this.$message({ type: "success", message: "编辑成功" }); this.$message({ type: "success", message: "编辑成功" });
this.dialogshow = false; this.dialogshow = false;
@@ -934,11 +811,13 @@ export default {
cursor: pointer; cursor: pointer;
font-weight: 700; font-weight: 700;
} }
.color-danger { .color-danger {
color: #f56c6c; color: #f56c6c;
font-weight: 700; font-weight: 700;
cursor: pointer; cursor: pointer;
} }
.row_wrap { .row_wrap {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;

View File

@@ -17,6 +17,11 @@
<el-option label="关" :value="0"></el-option> <el-option label="关" :value="0"></el-option>
</el-select> </el-select>
</div> </div>
<div style="width: 300px;">
<el-select clearable v-model="query.sort" placeholder="排序">
<el-option label="按数量排序" value="1" />
</el-select>
</div>
<el-button type="primary" @click="getTableData">查询</el-button> <el-button type="primary" @click="getTableData">查询</el-button>
<el-button @click="resetHandle">重置</el-button> <el-button @click="resetHandle">重置</el-button>
<el-button @click="Uppop()">库存预警:{{ warnLine }}</el-button> <el-button @click="Uppop()">库存预警:{{ warnLine }}</el-button>
@@ -155,6 +160,7 @@ export default {
montey: "", montey: "",
categorys: [], categorys: [],
query: { query: {
sort: "", // 排序
name: '', name: '',
isStock: '', isStock: '',
num: '', num: '',
@@ -233,7 +239,7 @@ export default {
const file = await stockdownload({ const file = await stockdownload({
name: this.query.name, name: this.query.name,
isStock: this.query.isStock, isStock: this.query.isStock,
num: this.query.num num: this.query.num,
}) })
downloadFile(file, "商品库存", "xlsx"); downloadFile(file, "商品库存", "xlsx");
this.downloadLoading = false; this.downloadLoading = false;
@@ -309,6 +315,7 @@ export default {
isStock: this.query.isStock, isStock: this.query.isStock,
num: this.query.num, num: this.query.num,
categoryId: this.query.categoryId, categoryId: this.query.categoryId,
sort:this.query.sort,
shopId: localStorage.getItem('shopId') shopId: localStorage.getItem('shopId')
}) })
this.tableData.loading = false this.tableData.loading = false

View File

@@ -27,9 +27,21 @@
<el-radio :label="0">禁用</el-radio> <el-radio :label="0">禁用</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="售卖时间管控" v-if="form.id">
<el-radio-group v-model="form.useTime">
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">禁用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="" v-if="form.useTime == 1" prop="saleTime">
<el-time-picker is-range v-model="form.saleTime" value-format="HH:mm" format="HH:mm"
range-separator="" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围">
</el-time-picker>
</el-form-item>
<el-form-item label="分组排序" v-if="form.id"> <el-form-item label="分组排序" v-if="form.id">
<el-input-number v-model="form.sort" controls-position="right" :min="0"></el-input-number> <el-input-number v-model="form.sort" controls-position="right" :min="0"></el-input-number>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
@@ -57,6 +69,7 @@ export default {
isShow: 1, isShow: 1,
sort: 0, sort: 0,
productIds: [], productIds: [],
useTime: 0,
shopId: localStorage.getItem('shopId') shopId: localStorage.getItem('shopId')
}, },
rules: { rules: {
@@ -66,7 +79,14 @@ export default {
message: ' ', message: ' ',
trigger: 'blur' trigger: 'blur'
} }
] ],
saleTime: [
{
required: true,
message: '请选择',
trigger: 'blur'
}
],
}, },
productIds: [] productIds: []
} }
@@ -94,11 +114,14 @@ export default {
return falg return falg
}, },
onSubmitHandle() { onSubmitHandle() {
this.$refs.form.validate(async valid => { this.$refs.form.validate(async valid => {
if (valid) { if (valid) {
this.loading = true this.loading = true
try { try {
this.form.productIds = this.productIds.map(item => item.id); this.form.productIds = this.productIds.map(item => item.id);
this.form.saleStartTime = this.form.saleTime[0]
this.form.saleEndTime = this.form.saleTime[1]
let res = null let res = null
if (!this.form.id) { if (!this.form.id) {
await tbProductGroupPost(this.form) await tbProductGroupPost(this.form)

View File

@@ -10,6 +10,11 @@
<el-table :data="tableData.list" v-loading="tableData.loading" row-key="id"> <el-table :data="tableData.list" v-loading="tableData.loading" row-key="id">
<el-table-column label="排序" sortable prop="sort"></el-table-column> <el-table-column label="排序" sortable prop="sort"></el-table-column>
<el-table-column label="分组名称" prop="name"></el-table-column> <el-table-column label="分组名称" prop="name"></el-table-column>
<el-table-column label="售卖时间管控" prop="useTime">
<template v-slot="scope">
{{ scope.row.useTime==1? scope.row.saleStartTime +'-'+scope.row.saleEndTime:'' }}
</template>
</el-table-column>
<el-table-column label="状态"> <el-table-column label="状态">
<template v-slot="scope"> <template v-slot="scope">
<el-switch v-model="scope.row.isShow" :active-value="1" :inactive-value="0" <el-switch v-model="scope.row.isShow" :active-value="1" :inactive-value="0"

View File

@@ -3,10 +3,7 @@
<div class="head-container"> <div class="head-container">
<el-form :model="query" inline> <el-form :model="query" inline>
<el-form-item label="搜索"> <el-form-item label="搜索">
<el-input <el-input v-model="query.name" placeholder="请输入昵称或手机号"></el-input>
v-model="query.name"
placeholder="请输入昵称或手机号"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否为会员"> <el-form-item label="是否为会员">
<el-select v-model="query.isVip" placeholder="是否是会员"> <el-select v-model="query.isVip" placeholder="是否是会员">
@@ -43,9 +40,7 @@
<div class="n">{{ shopInfo.chageTotal || 0 }}</div> <div class="n">{{ shopInfo.chageTotal || 0 }}</div>
</div> </div>
<div class="item"> <div class="item">
<el-button type="success" @click="toPage('charge')" <el-button type="success" @click="toPage('charge')">充值记录</el-button>
>充值记录</el-button
>
<!-- <el-button type="danger" @click="toPage('cost')">消费记录</el-button> --> <!-- <el-button type="danger" @click="toPage('cost')">消费记录</el-button> -->
</div> </div>
</div> </div>
@@ -57,10 +52,7 @@
<el-table-column label="用户" prop="headImg" width="200px"> <el-table-column label="用户" prop="headImg" width="200px">
<template v-slot="scope"> <template v-slot="scope">
<div class="user_info"> <div class="user_info">
<el-image <el-image :src="scope.row.headImg" style="width: 40px;height: 40px;flex-shrink: 0;">
:src="scope.row.headImg"
style="width: 40px;height: 40px;flex-shrink: 0;"
>
<div slot="error" class="image-slot"> <div slot="error" class="image-slot">
<i class="el-icon-user"></i> <i class="el-icon-user"></i>
</div> </div>
@@ -76,24 +68,16 @@
</el-table-column> </el-table-column>
<el-table-column label="会员" prop="isVip"> <el-table-column label="会员" prop="isVip">
<template v-slot="scope"> <template v-slot="scope">
<el-tag type="warning" v-if="scope.row.isVip" <el-tag type="warning" v-if="scope.row.isVip">会员等级{{ scope.row.isVip }}</el-tag>
>会员等级{{ scope.row.isVip }}</el-tag
>
<span v-else></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="余额" prop="amount"></el-table-column> <el-table-column label="余额" prop="amount"></el-table-column>
<el-table-column label="充值金额" prop="inMoney"></el-table-column>
<el-table-column label="订单数量" prop="orderNumber"></el-table-column>
<el-table-column label="积分" prop="totalScore"></el-table-column> <el-table-column label="积分" prop="totalScore"></el-table-column>
<el-table-column <el-table-column label="手机号" prop="telephone" width="160"></el-table-column>
label="手机号" <el-table-column label="生日" prop="birthDay" width="200"></el-table-column>
prop="telephone"
width="160"
></el-table-column>
<el-table-column
label="生日"
prop="birthDay"
width="200"
></el-table-column>
<el-table-column label="注册时间" prop="createAt" width="200"> <el-table-column label="注册时间" prop="createAt" width="200">
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.createAt | timeFilter }} {{ scope.row.createAt | timeFilter }}
@@ -104,26 +88,24 @@
{{ scope.row.lastLoginAt | timeFilter }} {{ scope.row.lastLoginAt | timeFilter }}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="操作" width="90" fixed="right"> <!-- <el-table-column label="操作" width="200"> -->
<template v-slot="scope"> <!-- <template v-slot="scope">
<el-button type="text" @click="$refs.addActive.show(scope.row)">编辑</el-button> <el-button type="text" @click="">历史订单</el-button>
<el-popconfirm title="确定删除吗?" @confirm="delTableHandle([scope.row.id])"> <el-button type="text" @click="">充值记录</el-button>
<el-button type="text" @click="">余额</el-button> -->
<!-- <el-popconfirm title="确定删除吗?" @confirm="delTableHandle([scope.row.id])">
<el-button type="text" icon="el-icon-delete" style="margin-left: 20px !important;" <el-button type="text" icon="el-icon-delete" style="margin-left: 20px !important;"
slot="reference">删除</el-button> slot="reference">删除</el-button>
</el-popconfirm> </el-popconfirm> -->
</template> <!-- </template> -->
</el-table-column> --> <!-- </el-table-column> -->
</el-table> </el-table>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-pagination <el-pagination :total="tableData.total" :current-page="tableData.page + 1" :page-size="tableData.size"
:total="tableData.total" @size-change="sizeChange" @current-change="paginationChange"
:current-page="tableData.page + 1" layout="total, sizes, prev, pager, next, jumper"></el-pagination>
:page-size="tableData.size"
@size-change="sizeChange"
@current-change="paginationChange"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
</div> </div>
</div> </div>
</template> </template>