From 5a72a35e3c9d76299b0d4d2f8f7ca61eff4c1284 Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期三, 26 六月 2024 14:12:30 +0800
Subject: [PATCH] update
---
pages/farmer/flower-manage/flower-manage.vue | 369 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 363 insertions(+), 6 deletions(-)
diff --git a/pages/farmer/flower-manage/flower-manage.vue b/pages/farmer/flower-manage/flower-manage.vue
index 8183fd0..2609a49 100644
--- a/pages/farmer/flower-manage/flower-manage.vue
+++ b/pages/farmer/flower-manage/flower-manage.vue
@@ -1,6 +1,99 @@
<template>
- <view>
-
+ <view class="flow-manage">
+ <view class="top-buttons" v-if="type==='all'">
+ <view @click.stop="clickButton('add')" class="button button-add"></view>
+ <view @click.stop="clickButton('in')" class="button button-search-in"></view>
+ <view @click.stop="clickButton('unpass')" class="button button-search-unpass"></view>
+ <view @click.stop="clickButton('inpass')" class="button button-search-inpass" style="flex:5"></view>
+ <view @click.stop="clickButton('delete')" class="button button-search-delete"></view>
+
+ </view>
+
+ <view class="p15" style="min-height: calc(100vh - 160rpx);">
+ <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
+ <view v-for="(item,index) in list" :key="index" class="m-b-24 flow-manage-list">
+ <view class="flow-manage-list-item">
+ <view class="flex">
+ <image class="flower-img img100 m-r-6" :src="item.cover" @click="previewImg(item.cover)">
+ </image>
+ <view class="flex1">
+ <view class=" flex">
+ <view class="title">{{item.name}}<span class="level">{{item.levelStr}}</span></view>
+ <view class="m-l-a m-r-0">
+ {{item.categoryStr || '-'}}
+ </view>
+ </view>
+ <view class="each-list m-t-12">
+ <view class="each-item">
+ <view class="label">状态</view>
+ <view class="value">{{item.statusStr || '-'}}</view>
+
+ </view>
+ <view class="each-item">
+ <view class="label">颜色</view>
+ <view class="value">{{item.color || '-'}}</view>
+
+ </view>
+ <view class="each-item">
+ <view class="label">规格</view>
+ <view class="value">{{item.unit || '-'}}</view>
+
+ </view>
+ <view class="each-item">
+ <view class="label">库存</view>
+ <view class="value">{{item.stock || 0}}</view>
+
+ </view>
+ <view class="each-item">
+ <view class="label">销量</view>
+ <view class="value">{{item.sales || 0}}</view>
+ </view>
+ <view class="each-item">
+ <view class="label">价格</view>
+ <view class="value">{{item.price||'-'}}</view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="line-gray">
+
+ </view>
+ <view class="buttons">
+ <view class="button" @click.stop="toDetail(item)">编辑</view>
+
+ <view class="button" @click.stop="buttonStatus(item,'off')" v-if="item.status=='UP'">下架</view>
+ <view class="button" @click.stop="buttonStatus(item,'up')" v-if="item.status=='OFF'">上架</view>
+ <view class="button" @click.stop="openValue(item,'price')">价格</view>
+ <view class="button" @click.stop="openValue(item,'stock')">库存</view>
+ <view class="button" @click.stop="toDetailAdd(item)">复制</view>
+
+ <view class="button t-red" @click.stop="buttonDelete(item)">删除</view>
+
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <!-- 判断是否到底了,自动吧 -->
+ <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+
+ <uni-popup ref="popup_input" type="bottom">
+ <view class="component-popup_input">
+
+ <!-- 输入框-->
+ <!-- #ifdef H5 -->
+ <uni-easyinput class="p9-12" maxlength="100" type="textarea" v-model="content"
+ :placeholder="inputplaceholder"></uni-easyinput>
+ <!-- #endif -->
+ <!-- #ifdef MP -->
+ <input v-model="content" :placeholder="inputplaceholder" type="digit" v-if="currentInputKey=='price'"/>
+ <input v-model="content" :placeholder="inputplaceholder" type="number" v-if="currentInputKey=='stock'"/>
+ <!-- #endif -->
+
+ <!-- 提交按钮 -->
+ <view class="button-green" @click="submitValue">提交</view>
+ </view>
+ </uni-popup>
</view>
</template>
@@ -8,15 +101,279 @@
export default {
data() {
return {
-
+ type: 'all',
+ query: {
+ type: ''
+ },
+ content: '',
+ currentInputDto: {},
+ currentInputKey: '',
+ inputplaceholder:'',
}
},
+ onLoad(options) {
+ this.type = options.type || 'all'
+ //todo 根据type切换查询条件
+ if (this.type === 'delete') {
+ this.listApi = '/api/supplier/flower/list/rc'
+
+ } else {
+ this.listApi = '/api/supplier/flower/list'
+ this.query.status = ''
+ if (this.type === 'inpass') {
+ this.query.status = 'PENDING'
+ }
+ if (this.type === 'in') {
+ this.query.status = 'UP'
+ }
+ if (this.type === 'unpass') {
+ this.query.status = 'REJECT'
+ }
+ }
+ this.getList()
+ },
+ onReachBottom() {
+ this.page.current += 1
+ this.getMore()
+ },
+ async onPullDownRefresh() {
+ this.page.current = 1
+ await this.getList()
+ uni.stopPullDownRefresh()
+ },
methods: {
-
+ async openValue(item, key) {
+ this.content = item[key] || ''
+ this.currentInputDto = item
+ this.currentInputKey = key
+ this.inputplaceholder = key=='price'&&'请输入价格(元)' || key=='stock'&&'请输入库存(整数)' || '请输入'
+ this.$refs.popup_input.open('top')
+ },
+ async submitValue() {
+ let item = this.currentInputDto,
+ key = this.currentInputKey
+ const res = await this.$message.confirm(`确定修改此商品的${key==='price'&&'价格'|| key==='stock'&&'库存'}吗`, {
+ editable: false
+ })
+
+ if (!this.content) {
+ this.$message.showToast('输入不能为空')
+ return
+ }
+ var value = ''
+ if (key == 'price') {
+ value = parseFloat(this.content).toFixed(2)
+ } else {
+ value = parseInt(this.content)
+ }
+ if (isNaN(value)) {
+ this.$message.showToast('输入格式不正确')
+ return
+ }
+ var dto = {
+ id: item.id,
+ }
+ dto[key] = value
+
+
+ this.$message.showLoading()
+ this.$http.request('post', '/api/supplier/flower/list/' + key, {
+ data: dto
+ }).then(res => {
+ if (res.code == 0) {
+ this.$message.showToast('操作成功')
+ item[key] = value
+ this.$refs.popup_input.close()
+
+ }
+ }).finally(() => {
+ this.$message.hideLoading()
+ })
+ },
+ async buttonStatus(item, status) {
+ await this.$message.confirm(`确定${status==='off'?'下降':'上架'}此商品吗`)
+ this.$message.showLoading()
+ this.$http.request('get', '/api/supplier/flower/list/' + status, {
+ params: {
+ id: item.id
+ }
+ }).then(res => {
+ if (res.code == 0) {
+ this.$message.showToast('操作成功')
+ item.status = status
+ item.statusStr = (status == 'off' ? '下架' : '上架')
+ }
+ }).finally(() => {
+ this.$message.hideLoading()
+ })
+ },
+ async buttonDelete(item) {
+ await this.$message.confirm('确定删除此商品吗')
+ this.$message.showLoading()
+ this.$http.request('get', '/api/supplier/flower/list/delete', {
+ params: {
+ id: item.id
+ }
+ }).then(res => {
+ if (res.code == 0) {
+ this.$message.showToast('删除成功')
+ this.refreshList()
+ }
+ }).finally(() => {
+ this.$message.hideLoading()
+ })
+ },
+ toDetail(item) {
+ uni.navigateTo({
+ url: '/pages/farmer/flower-manage/flower-add?id=' + item.id
+ })
+ },
+ toDetailAdd(item) {
+ uni.navigateTo({
+ url: '/pages/farmer/flower-manage/flower-add?copyId=' + item.id
+ })
+ },
+ clickButton(type) {
+ if (type == 'add') {
+ //添加页面
+ uni.navigateTo({
+ url: '/pages/farmer/flower-manage/flower-add'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/pages/farmer/flower-manage/flower-manage?type=' + type
+ })
+ }
+ },
}
}
</script>
-<style>
+<style lang="scss" scoped>
+ .flow-manage {
+ .flow-manage-list {
+ // padding: 20rpx 30rpx;
+ padding: 22rpx;
+ background-color: #fff;
-</style>
+ .flow-manage-list-item {
+
+ margin-bottom: 20rpx;
+
+ .title {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+
+ .level {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #20613D;
+ line-height: 40rpx;
+ margin-left: 20rpx;
+ }
+ }
+
+ .buttons {
+ display: flex;
+
+ .button {
+ margin: 0 auto;
+ width: 98rpx;
+ line-height: 48rpx;
+ border-radius: 24rpx;
+ border: 2rpx solid #CECECE;
+ text-align: center;
+ }
+ }
+
+ .flower-img {
+ width: 128rpx;
+ height: 118rpx;
+ min-width: 128rpx;
+ min-height: 118rpx;
+ }
+
+ .each-list {
+ display: flex;
+ flex-wrap: wrap;
+
+ .each-item {
+ min-width: 30%;
+ max-width: 40%;
+ text-align: center;
+ margin-left: 0rpx;
+ margin-right: auto;
+ display: flex;
+
+ .label {
+ font-weight: 400;
+ font-size: 24rpx;
+ color: #666666;
+ text-align: left;
+ padding-right: 10rpx;
+ }
+
+ .label::after {
+ content: ": "
+ }
+
+ .value {}
+ }
+ }
+ }
+ }
+
+ .top-buttons {
+ display: flex;
+ padding: 22rpx 42rpx;
+ background-color: #fff;
+
+ .button {
+ // flex:1;
+ margin: 0 auto;
+ width: 90rpx;
+ height: 146rpx;
+ background-size: 100% 100%;
+ text-align: center;
+ // min-width: 90rpx;
+ flex: 4;
+ // max-width: 90rpx;
+ margin-left:14rpx;
+ margin-right:14rpx;
+ }
+
+ .button:first-child {
+ margin-left: 0rpx
+ }
+ .button:last-child {
+ margin-right: 0rpx
+ }
+ .button-add {
+ background-image: url('@/static/images/farmer/flower/flower-mange-icon-add-flower.png');
+
+ }
+
+ .button-search-in {
+ background-image: url('@/static/images/farmer/flower/flower-mange-icon-flower-in.png');
+
+ }
+
+ .button-search-unpass {
+ background-image: url('@/static/images/farmer/flower/flower-mange-icon-flower-unpass.png');
+
+ }
+
+ .button-search-inpass {
+ background-image: url('@/static/images/farmer/flower/flower-mange-icon-flower-inpass.png');
+
+ }
+
+ .button-search-delete {
+ background-image: url('@/static/images/farmer/flower/flower-mange-icon-flower-delete.png');
+
+ }
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3