refactor:ISBN/无ISBN上传的品相/货区/书名/价格合并为info-block,书名价格标签改前置
This commit is contained in:
parent
2f467a9be6
commit
c484e8b53d
@ -30,72 +30,77 @@
|
|||||||
<swiper-item>
|
<swiper-item>
|
||||||
<view class="tab-content">
|
<view class="tab-content">
|
||||||
<scroll-view class="content-scroll" scroll-y="true">
|
<scroll-view class="content-scroll" scroll-y="true">
|
||||||
<!-- 品相 -->
|
<!-- 基本信息块(品相 + 货区&ISBN + 书名 + 价格&库存) -->
|
||||||
<view class="form-section">
|
<view class="info-block">
|
||||||
<view class="field-label">
|
<!-- 品相 -->
|
||||||
<text class="label-text">品相</text>
|
<view class="info-block-row">
|
||||||
</view>
|
<view class="field-label">
|
||||||
<view class="condition-list">
|
<text class="label-text">品相</text>
|
||||||
<view
|
|
||||||
class="condition-item"
|
|
||||||
v-for="(item, index) in conditionList"
|
|
||||||
:key="index"
|
|
||||||
:class="{ active: selectedCondition === item }"
|
|
||||||
@click="selectCondition(item)"
|
|
||||||
>
|
|
||||||
<text class="condition-text">{{ item }}</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="condition-list">
|
||||||
</view>
|
<view
|
||||||
|
class="condition-item"
|
||||||
<!-- 货区 & ISBN -->
|
v-for="(item, index) in conditionList"
|
||||||
<view class="form-section">
|
:key="index"
|
||||||
<view class="field-label">
|
:class="{ active: selectedCondition === item }"
|
||||||
<text class="label-text">货区 & ISBN</text>
|
@click="selectCondition(item)"
|
||||||
</view>
|
>
|
||||||
<view class="inline-fields" style="flex:1;">
|
<text class="condition-text">{{ item }}</text>
|
||||||
<view class="inline-field narrow">
|
|
||||||
<view class="picker-box" style="flex:1;" @click="openWarehousePicker('isbn')">
|
|
||||||
<text class="picker-value">{{ isbnSelectedArea || '请选择货区' }}</text>
|
|
||||||
<text class="picker-arrow">›</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inline-field isbn-field">
|
</view>
|
||||||
<view class="isbn-input-box" style="flex:1;">
|
|
||||||
<input class="isbn-input" v-model="isbn" placeholder="ISBN或扫码" maxlength="13"/>
|
<view class="info-block-divider"></view>
|
||||||
<view class="scan-btn" @click="scanISBN">
|
|
||||||
<text class="scan-icon">📷</text>
|
<!-- 货区 & ISBN -->
|
||||||
|
<view class="info-block-row">
|
||||||
|
<view class="field-label">
|
||||||
|
<text class="label-text">货区 & ISBN</text>
|
||||||
|
</view>
|
||||||
|
<view class="inline-fields" style="flex:1;">
|
||||||
|
<view class="inline-field narrow">
|
||||||
|
<view class="picker-box" style="flex:1;" @click="openWarehousePicker('isbn')">
|
||||||
|
<text class="picker-value">{{ isbnSelectedArea || '请选择货区' }}</text>
|
||||||
|
<text class="picker-arrow">›</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="search-btn" @click="searchISBN">
|
</view>
|
||||||
<text class="search-text">搜</text>
|
<view class="inline-field isbn-field">
|
||||||
|
<view class="isbn-input-box" style="flex:1;">
|
||||||
|
<input class="isbn-input" v-model="isbn" placeholder="ISBN或扫码" maxlength="13"/>
|
||||||
|
<view class="scan-btn" @click="scanISBN">
|
||||||
|
<text class="scan-icon">📷</text>
|
||||||
|
</view>
|
||||||
|
<view class="search-btn" @click="searchISBN">
|
||||||
|
<text class="search-text">搜</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 书名 -->
|
<view class="info-block-divider"></view>
|
||||||
<view class="form-section">
|
|
||||||
<view class="field-label">
|
|
||||||
<text class="label-text">书名</text>
|
|
||||||
</view>
|
|
||||||
<input class="form-input" v-model="bookName" placeholder="请输入书名"/>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- 价格 & 库存 -->
|
<!-- 书名(标签在前) -->
|
||||||
<view class="form-section">
|
<view class="info-inline-row">
|
||||||
<view class="field-label">
|
<text class="info-inline-label">书名</text>
|
||||||
<text class="label-text">价格 & 库存</text>
|
<input class="form-input info-inline-input" v-model="bookName" placeholder="请输入书名"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="inline-fields" style="flex:1;">
|
|
||||||
<view class="inline-field">
|
<view class="info-block-divider"></view>
|
||||||
<view class="price-input-box" style="flex:1;">
|
|
||||||
<text class="price-symbol">¥</text>
|
<!-- 价格 & 库存(标签在前) -->
|
||||||
<input class="price-input" v-model="price" type="digit" placeholder="价格"/>
|
<view class="info-inline-row">
|
||||||
|
<text class="info-inline-label">价格 & 库存</text>
|
||||||
|
<view class="inline-fields" style="flex:1;">
|
||||||
|
<view class="inline-field">
|
||||||
|
<view class="price-input-box" style="flex:1;">
|
||||||
|
<text class="price-symbol">¥</text>
|
||||||
|
<input class="price-input" v-model="price" type="digit" placeholder="价格"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="inline-field">
|
||||||
|
<input class="form-input" v-model="stock" type="number" placeholder="库存" style="flex:1;"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
<view class="inline-field">
|
|
||||||
<input class="form-input" v-model="stock" type="number" placeholder="库存" style="flex:1;"/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -221,69 +226,76 @@
|
|||||||
<view class="tab-content">
|
<view class="tab-content">
|
||||||
<scroll-view class="content-scroll" scroll-y="true">
|
<scroll-view class="content-scroll" scroll-y="true">
|
||||||
|
|
||||||
<!-- ===== 品相(最上方) ===== -->
|
<!-- ===== 基本信息块(品相 + 货区 + 书名 + 价格&库存) ===== -->
|
||||||
<view class="form-section">
|
<view class="info-block">
|
||||||
<view class="field-label">
|
<!-- 品相 -->
|
||||||
<text class="label-text">品相</text>
|
<view class="info-block-row">
|
||||||
</view>
|
<view class="field-label">
|
||||||
<view class="condition-list">
|
<text class="label-text">品相</text>
|
||||||
<view
|
|
||||||
class="condition-item"
|
|
||||||
v-for="(item, index) in conditionList"
|
|
||||||
:key="index"
|
|
||||||
:class="{ active: noIsbnSelectedCondition === item }"
|
|
||||||
@click="noIsbnSelectedCondition = item"
|
|
||||||
>
|
|
||||||
<text class="condition-text">{{ item }}</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="condition-list">
|
||||||
</view>
|
<view
|
||||||
|
class="condition-item"
|
||||||
<!-- ===== 基本信息 ===== -->
|
v-for="(item, index) in conditionList"
|
||||||
<view class="form-section">
|
:key="index"
|
||||||
<view class="field-label">
|
:class="{ active: noIsbnSelectedCondition === item }"
|
||||||
<text class="label-text">货区</text>
|
@click="noIsbnSelectedCondition = item"
|
||||||
</view>
|
>
|
||||||
<view class="picker-box" @click="openWarehousePicker('no-isbn')">
|
<text class="condition-text">{{ item }}</text>
|
||||||
<text class="picker-value">{{ noIsbnSelectedArea || '请选择货区' }}</text>
|
|
||||||
<text class="picker-arrow">›</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="form-section">
|
|
||||||
<view class="field-label">
|
|
||||||
<text class="label-text">书名</text>
|
|
||||||
</view>
|
|
||||||
<view class="inline-fields" style="flex:1;">
|
|
||||||
<view class="inline-field" style="flex:1;">
|
|
||||||
<input class="form-input" v-model="noIsbnBookName" placeholder="请输入书名" style="flex:1;" />
|
|
||||||
</view>
|
|
||||||
<view class="inline-field" style="flex:none;">
|
|
||||||
<view class="search-btn" @click="searchNoIsbn">
|
|
||||||
<text class="search-text">搜</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="inline-field" style="flex:none;margin-left:10rpx;">
|
|
||||||
<view class="scan-btn" @click="chooseImageNoIsbn">
|
|
||||||
<text class="scan-icon">📷</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="form-section">
|
<view class="info-block-divider"></view>
|
||||||
<view class="field-label">
|
|
||||||
<text class="label-text">价格</text>
|
<!-- 货区 -->
|
||||||
|
<view class="info-block-row">
|
||||||
|
<view class="field-label">
|
||||||
|
<text class="label-text">货区</text>
|
||||||
|
</view>
|
||||||
|
<view class="picker-box" @click="openWarehousePicker('no-isbn')">
|
||||||
|
<text class="picker-value">{{ noIsbnSelectedArea || '请选择货区' }}</text>
|
||||||
|
<text class="picker-arrow">›</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inline-fields" style="flex:1;">
|
|
||||||
<view class="inline-field" style="flex:1;">
|
<view class="info-block-divider"></view>
|
||||||
<view class="price-input-box" style="flex:1;">
|
|
||||||
<text class="price-symbol">¥</text>
|
<!-- 书名(标签在前) -->
|
||||||
<input class="price-input" v-model="noIsbnPrice" placeholder="售价" type="digit" />
|
<view class="info-inline-row">
|
||||||
|
<text class="info-inline-label">书名</text>
|
||||||
|
<view class="inline-fields" style="flex:1;">
|
||||||
|
<view class="inline-field" style="flex:1;">
|
||||||
|
<input class="form-input" v-model="noIsbnBookName" placeholder="请输入书名" style="flex:1;" />
|
||||||
|
</view>
|
||||||
|
<view class="inline-field" style="flex:none;">
|
||||||
|
<view class="search-btn" @click="searchNoIsbn">
|
||||||
|
<text class="search-text">搜</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="inline-field" style="flex:none;margin-left:10rpx;">
|
||||||
|
<view class="scan-btn" @click="chooseImageNoIsbn">
|
||||||
|
<text class="scan-icon">📷</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="inline-field" style="flex:1;">
|
</view>
|
||||||
<input class="form-input" v-model="noIsbnStock" type="number" placeholder="库存" style="flex:1;" />
|
|
||||||
|
<view class="info-block-divider"></view>
|
||||||
|
|
||||||
|
<!-- 价格 & 库存(标签在前) -->
|
||||||
|
<view class="info-inline-row">
|
||||||
|
<text class="info-inline-label">价格 & 库存</text>
|
||||||
|
<view class="inline-fields" style="flex:1;">
|
||||||
|
<view class="inline-field" style="flex:1;">
|
||||||
|
<view class="price-input-box" style="flex:1;">
|
||||||
|
<text class="price-symbol">¥</text>
|
||||||
|
<input class="price-input" v-model="noIsbnPrice" placeholder="售价" type="digit" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="inline-field" style="flex:1;">
|
||||||
|
<input class="form-input" v-model="noIsbnStock" type="number" placeholder="库存" style="flex:1;" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -1939,15 +1951,8 @@ export default {
|
|||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '确认上传',
|
title: '确认上传',
|
||||||
content: contentLines.join('\n'),
|
content: contentLines.join('\n'),
|
||||||
confirmText: '确认上传',
|
showCancel: false,
|
||||||
cancelText: '取消',
|
confirmText: '确定'
|
||||||
success: (res) => {
|
|
||||||
if (res.confirm) {
|
|
||||||
this.doSubmit(warehouseData)
|
|
||||||
} else {
|
|
||||||
this.isSubmitting = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -2453,6 +2458,44 @@ export default {
|
|||||||
padding: 16rpx;
|
padding: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ========== 基本信息合并块(品相+货区+书名+价格) ========== */
|
||||||
|
.info-block {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
border: 2rpx solid #ebeef5;
|
||||||
|
padding: 20rpx 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-block-row {
|
||||||
|
padding: 4rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-block-divider {
|
||||||
|
height: 2rpx;
|
||||||
|
background-color: #f2f3f5;
|
||||||
|
margin: 6rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 行内标签在前 */
|
||||||
|
.info-inline-row {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 4rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-inline-label {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #606266;
|
||||||
|
font-weight: 500;
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: 140rpx;
|
||||||
|
margin-right: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-inline-input {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* ========== 表单区块 ========== */
|
/* ========== 表单区块 ========== */
|
||||||
.form-section {
|
.form-section {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user