This commit is contained in:
weipengfei 2023-09-21 18:04:31 +08:00
commit 30bb712b86
34 changed files with 2014 additions and 937 deletions

11
App.vue
View File

@ -85,7 +85,6 @@
}, 6000)
}
// #ifdef APP-PLUS
//uniMP
initEvent();
@ -156,7 +155,7 @@
that.getConfigData()
//#ifdef APP-PLUS
this.checknetwork()
this.checknetwork()
jpushModule.setLoggerEnable(true);
jpushModule.initJPushService()
@ -222,7 +221,7 @@
},
onShow() {
let that = this
// H5
if (this.$store.state.app.token) {
@ -251,7 +250,7 @@
// #endif
},
mounted() {
},
methods: {
@ -261,11 +260,11 @@
uni.onNetworkStatusChange(function(res) {
if (res.isConnected) {
uni.reLaunch({
url: '/pages/index/index'
})
} else {
uni.showModal({

View File

@ -17,14 +17,14 @@ export const getProductDetailsAPI = (data) => request.get('micro/product_details
/**
*商品列表
*/
export const spuInfo = (id,data) => request.get('product/spu/street/'+id, data)
export const spuInfo = (id, data) => request.get('product/spu/street/' + id, data)
/**
* 线下导入
*/
export function postImport(merid,data) {
return request.post(`server/${merid}/product/stockIn`, data);
export function postImport(merid, data) {
return request.post(`server/${merid}/product/stockIn`, data);
}
/**
* 获取商户基本信息 http://127.0.0.1:8324/api/store/merchant/info?id=4
@ -38,20 +38,26 @@ export const merchantUpdateAPI = (data) => request.post('store/merchant/update',
* 商品列表
*/
export function productLstApi(merId, data) {
return request.get(`server/${merId}/product/lst`, data, { login: true });
return request.get(`server/${merId}/product/lst`, data, {
login: true
});
}
/**
* 商品列表 -- 删除
*/
export function productDeleteApi(merId, id) {
return request.post(`server/${merId}/product/delete/${id}`, {}, { login: true });
return request.post(`server/${merId}/product/delete/${id}`, {}, {
login: true
});
}
/**
* 商品列表 -- 上下架
*/
export function productOffApi(merId, id, data) {
return request.post(`server/${merId}/product/status/${id}`, data, { login: true });
return request.post(`server/${merId}/product/status/${id}`, data, {
login: true
});
}
/*
@ -59,7 +65,9 @@ export function productOffApi(merId, id, data) {
*/
export function productTitle(merId, data) {
return request.get(`server/${merId}/product/title`, data, { login: true });
return request.get(`server/${merId}/product/title`, data, {
login: true
});
}
/*
@ -67,7 +75,9 @@ export function productTitle(merId, data) {
*/
export function productDestory(merId, id, data) {
return request.post(`server/${merId}/product/destory/${id}`, data, { login: true });
return request.post(`server/${merId}/product/destory/${id}`, data, {
login: true
});
}
/*
@ -75,7 +85,9 @@ export function productDestory(merId, id, data) {
*/
export function productRestore(merId, id) {
return request.post(`server/${merId}/product/restore/${id}`, {}, { login: true });
return request.post(`server/${merId}/product/restore/${id}`, {}, {
login: true
});
}
/*
@ -83,7 +95,9 @@ export function productRestore(merId, id) {
*/
export function categoryBrandlist(merId) {
return request.get(`server/${merId}/category/brandlist`, {}, { login: true });
return request.get(`server/${merId}/category/brandlist`, {}, {
login: true
});
}
/*
@ -91,7 +105,9 @@ export function categoryBrandlist(merId) {
*/
export function categorySelect(merId) {
return request.get(`server/${merId}/category/select`, {}, { login: true })
return request.get(`server/${merId}/category/select`, {}, {
login: true
})
}
/*
@ -99,7 +115,9 @@ export function categorySelect(merId) {
*/
export function categoryList(merId) {
return request.get(`server/${merId}/category/list`, {}, { login: true })
return request.get(`server/${merId}/category/list`, {}, {
login: true
})
}
/*
@ -107,13 +125,17 @@ export function categoryList(merId) {
*/
export function productCreate(merId, data) {
return request.post(`server/${merId}/product/create`, data, { login: true })
return request.post(`server/${merId}/product/create`, data, {
login: true
})
}
/**
* 商品列表 -- 设置推荐
*/
export function productRecommendApi(merId, id, data) {
return request.post(`server/${merId}/product/good/${id}`, data, { login: true });
return request.post(`server/${merId}/product/good/${id}`, data, {
login: true
});
}
/*
@ -121,119 +143,181 @@ export function productRecommendApi(merId, id, data) {
*/
export function attrList(merId, data) {
return request.get(`server/${merId}/attr/lst`, data, { login: true })
return request.get(`server/${merId}/attr/lst`, data, {
login: true
})
}
/*
请求运费模板
*/
export function templateList(merId, data) {
return request.get(`server/${merId}/template/lst`, data, { login: true })
return request.get(`server/${merId}/template/lst`, data, {
login: true
})
}
/*
运费模板 -- 删除
*/
export function templateDelete(merId, data) {
return request.post(`server/${merId}/template/delete`, data, { login: true })
return request.post(`server/${merId}/template/delete`, data, {
login: true
})
}
/**
* 运费模板 -- 详情
*/
export function templateDetail(merId, id) {
return request.get(`server/${merId}/template/detail/${id}`, {}, { login: true });
return request.get(`server/${merId}/template/detail/${id}`, {}, {
login: true
});
}
/*
运费模板 -- 添加
*/
export function templateCreate(merId, data) {
return request.post(`server/${merId}/template/create`, data, { login: true });
return request.post(`server/${merId}/template/create`, data, {
login: true
});
}
/*
运费模板 -- 编辑
*/
export function templateUpdate(merId, id, data) {
return request.post(`server/${merId}/template/update/${id}`, data, { login: true });
return request.post(`server/${merId}/template/update/${id}`, data, {
login: true
});
}
/**
* 店铺分类 -- 列表
*/
export function storeClassifyLst(merId) {
return request.get(`server/${merId}/category/lst`, {}, { login: true });
return request.get(`server/${merId}/category/lst`, {}, {
login: true
});
}
/**
* 店铺分类 -- 列表(删除)
*/
export function storeClassifyDel(merId, id) {
return request.post(`server/${merId}/category/delete/${id}`, {}, { login: true });
return request.post(`server/${merId}/category/delete/${id}`, {}, {
login: true
});
}
/**
* 上级分类 -- 商户列表
*/
export function merClassifyLst(merId) {
return request.get(`server/${merId}/category/select`, {}, { login: true });
return request.get(`server/${merId}/category/select`, {}, {
login: true
});
}
/**
* 店铺分类 -- 添加
*/
export function merClassifyAdd(merId, data) {
return request.post(`server/${merId}/category/create`, data, { login: true });
return request.post(`server/${merId}/category/create`, data, {
login: true
});
}
/**
* 店铺分类 -- 详情
*/
export function merClassifyDetail(merId, id) {
return request.get(`server/${merId}/category/detail/${id}`, {}, { login: true });
return request.get(`server/${merId}/category/detail/${id}`, {}, {
login: true
});
}
/**
* 店铺分类 -- 编辑
*/
export function merClassifyUpdate(merId, id, data) {
return request.post(`server/${merId}/category/update/${id}`, data, { login: true });
return request.post(`server/${merId}/category/update/${id}`, data, {
login: true
});
}
/**
* 商品规格项目 -- 列表
*/
export function specificationLst(merId, data) {
return request.get(`server/${merId}/attr/lst`, data, { login: true });
return request.get(`server/${merId}/attr/lst`, data, {
login: true
});
}
/**
* 商品规格项目 -- 删除
*/
export function specificationDel(merId, data) {
return request.post(`server/${merId}/attr/delete`, data, { login: true });
return request.post(`server/${merId}/attr/delete`, data, {
login: true
});
}
/**
* 商品规格项目 -- 添加
*/
export function specificationAdd(merId, data) {
return request.post(`server/${merId}/attr/create`, data, { login: true });
return request.post(`server/${merId}/attr/create`, data, {
login: true
});
}
/**
* 商品规格项目 -- 编辑
*/
export function specificationUpdate(merId, id, data) {
return request.post(`server/${merId}/attr/update/${id}`, data, { login: true });
return request.post(`server/${merId}/attr/update/${id}`, data, {
login: true
});
}
/**
* 商品规格项目 -- 详情
*/
export function specificationDetail(merId, id) {
return request.get(`server/${merId}/attr/detail/${id}`, {}, { login: true });
return request.get(`server/${merId}/attr/detail/${id}`, {}, {
login: true
});
}
/*
请求商品详情
*/
export function productDetail(merId, id) {
return request.get(`server/${merId}/product/detail/${id}`, {}, { login: true });
return request.get(`server/${merId}/product/detail/${id}`, {}, {
login: true
});
}
/*
编辑商品
*/
export function productUpdate(merId, id, data) {
return request.post(`server/${merId}/product/update/${id}`, data, { login: true });
return request.post(`server/${merId}/product/update/${id}`, data, {
login: true
});
}
/*
添加商品 -- 获取送货方式信息
*/
export function getDeliveryType(merId) {
return request.get(`server/${merId}/product/config`, {}, { login: true });
return request.get(`server/${merId}/product/config`, {}, {
login: true
});
}
/*
商品 -- 获取交易协议内容
*/
export function business() {
return request.get(`business/agree?type=business_apply_agree`, {}, {
noAuth: true
});
}
/*
商品 -- 获取交易申请记录
*/
export function intention(data) {
return request.get(`intention/lst`, data);
}
/*
商品 -- 同意提交申请
*/
export function intentionbus(data) {
return request.post(`intention/business`, {});
}

View File

@ -572,4 +572,11 @@ export function supAgoodsApi(data) {
// }
export function vicinityStoreApi(data) {
return request.get(`region/${data}/merchant`);
}
/*
商家入驻 -- 获取商户入驻申请协议内容
*/
export function agreeiness() {
return request.get(`business/agree?type=sys_intention_agree`, {}, { noAuth: true });
}

View File

@ -719,4 +719,5 @@ export function getBankInfo() {
// 商户账单管理
export function getBillDetil() {
return request.get(`mer/financial_record`)
}
}

View File

@ -65,14 +65,14 @@
type: Boolean,
default: false
},
location_Arr: {
type: Object,
default: () => ({})
},
town: {
type: String,
default: false
},
// location_Arr: {
// type: Object,
// default: () => ({})
// },
// town: {
// type: String,
// default: false
// },
},
data() {

View File

@ -9,8 +9,8 @@ let httpApiThree
// 网络接口修改此字符 小程序域名要求https
// let httpApi = 'http://192.168.31.110:8324' // 测试
if (process.env.NODE_ENV === "development") {
httpApi = 'https://shop.lihaink.cn' // 生产
// httpApi = "https://crmeb-test.shop.lihaink.cn"
// httpApi = 'https://shop.lihaink.cn' // 生产
httpApi = "https://crmeb-test.shop.lihaink.cn"
// httpApi = "http://192.168.0.222"
// httpApi = "http://192.168.0.108:8325"
// httpApi = 'http://192.168.0.108:8325'
@ -22,10 +22,11 @@ if (process.env.NODE_ENV === "development") {
// httpApiTwo = "baseUrl" // h5跨域配置
httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置
// httpApiThree = 'baseUrlTest' // h5跨域配置
// #endif
} else if (process.env.NODE_ENV === 'production') {
httpApi = 'https://shop.lihaink.cn' // 生产
// httpApi = "https://crmeb-test.shop.lihaink.cn"
httpApiTwo = 'https://nk.lihaink.cn' // 生产
httpApiThree = 'http://ceshi-oa.lihaink.cn' //生产

View File

@ -2,8 +2,8 @@
"name" : "惠农生活",
"appid" : "__UNI__3A527D1",
"description" : "",
"versionName" : "1.3.8",
"versionCode" : 138,
"versionName" : "1.4.1",
"versionCode" : 141,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -128,26 +128,25 @@
"enablePullDownRefresh": false
}
}, {
"path": "uni_modules/guyue-updater/pages/updater",
"style": {
"app-plus": {
"animationDuration": 200,
"animationType": "fade-in",
"background": "transparent",
"backgroundColorTop": "transparent",
"bounce": "none",
"popGesture": "none",
"scrollIndicator": false,
"titleNView": false
},
"backgroundColor": "transparent",
"disableScroll": true,
"navigationStyle": "custom"
}
}
,{
"path": "uni_modules/guyue-updater/pages/updater",
"style": {
"app-plus": {
"animationDuration": 200,
"animationType": "fade-in",
"background": "transparent",
"backgroundColorTop": "transparent",
"bounce": "none",
"popGesture": "none",
"scrollIndicator": false,
"titleNView": false
},
"backgroundColor": "transparent",
"disableScroll": true,
"navigationStyle": "custom"
}
}
],
],
"subPackages": [{
"root": "pages/goods_cate",
"name": "goods_cate",
@ -1123,6 +1122,18 @@
"navigationBarTitleText": "商品管理",
"enablePullDownRefresh": true
}
},{
"path": "transactionApplication/index",
"style": {
"navigationBarTitleText": "交易申请",
"enablePullDownRefresh": false
}
},{
"path": "transactionApplication/application",
"style": {
"navigationBarTitleText": "申请记录",
"enablePullDownRefresh": false
}
},
{
"path": "goodsOnSale/index",
@ -1625,7 +1636,7 @@
"iconPath": "static/tabbar_icon/c.png",
"selectedIconPath": "static/tabbar_icon/c-a.png",
"text": "发布"
},
{
"pagePath": "pages/supply_chains/supply_chains",
@ -1641,7 +1652,7 @@
"text": "我的"
}
]

View File

@ -30,7 +30,7 @@
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr" :town="street" @kkchange="kkchange"></zbpSwiper>
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr" :town="street" ></zbpSwiper>
<u-empty :show="jurisdiction" mode="permission" :text="emptyText"
icon="http://cdn.uviewui.com/uview/empty/permission.png"></u-empty>
<view class="business com special_work" v-if="jurisdiction == false">
@ -73,9 +73,7 @@
</view>
</view>
<view class="" v-if="jurisdiction == false && isShow == false">
<emptyPage title="暂无信息"></emptyPage>
</view>
<u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
<!-- <m-tabbar native>
@ -91,7 +89,7 @@
<script>
import Cache from '@/utils/cache';
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
import emptyPage from '@/components/emptyPage.vue';
import zbpSwiper from '@/components/zbpSwiper'
import {
getArea,
@ -127,8 +125,8 @@
export default {
components: {
mTabbar,
zbpSwiper,
emptyPage
zbpSwiper
},
data() {
return {
@ -143,7 +141,7 @@
},
prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/',
isShow: false,
bgColor: '',
isFshow: false,
street: '',
//
@ -166,7 +164,7 @@
street: '',
showPicker: false,
columnData: [],
bgColor: '',
isFshow: false,
backColor: 'rgba(252, 252, 252, 0)'
};
@ -293,6 +291,7 @@
this.getUniMp(data);
break;
case 2:
this.navigator(data);
break;
}
@ -410,10 +409,6 @@
},
kkchange(e) {
this.bgColor = e
},
navigator(url, t) {
// if (this.userInfoData.is_wsxx === 0 && t != '') return Toast("");
uni.navigateTo({

View File

@ -66,7 +66,7 @@
},
mounted() {
this.countDown()
this.countDown()
},
methods: {
@ -74,7 +74,7 @@ this.countDown()
let {
num
} = this;
if (num === 3) this.nums = true;
// if (num === 3) this.nums = true;
num = num > 0 ? num - 1 : "GO";
setTimeout(() => {
this.num = num;

View File

@ -1,7 +1,7 @@
<template>
<view class="gather">
<block v-if="isShow">
<view class="" v-if="userInfoData.mer_info.setup_status==1">
<block v-if="isShow&&userInfoData.mer_info.mer_name">
<view class="" v-if="userInfoData.mer_info.business_status==2">
<view class="special_work com" v-if="userInfoData.mer_info.type_code === 'TypeSupplyChain'">
<view class="special_work com" v-if="true">
<view class="title">市级供应链</view>
@ -37,6 +37,12 @@
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill"></image>
<text class="text">商户设置</text>
</view>
<view class="examine"
@click="navigator(`/pages/product/transactionApplication/index?mer_id=${mer_id}`, '交易申请')">
<image class="icon_img" src="@/static/images/jy.png" mode="aspectFill">
</image>
<text class="text">交易申请</text>
</view>
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
</image>
@ -91,7 +97,7 @@
<view class="special_work com">
<view class="title">我的店铺</view>
<view class="content ">
<!-- <view class="examine"
<!-- <view class="examine"
@click="navigator(`/pages/users/supply_procurement/index?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`)">
@ -151,6 +157,12 @@
</image>
<text class="text">商户设置</text>
</view>
<view class="examine"
@click="navigator(`/pages/product/transactionApplication/index?mer_id=${mer_id}`, '交易申请')">
<image class="icon_img" src="@/static/images/jy.png" mode="aspectFill">
</image>
<text class="text">交易申请</text>
</view>
<!-- <view class="examine"
@click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)">
<image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill">
@ -251,6 +263,12 @@
</image>
<text class="text">商户设置</text>
</view>
<view class="examine"
@click="navigator(`/pages/product/transactionApplication/index?mer_id=${mer_id}`, '交易申请')">
<image class="icon_img" src="@/static/images/jy.png" mode="aspectFill">
</image>
<text class="text">交易申请</text>
</view>
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
</image>
@ -304,6 +322,12 @@
</image>
<text class="text">商户设置</text>
</view>
<view class="examine"
@click="navigator(`/pages/product/transactionApplication/index?mer_id=${mer_id}`, '交易申请')">
<image class="icon_img" src="@/static/images/jy.png" mode="aspectFill">
</image>
<text class="text">交易申请</text>
</view>
</view>
</view>
</view>
@ -325,20 +349,21 @@
</image>
<text class="text">商户设置</text>
</view>
<view class="examine" v-if="userInfoData.mer_info.setting_status==1" @click="navigator(`/pages/product/transactionApplication/index?mer_id=${mer_id}&business_status=${userInfoData.mer_info.business_status}`, '交易申请')">
<image class="icon_img" src="@/static/images/jy.png" mode="aspectFill">
</image>
<text class="text">交易申请</text>
</view>
</view>
</view>
</view>
</view>
</block>
<!-- <m-tabbar native>
<template v-slot:tabbar_index_2>
<view class="custom_style">
<view class="custom_style_icon"></view>
</view>
</template>
</m-tabbar> -->
<view class="" style="padding-top: 1px;" v-if='jurisdiction==false&&isShow==false'>
<view class="" style="padding-top: 1px;" v-else>
<emptyPage title="暂无信息"></emptyPage>
</view>
@ -350,15 +375,12 @@
import emptyPage from '@/components/emptyPage.vue';
import zbpSwiper from '@/components/zbpSwiper'
import {
mapState,
mapGetters
} from 'vuex'
import {
getWorkArticleCount,
getSlideAPI
} from '@/api/article.js'
import {
getStoreList,
getUserInfo
} from '@/api/user.js'
import {
@ -398,7 +420,7 @@
};
},
computed: {
...mapGetters(['userInfo', 'location', 'isLogin'])
...mapGetters(['userInfo', 'isLogin'])
},
created() {},
onLoad() {},
@ -411,98 +433,14 @@
this.jurisdiction = true
}
this.getUserInfo()
this.appLocation()
},
onPullDownRefresh() {
this.getUserInfo()
uni.stopPullDownRefresh()
},
mounted() {
this.appLocation()
},
methods: {
appLocation() {
uni.getLocation({
type: 'wgs84',
timeout: '10',
success: (res) => {
// console.log(res)
let latitude, longitude;
latitude = res.latitude.toString();
longitude = res.longitude.toString();
getGeocoder({
lat: latitude,
long: longitude
}).then(res => {
this.street = res.data.address_component.street
Cache.set('ADRESS_LOCATION', this.street)
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
})
})
},
fail: (err) => {
uni.showToast({
title: "获取定位超时",
icon: 'none',
duration: 2000
});
}
});
},
scrolling() {
//
let scrollTop =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;
//
let scrollStep = scrollTop - this.oldScrollTop;
console.log("header 滚动距离 ", scrollTop);
//
this.oldScrollTop = scrollTop;
//windowHeight
let windowHeight =
document.documentElement.clientHeight || document.body.clientHeight;
//scrollHeight
let scrollHeight =
document.documentElement.scrollHeight || document.body.scrollHeight;
//
if (scrollTop + windowHeight == scrollHeight) {
//
console.log("header 你已经到底部了");
}
if (scrollStep < 0) {
this.isFshow = false
console.log("header 滚动条向上滚动了!");
} else {
this.isFshow = true
console.log("header 滚动条向下滚动了!");
}
//
if (scrollTop <= 0) {
this.isFshow = false
console.log("header 到了最顶部")
}
},
kkchange(e) {
this.bgColor = e
},
navigator(url, t) {
// if (this.userInfoData.is_wsxx === 0 && t != '') return Toast("");
uni.navigateTo({
url: url
})

File diff suppressed because it is too large Load Diff

View File

@ -14,21 +14,44 @@
<view class="back" @click='backjJump()' style="margin-right: 17rpx;">
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view>
</view>
<view class="" style="font-size: 40rpx;font-weight: 700;transform: skewX(-10deg);">
<view class="" style="font-size: 40rpx;font-weight: 700;">
供销综合云市场
</view>
<view style="margin-left: 20rpx;transition: 0.3s;" @click="showSelect=!showSelect"
:class="{selects:showSelect}">
<u--image :showLoading="true" src="/static/images/GXSC/XL.png" width="33.29rpx"
height="33.29rpx"></u--image>
</view>
</view>
<view class="">
<view style="position: relative;width: 289.14rpx;">
<u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false"
placeholder="请输入..." v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SS.png" width="115.65rpx" height="56.82rpx"></u--image>
</view>
<view class='iconfont search-right'
@click="goMap(`/pages/nongKe/supply_chain/maps?street_id=${street_id}`)">
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="50.82rpx"
<!-- 搜索框 -->
<view style="position: relative;width: 289.14rpx;" v-if="showSerch">
<u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false"
placeholder="请输入..." v-model="sotreParam.keyword" @search="onInputConfirm"
class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image>
</view>
<!-- 位置 -->
<view v-else style="display: flex;align-items: center;" @click="showPicker=!showPicker">
<u--image @tap="showSerch=!showSerch" style="margin-right: 30rpx;" :showLoading="true"
src="/static/images/GXSC/SS.png" width="49rpx" height="49rpx"></u--image>
<u--image :showLoading="true" src="/static/images/GXSC/DW1.png" width="50.82rpx"
height="50.82rpx"></u--image>
<view class="town_name">{{street}}</view>
</view>
</view>
<view class="selected-list" :class="{actSel:showSelect}">
<div class="triangle-up"></div>
<view class="selected-li">
供销综合云市场 <text> <u--image style="margin-left: 40rpx;" :showLoading="true"
src="/static/images/GXSC/XZ.png" width="24.53rpx" height="24.53rpx"></u--image> </text>
</view>
<view class=""
@click="navGoto(`/pages/nongKe/cloud_entrepot/index?street=${street_id}&town=${street}`)">
供销综合云商品
</view>
</view>
@ -36,12 +59,13 @@
</view>
<view class="content">
<view style="background-color: red;height: 10px">
<view style="height: 10px">
</view>
<view class="hot_serch">
<text>热搜:</text> <text @click="hotSerchFn('小张副食')">小张副食</text> <text
@click="hotSerchFn('正新酒店')">正新酒店</text>
<text>热搜:</text>
<text @click="hotSerchFn('小张副食')">小张副食</text>
<text @click="hotSerchFn('正新酒店')">正新酒店</text>
<text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text>
<text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text>
</view>
@ -274,6 +298,11 @@
<image :src="image"></image>
<image src="@/static/images/guanbi.png" class="guanbi" @click="close"></image>
</u-popup>
<view class="">
<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
</view>
</view>
</view>
@ -303,6 +332,18 @@
configMap
} from '@/utils';
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import {
getArea,
getStreet
} from '@/api/article.js';
import {
getIndexData,
getDiy
} from '@/api/api.js'
import Cache from '@/utils/cache';
const app = getApp();
export default {
components: {
@ -312,6 +353,9 @@
},
data() {
return {
defaInd: [0, 0],
columnData: [],
showSerch: false,
imgList: [
"/static/images/GXSC/BBY.png",
"/static/images/GXSC/NYSC.png",
@ -331,6 +375,7 @@
"/static/images/GXSC/JDMS.png",
],
street_id: "",
showSelect: false,
price: 0,
stock: 0,
nows: false,
@ -348,6 +393,8 @@
downKey: 0,
downStatus: false,
menuList: [],
street: "",
showPicker: false,
//
downMenu: [{
title: '默认',
@ -406,6 +453,7 @@
onLoad(options) {
// console.log(options);
this.street_id = options.street_id
this.street = options.townName
this.product_type = options.product_type ?? 0
if (options.street_id != undefined) {
this.sotreParam.street_id = options.street_id
@ -424,7 +472,7 @@
supMenuApi().then(res => {
this.menuList = res.data
})
this.Area()
},
computed: {
downMenus: function() {
@ -445,11 +493,103 @@
}, mapGetters(['viewColor'])),
},
methods: {
selectLocation() {
this.isSelectPlace ? this.showPicker = true : ''
},
confirm(e) {
this.showPicker = false
this.$emit('selectPlce', e)
this.$emit('change', e)
this.street = e.value[1].name
this.$nextTick(() => {
this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code);
})
this.sotreParam.street_id = e.value[1].code
this.street_id = e.value[1].code
this.storeMerchantList()
},
changeHandler(e) {
const {
columnIndex,
value,
values,
index,
picker = this.$refs.uPicker
} = e;
if (columnIndex === 0) {
getStreet({
area_code: value[0]['code']
}).then(res => {
picker.setColumnValues(1, res.data);
});
}
},
Area() {
getArea({
city_code: 510500
}).then(res => {
this.$refs.uPicker.setColumnValues(0, res.data);
// this.Street(res.data[0]['code']);
// console.log(res.data, 66666)
});
},
Street(code) {
getStreet({
area_code: code
}).then(res => {
this.$refs.uPicker.setColumnValues(1, res.data);
console.log(res.data, 9999)
});
},
swiperChange(e) {
let {
current,
source
} = e.detail;
if (source === 'autoplay' || source === 'touch') {
this.bgColor = this.swiper.url[e.detail.current]['img']
this.$emit('kkchange', this.bgColor)
}
},
onInputConfirm() {
this.showSerch = false
this.searchSubmit()
},
//
objToArr(data) {
let obj = Object.keys(data).sort();
let m = obj.map(key => data[key]);
return m;
},
async getBanner(id) {
let that = this;
const {
data
} = await getDiy({
id: 0
})
that.styleConfig = that.objToArr(data.value);
/* 循环数组得到数据*/
that.styleConfig.forEach((item, index, arr) => {
if (item.name == 'headerSerch' || item.name == 'homeComb') {
if (item.name == 'homeComb') {
that.swiper.url = item.swiperConfig.list
}
}
})
this.bgColor = this.swiper.url[0].img
},
test() {
if (this.sotreParam.keyword.length > 3) {
this.sotreParam.keyword.slice(0, 3)
this.sotreParam.keyword = this.sotreParam.keyword.slice(0, 3) + "..."
console.log(this.sotreParam.keyword)
}
// console.log(this.sotreParam.keyword.length)
},
@ -462,6 +602,11 @@
url
})
},
navGoto(url) {
uni.redirectTo({
url
})
},
navGo(id) {
uni.navigateTo({
url: `/pages/nongKe/supply_chain/supplierA?type_id=10&merchant_category_id=${id}&street_id=${this.street_id}`
@ -644,7 +789,7 @@
// console.log(rqData)
storeMerchantList(rqData).then(res => {
this.count = res.data.count
this.storeList = this.storeList.concat(res.data.list)
this.storeList = (res.data.list)
this.loading = false
this.loadingIcon = false
})
@ -667,6 +812,7 @@
let that = this;
that.$set(that.sotreParam, 'keyword', this.sotreParam.keyword);
this.set_where(this.firstKey)
this.showSerch = false
},
//
bindRight() {
@ -674,7 +820,7 @@
this.rightBox = true
},
//
confirm(data) {
confirm1(data) {
let arr1 = [],
arr2 = []
if (data.storeTypeArr.length == 0) {
@ -737,6 +883,9 @@
onPullDownRefresh() {
uni.stopPullDownRefresh()
},
onShow() {
this.showSelect = false
},
//
onReachBottom() {
if (this.count === this.storeList.length) {
@ -832,7 +981,7 @@
height: auto;
background-color: white;
padding: 20rpx;
border-radius: 20rpx;
// border-radius: 20rpx;
display: flex;
// align-items: center;
@ -873,6 +1022,11 @@
}
}
.selects {
transform: rotate(180deg);
}
.search-right.styleType2 .right-text,
.search-right.styleType3 .right-text {
@ -901,6 +1055,16 @@
}
}
.town_name {
overflow: hidden;
white-space: nowrap;
/* 设置文本不换行 */
text-overflow: ellipsis;
max-width: 25vw;
font-size: 14px;
/* 设置溢出文本为省略号 */
}
.hot_serch {
color: #B3B3B3;
display: flex;
@ -1086,6 +1250,43 @@
margin-left: 10rpx;
}
.selected-list {
padding: 24rpx 14rpx;
border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx;
background-color: #fff;
position: absolute;
left: 100rpx;
font-size: 29.79rpx;
opacity: 0;
transition: 0.5s;
height: 0;
.triangle-up {
width: 0;
height: 0;
border-left: 10rpx solid transparent;
border-right: 10rpx solid transparent;
border-bottom: 10rpx solid white;
position: absolute;
top: -10rpx;
}
.selected-li {
margin-bottom: 35rpx;
color: #F84221;
display: flex;
align-items: center;
}
}
.actSel {
opacity: 1;
height: auto;
// transform: translateX(100rpx);
}
.store-wrapper {
margin-top: 235rpx;
border-top: 1px solid #F6F6F6;

View File

@ -26,7 +26,7 @@
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SS.png" width="115.65rpx" height="56.82rpx"></u--image>
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image>
</view>
</view>

View File

@ -173,6 +173,7 @@
<script>
import {
Toast
} from '@/libs/uniApi.js'
import {
@ -395,13 +396,20 @@
merchantUpdateAPI(data).then(res => {
Toast(res.message)
setTimeout(() => {
uni.switchTab({
url: '/pages/gather/gather',
fail: (err) => {
// console.log('err', err);
}
});
}, 2000)
// uni.switchTab({
// url: '/pages/moreProject/moreProject',
// fail: (err) => {
// // console.log('err', err);
// }
// });
// uni.navigateTo({
// url:'/pages/moreProject/moreProject'
// })
uni.redirectTo({
url:'/pages/moreProject/moreProject'
})
}, 1000)
}).catch(err => {
Toast(err)
})
@ -422,28 +430,36 @@
});
},
seleckImage(i) {
let that = this
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: function(res) {
console.log(res);
uni.showLoading({
title: '上传中...'
})
uploads(res.tempFilePaths[0], 'img').then(res => {
that.images[i].img = res
uni.hideLoading()
}).catch(err => {
Toast('添加失败')
uni.hideLoading()
})
},
fail: function(err) {
Toast('添加失败')
}
let that = this;
that.$util.uploadImageOne('upload/image', function(res) {
// console.log(res)
that.images[i].img = res.data.path
});
// let that = this
// uni.chooseImage({
// count: 1,
// sizeType: ['original', 'compressed'],
// sourceType: ['album', 'camera'],
// success: function(res) {
// uni.showLoading({
// title: '...'
// })
// console.log(res.tempFilePaths[0],'22222222');
// uploads(res.tempFilePaths[0], 'img').then(res => {
// console.log(res,'3333');
// that.images[i].img = res
// uni.hideLoading()
// }).catch(err => {
// Toast('')
// uni.hideLoading()
// })
// },
// fail: function(err) {
// Toast('')
// }
// });
},
delImg(i) {
let that = this

View File

@ -0,0 +1,163 @@
<template>
<view class="content">
<view class="">
<view class="content_con" v-for="(item,index) in datalist" :key='index'>
<view class="content_title">
<view class="content_title_a" v-if="item.status==1">
已通过
</view>
<view class="content_title_c" v-else-if="item.status==2">
已拒绝
</view>
<view class="content_title_b" v-else-if="item.status==0">
审核中
</view>
<view class="content_title_d">
{{item.mer_name}}
</view>
</view>
<view class="" v-if="item.fail_msg" style="margin-top: -50rpx;color: red;">
拒绝原因{{item.fail_msg}}
</view>
<view class="content_detail">
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请人</view>
<span>{{item.name}}</span><text style="margin-left: 20rpx;">{{item.phone}}</text>
</view>
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请时间</view>
<span>{{item.create_time}}</span>
</view>
</view>
</view>
</view>
<view class="" style="padding-top: 1px;" v-if='datalist.length==0'>
<emptyPage title="暂无申请信息"></emptyPage>
</view>
</view>
</template>
<script>
import emptyPage from '@/components/emptyPage.vue';
import {
intention
} from "@/api/product"
export default {
components: {
emptyPage
},
data() {
return {
datalist: [],
where: {
type: 2,
page: 1,
limit: 10
},
}
},
onLoad() {
this.list()
},
methods: {
list() {
intention(this.where).then(res => {
this.datalist = res.data.list
})
}
}
}
</script>
<style lang="scss">
.content {
padding: 12rpx 12rpx;
}
.content_con {
padding: 42rpx 32rpx;
height: 294rpx;
background: #FFFFFF;
border-radius: 21rpx 21rpx;
margin-top: 20rpx;
}
.content_title {
display: flex;
margin-bottom: 70rpx;
}
.content_title_a {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #16C295;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_b {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #3274F9;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_c {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #ff0000;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_d {
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
margin-left: 20rpx;
margin-top: -7rpx;
}
.content_detail {
font-size: 30rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
view {
margin-bottom: 10rpx;
}
}
</style>

View File

@ -0,0 +1,241 @@
<template>
<view v-if="!successful" class="content">
<view class="content-detail">
<view class="content-title">
<view class="content-title-a">
交易申请协议
</view>
<view class="content-title-b" @click="navation">
申请记录
</view>
</view>
<view class="">
<view v-html="detail.business_apply_agree">
</view>
</view>
</view>
<view class="content-bottom" v-if="type==0">
<view class="bottombtn_no" @click="noagree">拒绝</view>
<view class="bottom_agree" @click="agree">同意</view>
</view>
<view class="content-bottom" v-if="type==1||type==3">
<view class="bottom_agree" @click="agree">重新申请</view>
</view>
</view>
<view class="settledSuccessMain" v-else>
<view class="settledSuccessful">
<image class="image" src="@/pages/store/static/images/settledSuccessful.svg">
<view class="title">恭喜您的资料提交成功</view>
<view class="info">预计15个工作日内审核完毕平台客服会及时与您联系</view>
<view class="goHome" hover-class="none" @click="goHome">
返回首页
</view>
</view>
</view>
</template>
<script>
import {
business,
intentionbus
} from "@/api/product"
export default {
data() {
return {
detail: {},
type: 0,
successful: false
}
},
onLoad(e) {
this.type = e.business_status
this.list()
},
methods: {
//
list() {
business().then(res => {
this.detail = res.data
})
},
//
goHome() {
uni.switchTab({
url: '/pages/index/index'
});
},
//
navation() {
uni.navigateTo({
url: '/pages/product/transactionApplication/application'
})
},
//
noagree() {
uni.navigateTo({
url: '/pages/moreProject/moreProject'
})
},
//
agree() {
intentionbus().then(res => {
if (res.status == 200) {
this.$util.Tips({
title: res.message,
icon: 'success',
})
this.successful=true
}
}).catch((err) => {
this.$util.Tips({
title: err,
icon: 'error',
})
})
},
}
}
</script>
<style lang="scss" scoped>
.content {
position: relative;
}
.content-detail {
padding: 20rpx 20rpx;
color: #333333;
font-size: 28rpx;
margin-bottom: 155rpx;
.content-title {
color: #333333;
font-size: 32rpx;
text-align: center;
margin-top: 40rpx;
margin-bottom: 40rpx;
.content-title-b {
width: 165rpx;
height: 70rpx;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
text-align: center;
line-height: 70rpx;
background: linear-gradient(90deg, #F84221 0%, #FF6D20 100%);
box-shadow: 0px 4rpx 11rpx 2rpx rgba(252, 89, 32, 0.49);
border-radius: 37rpx 0px 0px 37rpx;
opacity: 1;
position: absolute;
top: 40rpx;
right: 0;
}
}
}
.content-bottom {
position: absolute;
width: 100%;
bottom: 0;
position: fixed;
height: 175rpx;
background: #FFFFFF;
display: flex;
justify-content: space-around;
.bottombtn_no {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
border-radius: 46rpx 46rpx;
opacity: 1;
border: 2rpx solid #B3B3B3;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
}
.bottom_agree {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
}
.settledSuccessMain {
height: 100vh;
display: flex;
flex-direction: column;
background: #fff;
}
.settledSuccessful {
flex: 1;
width: 100%;
padding: 0 56px;
height: auto;
background: #fff;
text-align: center;
}
.settledSuccessful .image {
width: 189px;
height: 157px;
margin-top: 66px;
}
.settledSuccessful .title {
color: #333333;
font-size: 16px;
font-weight: bold;
margin-top: 35px;
}
.settledSuccessful .info {
color: #A0A0A0;
font-size: 13px;
margin-top: 12px;
}
.settledSuccessful .goHome {
margin: 60px auto 0;
line-height: 43px;
color: #282828;
font-size: 15px;
border: 1px solid #B4B4B4;
border-radius: 60px;
}
</style>

View File

@ -618,6 +618,12 @@
value: 2,
}
],
tabs5: [{
icon: 'icon-yizhan_o',
name: '云商品',
value: 7,
}
],
tabs: [],
storeScroll: true,
storeTop: 0,
@ -627,7 +633,8 @@
service_open: false,
type: 3,
statusBarHeight: 0,
isLihaiYun: ''
isLihaiYun: '',
business_status:0
}
},
computed: {
@ -768,8 +775,15 @@
this.storeHeight = data.height;
this.storeTop = data.top;
}).exec();
this.userinfo()
},
methods: {
userinfo(){
getUserInfo().then(res => {
this.business_status=res.data.mer_info.business_status
})
},
getProductSpu() {
let that = this;
if (that.loadend) return;
@ -954,7 +968,12 @@
// this.tabs = this.tabs2
// this.service_open = false
// }
this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3
if(this.business_status==2){
this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3
}else{
this.tabs = this.tabs5
}
this.tab(this.type)
// #ifdef H5
this.ShareInfo();

View File

@ -19,13 +19,8 @@
placeholder-class='placeholder' />
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">用户姓名</text>
<input type="text" placeholder="请输入姓名" v-model="merchantData.user_name" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">联系电话</text>
@ -123,11 +118,18 @@
<input type="text" maxlength="30" placeholder="请输入公司名称"
v-model="merchantData.company_name" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">法人名称</text>
<input type="text" placeholder="请输入法人名称" v-model="merchantData.user_name" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
<view class="item">
<view class="uni-list">
<view class="uni-list-cell">
@ -141,7 +143,7 @@
</view>
</view>
</view>
<!-- <view class="item">
<view class="acea-row row-middle">
<text class="item-name">是否农贸市场</text>
@ -172,7 +174,10 @@
</checkbox-group>
<button class="settleAgree" @click="getConfig">入驻协议</button>
</view>
<button class='submitBtn' :class="validate === true ? 'on':''" @click="formSubmit">提交申请</button>
<button class='submitBtn' :class="validate === true? 'on':''" @click="formSubmit">
提交申请
</button>
</view>
</view>
</form>
@ -186,6 +191,28 @@
</view>
</view>
</view>
<view class="settlementAgreement" v-if="isshow">
<view class="setAgCount">
<i class="icon iconfont icon-cha" @click="recuo"></i>
<div class="title">商户入驻协议</div>
<view class="contenta">
<jyf-parser :html="detail.sys_intention_agree" ref="article" :tag-style="tagStyle"></jyf-parser>
</view>
<view class="setAgCountbtn">
<button class="setAgCountbtna" @click="refuse">
拒绝
</button>
<button :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="isshow=false">
<text v-if="num>0">请仔细阅读协议{{num}}S</text>
<text v-else>同意</text>
</button>
</view>
</view>
</view>
<view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
</view>
@ -221,7 +248,8 @@
merClassifly,
getGoodsDetails,
updateGoodsRecord,
getStoreTypeApi
getStoreTypeApi,
agreeiness
} from '@/api/store.js';
import {
getCaptcha,
@ -266,6 +294,7 @@
showProtocol: false,
isShowCode: false,
loading: false,
isshow: false,
merchantData: {
enterprise_name: "",
user_name: "",
@ -314,6 +343,8 @@
},
mer_i_id: null, // id
isType: false,
num: 30,
detail: {}
};
},
beforeDestroy() {
@ -323,6 +354,7 @@
sys_intention_agree: ''
}, mapGetters(['isLogin', 'viewColor', 'keyColor'])),
onLoad(options) {
if (this.isLogin) {
this.getClassfication();
this.getStoreType();
@ -340,10 +372,61 @@
})
}
this.getArea()
this.shoplist()
},
onShow() {},
onReady() {},
methods: {
//
recuo() {
if (this.num > 0) {
this.num = 30
this.isshow = false
} else {
this.num = 0
this.isshow = false
}
},
//
refuse() {
uni.switchTab({
url: '/pages/user/index'
})
},
countDown() {
let {
num
} = this;
// if (num === 3) this.nums = true;
num = num > 0 ? num - 1 : "0";
setTimeout(() => {
this.num = num;
if (num == '0') {
// this.launchApp()
return
}
if (this.isshow == false && this.num > 0) {
this.num = 30
return
}
this.countDown();
}, 1000);
},
//
shoplist() {
agreeiness().then(res => {
// console.log(res)
this.detail = res.data
})
},
//
// change(e) {
// this.isnum = (e === true ? 1 : 0)
@ -426,7 +509,7 @@
this.street_id = resData.street_id
this.mer_storeType = resData.mer_storeType
this.village_id = resData.village_id
})
this.pics = resData.images
this.mer_classification = this.getCategoryName(resData.merchant_category_id, this.array)
@ -458,7 +541,7 @@
this.validateBtn()
},
bindPickerChange1: function(e) {
console.log(e);
this.index1 = e.target.value
let idx = e.target.value
this.merchantData.mer_type = this.storeTypeArr[idx]['mer_type_id']
@ -490,7 +573,7 @@
getStoreType: function() {
getStoreTypeApi()
.then(res => {
console.log(res);
this.storeTypeArr = res.data
})
.catch(res => {
@ -633,62 +716,77 @@
this.isAgree = !this.isAgree;
this.validateBtn();
},
formSubmit: function(e) {
let that = this;
if (that.validateForm() && that.validate) {
let requestData = {
phone: that.merchantData.phone,
mer_name: that.merchantData.enterprise_name,
name: that.merchantData.user_name,
code: that.merchantData.yanzhengma,
company_name:that.merchantData.company_name,
address:that.merchantData.address,
social_credit_code: that.merchantData.social_credit_code,
merchant_category_id: that.merchantData.classification,
mer_type_id: that.merchantData.mer_type,
mer_storeType: this.mer_storeType,
area_id: this.area_id,
street_id: this.street_id,
village_id: this.village_id,
is_nmsc: this.isnum,
images: that.pics
}
that.validate = false;
if (that.mer_i_id) {
updateGoodsRecord(that.mer_i_id, requestData).then(res => {
if (res.status == 200) {
title: '提交成功',
that.loading = true;
that.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => {
that.validate = true;
that.$util.Tips({
title: res
});
})
} else {
create(requestData).then(data => {
if (data.status == 200) {
title: '提交成功',
that.loading = true;
this.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
//
showxy() {
this.isshow = true
},
}).catch(res => {
that.validate = true;
that.$util.Tips({
title: res
});
})
formSubmit: function(e) {
if (this.num == 0) {
let that = this;
if (that.validateForm() && that.validate) {
let requestData = {
phone: that.merchantData.phone,
mer_name: that.merchantData.enterprise_name,
name: that.merchantData.user_name,
code: that.merchantData.yanzhengma,
company_name: that.merchantData.company_name,
address: that.merchantData.address,
social_credit_code: that.merchantData.social_credit_code,
merchant_category_id: that.merchantData.classification,
mer_type_id: that.merchantData.mer_type,
mer_storeType: this.mer_storeType,
area_id: this.area_id,
street_id: this.street_id,
village_id: this.village_id,
is_nmsc: this.isnum,
images: that.pics
}
that.validate = false;
if (that.mer_i_id) {
updateGoodsRecord(that.mer_i_id, requestData).then(res => {
if (res.status == 200) {
title: '提交成功',
that.loading = true;
that.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => {
that.validate = true;
that.$util.Tips({
title: res
});
})
} else {
create(requestData).then(data => {
if (data.status == 200) {
title: '提交成功',
that.loading = true;
this.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => {
that.validate = true;
that.$util.Tips({
title: res
});
})
}
}
} else {
this.isshow = true
this.countDown()
}
},
validateBtn: function() {
let that = this,
@ -768,7 +866,7 @@
if (!this.merchantData.phone) return this.$util.Tips({
title: '请输入手机号'
});
if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(this.merchantData.phone)) return this.$util.Tips({
title: '请输入正确的手机号码'
});
@ -1127,7 +1225,7 @@
.settlementAgreement .setAgCount {
background: #fff;
width: 656rpx;
height: 458px;
// height: 458px;
position: absolute;
top: 50%;
left: 50%;
@ -1180,6 +1278,82 @@
overflow-y: scroll;
}
.settlementAgreement .setAgCount .contenta {
margin-top: 32rpx;
color: #333;
font-size: 26rpx;
line-height: 22px;
text-align: justify;
text-justify: distribute-all-lines;
/*#ifdef H5*/
height: 600rpx;
/*#endif*/
/*#ifdef APP-PLUS*/
height: 530rpx;
/*#endif*/
overflow-y: scroll;
}
.setAgCountbtn {
display: flex;
justify-content: space-around;
.setAgCountbtna {
margin-top: 40rpx;
width: 150rpx;
height: 74rpx;
text-align: center;
line-height: 74rpx;
border-radius: 46rpx 46rpx;
opacity: 1;
border: 2rpx solid #B3B3B3;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
}
.setAgCountbtnb {
margin-top: 40rpx;
padding-left: 20rpx;
padding-right: 20rpx;
height: 74rpx;
text-align: center;
line-height: 74rpx;
background:#cecece;
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
.setAgCountbtnc {
margin-top: 40rpx;
width: 150rpx;
height: 74rpx;
text-align: center;
line-height: 74rpx;
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
}
.settledSuccessMain {
height: 100vh;
display: flex;

View File

@ -36,7 +36,7 @@
<view class="list">
<navigator hover-class="none"
:url="`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_id}`">
:url="`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_id}&townName=${town}`">
<view class="list-m">
<image src="@/static/images/f6.png" mode="aspectFit"></image>
<view class="list-title">

BIN
static/images/GXSC/BSL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/images/GXSC/DW1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
static/images/GXSC/QB.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/images/GXSC/SL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/images/GXSC/SSBT.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
static/images/GXSC/XL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/images/GXSC/XZ.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 B

BIN
static/images/LHYC/DWB.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/images/jy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -120,51 +120,38 @@ const actions = {
Appversion({
version: os.appWgtVersion,
type: apptype,
phone_brand: os.brand
phone_brand:os.brand
}).then((res) => {
if (Object.keys(res.data.appInfo).length > 0) {
// if(res.data.appInfo.version) uni.showLoading({
// if(res.data.appInfo.version) uni.showLoading({
// title: '检查更新中'
// })
if (res.data.appInfo.phone_brand.length > 0) {
if (plus.os.name == "Android") {
// 跳转安卓应用市场
let appurl = res.data.appInfo.dow_url //这个是通用应用市场如果想指定某个应用商店需要单独查这个应用商店的包名或scheme及参数
plus.runtime.openURL(appurl)
} else {
// 跳转AppStore
plus.runtime.launchApplication({
action: res.data.appInfo.dow_url,
})
}
} else {
// 版本更新
if (compareVersions(res.data.appInfo.version, os.appWgtVersion || wgt_v) == 1 &&
compareVersions(res.data.appInfo.version,
wgt_v) == 1) {
try {
let info = res.data.appInfo || {};
let version = {
title: info.title || '发现新版本',
content: info.content || '修复了部分BUG',
versionName: info.version || '1.0.1',
downUrl: info.dow_url || '',
force: info.force == 1 ? true : false, // 是否强制更新
quiet: info.quiet == 1 ? true : false // 是否静默更新
}
Updater.update(version);
} catch (e) {
console.log(e);
// 版本更新
if (compareVersions(res.data.appInfo.version, os.appWgtVersion || wgt_v) == 1 &&
compareVersions(res.data.appInfo.version,
wgt_v) == 1) {
try {
let info = res.data.appInfo || {};
let version = {
title: info.title || '发现新版本',
content: info.content || '修复了部分BUG',
versionName: info.version || '1.0.1',
brand:res.data.appInfo.phone_brand,
downUrl: info.dow_url || '',
force: info.force == 1 ? true : false, // 是否强制更新
quiet: info.quiet == 1 ? true : false // 是否静默更新
}
// uni.hideLoading();
Updater.update(version,res.data.appInfo);
} catch (e) {
console.log(e);
}
// uni.hideLoading();
}
}
}).catch((err) => {
// console.log(err)

View File

@ -1,315 +1,348 @@
<template>
<view class="container">
<view class="container">
<view class="main" @click.stop="">
<view class="header">
<image src="../assets/bg1.png" class="bg1" />
<image src="../assets/bg2.png" class="bg2" />
<view class="version-title">{{ updateParams.title }}</view>
<view class="version-name" v-if="updateParams.versionName">V{{ updateParams.versionName }}</view>
</view>
<view class="title">更新内容</view>
<view class="content" >
<rich-text :nodes="content" />
</view>
<view class="main" @click.stop="">
<view class="header">
<image src="../assets/bg1.png" class="bg1" />
<image src="../assets/bg2.png" class="bg2" />
<view class="version-title">{{ updateParams.title }}</view>
<view class="version-name" v-if="updateParams.versionName">V{{ updateParams.versionName }}</view>
</view>
<view class="title">更新内容</view>
<view class="content">
<rich-text :nodes="content" />
</view>
<view class="progress" v-if="downloading">
<view class="slider">
<view class="active-slider" :style="{ width: `${progress}%` }">
<view class="bar" />
<view class="dot">
<view class="text">{{ progress }}%</view>
<view class="circle" />
</view>
</view>
</view>
</view>
<view class="button" :class="{'active': !downloading || downloadError}" @click="handleButton">
{{ downloadText }}
</view>
</view>
<view class="bottom" v-if="!updateParams.force" @click="back">
<view class="line"/>
<image src="../assets/close.png" class="close" />
</view>
</view>
<view class="progress" v-if="downloading">
<view class="slider">
<view class="active-slider" :style="{ width: `${progress}%` }">
<view class="bar" />
<view class="dot">
<view class="text">{{ progress }}%</view>
<view class="circle" />
</view>
</view>
</view>
</view>
<view class="button" :class="{'active': !downloading || downloadError}" @click="handleButton">
{{ downloadText }}
</view>
</view>
<view class="bottom" v-if="!updateParams.force" @click="back">
<view class="line" />
<image src="../assets/close.png" class="close" />
</view>
</view>
</template>
<script>
import { download, install } from "../updater";
import {
download,
install
} from "../updater";
export default {
data() {
const data = {
updateParams: {},
progress: 0,
downloading: false,
downloadSucc: false,
downloadError: false,
};
return data;
},
computed: {
content() {
return (this.updateParams.content || '').replace(/[\r\n]/gim, '<br/>');
},
downloadText () {
if (this.downloadSucc) {
return this.updateParams.downSucTip;
}
if (this.downloadError) {
return this.updateParams.downErrorTip;
}
if (this.downloading) {
return this.updateParams.downMsgTip;
}
return this.updateParams.updateBtnText;
},
},
onLoad(params) {
const data = {
title: '发现新版本',
updateBtnText: '立即升级',
downMsgTip: '下载中,请稍后',
downSucTip: '下载完成,安装中',
downErrorTip: '下载失败,请重试',
quiet: false,
force: false,
...(JSON.parse(decodeURIComponent(params.data)))
};
this.updateParams = data;
},
onBackPress() {
return this.updateParams.force;
},
methods: {
back() {
if (!this.updateParams.force) {
uni.navigateBack();
}
},
//
start() {
if (!this.updateParams.downUrl) {
return;
}
export default {
data() {
const data = {
updateParams: {},
progress: 0,
downloading: false,
downloadSucc: false,
downloadError: false,
};
return data;
},
computed: {
content() {
return (this.updateParams.content || '').replace(/[\r\n]/gim, '<br/>');
},
downloadText() {
if (this.downloadSucc) {
return this.updateParams.downSucTip;
}
if (this.downloadError) {
return this.updateParams.downErrorTip;
}
if (this.downloading) {
return this.updateParams.downMsgTip;
}
return this.updateParams.updateBtnText;
},
},
onLoad(params) {
// ios appstore.apk.wgt
const isResource = ['.apk', '.wgt'].some(ext => this.updateParams.downUrl.toLocaleLowerCase().includes(ext));
if (plus.os.name !== "Android" || !isResource) {
plus.runtime.openURL(this.updateParams.downUrl);
return;
}
const data = {
title: '发现新版本',
updateBtnText: '立即升级',
downMsgTip: '下载中,请稍后',
downSucTip: '下载完成,安装中',
downErrorTip: '下载失败,请重试',
quiet: false,
force: false,
...(JSON.parse(decodeURIComponent(params.data)))
};
this.updateParams = data;
},
onBackPress() {
return this.updateParams.force;
},
methods: {
this.downloading = true;
const self = this;
back() {
if (!this.updateParams.force) {
uni.navigateBack();
}
},
//
start() {
if (!this.updateParams.downUrl) {
return;
}
download({
url: self.updateParams.downUrl,
onProgress(progress) {
self.progress = progress;
},
onSuccess(filePath) {
self.downloadSucc = true;
self.downloadError = false;
install(filePath, true);
},
onFail() {
self.downloading = false;
self.downloadSucc = false;
self.downloadError = true;
},
});
},
handleButton() {
if (!this.downloading) {
return this.start();
}
if (this.downloadError) {
this.progress = 0;
this.downloading = false;
this.downloadSucc = false;
this.downloadError = true;
return this.start();
}
},
},
};
// ios appstore.apk.wgt
const isResource = ['.apk', '.wgt'].some(ext => this.updateParams.downUrl.toLocaleLowerCase().includes(
ext));
if (plus.os.name !== "Android" || !isResource) {
plus.runtime.openURL(this.updateParams.downUrl);
return;
}
this.downloading = true;
const self = this;
download({
url: self.updateParams.downUrl,
onProgress(progress) {
self.progress = progress;
},
onSuccess(filePath) {
self.downloadSucc = true;
self.downloadError = false;
install(filePath, true);
},
onFail() {
self.downloading = false;
self.downloadSucc = false;
self.downloadError = true;
},
});
},
handleButton() {
if (this.updateParams.brand.length > 0) {
if (plus.os.name == "Android") {
//
let appurl = this.updateParams.downUrl //scheme
plus.runtime.openURL(appurl)
setTimeout((res) => {
this.back()
}, 1000)
} else {
// AppStore
plus.runtime.launchApplication({
action: this.updateParams.downUrl,
})
setTimeout((res) => {
this.back()
}, 1000)
}
} else {
if (!this.downloading) {
return this.start();
}
if (this.downloadError) {
this.progress = 0;
this.downloading = false;
this.downloadSucc = false;
this.downloadError = true;
return this.start();
}
}
},
},
};
</script>
<style lang="less">
page {
width: 100vw;
height: 100vh;
background: transparent;
}
page {
width: 100vw;
height: 100vh;
background: transparent;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.3);
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.3);
}
.main {
width: 75%;
background-color: #fff;
border-radius: 8rpx;
padding-bottom: 10rpx;
}
.main {
width: 75%;
background-color: #fff;
border-radius: 8rpx;
padding-bottom: 10rpx;
}
.header {
position: relative;
.header {
position: relative;
.bg1 {
width: 100%;
height: calc(100vw * 0.375);
border-top-left-radius: 8rpx;
border-top-right-radius: 8rpx;
}
.bg1 {
width: 100%;
height: calc(100vw * 0.375);
border-top-left-radius: 8rpx;
border-top-right-radius: 8rpx;
}
.bg2 {
position: absolute;
top: -40%;
right: 13%;
width: 35.9%;
height: calc(100vw * 0.5441);
}
.bg2 {
position: absolute;
top: -40%;
right: 13%;
width: 35.9%;
height: calc(100vw * 0.5441);
}
.version-title {
position: absolute;
top: 13%;
left: 8%;
color: #961c00;
font-size: 40rpx;
}
.version-title {
position: absolute;
top: 13%;
left: 8%;
color: #961c00;
font-size: 40rpx;
}
.version-name {
position: absolute;
top: 36%;
left: 24%;
background-color: #e54139;
color: #fff;
font-size: 26rpx;
line-height: 26rpx;
padding: 8rpx 20rpx;
border-radius: 20rpx;
}
}
.version-name {
position: absolute;
top: 36%;
left: 24%;
background-color: #e54139;
color: #fff;
font-size: 26rpx;
line-height: 26rpx;
padding: 8rpx 20rpx;
border-radius: 20rpx;
}
}
.title {
background-color: #ff6d42;
color: #fff;
display: inline-block;
margin-top: 12rpx;
margin-left: 30rpx;
font-size: 26rpx;
line-height: 26rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
}
.title {
background-color: #ff6d42;
color: #fff;
display: inline-block;
margin-top: 12rpx;
margin-left: 30rpx;
font-size: 26rpx;
line-height: 26rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
}
.content {
margin-top: 12rpx;
margin-left: 30rpx;
font-size: 28rpx;
line-height: 2;
max-height: 240rpx;
overflow-y: auto;
}
.content {
margin-top: 12rpx;
margin-left: 30rpx;
font-size: 28rpx;
line-height: 2;
max-height: 240rpx;
overflow-y: auto;
}
.button {
margin: 20rpx 30rpx;
background-color: #ffaa00;
color: #fff;
font-size: 30rpx;
text-align: center;
padding: 20rpx 0;
border-radius: 14rpx;
opacity: 0.5;
pointer-events: none;
.button {
margin: 20rpx 30rpx;
background-color: #ffaa00;
color: #fff;
font-size: 30rpx;
text-align: center;
padding: 20rpx 0;
border-radius: 14rpx;
opacity: 0.5;
pointer-events: none;
&:active {
opacity: 0.6;
}
&.active {
opacity: 1;
pointer-events: initial;
}
}
&:active {
opacity: 0.6;
}
.progress {
padding: 50rpx 50rpx 18rpx;
&.active {
opacity: 1;
pointer-events: initial;
}
}
.slider {
position: relative;
width: 100%;
height: 10rpx;
border-radius: 5rpx;
background-color: #e2e2e2;
.progress {
padding: 50rpx 50rpx 18rpx;
.active-slider {
display: flex;
flex-direction: row;
align-items: center;
position: absolute;
left: 0;
top: 0;
width: 0%;
height: 10rpx;
border-radius: 5rpx;
.slider {
position: relative;
width: 100%;
height: 10rpx;
border-radius: 5rpx;
background-color: #e2e2e2;
.bar {
flex: 1;
height: 100%;
background-color: #e84116;
border-top-left-radius: 5rpx;
border-bottom-left-radius: 5rpx;
}
.active-slider {
display: flex;
flex-direction: row;
align-items: center;
position: absolute;
left: 0;
top: 0;
width: 0%;
height: 10rpx;
border-radius: 5rpx;
.dot {
position: relative;
margin-left: -12rpx;
.bar {
flex: 1;
height: 100%;
background-color: #e84116;
border-top-left-radius: 5rpx;
border-bottom-left-radius: 5rpx;
}
.text {
position: absolute;
top: -34rpx;
left: -50%;
color: #e84116;
font-size: 24rpx;
font-weight: 500;
}
.dot {
position: relative;
margin-left: -12rpx;
.circle {
width: 12rpx;
height: 12rpx;
border: 6rpx solid #e84116;
border-radius: 50%;
background-color: #fff;
}
}
}
}
}
.text {
position: absolute;
top: -34rpx;
left: -50%;
color: #e84116;
font-size: 24rpx;
font-weight: 500;
}
.bottom {
display: flex;
flex-direction: column;
align-items: center;
.line {
width: 3rpx;
height: 50rpx;
background-color: #fff;
}
.close {
width: 64rpx;
height: 64rpx;
margin-top: -4rpx;
}
}
</style>
.circle {
width: 12rpx;
height: 12rpx;
border: 6rpx solid #e84116;
border-radius: 50%;
background-color: #fff;
}
}
}
}
}
.bottom {
display: flex;
flex-direction: column;
align-items: center;
.line {
width: 3rpx;
height: 50rpx;
background-color: #fff;
}
.close {
width: 64rpx;
height: 64rpx;
margin-top: -4rpx;
}
}
</style>

View File

@ -3,7 +3,8 @@ const version = '2.0.36'
// 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') {
console.log(`\n %c uView V${version} %c https://uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');
// console.log(`\n %c uView V${version} %c https://uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');
console.log('当前属于测试环境')
}
export default {