- 框架初始化
 - 安装插件
 - 修复PHP8.4报错
This commit is contained in:
2025-04-19 17:21:20 +08:00
commit c6a4e1f5f6
5306 changed files with 967782 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
{include file="/shopro/common/script" /}
<div id="addStock" class="stock-warning-add-stock" v-cloak>
<el-container class="panel-block">
<el-main>
<el-scrollbar height="100%">
<el-form :model="form.model" :rules="form.rules" ref="formRef" label-width="100px">
<el-form-item label="商品库存:" prop="stock">
<div class="sa-w-360">
<div class="mr-2">{{ state.stock }}</div>
<el-input v-model="form.model.stock" placeholder="补充库存" type="number">
<template #append></template>
</el-input>
</div>
</el-form-item>
</el-form>
</el-scrollbar>
</el-main>
<el-footer class="sa-footer--submit sa-flex sa-row-right">
<el-button type="primary" @click="onConfirm">确定</el-button>
</el-footer>
</el-container>
</div>

View File

@@ -0,0 +1,60 @@
{include file="/shopro/common/script" /}
<div id="index" class="stock-warning-index panel panel-default panel-intro" v-cloak>
<el-container class="panel-block">
<el-header class="sa-header">
<el-tabs class="sa-tabs" v-model="state.filter.data.stock_type" @tab-change="onChangeTab">
<el-tab-pane v-for="(value, key) in type.data.stock_type" :key="key"
:label="`${value.name}${value.num ? '(' + value.num + ')' : ''}`" :name="key"></el-tab-pane>
</el-tabs>
<div class="sa-title sa-flex sa-row-between">
<div class="sa-title-left">
<div class="left-name">库存预警</div>
<sa-filter-condition v-model="state.filter" @filter-delete="onChangeFilter">
</sa-filter-condition>
</div>
<div class="sa-title-right">
<el-button class="sa-button-refresh" icon="RefreshRight" @click="getData"></el-button>
<el-button class="sa-button-refresh" icon="Search" @click="onOpenFilter"></el-button>
{if $auth->check('shopro/goods/stock_warning/recyclebin')}
<el-button type="danger" plain @click="onRecyclebin">历史记录</el-button>
{/if}
</div>
</div>
</el-header>
<el-main class="sa-main">
<el-table height="100%" class="sa-table" :data="state.data" stripe @sort-change="onChangeSort">
<el-table-column prop="id" label="ID" min-width="90" sortable="custom"> </el-table-column>
<el-table-column label="商品" min-width="440">
<template #default="scope">
<div v-if="scope.row.goods" class="sa-goods-item sa-flex sa-col-top">
<sa-image class="goods-image" :url="scope.row.goods.image" size="48"></sa-image>
<div>
<div class="goods-title sa-table-line-1">{{scope.row.goods.title}}</div>
<div v-if="scope.row.goods_sku_text" class="goods-sku-text">{{scope.row.goods_sku_text}}
</div>
</div>
</div>
<div v-else>{{scope.row.goods_id}}</div>
</template>
</el-table-column>
<el-table-column prop="stock" label="库存" min-width="100"></el-table-column>
<el-table-column prop="stock_warning" label="预警库存" min-width="100"></el-table-column>
<el-table-column label="更新时间" width="172">
<template #default="scope">{{ scope.row.createtime || '-' }}</template>
</el-table-column>
<el-table-column label="操作" min-width="100" fixed="right">
<template #default="scope">
{if $auth->check('shopro/goods/stock_warning/addStock')}
<el-button type="primary" link @click="onAddStock(scope.row)">补货</el-button>
{/if}
</template>
</el-table-column>
</el-table>
</el-main>
<el-footer class="sa-footer sa-flex sa-row-right">
<sa-pagination v-model="pagination" @pagination-change="getData"></sa-pagination>
</el-footer>
</el-container>
<sa-filter v-model="state.filter" @filter-change="onChangeFilter"></sa-filter>
</div>

View File

@@ -0,0 +1,20 @@
{include file="/shopro/common/script" /}
<div id="recyclebin" class="stock-warning-recyclebin" v-cloak>
<el-container class="panel-block">
<el-main>
<el-table height="100%" class="sa-table" :data="state.data" stripe @sort-change="onChangeSort">
<el-table-column prop="id" label="ID" width="90" sortable="custom"></el-table-column>
<el-table-column label="名称" min-width="120">
<template #default="scope">
<div class="sa-table-line-1">{{ scope.row.goods?.title || scope.row.goods_id }}</div>
</template>
</el-table-column>
<el-table-column prop="deletetime" label="补货时间" width="172" sortable="custom"></el-table-column>
</el-table>
</el-main>
<el-footer class="sa-footer sa-flex sa-row-right">
<sa-pagination class="is-ellipsis" v-model="pagination" @pagination-change="getData"></sa-pagination>
</el-footer>
</el-container>
</div>