123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <template>
- <view>
- <view class="address" @click="address()">
- <view class="con" v-if="item.addressName">
- <view class="title omit">{{ item.addressName }}</view>
- <view class="desc">
- <text>{{ item.name }}</text>
- <text>{{ item.phone }}</text>
- </view>
- </view>
- <view class="con" v-else>
- <view class="title omit">你还没添加收货地址</view>
- <view class="desc">点击添加地址</view>
- </view>
- <view class="icon"></view>
- </view>
- <view class="forms">
- <view class="form_group">
- <view class="lable re">互市区</view>
- <picker @click="selectArea()" :disabled="true">
- <input placeholder="请选择" v-model="item.tradeAreaName" :disabled="true" />
- <view class="icon more"></view>
- </picker>
- </view>
- <view class="form_group">
- <view class="lable re">收购商品</view>
- <picker @click="selectGoods()" :disabled="true">
- <input placeholder="请选择" v-model="item.goodsName" :disabled="true" />
- <view class="icon more"></view>
- </picker>
- </view>
- <view class="form_group">
- <view class="lable">商品编号</view>
- <input placeholder="请输入" v-model="item.goodsNo" :disabled="true" />
- </view>
- <view class="form_group">
- <view class="lable re">计价单位</view>
- <input placeholder="请输入" v-model="item.goodsUnit" :disabled="true" />
- </view>
- <view class="form_group">
- <view class="lable re">数量</view>
- <input type="number" placeholder="请输入" v-model="item.goodsQuantity" />
- </view>
- <view class="form_group">
- <view class="lable re">到货日期</view>
- <picker mode="date" @change="picker($event, 'arrivalTime')">
- <input placeholder="请选择" v-model="item.arrivalTime" :disabled="true" />
- <view class="icon more"></view>
- </picker>
- </view>
- </view>
- <view class="mfooter">
- <view class="flex">
- <view class="f">
- <button class="save btn" @click="save(0)">取消发布</button>
- </view>
- <view class="f">
- <button class="btn" @click="save(1)">一键发布</button>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- item: {},
- tradeAreaList: []
- };
- },
- onLoad(e) {
- if (e.id) {
- this.http.request({
- url: '/level-two-server/app/TbGoodsDemand/getById?id=' + e.id,
- success: res => {
- this.item = res.data.data;
- uni.setNavigationBarTitle({ title: '编辑求购信息' });
- }
- });
- }
- //选择互市回显
- uni.$on('area', res => {
- this.item.tradeAreaName = res.name;
- this.item.tradeAreaId = res.id;
- this.$forceUpdate();
- });
- //选择地址回显
- uni.$on('selectAddress', res => {
- this.item.addressName = res.province + ' ' + res.city + ' ' + res.area + ' ' + res.street;
- this.item.name = res.name;
- this.item.phone = res.phone;
- this.$forceUpdate();
- });
- //选择商品回显
- uni.$on('selects', res => {
- this.item.goodsName = res.name;
- this.item.levelOneGoodsId = res.id;
- this.item.goodsImg = res.avatar;
- this.item.goodsNo = res.code;
- this.item.goodsUnit = res.unit;
- this.$forceUpdate();
- });
- },
- methods: {
- //选择地址
- address() {
- uni.navigateTo({ url: '/pages/market/two/purchaser/address/list?select=true' });
- },
- //选择互市区
- selectArea() {
- uni.navigateTo({ url: '/pages/market/one/merchant/goods/area' });
- },
- //选择商品
- selectGoods() {
- if (this.item.tradeAreaId) {
- uni.navigateTo({ url: '/pages/market/one/merchant/goods/selects?tradeAreaId=' + this.item.tradeAreaId + '&tradeAreaName=' + this.item.tradeAreaName });
- } else {
- uni.showModal({ content: '请先选择互市区', showCancel: false });
- return;
- }
- },
- picker(e, tag) {
- if (tag == 'arrivalTime') {
- this.item[tag] = e.detail.value;
- }
- if (tag == 'tradeAreaName') {
- this.item.tradeAreaName = this.tradeAreaList[e.detail.value].name;
- this.item.tradeAreaId = this.tradeAreaList[e.detail.value].id;
- }
- this.$forceUpdate();
- },
- //保存或发布
- save(isRelease) {
- let rule = [
- { name: 'addressName', checkType: 'notnull', errorMsg: '请选择一个收货地址' },
- { name: 'tradeAreaName', checkType: 'notnull', errorMsg: '请选择互市区' },
- { name: 'goodsName', checkType: 'notnull', errorMsg: '请选择商品' },
- { name: 'goodsQuantity', checkType: 'notnull', errorMsg: '请输入数量' },
- { name: 'arrivalTime', checkType: 'notnull', errorMsg: '请选择到货日期' }
- ];
- if (!this.verify.check(this.item, rule)) {
- uni.showModal({ content: this.verify.error, showCancel: false });
- return false;
- }
- this.item.isRelease = isRelease;
- delete this.item.createTime;
- delete this.item.updateTime;
- let action = this.item.id ? 'update' : 'add';
- this.http.request({
- url: '/level-two-server/app/TbGoodsDemand/' + action,
- method: 'POST',
- data: this.item,
- success: res => {
- uni.showToast({ title: '操作成功' });
- setTimeout(() => {
- uni.$emit('purchaser_buy_list');
- uni.navigateBack();
- }, 1000);
- }
- });
- }
- }
- };
- </script>
- <style lang="scss">
- .cmain {
- padding-bottom: 90px;
- }
- .address {
- border-bottom: 1px solid $line;
- }
- .btn {
- width: 100%;
- border-radius: 5px;
- }
- </style>
|