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) }, 6000)
} }
// #ifdef APP-PLUS // #ifdef APP-PLUS
//uniMP //uniMP
initEvent(); initEvent();
@ -156,7 +155,7 @@
that.getConfigData() that.getConfigData()
//#ifdef APP-PLUS //#ifdef APP-PLUS
this.checknetwork() this.checknetwork()
jpushModule.setLoggerEnable(true); jpushModule.setLoggerEnable(true);
jpushModule.initJPushService() jpushModule.initJPushService()
@ -222,7 +221,7 @@
}, },
onShow() { onShow() {
let that = this let that = this
// H5 // H5
if (this.$store.state.app.token) { if (this.$store.state.app.token) {
@ -251,7 +250,7 @@
// #endif // #endif
}, },
mounted() { mounted() {
}, },
methods: { methods: {
@ -261,11 +260,11 @@
uni.onNetworkStatusChange(function(res) { uni.onNetworkStatusChange(function(res) {
if (res.isConnected) { if (res.isConnected) {
uni.reLaunch({ uni.reLaunch({
url: '/pages/index/index' url: '/pages/index/index'
}) })
} else { } else {
uni.showModal({ 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) { export function postImport(merid, data) {
return request.post(`server/${merid}/product/stockIn`, data); return request.post(`server/${merid}/product/stockIn`, data);
} }
/** /**
* 获取商户基本信息 http://127.0.0.1:8324/api/store/merchant/info?id=4 * 获取商户基本信息 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { 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) { export function vicinityStoreApi(data) {
return request.get(`region/${data}/merchant`); 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() { export function getBillDetil() {
return request.get(`mer/financial_record`) return request.get(`mer/financial_record`)
} }

View File

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

View File

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

View File

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

View File

@ -128,26 +128,25 @@
"enablePullDownRefresh": false "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": [{ "subPackages": [{
"root": "pages/goods_cate", "root": "pages/goods_cate",
"name": "goods_cate", "name": "goods_cate",
@ -1123,6 +1122,18 @@
"navigationBarTitleText": "商品管理", "navigationBarTitleText": "商品管理",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
},{
"path": "transactionApplication/index",
"style": {
"navigationBarTitleText": "交易申请",
"enablePullDownRefresh": false
}
},{
"path": "transactionApplication/application",
"style": {
"navigationBarTitleText": "申请记录",
"enablePullDownRefresh": false
}
}, },
{ {
"path": "goodsOnSale/index", "path": "goodsOnSale/index",
@ -1625,7 +1636,7 @@
"iconPath": "static/tabbar_icon/c.png", "iconPath": "static/tabbar_icon/c.png",
"selectedIconPath": "static/tabbar_icon/c-a.png", "selectedIconPath": "static/tabbar_icon/c-a.png",
"text": "发布" "text": "发布"
}, },
{ {
"pagePath": "pages/supply_chains/supply_chains", "pagePath": "pages/supply_chains/supply_chains",
@ -1641,7 +1652,7 @@
"text": "我的" "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" <u-empty :show="jurisdiction" mode="permission" :text="emptyText"
icon="http://cdn.uviewui.com/uview/empty/permission.png"></u-empty> icon="http://cdn.uviewui.com/uview/empty/permission.png"></u-empty>
<view class="business com special_work" v-if="jurisdiction == false"> <view class="business com special_work" v-if="jurisdiction == false">
@ -73,9 +73,7 @@
</view> </view>
</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" <u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker> @cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
<!-- <m-tabbar native> <!-- <m-tabbar native>
@ -91,7 +89,7 @@
<script> <script>
import Cache from '@/utils/cache'; import Cache from '@/utils/cache';
import mTabbar from '@/components/m-tabbar/m-tabbar.vue' import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
import emptyPage from '@/components/emptyPage.vue';
import zbpSwiper from '@/components/zbpSwiper' import zbpSwiper from '@/components/zbpSwiper'
import { import {
getArea, getArea,
@ -127,8 +125,8 @@
export default { export default {
components: { components: {
mTabbar, mTabbar,
zbpSwiper, zbpSwiper
emptyPage
}, },
data() { data() {
return { return {
@ -143,7 +141,7 @@
}, },
prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/', prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/',
isShow: false, isShow: false,
bgColor: '',
isFshow: false, isFshow: false,
street: '', street: '',
// //
@ -166,7 +164,7 @@
street: '', street: '',
showPicker: false, showPicker: false,
columnData: [], columnData: [],
bgColor: '',
isFshow: false, isFshow: false,
backColor: 'rgba(252, 252, 252, 0)' backColor: 'rgba(252, 252, 252, 0)'
}; };
@ -293,6 +291,7 @@
this.getUniMp(data); this.getUniMp(data);
break; break;
case 2: case 2:
this.navigator(data); this.navigator(data);
break; break;
} }
@ -410,10 +409,6 @@
}, },
kkchange(e) {
this.bgColor = e
},
navigator(url, t) { navigator(url, t) {
// if (this.userInfoData.is_wsxx === 0 && t != '') return Toast(""); // if (this.userInfoData.is_wsxx === 0 && t != '') return Toast("");
uni.navigateTo({ uni.navigateTo({

View File

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

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="gather"> <view class="gather">
<block v-if="isShow"> <block v-if="isShow&&userInfoData.mer_info.mer_name">
<view class="" v-if="userInfoData.mer_info.setup_status==1"> <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="userInfoData.mer_info.type_code === 'TypeSupplyChain'">
<view class="special_work com" v-if="true"> <view class="special_work com" v-if="true">
<view class="title">市级供应链</view> <view class="title">市级供应链</view>
@ -37,6 +37,12 @@
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill"></image> <image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill"></image>
<text class="text">商户设置</text> <text class="text">商户设置</text>
</view> </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}`)"> <view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill"> <image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
</image> </image>
@ -91,7 +97,7 @@
<view class="special_work com"> <view class="special_work com">
<view class="title">我的店铺</view> <view class="title">我的店铺</view>
<view class="content "> <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}`)"> @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> </image>
<text class="text">商户设置</text> <text class="text">商户设置</text>
</view> </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" <!-- <view class="examine"
@click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)"> @click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)">
<image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill"> <image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill">
@ -251,6 +263,12 @@
</image> </image>
<text class="text">商户设置</text> <text class="text">商户设置</text>
</view> </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}`)"> <!-- <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 class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
</image> </image>
@ -304,6 +322,12 @@
</image> </image>
<text class="text">商户设置</text> <text class="text">商户设置</text>
</view> </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> </view>
</view> </view>
@ -325,20 +349,21 @@
</image> </image>
<text class="text">商户设置</text> <text class="text">商户设置</text>
</view> </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>
</view> </view>
</view> </view>
</block> </block>
<!-- <m-tabbar native> <view class="" style="padding-top: 1px;" v-else>
<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'>
<emptyPage title="暂无信息"></emptyPage> <emptyPage title="暂无信息"></emptyPage>
</view> </view>
@ -350,15 +375,12 @@
import emptyPage from '@/components/emptyPage.vue'; import emptyPage from '@/components/emptyPage.vue';
import zbpSwiper from '@/components/zbpSwiper' import zbpSwiper from '@/components/zbpSwiper'
import { import {
mapState,
mapGetters mapGetters
} from 'vuex' } from 'vuex'
import { import {
getWorkArticleCount,
getSlideAPI
} from '@/api/article.js'
import {
getStoreList,
getUserInfo getUserInfo
} from '@/api/user.js' } from '@/api/user.js'
import { import {
@ -398,7 +420,7 @@
}; };
}, },
computed: { computed: {
...mapGetters(['userInfo', 'location', 'isLogin']) ...mapGetters(['userInfo', 'isLogin'])
}, },
created() {}, created() {},
onLoad() {}, onLoad() {},
@ -411,98 +433,14 @@
this.jurisdiction = true this.jurisdiction = true
} }
this.getUserInfo() this.getUserInfo()
this.appLocation()
},
onPullDownRefresh() {
this.getUserInfo()
uni.stopPullDownRefresh()
},
mounted() {
this.appLocation()
}, },
methods: { 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) { navigator(url, t) {
// if (this.userInfoData.is_wsxx === 0 && t != '') return Toast("");
uni.navigateTo({ uni.navigateTo({
url: url 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="back" @click='backjJump()' style="margin-right: 17rpx;">
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view> <view class="iconfont icon-xiangzuo" style="color: #333333;"></view>
</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>
<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>
<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>
<view class='iconfont search-right' <!-- 搜索框 -->
@click="goMap(`/pages/nongKe/supply_chain/maps?street_id=${street_id}`)"> <view style="position: relative;width: 289.14rpx;" v-if="showSerch">
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="50.82rpx" <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> 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>
</view> </view>
@ -36,12 +59,13 @@
</view> </view>
<view class="content"> <view class="content">
<view style="background-color: red;height: 10px"> <view style="height: 10px">
</view> </view>
<view class="hot_serch"> <view class="hot_serch">
<text>热搜:</text> <text @click="hotSerchFn('小张副食')">小张副食</text> <text <text>热搜:</text>
@click="hotSerchFn('正新酒店')">正新酒店</text> <text @click="hotSerchFn('小张副食')">小张副食</text>
<text @click="hotSerchFn('正新酒店')">正新酒店</text>
<text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text> <text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text>
<text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text> <text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text>
</view> </view>
@ -274,6 +298,11 @@
<image :src="image"></image> <image :src="image"></image>
<image src="@/static/images/guanbi.png" class="guanbi" @click="close"></image> <image src="@/static/images/guanbi.png" class="guanbi" @click="close"></image>
</u-popup> </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>
</view> </view>
@ -303,6 +332,18 @@
configMap configMap
} from '@/utils'; } from '@/utils';
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue'; 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(); const app = getApp();
export default { export default {
components: { components: {
@ -312,6 +353,9 @@
}, },
data() { data() {
return { return {
defaInd: [0, 0],
columnData: [],
showSerch: false,
imgList: [ imgList: [
"/static/images/GXSC/BBY.png", "/static/images/GXSC/BBY.png",
"/static/images/GXSC/NYSC.png", "/static/images/GXSC/NYSC.png",
@ -331,6 +375,7 @@
"/static/images/GXSC/JDMS.png", "/static/images/GXSC/JDMS.png",
], ],
street_id: "", street_id: "",
showSelect: false,
price: 0, price: 0,
stock: 0, stock: 0,
nows: false, nows: false,
@ -348,6 +393,8 @@
downKey: 0, downKey: 0,
downStatus: false, downStatus: false,
menuList: [], menuList: [],
street: "",
showPicker: false,
// //
downMenu: [{ downMenu: [{
title: '默认', title: '默认',
@ -406,6 +453,7 @@
onLoad(options) { onLoad(options) {
// console.log(options); // console.log(options);
this.street_id = options.street_id this.street_id = options.street_id
this.street = options.townName
this.product_type = options.product_type ?? 0 this.product_type = options.product_type ?? 0
if (options.street_id != undefined) { if (options.street_id != undefined) {
this.sotreParam.street_id = options.street_id this.sotreParam.street_id = options.street_id
@ -424,7 +472,7 @@
supMenuApi().then(res => { supMenuApi().then(res => {
this.menuList = res.data this.menuList = res.data
}) })
this.Area()
}, },
computed: { computed: {
downMenus: function() { downMenus: function() {
@ -445,11 +493,103 @@
}, mapGetters(['viewColor'])), }, mapGetters(['viewColor'])),
}, },
methods: { 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() { test() {
if (this.sotreParam.keyword.length > 3) { if (this.sotreParam.keyword.length > 3) {
this.sotreParam.keyword.slice(0, 3) this.sotreParam.keyword.slice(0, 3)
this.sotreParam.keyword = 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) // console.log(this.sotreParam.keyword.length)
}, },
@ -462,6 +602,11 @@
url url
}) })
}, },
navGoto(url) {
uni.redirectTo({
url
})
},
navGo(id) { navGo(id) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/nongKe/supply_chain/supplierA?type_id=10&merchant_category_id=${id}&street_id=${this.street_id}` 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) // console.log(rqData)
storeMerchantList(rqData).then(res => { storeMerchantList(rqData).then(res => {
this.count = res.data.count this.count = res.data.count
this.storeList = this.storeList.concat(res.data.list) this.storeList = (res.data.list)
this.loading = false this.loading = false
this.loadingIcon = false this.loadingIcon = false
}) })
@ -667,6 +812,7 @@
let that = this; let that = this;
that.$set(that.sotreParam, 'keyword', this.sotreParam.keyword); that.$set(that.sotreParam, 'keyword', this.sotreParam.keyword);
this.set_where(this.firstKey) this.set_where(this.firstKey)
this.showSerch = false
}, },
// //
bindRight() { bindRight() {
@ -674,7 +820,7 @@
this.rightBox = true this.rightBox = true
}, },
// //
confirm(data) { confirm1(data) {
let arr1 = [], let arr1 = [],
arr2 = [] arr2 = []
if (data.storeTypeArr.length == 0) { if (data.storeTypeArr.length == 0) {
@ -737,6 +883,9 @@
onPullDownRefresh() { onPullDownRefresh() {
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
}, },
onShow() {
this.showSelect = false
},
// //
onReachBottom() { onReachBottom() {
if (this.count === this.storeList.length) { if (this.count === this.storeList.length) {
@ -832,7 +981,7 @@
height: auto; height: auto;
background-color: white; background-color: white;
padding: 20rpx; padding: 20rpx;
border-radius: 20rpx; // border-radius: 20rpx;
display: flex; display: flex;
// align-items: center; // align-items: center;
@ -873,6 +1022,11 @@
} }
} }
.selects {
transform: rotate(180deg);
}
.search-right.styleType2 .right-text, .search-right.styleType2 .right-text,
.search-right.styleType3 .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 { .hot_serch {
color: #B3B3B3; color: #B3B3B3;
display: flex; display: flex;
@ -1086,6 +1250,43 @@
margin-left: 10rpx; 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 { .store-wrapper {
margin-top: 235rpx; margin-top: 235rpx;
border-top: 1px solid #F6F6F6; border-top: 1px solid #F6F6F6;

View File

@ -26,7 +26,7 @@
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称" <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search> v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" <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> </view>

View File

@ -173,6 +173,7 @@
<script> <script>
import { import {
Toast Toast
} from '@/libs/uniApi.js' } from '@/libs/uniApi.js'
import { import {
@ -395,13 +396,20 @@
merchantUpdateAPI(data).then(res => { merchantUpdateAPI(data).then(res => {
Toast(res.message) Toast(res.message)
setTimeout(() => { setTimeout(() => {
uni.switchTab({ // uni.switchTab({
url: '/pages/gather/gather', // url: '/pages/moreProject/moreProject',
fail: (err) => { // fail: (err) => {
// console.log('err', err); // // console.log('err', err);
} // }
}); // });
}, 2000) // uni.navigateTo({
// url:'/pages/moreProject/moreProject'
// })
uni.redirectTo({
url:'/pages/moreProject/moreProject'
})
}, 1000)
}).catch(err => { }).catch(err => {
Toast(err) Toast(err)
}) })
@ -422,28 +430,36 @@
}); });
}, },
seleckImage(i) { seleckImage(i) {
let that = this let that = this;
uni.chooseImage({ that.$util.uploadImageOne('upload/image', function(res) {
count: 1, // console.log(res)
sizeType: ['original', 'compressed'], that.images[i].img = res.data.path
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
// 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) { delImg(i) {
let that = this 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, value: 2,
} }
], ],
tabs5: [{
icon: 'icon-yizhan_o',
name: '云商品',
value: 7,
}
],
tabs: [], tabs: [],
storeScroll: true, storeScroll: true,
storeTop: 0, storeTop: 0,
@ -627,7 +633,8 @@
service_open: false, service_open: false,
type: 3, type: 3,
statusBarHeight: 0, statusBarHeight: 0,
isLihaiYun: '' isLihaiYun: '',
business_status:0
} }
}, },
computed: { computed: {
@ -768,8 +775,15 @@
this.storeHeight = data.height; this.storeHeight = data.height;
this.storeTop = data.top; this.storeTop = data.top;
}).exec(); }).exec();
this.userinfo()
}, },
methods: { methods: {
userinfo(){
getUserInfo().then(res => {
this.business_status=res.data.mer_info.business_status
})
},
getProductSpu() { getProductSpu() {
let that = this; let that = this;
if (that.loadend) return; if (that.loadend) return;
@ -954,7 +968,12 @@
// this.tabs = this.tabs2 // this.tabs = this.tabs2
// this.service_open = false // 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) this.tab(this.type)
// #ifdef H5 // #ifdef H5
this.ShareInfo(); this.ShareInfo();

View File

@ -19,13 +19,8 @@
placeholder-class='placeholder' /> 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="item">
<view class="acea-row row-middle"> <view class="acea-row row-middle">
<text class="item-name">联系电话</text> <text class="item-name">联系电话</text>
@ -123,11 +118,18 @@
<input type="text" maxlength="30" placeholder="请输入公司名称" <input type="text" maxlength="30" placeholder="请输入公司名称"
v-model="merchantData.company_name" @input="validateBtn" v-model="merchantData.company_name" @input="validateBtn"
placeholder-class='placeholder' /> placeholder-class='placeholder' />
</view> </view>
</view> </view>
</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="item">
<view class="uni-list"> <view class="uni-list">
<view class="uni-list-cell"> <view class="uni-list-cell">
@ -141,7 +143,7 @@
</view> </view>
</view> </view>
</view> </view>
<!-- <view class="item"> <!-- <view class="item">
<view class="acea-row row-middle"> <view class="acea-row row-middle">
<text class="item-name">是否农贸市场</text> <text class="item-name">是否农贸市场</text>
@ -172,7 +174,10 @@
</checkbox-group> </checkbox-group>
<button class="settleAgree" @click="getConfig">入驻协议</button> <button class="settleAgree" @click="getConfig">入驻协议</button>
</view> </view>
<button class='submitBtn' :class="validate === true ? 'on':''" @click="formSubmit">提交申请</button>
<button class='submitBtn' :class="validate === true? 'on':''" @click="formSubmit">
提交申请
</button>
</view> </view>
</view> </view>
</form> </form>
@ -186,6 +191,28 @@
</view> </view>
</view> </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"> <view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text> <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
</view> </view>
@ -221,7 +248,8 @@
merClassifly, merClassifly,
getGoodsDetails, getGoodsDetails,
updateGoodsRecord, updateGoodsRecord,
getStoreTypeApi getStoreTypeApi,
agreeiness
} from '@/api/store.js'; } from '@/api/store.js';
import { import {
getCaptcha, getCaptcha,
@ -266,6 +294,7 @@
showProtocol: false, showProtocol: false,
isShowCode: false, isShowCode: false,
loading: false, loading: false,
isshow: false,
merchantData: { merchantData: {
enterprise_name: "", enterprise_name: "",
user_name: "", user_name: "",
@ -314,6 +343,8 @@
}, },
mer_i_id: null, // id mer_i_id: null, // id
isType: false, isType: false,
num: 30,
detail: {}
}; };
}, },
beforeDestroy() { beforeDestroy() {
@ -323,6 +354,7 @@
sys_intention_agree: '' sys_intention_agree: ''
}, mapGetters(['isLogin', 'viewColor', 'keyColor'])), }, mapGetters(['isLogin', 'viewColor', 'keyColor'])),
onLoad(options) { onLoad(options) {
if (this.isLogin) { if (this.isLogin) {
this.getClassfication(); this.getClassfication();
this.getStoreType(); this.getStoreType();
@ -340,10 +372,61 @@
}) })
} }
this.getArea() this.getArea()
this.shoplist()
}, },
onShow() {}, onShow() {},
onReady() {}, onReady() {},
methods: { 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) { // change(e) {
// this.isnum = (e === true ? 1 : 0) // this.isnum = (e === true ? 1 : 0)
@ -426,7 +509,7 @@
this.street_id = resData.street_id this.street_id = resData.street_id
this.mer_storeType = resData.mer_storeType this.mer_storeType = resData.mer_storeType
this.village_id = resData.village_id this.village_id = resData.village_id
}) })
this.pics = resData.images this.pics = resData.images
this.mer_classification = this.getCategoryName(resData.merchant_category_id, this.array) this.mer_classification = this.getCategoryName(resData.merchant_category_id, this.array)
@ -458,7 +541,7 @@
this.validateBtn() this.validateBtn()
}, },
bindPickerChange1: function(e) { bindPickerChange1: function(e) {
console.log(e);
this.index1 = e.target.value this.index1 = e.target.value
let idx = e.target.value let idx = e.target.value
this.merchantData.mer_type = this.storeTypeArr[idx]['mer_type_id'] this.merchantData.mer_type = this.storeTypeArr[idx]['mer_type_id']
@ -490,7 +573,7 @@
getStoreType: function() { getStoreType: function() {
getStoreTypeApi() getStoreTypeApi()
.then(res => { .then(res => {
console.log(res);
this.storeTypeArr = res.data this.storeTypeArr = res.data
}) })
.catch(res => { .catch(res => {
@ -633,62 +716,77 @@
this.isAgree = !this.isAgree; this.isAgree = !this.isAgree;
this.validateBtn(); this.validateBtn();
}, },
formSubmit: function(e) { //
let that = this; showxy() {
if (that.validateForm() && that.validate) { this.isshow = true
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 => { formSubmit: function(e) {
that.validate = true;
that.$util.Tips({ if (this.num == 0) {
title: res
}); 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() { validateBtn: function() {
let that = this, let that = this,
@ -768,7 +866,7 @@
if (!this.merchantData.phone) return this.$util.Tips({ if (!this.merchantData.phone) return this.$util.Tips({
title: '请输入手机号' title: '请输入手机号'
}); });
if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(this.merchantData.phone)) return this.$util.Tips({ if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(this.merchantData.phone)) return this.$util.Tips({
title: '请输入正确的手机号码' title: '请输入正确的手机号码'
}); });
@ -1127,7 +1225,7 @@
.settlementAgreement .setAgCount { .settlementAgreement .setAgCount {
background: #fff; background: #fff;
width: 656rpx; width: 656rpx;
height: 458px; // height: 458px;
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
@ -1180,6 +1278,82 @@
overflow-y: scroll; 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 { .settledSuccessMain {
height: 100vh; height: 100vh;
display: flex; display: flex;

View File

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

View File

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