| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <template>
- <view class="container">
- <view class="sku-list">
- <view class="item-wrap" v-for="(item, index) in outputList" :key="index">
- <view class="form-wrap">
- <text class="label">规格</text>
- <text class="value">{{ item.sku_name }}</text>
- </view>
- <view class="form-wrap">
- <text class="label">销售价</text>
- <text class="value">{{ item.price }}</text>
- <text class="unit">元</text>
- </view>
- <view class="form-wrap">
- <view class="label">
- <text class="required color-base-text">*</text>
- <text>库存</text>
- </view>
- <input class="uni-input" v-model="item.stock" type="number" placeholder="0" />
- <text class="unit">件</text>
- </view>
- </view>
- </view>
- <view class="footer-wrap"><button type="primary" @click="save()">保存</button></view>
- <loading-cover ref="loadingCover"></loading-cover>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- goodsId: 0,
- outputList: []
- };
- },
- onLoad(option) {
- this.goodsId = option.goods_id || 0;
- this.getOutputList();
- },
- onShow() {},
- methods: {
- getOutputList() {
- this.$api.sendRequest({
- url: '/shopapi/goods/getOutputList',
- data: { goods_id: this.goodsId },
- success: res => {
- if (res.data) {
- this.outputList = res.data;
- if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
- }
- }
- });
- },
- verify() {
- var flag = true;
- for (var i = 0; i < this.outputList.length; i++) {
- var item = this.outputList[i];
- if (item.stock.length == 0) {
- this.$util.showToast({ title: `请输入[第${i + 1}个规格]的库存` });
- flag = false;
- break;
- }
- if (isNaN(item.stock) || !this.$util.data().regExp.number.test(item.stock)) {
- this.$util.showToast({ title: `[第${i + 1}个规格的库存]格式输入错误` });
- flag = false;
- break;
- }
- }
- return flag;
- },
- save() {
- if (!this.verify()) return;
-
- this.$api.sendRequest({
- url: '/shopapi/goods/editGoodsStock',
- data: { sku_list: JSON.stringify(this.outputList) },
- success: res => {
- this.$util.showToast({
- title: res.message
- });
- if (res.code == 0) {
- setTimeout(() => {
- this.$util.redirectTo('/pages/goods/list', {}, 'redirectTo');
- }, 1000);
- }
- }
- });
- }
- }
- };
- </script>
- <style lang="scss">
- @import './css/edit.scss';
- .sku-list {
- margin-bottom: 160rpx;
- .item-wrap {
- background: #fff;
- margin: $margin-updown $margin-both;
- .form-wrap {
- .value {
- vertical-align: middle;
- display: inline-block;
- flex: 1;
- text-align: right;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: pre;
- }
- }
- }
- }
- </style>
|