1、新增旧货市场

2、新增用户等级
This commit is contained in:
2023-12-07 04:00:37 +08:00
parent 3ff9d7d91a
commit cbb3872513
20 changed files with 3676 additions and 1613 deletions
+5
View File
@@ -2510,6 +2510,11 @@ input:disabled {
margin-left: 35rpx;
}
.ml-80 {
margin-left: 80rpx;
}
.mt-10 {
margin-top: 10rpx;
}
+9
View File
@@ -296,7 +296,16 @@
"navigationBarTitleText" : "订单列表",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/index/old/release",
"style" :
{
"navigationBarTitleText" : "旧货交易",
"enablePullDownRefresh" : false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
+79 -49
View File
@@ -1,4 +1,4 @@
<template>
<template>
<view>
<top-bar></top-bar>
<common-header></common-header>
@@ -89,23 +89,44 @@
<view v-for="(item, index) in goodsData.rows" :key="index" class="goods">
<view class="goods-info">
<el-image src="https://oss.wsdns.cn/20231204/d35332fa6a3b4596b522edf9527ac612.png"
class="goods-img" />
class="goods-img"/>
<view class="info">
<view class="goods-name">高强螺栓 2000套</view>
<view class="field">
<view class="desc"><view class="text">企 业</view><view>广西聚钱财实业有限公司</view></view>
<view class="desc">
<view class="text">企 业</view>
<view>广西聚钱财实业有限公司</view>
</view>
<view class="desc"></view>
<view class="desc"><view class="text">所属分类</view><view>成品钢材</view></view>
<view class="desc"><view class="text">发布时间</view><view>2022-09-30</view></view>
<view class="desc"><view class="text">所在地区</view><view>广西壮族自治区-河池市</view></view>
<view class="desc"><view class="text">有效日期</view><view>2022-09-30</view></view>
<view class="desc">
<view class="text">所属分类</view>
<view>成品钢材</view>
</view>
<view class="desc">
<view class="text">发布时间</view>
<view>2022-09-30</view>
</view>
<view class="desc">
<view class="text">所在地区</view>
<view>广西壮族自治区-河池市</view>
</view>
<view class="desc">
<view class="text">有效日期</view>
<view>2022-09-30</view>
</view>
</view>
</view>
</view>
<view class="buttons">
<button type="default" class="btn" @click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>查看电话</button>
<button type="default" class="btn green" @click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>添加微信</button>
<button type="default" class="btn" @click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>向此卖家询价</button>
<button type="default" class="btn"
@click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>查看电话
</button>
<button type="default" class="btn green"
@click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>添加微信
</button>
<button type="default" class="btn"
@click="vk.navigateTo('/pages/spot/goods/detail?id=' + item._id);" plain>向此卖家询价
</button>
</view>
</view>
@@ -116,12 +137,12 @@
</view>
<common-footer></common-footer>
</view>
</template>
</template>
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
export default {
export default {
data() {
return {
categoryTreeData: [],
@@ -280,57 +301,57 @@
}
}
}
</script>
}
</script>
<style lang="scss" scoped>
.carousel {
<style lang="scss" scoped>
.carousel {
width: 1200px;
margin: 20px auto;
}
}
.page-nav {
.page-nav {
display: flex;
justify-content: space-between;
}
}
.carousel-img {
.carousel-img {
width: 100%;
height: 100%;
}
}
.goods-options {
.goods-options {
background-color: #FFFFFF;
padding: 20px;
}
}
.filter-outer {
.filter-outer {
width: 1200px;
margin: 20px auto;
background-color: #FFFFFF;
padding: 20px;
}
}
.tags {
.tags {
display: flex;
flex-wrap: wrap;
.el-tag {
margin-right: 10px;
}
}
}
.goods-list {
.goods-list {
width: 1200px;
margin: 20px auto;
display: flex;
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
}
}
.goods {
.goods {
background-color: #FFFFFF;
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.05);
text-align: center;
@@ -339,29 +360,36 @@
padding: 20px;
display: flex;
justify-content: space-between;
.goods-info{
.goods-info {
display: flex;
.goods-img {
width: 200px;
height: 150px;
}
.info{
.info {
width: 700px;
text-align: left;
margin-left: 20px;
.goods-name{
.goods-name {
font-size: 20px;
font-weight: 500;
line-height: 2.5em;
}
.field{
.field {
display: flex;
flex-wrap: wrap;
.desc{
.desc {
display: flex;
width: 300px;
line-height: 2.5em;
.text{
.text {
width: 80px;
color: #999999;
}
@@ -371,17 +399,19 @@
}
}
.buttons{
.buttons {
padding: 0 20px;
width: 200px;
border-left: 1px solid #f3f3f3;
display: flex;
flex-direction: column;
justify-content: space-around;
.btn{
.btn {
width: 120px;
}
.green{
.green {
background-color: #7ec050 !important;
color: #ffffff;
}
@@ -439,26 +469,26 @@
.goods-image {
width: 100%;
}
}
}
.paginatio {
.paginatio {
float: none;
width: 1200px;
margin: 20px auto;
display: flex;
justify-content: center;
}
}
.selected-cate {
.selected-cate {
border-bottom: 2px solid #BD3124;
line-height: 40rpx;
}
}
.child-cate {
.child-cate {
background-color: #DB8382;
color: white;
margin-top: 10rpx;
border-radius: 15rpx;
padding: 0 20rpx;
}
</style>
}
</style>
+13
View File
@@ -0,0 +1,13 @@
<template>
</template>
<script>
export default {
name: "my",
data() {
return {}
},
methods: {}
}
</script>
+140 -133
View File
@@ -12,7 +12,7 @@
</el-carousel>
<view class="goods-options">
<el-row class="">
<el-button @click="toRelease" type="primary" round>发布旧货交易</el-button>
<el-button @click="navTo('/pages/index/old/release')" type="primary" round>发布旧货交易</el-button>
<el-button @click="toMy" type="primary" round plain class="empty-bg-plain-btn">我发布的信息
</el-button>
</el-row>
@@ -21,19 +21,19 @@
<view class="nav-tool">
<view class="btn">
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix" />
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix"/>
<text>拍卖信息</text>
</view>
<view class="btn">
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix" />
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix"/>
<text>采购信息</text>
</view>
<view class="btn">
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix" />
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix"/>
<text>租赁信息</text>
</view>
<view class="btn">
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix" />
<image src="https://oss.wsdns.cn/20231204/bbd54039c69e4d0292c6889bce0ac088.png" mode="widthFix"/>
<text>物资回收信息</text>
</view>
</view>
@@ -60,13 +60,13 @@
<el-col :span="12">
<div class="ad-img">
<el-image
src="http://jyx.gxwebsoft.com/uploads/20210817/57f8333bed0d3a4e2aac3fd251e19007.jpg" />
src="http://jyx.gxwebsoft.com/uploads/20210817/57f8333bed0d3a4e2aac3fd251e19007.jpg"/>
</div>
</el-col>
<el-col :span="12">
<div class="ad-img">
<el-image
src="http://jyx.gxwebsoft.com/uploads/20210506/f3afbd29ce99dc6e2fdf4c8f3ec16221.jpg" />
src="http://jyx.gxwebsoft.com/uploads/20210506/f3afbd29ce99dc6e2fdf4c8f3ec16221.jpg"/>
</div>
</el-col>
</el-row>
@@ -83,12 +83,15 @@
<view class="item">
<view class="new-avatar">
<el-image class="image"
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg" />
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg"/>
</view>
<view class="list3">
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
</view>
</view>
</el-col>
@@ -96,12 +99,15 @@
<view class="item">
<view class="new-avatar">
<el-image class="image"
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg" />
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg"/>
</view>
<view class="list3">
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
</view>
</view>
</el-col>
@@ -109,12 +115,15 @@
<view class="item">
<view class="new-avatar">
<el-image class="image"
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg" />
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg"/>
</view>
<view class="list3">
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
</view>
</view>
</el-col>
@@ -122,12 +131,15 @@
<view class="item">
<view class="new-avatar">
<el-image class="image"
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg" />
src="http://jyx.gxwebsoft.com/public/index/images/%E5%90%8E%E5%8F%B0%E4%B8%8A%E4%BC%A08.jpg"/>
</view>
<view class="list3">
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="text"><span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
</view>
</view>
</el-col>
@@ -141,26 +153,17 @@
<el-card class="new-box">
<div slot="header" class="clearfix">
<span class="title">最新拍卖信息</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="navTo('/pages/index/old/list/list')">查看更多</el-button>
<el-button style="float: right; padding: 3px 0" type="text"
@click="navTo('/pages/index/old/list/list')">查看更多
</el-button>
</div>
<view class="list8">
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
<view class="article" v-for="(item, index) in dataList[0]" :key="index">
<view class="title2" v-if="index < 3">
<span>[{{ item.addressRegion[1].name }}]</span>
<text class="line-1">{{ item.title }}</text>
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
<view class="date-time">{{ item.addDate }}</view>
</view>
</view>
</el-card>
@@ -169,26 +172,17 @@
<el-card class="new-box">
<div slot="header" class="clearfix">
<span class="title">最新采购信息</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="navTo('/pages/index/old/list/list')">查看更多</el-button>
<el-button style="float: right; padding: 3px 0" type="text"
@click="navTo('/pages/index/old/list/list')">查看更多
</el-button>
</div>
<view class="list8">
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
<view class="article" v-for="(item, index) in dataList[1]" :key="index">
<view class="title2" v-if="index < 3">
<span>[{{ item.addressRegion[1].name }}]</span>
<text class="line-1">{{ item.title }}</text>
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
<view class="date-time">{{ item.addDate }}</view>
</view>
</view>
</el-card>
@@ -197,26 +191,17 @@
<el-card class="new-box">
<div slot="header" class="clearfix">
<span class="title">最新租赁信息</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="navTo('/pages/index/old/list/list')">查看更多</el-button>
<el-button style="float: right; padding: 3px 0" type="text"
@click="navTo('/pages/index/old/list/list')">查看更多
</el-button>
</div>
<view class="list8">
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
<view class="article" v-for="(item, index) in dataList[2]" :key="index">
<view class="title2" v-if="index < 3">
<span>[{{ item.addressRegion[1].name }}]</span>
<text class="line-1">{{ item.title }}</text>
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
<view class="date-time">{{ item.addDate }}</view>
</view>
</view>
</el-card>
@@ -225,26 +210,17 @@
<el-card class="new-box">
<div slot="header" class="clearfix">
<span class="title">最新物资回收信息</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="navTo('/pages/index/old/list/list')">查看更多</el-button>
<el-button style="float: right; padding: 3px 0" type="text"
@click="navTo('/pages/index/old/list/list')">查看更多
</el-button>
</div>
<view class="list8">
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
<view class="article" v-for="(item, index) in dataList[3]" :key="index">
<view class="title2" v-if="index < 3">
<span>[{{ item.addressRegion[1].name }}]</span>
<text class="line-1">{{ item.title }}</text>
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
</view>
<view class="article">
<view class="title2">
<span>[南宁]</span> 标题标题标题标题标题标题标题标题标题标题...
</view>
<view class="date-time">11-15</view>
<view class="date-time">{{ item.addDate }}</view>
</view>
</view>
</el-card>
@@ -255,7 +231,8 @@
<!-- 合作单位/联营单位-->
<view class="cooperate">
<view class="title">
<el-image src="https://oss.wsdns.cn/20231204/860581fbcb9741658de15470f053e42e.png" style="width: 180px" />
<el-image src="https://oss.wsdns.cn/20231204/860581fbcb9741658de15470f053e42e.png"
style="width: 180px"/>
</view>
<u-gap height="1" bg-color="#f3f3f3"/>
<view class="flex justify-start items-start flex-wrap">
@@ -272,15 +249,16 @@
</view>
<!-- 现货市场 end -->
<gap height="50" />
<gap height="50"/>
<common-footer></common-footer>
</view>
</template>
<script>
import UGap from "@/uni_modules/vk-uview-ui/components/u-gap/u-gap.vue";
import UGap from "@/uni_modules/vk-uview-ui/components/u-gap/u-gap.vue";
import dayjs from "dayjs";
export default {
export default {
components: {
UGap
},
@@ -290,7 +268,8 @@
name: ''
},
companyList: [],
list: [{
list: [
{
id: 1,
image: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
title: '昨夜星辰昨夜风,画楼西畔桂堂东'
@@ -321,6 +300,7 @@
title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
}
],
dataList: []
};
},
onLoad(options) {
@@ -328,6 +308,7 @@
this.getInfo(options.id)
}
this.getCompanyList()
this.getDataList()
},
methods: {
navTo(url) {
@@ -347,38 +328,53 @@
data: {isCoop: 1}
})
this.companyList = rows
},
async getDataList() {
for (let i = 0; i < 4; i++) {
const {rows} = await vk.callFunction({
url: 'client/old/pub/getList',
data: {
type: i
}
})
this.dataList[i] = rows.map(item => {
item.addDate = dayjs(item._add_time).format('MM-DD')
return item
})
}
}
}
}
</script>
<style lang="scss" scoped>
.carousel {
.carousel {
width: 1200px;
margin: 20px auto;
.wrap {
flex-wrap: wrap;
}
}
}
.carousel-img {
.carousel-img {
width: 100%;
height: 100%;
}
}
.goods-options {
.goods-options {
background-color: #FFFFFF;
padding: 20px;
}
}
.filter-outer {
.filter-outer {
width: 1200px;
margin: 20px auto;
background-color: #FFFFFF;
padding: 20px;
}
}
.nav-tool {
.nav-tool {
background-color: #FFFFFF;
width: 1200px;
margin: 20px auto;
@@ -400,9 +396,9 @@
font-weight: 500;
}
}
}
}
.news-list-1 {
.news-list-1 {
padding: 20px;
background-color: #FFFFFF;
display: flex;
@@ -492,15 +488,17 @@
}
}
}
}
}
.new-box {
.new-box {
margin-bottom: 20px;
.title {
color: #bf2b28;
font-size: 20px;
font-weight: 500;
}
.list8 {
display: flex;
flex-direction: column;
@@ -510,14 +508,17 @@
padding-right: 10px;
color: #999;
}
.article{
.article {
display: flex;
justify-content: space-between;
line-height: 2em;
.date-time{
.date-time {
color: #999999;
}
}
.text {
line-height: 1.8em;
overflow: hidden;
@@ -525,32 +526,38 @@
white-space: nowrap;
}
}
}
}
.cooperate{
.cooperate {
width: 1200px;
margin: 20px auto;
background-color: #ffffff;
.title{
.title {
text-align: center;
}
.wrap{
.wrap {
flex-wrap: wrap;
}
.grid-content{
.grid-content {
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
flex-direction: column;
.comments{
.comments {
line-height: 2em;
}
}
.bg-purple{
.bg-purple {
border-top: 1px solid #f3f3f3;
border-right: 1px solid #f3f3f3;
.image{
.image {
width: 140px;
}
}
@@ -559,44 +566,44 @@
width: 80px;
height: 80px;
}
}
}
.tags {
.tags {
display: flex;
flex-wrap: wrap;
.el-tag {
margin-right: 10px;
}
}
}
//
.album {
//
.album {
width: 500px;
.album-item {
width: 500px;
height: 400px;
}
}
}
.desc {
.desc {
background-color: #F5E2E3;
}
}
.add-to-cart-btn {
.add-to-cart-btn {
background-color: #FF7300;
}
}
.intro-title {
.intro-title {
background-color: #EF0021;
padding: 10px 20px;
color: white;
width: 120px;
text-align: center;
}
}
.intro {
.intro {
border-top: 1px solid #F95F6E;
}
}
</style>
+46
View File
@@ -0,0 +1,46 @@
<template>
<view>
<top-bar></top-bar>
<common-header></common-header>
<category-bar></category-bar>
<view class="w-1200 m-a bg-white">
<image src="/static/images/old/liucheng2.png" class="w-full" mode="widthFix"/>
<view class="p-20">
<el-tabs v-model="activeName" stretch>
<el-tab-pane label="拍卖信息发布" name="0">
<type_0/>
</el-tab-pane>
<el-tab-pane label="采购信息发布" name="1">
<type_1/>
</el-tab-pane>
<el-tab-pane label="承租信息发布" name="2">
<type_2/>
</el-tab-pane>
<el-tab-pane label="物资回收信息发布" name="3">
<type_3/>
</el-tab-pane>
</el-tabs>
</view>
</view>
<gap height="50"/>
<common-footer></common-footer>
</view>
</template>
<script>
import Type_0 from "./release/type_0.vue";
import Type_1 from "./release/type_1.vue";
import Type_2 from "./release/type_2.vue";
import Type_3 from "./release/type_3.vue";
export default {
name: "list",
components: {Type_3, Type_2, Type_1, Type_0},
data() {
return {
activeName: '0'
}
},
methods: {}
}
</script>
+457
View File
@@ -0,0 +1,457 @@
<template>
<view class="flex flex-col justify-start items-start">
<text class="text-50">发布我的拍卖信息</text>
<text class="text-gray">拍卖信息越完整,成功交易越容易</text>
<el-form ref="form" :model="form" label-width="140px" class="mt-20">
<el-form-item label="物资分类:">
<el-radio-group v-model="form.category" size="small">
<el-radio label="机械设备">
<text>机械设备</text>
</el-radio>
<el-radio label="成品钢材">
<text>成品钢材</text>
</el-radio>
<el-radio label="废旧钢材">
<text>废旧钢材</text>
</el-radio>
<el-radio label="旧架子管">
<text>旧架子管</text>
</el-radio>
<el-radio label="旧扣件">
<text>旧扣件</text>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息标题:">
<el-input v-model="form.title" placeholder="一句话简介物资,如拍卖直缝钢管200吨等"/>
</el-form-item>
<el-form-item label="采购物资详情:">
<el-input v-model="form.desc" placeholder="请详细描述物资信息,描述内容:材料名称、材质......(限300字以内)"
type="textarea" show-word-limit maxlength="300"/>
</el-form-item>
<el-form-item label="拍卖实物:">
<vk-data-upload v-model="form.files"
accept="image/*">
</vk-data-upload>
</el-form-item>
<el-form-item label="物资所在地" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="provinceIndex" placeholder="省" @change="selectProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="cityIndex" placeholder="市" @change="selectCity">
<template v-if="provinceIndex !== null">
<el-option v-for="(item, index) in cityData[provinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="areaIndex" placeholder="区/县" @change="selectArea">
<template v-if="provinceIndex !== null && cityIndex !== null">
<el-option v-for="(item, index) in areaData[provinceIndex][cityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-row :gutter="10">
<el-col :span="8">
<view class="flex justify-start items-center">
<el-form-item label="起拍计价单位:">
<el-input v-model="form.startNum" class="input-with-select">
<el-select v-model="form.unit" slot="append">
<el-option
v-for="(item, index) in unitList"
:key="index"
:label="item"
:value="item">
</el-option>
</el-select>
</el-input>
</el-form-item>
<text class="flex-1">(电议)</text>
</view>
</el-col>
<el-col :span="8">
<view class="flex justify-start items-center">
<el-form-item label="起拍人民币单价:">
<el-input v-model="form.startAmount" placeholder="请输入" style="width: 160px"/>
</el-form-item>
<text class="flex-1">(电议)</text>
</view>
</el-col>
<el-col :span="8">
<view class="flex justify-start items-center">
<el-form-item label="拍卖信息失效时间:">
<el-date-picker
v-model="form.expiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</view>
</el-col>
</el-row>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
交易说明
</view>
</view>
</view>
<el-row :gutter="10">
<el-form-item label="报价区域:">
<el-col :span="5">
<el-select v-model="offerProvinceIndex" placeholder="省" @change="selectOfferProvince"
:disabled="form.offerAddressNoLimit">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerCityIndex" placeholder="市" @change="selectOfferCity"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null">
<el-option v-for="(item, index) in cityData[offerProvinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerAreaIndex" placeholder="区/县" @change="selectOfferArea"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null && offerCityIndex !== null">
<el-option v-for="(item, index) in areaData[offerProvinceIndex][offerCityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-checkbox v-model="form.offerAddressNoLimit" @change="changeOfferAddressNoLimit">不限区域
</el-checkbox>
</el-col>
</el-form-item>
</el-row>
<el-form-item label="付款方式:">
<view class="flex justify-start items-center">
<view class="flex justify-start items-center mr-35">
<el-radio label="预付" v-model="form.payMethod">
<text>预付</text>
</el-radio>
<el-input v-model="form.prePayRate" style="width: 200px"/>
<text>%货到付全款</text>
</view>
<el-radio label="提货付全款" v-model="form.payMethod">
<text>提货付全款</text>
</el-radio>
</view>
<view class="flex justify-start items-center mt-40">
<el-radio label="其他付款方式描述" v-model="form.payMethod">
<text>其他付款方式描述</text>
</el-radio>
<el-input v-model="form.otherPayMethodDesc"
type="textarea" show-word-limit maxlength="300"/>
</view>
</el-form-item>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
简易合同备注和其他补充条款
</view>
</view>
</view>
<view class="p-30">
<view class="mb-20 flex justify-start items-center">
<el-radio v-model="form.signMethod" :label="0">法大大</el-radio>
<el-radio v-model="form.signMethod" :label="1">线下签约</el-radio>
</view>
<view v-if="form.signMethod === 0">
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">违约责任:</view>
<view class="border-left m-10 pl-20 flex-1">
1.
乙方所交产品品种、型号、规格、质量不符合规定的,如果甲方同意利用,应当按质论价;如果甲方不能利用的,应根据产品的具体情况,由乙方负责包换或包修,并承担修理、调换或退货而支付的实际费用;
2.乙方不予供货违约责任为甲方的实际损失+违约金,如乙方材料符合订货标准,甲方不能退货和不收货,甲方无条件应按实际本合同订货数量支付100%货款,并支付乙方因此产生的实际费用。带有甲乙双方单位相关收货人和发货人签字的本合同的发货清单事项和内容均视为本合同的补充合同,与本合同有相同的法律效力,双方应共同遵照执行。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">解决纠纷的方法:</view>
<view class="border-left m-10 pl-20 flex-1">
1、凡因本合同引起的或与本合同有关的任何争议,均可友好协商或仲裁解决,协商或仲裁不成的,双方协商同意在合同签订地人民法院管辖地起诉,违约一方或对合同争议承担主要责任的一方,应承担对方因仲裁和起诉而产生的全部律师代理费、鉴定(检验)费、诉讼保全费、诉讼保险费、公告费、差旅费、执行费、误工费和获取证据产生费用等其他相关费用。
2、双方本合同相关权利放弃均应有双方书面作出并加盖公章或授权委托人签字后生效。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">不可抗力:</view>
<view class="border-left m-10 pl-20 flex-1">
甲乙双方的任何一方由于不可抗力或突发公共事件的原因不能履行合同时,应及时向对方通报不能履行或不能完全履行的理由,以减轻可能给对方造成的损失,在取得有关机构证明以后,允许延期履行、部分履行或者不履行合同,并根据情况可部分或全部免予承担违约责任。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">其他:</view>
<view class="border-left m-10 pl-20 flex-1">
本合同的全部内容由双方平等共同协商一致,共同起草制定,非一方事先拟定,不属于格式条款。本合同自双方签字盖章后生效(包括电子签字、盖章),按本合同内容地址、联系方式寄送的一切文书、函件送达与否,均为视为送达有法律效力,通知途径和本合同内联系方式或地址送达文件双方均予以验证。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">采购方补充条款:</view>
<view class="border-left m-10 pl-20 flex-1">
供货方逾期供货承担采购方一切损失
</view>
</view>
</view>
</view>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
采购商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.buyer.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.buyer.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.buyer.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.buyer.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.buyer.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.buyer.managerContract"/>
</el-form-item>
</el-col>
</el-row>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
供货商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.supplier.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.supplier.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.supplier.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.supplier.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.supplier.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.supplier.managerContract"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<view class="mt-20 flex justify-start items-center">
<text class="mr-25">您是否对以上信息进行了详细核实:</text>
<el-radio label="是" v-model="checked">
<text>是</text>
</el-radio>
<el-radio label="否" v-model="checked">
<text>否</text>
</el-radio>
</view>
<view class="flex justify-center items-center mt-30 m-a">
<el-button type="primary" :disabled="checked === '否'" @click="publish">立即发布</el-button>
</view>
</view>
</template>
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
import areas from "@/uni_modules/vk-uview-ui/libs/address/areas.json";
export default {
name: "type_0",
data() {
return {
unitList: ['吨', '万吨'],
provinceData: provinces,
cityData: citys,
areaData: areas,
form: {
type: 0,
category: 0,
files: [],
title: '',
desc: '',
addressRegion: [],
addressDetail: '',
startNum: '',
unit: '吨',
startAmount: '',
expiredTime: '',
offerAddressRegion: [],
offerAddressNoLimit: false,
payMethod: '预付',
prePayRate: '',
otherPayMethodDesc: '',
signMethod: 0,
buyer: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
supplier: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
},
provinceIndex: null,
cityIndex: null,
areaIndex: null,
offerProvinceIndex: null,
offerCityIndex: null,
offerAreaIndex: null,
checked: '否'
}
},
methods: {
selectProvince(index) {
this.form.addressRegion[0] = this.provinceData[index]
},
selectCity(index) {
this.form.addressRegion[1] = this.cityData[this.provinceIndex][index]
},
selectArea(index) {
this.form.addressRegion[2] = this.areaData[this.provinceIndex][this.cityIndex][index]
},
selectOfferProvince(index) {
this.form.offerAddressRegion[0] = this.provinceData[index]
},
selectOfferCity(index) {
this.form.offerAddressRegion[1] = this.cityData[this.offerProvinceIndex][index]
},
selectOfferArea(index) {
this.form.offerAddressRegion[2] = this.areaData[this.offerProvinceIndex][this.offerCityIndex][index]
},
changeOfferAddressNoLimit(val) {
if (val) {
this.form.offerAddressRegion = []
this.offerProvinceIndex = this.offerCityIndex = this.offerAreaIndex = null
}
},
async publish() {
await vk.callFunction({
url: 'client/old/kh/add',
data: this.form
})
this.$message({
message: "提交成功",
type: 'success'
})
vk.navigateBack()
}
}
}
</script>
<style lang="scss" scoped>
@import "@/common/css/app.scss";
.form-title-wrap {
display: flex;
align-items: center;
justify-content: space-between;
.goods-info-title {
display: flex;
align-items: center;
justify-content: flex-start;
}
.form-title {
padding-left: 10px;
color: $--color-primary;
font-size: 18px;
line-height: 18px;
border-left: 4px solid $--color-primary;
}
}
.sign-method-header {
width: 120px;
}
</style>
<style>
/deep/ .input-with-select{
width: 200px;
}
/deep/ .input-with-select .el-input-group__append {
background-color: #fff !important;
width: 80px !important;
}
</style>
+519
View File
@@ -0,0 +1,519 @@
<template>
<view class="flex flex-col justify-start items-start">
<text class="text-50">发布我的采购信息</text>
<text class="text-gray">采购信息越完整,成功交易越容易</text>
<el-form ref="form" :model="form" label-width="140px" class="mt-20">
<el-form-item label="信息失效时间:">
<el-date-picker
v-model="form.expiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="物资分类:">
<el-radio-group v-model="form.category" size="small">
<el-radio label="机械设备">
<text>机械设备</text>
</el-radio>
<el-radio label="成品钢材">
<text>成品钢材</text>
</el-radio>
<el-radio label="废旧钢材">
<text>废旧钢材</text>
</el-radio>
<el-radio label="旧架子管">
<text>旧架子管</text>
</el-radio>
<el-radio label="旧扣件">
<text>旧扣件</text>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息标题:">
<el-input v-model="form.title" placeholder="一句话简介物资,如拍卖直缝钢管200吨等"/>
</el-form-item>
<el-form-item label="采购物资详情:">
<el-input v-model="form.desc" placeholder="请详细描述物资信息,描述内容:材料名称、材质......(限300字以内)"
type="textarea" show-word-limit maxlength="300"/>
</el-form-item>
<el-form-item label="物资装货地" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="provinceIndex" placeholder="省" @change="selectProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="cityIndex" placeholder="市" @change="selectCity">
<template v-if="provinceIndex !== null">
<el-option v-for="(item, index) in cityData[provinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="areaIndex" placeholder="区/县" @change="selectArea">
<template v-if="provinceIndex !== null && cityIndex !== null">
<el-option v-for="(item, index) in areaData[provinceIndex][cityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="物资交货地" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="deliverProvinceIndex" placeholder="省" @change="selectDeliverProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="deliverCityIndex" placeholder="市" @change="selectDeliverCity">
<template v-if="deliverProvinceIndex !== null">
<el-option v-for="(item, index) in cityData[deliverProvinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="deliverAreaIndex" placeholder="区/县" @change="selectDeliverArea">
<template v-if="deliverProvinceIndex !== null && deliverCityIndex !== null">
<el-option v-for="(item, index) in areaData[deliverProvinceIndex][deliverCityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<view class="form-title-wrap" style="justify-content: flex-start">
<view class="goods-info-title">
<view class="form-title">
纳税和税票要求
</view>
</view>
<el-radio-group v-model="form.invoice">
<el-radio :label="true">含税</el-radio>
<el-radio :label="false">不含税</el-radio>
</el-radio-group>
</view>
<view class="p-30">
<template v-if="form.invoice">
<el-form-item label="开票时间:">
<el-radio-group v-model="form.writeInvoiceTime">
<el-radio :label="0">付款当月(限20号之前付款,20号之后付款次月开票)</el-radio>
<el-radio :label="1">付款后次月</el-radio>
<el-radio :label="2">付款前</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发票种类:">
<el-radio-group v-model="form.invoiceType">
<el-radio :label="0">增值税专用发票13%</el-radio>
<el-radio :label="1">增值税普通发票</el-radio>
<el-radio :label="2">普通发票</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="其他要求:">
<el-input v-model="form.invoiceOther" placeholder="请输入" size="small" type="textarea"/>
</el-form-item>
<el-form-item label="报价明细:">
<el-input v-model="form.invoiceDetail" placeholder="请输入" size="small" type="textarea"/>
</el-form-item>
</template>
<el-form-item label="报价失效时间:">
<el-date-picker
v-model="form.offerExpiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</view>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
交易说明
</view>
</view>
</view>
<el-row :gutter="10">
<el-form-item label="报价区域:">
<el-col :span="5">
<el-select v-model="offerProvinceIndex" placeholder="省" @change="selectOfferProvince"
:disabled="form.offerAddressNoLimit">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerCityIndex" placeholder="市" @change="selectOfferCity"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null">
<el-option v-for="(item, index) in cityData[offerProvinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerAreaIndex" placeholder="区/县" @change="selectOfferArea"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null && offerCityIndex !== null">
<el-option v-for="(item, index) in areaData[offerProvinceIndex][offerCityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-checkbox v-model="form.offerAddressNoLimit" @change="changeOfferAddressNoLimit">不限区域
</el-checkbox>
</el-col>
</el-form-item>
</el-row>
<el-form-item label="付款方式:">
<view class="flex justify-start items-center">
<view class="flex justify-start items-center mr-35">
<el-radio label="预付" v-model="form.payMethod">
<text>预付</text>
</el-radio>
<el-input v-model="form.prePayRate" style="width: 200px"/>
<text>%货到付全款</text>
</view>
<el-radio label="提货付全款" v-model="form.payMethod">
<text>提货付全款</text>
</el-radio>
</view>
<view class="flex justify-start items-center mt-40">
<el-radio label="其他付款方式描述" v-model="form.payMethod">
<text>其他付款方式描述</text>
</el-radio>
<el-input v-model="form.otherPayMethodDesc"
type="textarea" show-word-limit maxlength="300"/>
</view>
</el-form-item>
<el-form-item label="报价形式:">
<el-radio label="整单报价" v-model="form.offerType">
<text>整单报价</text>
</el-radio>
<el-radio label="可分项报价" v-model="form.offerType">
<text>可分项报价</text>
</el-radio>
</el-form-item>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
简易合同备注和其他补充条款
</view>
</view>
</view>
<view class="p-30">
<view class="mb-20 flex justify-start items-center">
<el-radio v-model="form.signMethod" :label="0">法大大</el-radio>
<el-radio v-model="form.signMethod" :label="1">线下签约</el-radio>
</view>
<view v-if="form.signMethod === 0">
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">违约责任:</view>
<view class="border-left m-10 pl-20 flex-1">
1.
乙方所交产品品种、型号、规格、质量不符合规定的,如果甲方同意利用,应当按质论价;如果甲方不能利用的,应根据产品的具体情况,由乙方负责包换或包修,并承担修理、调换或退货而支付的实际费用;
2.乙方不予供货违约责任为甲方的实际损失+违约金,如乙方材料符合订货标准,甲方不能退货和不收货,甲方无条件应按实际本合同订货数量支付100%货款,并支付乙方因此产生的实际费用。带有甲乙双方单位相关收货人和发货人签字的本合同的发货清单事项和内容均视为本合同的补充合同,与本合同有相同的法律效力,双方应共同遵照执行。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">解决纠纷的方法:</view>
<view class="border-left m-10 pl-20 flex-1">
1、凡因本合同引起的或与本合同有关的任何争议,均可友好协商或仲裁解决,协商或仲裁不成的,双方协商同意在合同签订地人民法院管辖地起诉,违约一方或对合同争议承担主要责任的一方,应承担对方因仲裁和起诉而产生的全部律师代理费、鉴定(检验)费、诉讼保全费、诉讼保险费、公告费、差旅费、执行费、误工费和获取证据产生费用等其他相关费用。
2、双方本合同相关权利放弃均应有双方书面作出并加盖公章或授权委托人签字后生效。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">不可抗力:</view>
<view class="border-left m-10 pl-20 flex-1">
甲乙双方的任何一方由于不可抗力或突发公共事件的原因不能履行合同时,应及时向对方通报不能履行或不能完全履行的理由,以减轻可能给对方造成的损失,在取得有关机构证明以后,允许延期履行、部分履行或者不履行合同,并根据情况可部分或全部免予承担违约责任。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">其他:</view>
<view class="border-left m-10 pl-20 flex-1">
本合同的全部内容由双方平等共同协商一致,共同起草制定,非一方事先拟定,不属于格式条款。本合同自双方签字盖章后生效(包括电子签字、盖章),按本合同内容地址、联系方式寄送的一切文书、函件送达与否,均为视为送达有法律效力,通知途径和本合同内联系方式或地址送达文件双方均予以验证。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">采购方补充条款:</view>
<view class="border-left m-10 pl-20 flex-1">
供货方逾期供货承担采购方一切损失
</view>
</view>
</view>
</view>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
采购商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.buyer.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.buyer.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.buyer.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.buyer.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.buyer.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.buyer.managerContract"/>
</el-form-item>
</el-col>
</el-row>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
供货商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.supplier.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.supplier.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.supplier.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.supplier.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.supplier.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.supplier.managerContract"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<view class="mt-20 flex justify-start items-center">
<text class="mr-25">您是否对以上信息进行了详细核实:</text>
<el-radio label="是" v-model="checked">
<text>是</text>
</el-radio>
<el-radio label="否" v-model="checked">
<text>否</text>
</el-radio>
</view>
<view class="flex justify-center items-center mt-30 m-a">
<el-button type="primary" :disabled="checked === '否'" @click="publish">立即发布</el-button>
</view>
</view>
</template>
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
import areas from "@/uni_modules/vk-uview-ui/libs/address/areas.json";
export default {
name: "type_1",
data() {
return {
provinceData: provinces,
cityData: citys,
areaData: areas,
form: {
type: 1,
category: 0,
files: [],
title: '',
desc: '',
addressRegion: [],
addressDetail: '',
deliverAddressRegion: [],
deliverAddressDetail: '',
invoice: false,
writeInvoiceTime: '',
invoiceType: '',
invoiceOther: '',
invoiceDetail: '',
expiredTime: '',
offerExpiredTime: '',
offerAddressRegion: [],
offerAddressNoLimit: false,
payMethod: '预付',
offerType: '整单报价',
prePayRate: '',
otherPayMethodDesc: '',
signMethod: 0,
buyer: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
supplier: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
},
provinceIndex: null,
cityIndex: null,
areaIndex: null,
deliverProvinceIndex: null,
deliverCityIndex: null,
deliverAreaIndex: null,
offerProvinceIndex: null,
offerCityIndex: null,
offerAreaIndex: null,
checked: '否'
}
},
methods: {
selectProvince(index) {
this.form.addressRegion[0] = this.provinceData[index]
},
selectCity(index) {
this.form.addressRegion[1] = this.cityData[this.provinceIndex][index]
},
selectArea(index) {
this.form.addressRegion[2] = this.areaData[this.provinceIndex][this.cityIndex][index]
},
selectDeliverProvince(index) {
this.form.deliverAddressRegion[0] = this.provinceData[index]
},
selectDeliverCity(index) {
this.form.deliverAddressRegion[1] = this.cityData[this.deliverProvinceIndex][index]
},
selectDeliverArea(index) {
this.form.deliverAddressRegion[2] = this.areaData[this.deliverProvinceIndex][this.deliverCityIndex][index]
},
selectOfferProvince(index) {
this.form.offerAddressRegion[0] = this.provinceData[index]
},
selectOfferCity(index) {
this.form.offerAddressRegion[1] = this.cityData[this.offerProvinceIndex][index]
},
selectOfferArea(index) {
this.form.offerAddressRegion[2] = this.areaData[this.offerProvinceIndex][this.offerCityIndex][index]
},
changeOfferAddressNoLimit(val) {
if (val) {
this.form.offerAddressRegion = []
this.offerProvinceIndex = this.offerCityIndex = this.offerAreaIndex = null
}
},
async publish() {
await vk.callFunction({
url: 'client/old/kh/add',
data: this.form
})
this.$message({
message: "提交成功",
type: 'success'
})
vk.navigateBack()
}
}
}
</script>
<style lang="scss" scoped>
@import "@/common/css/app.scss";
.form-title-wrap {
display: flex;
align-items: center;
justify-content: space-between;
.goods-info-title {
display: flex;
align-items: center;
justify-content: flex-start;
}
.form-title {
padding-left: 10px;
color: $--color-primary;
font-size: 18px;
line-height: 18px;
border-left: 4px solid $--color-primary;
}
}
.sign-method-header {
width: 120px;
}
</style>
<style>
/deep/ .input-with-select{
width: 200px;
}
/deep/ .input-with-select .el-input-group__append {
background-color: #fff !important;
width: 80px !important;
}
</style>
+519
View File
@@ -0,0 +1,519 @@
<template>
<view class="flex flex-col justify-start items-start">
<text class="text-50">发布我的承租信息</text>
<text class="text-gray">承租信息越完整,成功交易越容易</text>
<el-form ref="form" :model="form" label-width="140px" class="mt-20">
<el-form-item label="信息失效时间:">
<el-date-picker
v-model="form.expiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="物资分类:">
<el-radio-group v-model="form.category" size="small">
<el-radio label="机械设备">
<text>机械设备</text>
</el-radio>
<el-radio label="成品钢材">
<text>成品钢材</text>
</el-radio>
<el-radio label="废旧钢材">
<text>废旧钢材</text>
</el-radio>
<el-radio label="旧架子管">
<text>旧架子管</text>
</el-radio>
<el-radio label="旧扣件">
<text>旧扣件</text>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息标题:">
<el-input v-model="form.title" placeholder="一句话简介物资,如拍卖直缝钢管200吨等"/>
</el-form-item>
<el-form-item label="出租物资详情:">
<el-input v-model="form.desc" placeholder="请详细描述物资信息,描述内容:材料名称、材质......(限300字以内)"
type="textarea" show-word-limit maxlength="300"/>
</el-form-item>
<el-form-item label="物资装货地" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="provinceIndex" placeholder="省" @change="selectProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="cityIndex" placeholder="市" @change="selectCity">
<template v-if="provinceIndex !== null">
<el-option v-for="(item, index) in cityData[provinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="areaIndex" placeholder="区/县" @change="selectArea">
<template v-if="provinceIndex !== null && cityIndex !== null">
<el-option v-for="(item, index) in areaData[provinceIndex][cityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="物资交货地" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="deliverProvinceIndex" placeholder="省" @change="selectDeliverProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="deliverCityIndex" placeholder="市" @change="selectDeliverCity">
<template v-if="deliverProvinceIndex !== null">
<el-option v-for="(item, index) in cityData[deliverProvinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="deliverAreaIndex" placeholder="区/县" @change="selectDeliverArea">
<template v-if="deliverProvinceIndex !== null && deliverCityIndex !== null">
<el-option v-for="(item, index) in areaData[deliverProvinceIndex][deliverCityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<view class="form-title-wrap" style="justify-content: flex-start">
<view class="goods-info-title">
<view class="form-title">
纳税和税票要求
</view>
</view>
<el-radio-group v-model="form.invoice">
<el-radio :label="true">含税</el-radio>
<el-radio :label="false">不含税</el-radio>
</el-radio-group>
</view>
<view class="p-30">
<template v-if="form.invoice">
<el-form-item label="开票时间:">
<el-radio-group v-model="form.writeInvoiceTime">
<el-radio :label="0">付款当月(限20号之前付款,20号之后付款次月开票)</el-radio>
<el-radio :label="1">付款后次月</el-radio>
<el-radio :label="2">付款前</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发票种类:">
<el-radio-group v-model="form.invoiceType">
<el-radio :label="0">增值税专用发票13%</el-radio>
<el-radio :label="1">增值税普通发票</el-radio>
<el-radio :label="2">普通发票</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="其他要求:">
<el-input v-model="form.invoiceOther" placeholder="请输入" size="small" type="textarea"/>
</el-form-item>
<el-form-item label="报价明细:">
<el-input v-model="form.invoiceDetail" placeholder="请输入" size="small" type="textarea"/>
</el-form-item>
</template>
<el-form-item label="报价失效时间:">
<el-date-picker
v-model="form.offerExpiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
</view>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
交易说明
</view>
</view>
</view>
<el-row :gutter="10">
<el-form-item label="报价区域:">
<el-col :span="5">
<el-select v-model="offerProvinceIndex" placeholder="省" @change="selectOfferProvince"
:disabled="form.offerAddressNoLimit">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerCityIndex" placeholder="市" @change="selectOfferCity"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null">
<el-option v-for="(item, index) in cityData[offerProvinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="offerAreaIndex" placeholder="区/县" @change="selectOfferArea"
:disabled="form.offerAddressNoLimit">
<template v-if="offerProvinceIndex !== null && offerCityIndex !== null">
<el-option v-for="(item, index) in areaData[offerProvinceIndex][offerCityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-checkbox v-model="form.offerAddressNoLimit" @change="changeOfferAddressNoLimit">不限区域
</el-checkbox>
</el-col>
</el-form-item>
</el-row>
<el-form-item label="付款方式:">
<view class="flex justify-start items-center">
<view class="flex justify-start items-center mr-35">
<el-radio label="预付" v-model="form.payMethod">
<text>预付</text>
</el-radio>
<el-input v-model="form.prePayRate" style="width: 200px"/>
<text>%货到付全款</text>
</view>
<el-radio label="提货付全款" v-model="form.payMethod">
<text>提货付全款</text>
</el-radio>
</view>
<view class="flex justify-start items-center mt-40">
<el-radio label="其他付款方式描述" v-model="form.payMethod">
<text>其他付款方式描述</text>
</el-radio>
<el-input v-model="form.otherPayMethodDesc"
type="textarea" show-word-limit maxlength="300"/>
</view>
</el-form-item>
<el-form-item label="报价形式:">
<el-radio label="整单报价" v-model="form.offerType">
<text>整单报价</text>
</el-radio>
<el-radio label="可分项报价" v-model="form.offerType">
<text>可分项报价</text>
</el-radio>
</el-form-item>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
简易合同备注和其他补充条款
</view>
</view>
</view>
<view class="p-30">
<view class="mb-20 flex justify-start items-center">
<el-radio v-model="form.signMethod" :label="0">法大大</el-radio>
<el-radio v-model="form.signMethod" :label="1">线下签约</el-radio>
</view>
<view v-if="form.signMethod === 0">
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">违约责任:</view>
<view class="border-left m-10 pl-20 flex-1">
1.
乙方所交产品品种、型号、规格、质量不符合规定的,如果甲方同意利用,应当按质论价;如果甲方不能利用的,应根据产品的具体情况,由乙方负责包换或包修,并承担修理、调换或退货而支付的实际费用;
2.乙方不予供货违约责任为甲方的实际损失+违约金,如乙方材料符合订货标准,甲方不能退货和不收货,甲方无条件应按实际本合同订货数量支付100%货款,并支付乙方因此产生的实际费用。带有甲乙双方单位相关收货人和发货人签字的本合同的发货清单事项和内容均视为本合同的补充合同,与本合同有相同的法律效力,双方应共同遵照执行。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">解决纠纷的方法:</view>
<view class="border-left m-10 pl-20 flex-1">
1、凡因本合同引起的或与本合同有关的任何争议,均可友好协商或仲裁解决,协商或仲裁不成的,双方协商同意在合同签订地人民法院管辖地起诉,违约一方或对合同争议承担主要责任的一方,应承担对方因仲裁和起诉而产生的全部律师代理费、鉴定(检验)费、诉讼保全费、诉讼保险费、公告费、差旅费、执行费、误工费和获取证据产生费用等其他相关费用。
2、双方本合同相关权利放弃均应有双方书面作出并加盖公章或授权委托人签字后生效。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">不可抗力:</view>
<view class="border-left m-10 pl-20 flex-1">
甲乙双方的任何一方由于不可抗力或突发公共事件的原因不能履行合同时,应及时向对方通报不能履行或不能完全履行的理由,以减轻可能给对方造成的损失,在取得有关机构证明以后,允许延期履行、部分履行或者不履行合同,并根据情况可部分或全部免予承担违约责任。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">其他:</view>
<view class="border-left m-10 pl-20 flex-1">
本合同的全部内容由双方平等共同协商一致,共同起草制定,非一方事先拟定,不属于格式条款。本合同自双方签字盖章后生效(包括电子签字、盖章),按本合同内容地址、联系方式寄送的一切文书、函件送达与否,均为视为送达有法律效力,通知途径和本合同内联系方式或地址送达文件双方均予以验证。
</view>
</view>
<view class="flex justify-start items-start border">
<view class="m-10 sign-method-header">采购方补充条款:</view>
<view class="border-left m-10 pl-20 flex-1">
供货方逾期供货承担采购方一切损失
</view>
</view>
</view>
</view>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
采购商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.buyer.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.buyer.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.buyer.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.buyer.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.buyer.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.buyer.managerContract"/>
</el-form-item>
</el-col>
</el-row>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
供货商信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.supplier.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.supplier.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.supplier.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.supplier.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.supplier.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.supplier.managerContract"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<view class="mt-20 flex justify-start items-center">
<text class="mr-25">您是否对以上信息进行了详细核实:</text>
<el-radio label="是" v-model="checked">
<text>是</text>
</el-radio>
<el-radio label="否" v-model="checked">
<text>否</text>
</el-radio>
</view>
<view class="flex justify-center items-center mt-30 m-a">
<el-button type="primary" :disabled="checked === '否'" @click="publish">立即发布</el-button>
</view>
</view>
</template>
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
import areas from "@/uni_modules/vk-uview-ui/libs/address/areas.json";
export default {
name: "type_2",
data() {
return {
provinceData: provinces,
cityData: citys,
areaData: areas,
form: {
type: 2,
category: 0,
files: [],
title: '',
desc: '',
addressRegion: [],
addressDetail: '',
deliverAddressRegion: [],
deliverAddressDetail: '',
invoice: false,
writeInvoiceTime: '',
invoiceType: '',
invoiceOther: '',
invoiceDetail: '',
expiredTime: '',
offerExpiredTime: '',
offerAddressRegion: [],
offerAddressNoLimit: false,
payMethod: '预付',
offerType: '整单报价',
prePayRate: '',
otherPayMethodDesc: '',
signMethod: 0,
buyer: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
supplier: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
},
provinceIndex: null,
cityIndex: null,
areaIndex: null,
deliverProvinceIndex: null,
deliverCityIndex: null,
deliverAreaIndex: null,
offerProvinceIndex: null,
offerCityIndex: null,
offerAreaIndex: null,
checked: '否'
}
},
methods: {
selectProvince(index) {
this.form.addressRegion[0] = this.provinceData[index]
},
selectCity(index) {
this.form.addressRegion[1] = this.cityData[this.provinceIndex][index]
},
selectArea(index) {
this.form.addressRegion[2] = this.areaData[this.provinceIndex][this.cityIndex][index]
},
selectDeliverProvince(index) {
this.form.deliverAddressRegion[0] = this.provinceData[index]
},
selectDeliverCity(index) {
this.form.deliverAddressRegion[1] = this.cityData[this.deliverProvinceIndex][index]
},
selectDeliverArea(index) {
this.form.deliverAddressRegion[2] = this.areaData[this.deliverProvinceIndex][this.deliverCityIndex][index]
},
selectOfferProvince(index) {
this.form.offerAddressRegion[0] = this.provinceData[index]
},
selectOfferCity(index) {
this.form.offerAddressRegion[1] = this.cityData[this.offerProvinceIndex][index]
},
selectOfferArea(index) {
this.form.offerAddressRegion[2] = this.areaData[this.offerProvinceIndex][this.offerCityIndex][index]
},
changeOfferAddressNoLimit(val) {
if (val) {
this.form.offerAddressRegion = []
this.offerProvinceIndex = this.offerCityIndex = this.offerAreaIndex = null
}
},
async publish() {
await vk.callFunction({
url: 'client/old/kh/add',
data: this.form
})
this.$message({
message: "提交成功",
type: 'success'
})
vk.navigateBack()
}
}
}
</script>
<style lang="scss" scoped>
@import "@/common/css/app.scss";
.form-title-wrap {
display: flex;
align-items: center;
justify-content: space-between;
.goods-info-title {
display: flex;
align-items: center;
justify-content: flex-start;
}
.form-title {
padding-left: 10px;
color: $--color-primary;
font-size: 18px;
line-height: 18px;
border-left: 4px solid $--color-primary;
}
}
.sign-method-header {
width: 120px;
}
</style>
<style>
/deep/ .input-with-select{
width: 200px;
}
/deep/ .input-with-select .el-input-group__append {
background-color: #fff !important;
width: 80px !important;
}
</style>
+235
View File
@@ -0,0 +1,235 @@
<template>
<view class="flex flex-col justify-start items-start">
<text class="text-50">发布我的回收信息</text>
<text class="text-gray">回收信息越完整,成功交易越容易</text>
<el-form ref="form" :model="form" label-width="140px" class="mt-20">
<el-form-item label="信息失效时间:">
<el-date-picker
v-model="form.expiredTime"
type="datetime"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="物资分类:">
<el-radio-group v-model="form.category" size="small">
<el-radio label="机械设备">
<text>机械设备</text>
</el-radio>
<el-radio label="成品钢材">
<text>成品钢材</text>
</el-radio>
<el-radio label="废旧钢材">
<text>废旧钢材</text>
</el-radio>
<el-radio label="旧架子管">
<text>旧架子管</text>
</el-radio>
<el-radio label="旧扣件">
<text>旧扣件</text>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="信息标题:">
<el-input v-model="form.title" placeholder="一句话简介物资,如拍卖直缝钢管200吨等"/>
</el-form-item>
<el-form-item label="回收方简述:">
<el-input v-model="form.desc" placeholder="请详细描述物资信息,描述内容:材料名称、材质......(限300字以内)"
type="textarea" show-word-limit maxlength="300"/>
</el-form-item>
<el-form-item label="回收物实景照片:">
<vk-data-upload v-model="form.files"
accept="image/*">
</vk-data-upload>
</el-form-item>
<el-form-item label="回收单位地址" class="ml-10">
<el-row :gutter="10">
<el-col :span="5">
<el-select v-model="provinceIndex" placeholder="省" @change="selectProvince">
<el-option v-for="(item, index) in provinceData" :key="index" :value="index"
:label="item.name"/>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="cityIndex" placeholder="市" @change="selectCity">
<template v-if="provinceIndex !== null">
<el-option v-for="(item, index) in cityData[provinceIndex]" :key="index"
:value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="5">
<el-select v-model="areaIndex" placeholder="区/县" @change="selectArea">
<template v-if="provinceIndex !== null && cityIndex !== null">
<el-option v-for="(item, index) in areaData[provinceIndex][cityIndex]"
:key="index" :value="index"
:label="item.name"/>
</template>
</el-select>
</el-col>
<el-col :span="8">
<el-input v-model="form.addressDetail"
placeholder="详细地址或几公里范围内"></el-input>
</el-col>
</el-row>
</el-form-item>
<view class="form-title-wrap">
<view class="goods-info-title">
<view class="form-title">
回收单位信息
</view>
</view>
</view>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="公司信息">
<el-input v-model="form.supplier.companyName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司联系方式">
<el-input v-model="form.supplier.contract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="个人信息">
<el-input v-model="form.supplier.personalName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="个人联系方式">
<el-input v-model="form.supplier.personalContract"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="授权人姓名">
<el-input v-model="form.supplier.managerName"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="授权联系方式">
<el-input v-model="form.supplier.managerContract"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<view class="mt-20 flex justify-start items-center">
<text class="mr-25">您是否对以上信息进行了详细核实:</text>
<el-radio label="是" v-model="checked">
<text>是</text>
</el-radio>
<el-radio label="否" v-model="checked">
<text>否</text>
</el-radio>
</view>
<view class="flex justify-center items-center mt-30 m-a">
<el-button type="primary" :disabled="checked === '否'" @click="publish">立即发布</el-button>
</view>
</view>
</template>
<script>
import provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
import areas from "@/uni_modules/vk-uview-ui/libs/address/areas.json";
export default {
name: "type_3",
data() {
return {
provinceData: provinces,
cityData: citys,
areaData: areas,
form: {
type: 3,
category: 0,
files: [],
title: '',
desc: '',
addressRegion: [],
addressDetail: '',
expiredTime: '',
supplier: {
companyName: '',
contract: '',
personalName: '',
personalContract: '',
managerName: '',
managerContract: '',
},
},
provinceIndex: null,
cityIndex: null,
areaIndex: null,
checked: '否'
}
},
methods: {
selectProvince(index) {
this.form.addressRegion[0] = this.provinceData[index]
},
selectCity(index) {
this.form.addressRegion[1] = this.cityData[this.provinceIndex][index]
},
selectArea(index) {
this.form.addressRegion[2] = this.areaData[this.provinceIndex][this.cityIndex][index]
},
async publish() {
await vk.callFunction({
url: 'client/old/kh/add',
data: this.form
})
this.$message({
message: "提交成功",
type: 'success'
})
vk.navigateBack()
}
}
}
</script>
<style lang="scss" scoped>
@import "@/common/css/app.scss";
.form-title-wrap {
display: flex;
align-items: center;
justify-content: space-between;
.goods-info-title {
display: flex;
align-items: center;
justify-content: flex-start;
}
.form-title {
padding-left: 10px;
color: $--color-primary;
font-size: 18px;
line-height: 18px;
border-left: 4px solid $--color-primary;
}
}
.sign-method-header {
width: 120px;
}
</style>
<style>
/deep/ .input-with-select{
width: 200px;
}
/deep/ .input-with-select .el-input-group__append {
background-color: #fff !important;
width: 80px !important;
}
</style>
+142 -104
View File
@@ -1,7 +1,9 @@
<template>
<el-card shadow="never">
<view class="welcome">
尊敬的平台商家您好,目前您是我们平台的 <text>黄金VIP LV1</text> 客户,可享受相应会员权益~
尊敬的平台商家您好,目前您是我们平台的
<text>黄金VIP LV1</text>
客户,可享受相应会员权益~
</view>
<view class="user-info">
<view class="left">
@@ -24,7 +26,8 @@
<view class="desc">还差40W升级LV2</view>
</view>
<view class="progress-line">
<el-progress :percentage="30" color="#919191" stroke-width="8" :show-text="false"></el-progress>
<el-progress :percentage="30" color="#919191" :stroke-width="8"
:show-text="false"></el-progress>
</view>
<view class="level">
<view class="min-level">L1</view>
@@ -32,14 +35,19 @@
</view>
</view>
<view class="xufei-btn">
<el-image src="https://oss.wsdns.cn/20231205/aecd46b81f8b452c9294ae36ab8404f5.png" />
<el-image src="https://oss.wsdns.cn/20231205/aecd46b81f8b452c9294ae36ab8404f5.png"/>
</view>
</view>
</view>
</view>
<view class="right">
<view class="bzj-title">当前保证金<text>1000078</text>元</view>
<view class="desc">金久信携手千万采购商和供应商,承诺为买家和卖家打造更优质的服务平台,缴纳诚信保证金会冻结在平台,最低保证金额度5000.00元</view>
<view class="bzj-title">当前保证金
<text>{{ userInfo.paidEnsure }}</text>
元
</view>
<view class="desc">
金久信携手千万采购商和供应商,承诺为买家和卖家打造更优质的服务平台,缴纳诚信保证金会冻结在平台,最低保证金额度5000.00元
</view>
<view class="btn-box">
<el-button @click="showForm('grade')">升级会员</el-button>
<el-button @click="showForm('payment')">去缴纳保证金</el-button>
@@ -48,10 +56,10 @@
</view>
</view>
<view class="equity">
<el-image src="https://oss.wsdns.cn/20231205/5ba845c9570e4fba95516b68ae661056.png" />
<!-- <i class="el-icon-minus"></i>-->
<!-- <text>可享受一下权益</text>-->
<!-- <i class="el-icon-minus"></i>-->
<el-image src="https://oss.wsdns.cn/20231205/5ba845c9570e4fba95516b68ae661056.png"/>
<!-- <i class="el-icon-minus"></i>-->
<!-- <text>可享受一下权益</text>-->
<!-- <i class="el-icon-minus"></i>-->
</view>
<div class="grade-list">
@@ -70,13 +78,34 @@
<div class="item">
<div class="item-box">
<div class="title">身份图标</div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/cb35648023de4c40a0790c275962222f.png"></el-image> </div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/9816e24079d349068f52ba45c2786fb5.png"></el-image></div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/11f497e8c11d45bb97b1939ac8ed68a1.png"></el-image></div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/45ae2b50ca044f208edf2f411ed72da1.png"></el-image></div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/10ae319c1bb045d3b871046c85f97432.png"></el-image></div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/cea0d711c9004c57b14aec491e48c3ff.png"></el-image></div>
<div class="title"><el-image class="level" src="https://oss.wsdns.cn/20231205/a7445b2a6c224aee9115317f29867851.png"></el-image></div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/cb35648023de4c40a0790c275962222f.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/9816e24079d349068f52ba45c2786fb5.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/11f497e8c11d45bb97b1939ac8ed68a1.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/45ae2b50ca044f208edf2f411ed72da1.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/10ae319c1bb045d3b871046c85f97432.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/cea0d711c9004c57b14aec491e48c3ff.png"></el-image>
</div>
<div class="title">
<el-image class="level"
src="https://oss.wsdns.cn/20231205/a7445b2a6c224aee9115317f29867851.png"></el-image>
</div>
</div>
</div>
<div class="item">
@@ -192,19 +221,24 @@
</template>
<script>
import UQRCode from 'uqrcodejs';
import UGap from "../../../uni_modules/vk-uview-ui/components/u-gap/u-gap.vue";
const OpenSdk = require('../lib/base').default;
// const OpenSdk = require('ums-sdk-nodejs').default;
import UQRCode from 'uqrcodejs';
import UGap from "../../../uni_modules/vk-uview-ui/components/u-gap/u-gap.vue";
import dayjs from "dayjs";
const sdk = new OpenSdk({
const OpenSdk = require('../lib/base').default;
// const OpenSdk = require('ums-sdk-nodejs').default;
const sdk = new OpenSdk({
appId: '10037e6f6823b20801682b6a5e5a0006',
appKey: '1c4e3b16066244ae9b236a09e5b312e8'
})
export default {
})
export default {
components: {UGap},
data() {
return {
userInfo: {
paidEnsure: 0
},
paymentIndex: 0,
payment: ["银联支付"],
money: 5000,
@@ -259,7 +293,8 @@
]
}
},
created() {},
created() {
},
methods: {
getUserInfo() {
vk.userCenter.getCurrentUserInfo({
@@ -267,21 +302,18 @@
if (data.userInfo.businessCard) {
this.form1.data = data.userInfo.businessCard
}
this.userInfo = data.userInfo
// 成功后的逻辑
console.log('用户信息: ', data);
}
});
},
onChange(money) {
this.money = money
},
onPay() {
const date = new Date()
const requestTimestamp = this.dateFormat('YYYY-mm-dd HH:MM:SS', date)
const timestamp = this.dateFormat('YYYYmmddHHMMSS', date)
console.log(timestamp)
console.log(requestTimestamp)
const requestTimestamp = dayjs().format('YYYY-MM-DD HH:mm:ss')
const timestamp = dayjs().format('YYYYMMDDHHmmss')
let data = {
queryUrl: 'https://test-api-open.chinaums.com/v1/netpay/bills/get-qrcode',
timestamp,
@@ -316,30 +348,11 @@
}
})
},
dateFormat(fmt, date) {
const opt = {
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
let ret
for (let k in opt) {
ret = new RegExp("(" + k + ")").exec(fmt)
if (ret) {
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt
},
navTo(url) {
vk.navigateTo(url);
},
showForm(index){
this.$emit('done',index);
showForm(index) {
this.$emit('done', index);
},
search(pageIndex) {
// vk.callFunction({
@@ -365,16 +378,16 @@
// });
},
}
}
}
</script>
<style lang="scss" scoped>
.clearfix {
.clearfix {
font-weight: bold;
font-size: 18px;
}
}
.bzj-price {
.bzj-price {
display: flex;
justify-content: space-between;
@@ -393,7 +406,8 @@
width: 40px;
justify-content: center;
text-align: center;
.level{
.level {
width: 80px;
height: 80px;
}
@@ -464,14 +478,14 @@
}
}
}
}
}
.box-card {
.box-card {
margin-top: 20px;
border: none;
}
}
.sub-title {
.sub-title {
color: #bf2b28;
font-size: 18px;
font-weight: bold;
@@ -480,40 +494,43 @@
height: 20px;
line-height: 20px;
margin: 20px auto;
}
}
.bzj-readme {
.bzj-readme {
margin-top: 20px;
}
}
.payment {
.payment {
margin-top: 20px;
}
}
.pay-price {
.pay-price {
margin-top: 20px;
}
}
.pay-desc {
.pay-desc {
font-size: 16px;
line-height: 2em;
}
}
.welcome{
.welcome {
color: #999999;
font-size: 16px;
text{
text {
color: #bf2b28;
font-size: 18px;
font-weight: bold;
}
}
.user-info{
}
.user-info {
margin: 20px auto;
display: flex;
justify-content: space-between;
.left{
.member-card{
.left {
.member-card {
background: url("https://oss.wsdns.cn/20231205/e080605f50d3406b84bae69088418309.png");
background-size: 100%;
background-color: #626262;
@@ -521,19 +538,22 @@
padding: 30px;
width: 420px;
height: 230px;
.card-name{
.name{
.card-name {
.name {
color: #DFBA8B;
font-size: 24px;
font-weight: bold;
}
.level{
.level {
color: #DFBA8B;
font-size: 18px;
font-weight: bold;
margin:0 15px;
margin: 0 15px;
}
.grade{
.grade {
padding: 4px 7px;
color: #ffffff;
border: 1px solid #ffffff;
@@ -541,42 +561,51 @@
margin-left: 20px;
}
}
.exp-time{
.exp-time {
color: #DFBA8B;
opacity: 0.5;
}
.progress-box{
.progress-box {
display: flex;
justify-content: space-between;
align-items: center;
.total-pay{
.total-pay {
margin-top: 30px;
color: #BFBFBF;
}
.progress{
.progress {
display: flex;
justify-content: space-between;
align-items: flex-end;
color: #BFBFBF;
font-size: 20px;
.price{
.price {
}
.desc{
.desc {
font-size: 12px;
padding-bottom: 1px;
}
}
.progress-line{
.progress-line {
width: 250px;
}
.level{
.level {
display: flex;
justify-content: space-between;
color: #BFBFBF;
line-height: 1.8em;
}
.xufei-btn{
.xufei-btn {
width: 100px;
margin-left: 20px;
margin-top: 12px;
@@ -584,36 +613,43 @@
}
}
}
.right{
.right {
padding: 20px;
border-radius: 20px;
width: 420px;
.bzj-title{
.bzj-title {
font-size: 16px;
text{
text {
color: #bf2b28;
font-size: 24px;
}
}
.desc{
.desc {
color: #999999;
padding: 18px 0;
}
}
}
.equity{
}
.equity {
text-align: center;
color: #999999;
font-size: 16px;
text{
text {
padding: 15px;
}
.el-icon-minus{
}
.el-icon-minus {
}
}
.grade-list {
.grade-list {
display: flex;
flex-direction: column;
font-size: 12px;
@@ -625,7 +661,8 @@
.item-box {
display: flex;
font-size: 14px;
.red{
.red {
color: #bf2b28;
}
@@ -637,7 +674,8 @@
flex: 1;
justify-content: center;
text-align: center;
.get-way{
.get-way {
display: flex;
flex-direction: column;
font-size: 13px;
@@ -709,12 +747,12 @@
}
}
}
}
}
.paginatio {
.paginatio {
float: none;
margin: 20px auto;
display: flex;
justify-content: center;
}
}
</style>
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/add 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.add({
dbName: 'jjx-user-level',
dataJson: data
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/delete 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.deleteById({
dbName: 'jjx-user-level',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/list 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-user-level',
sortArr: [
{ name: "sort", type: "asc" },
{ name: "_id", type: "desc" },
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/update 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.updateById({
dbName: 'jjx-user-level',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,24 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/old/kh/add 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.add({
dbName: "jjx-old",
dataJson: data
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/old/kh/getList 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vl.baseDao.select({
dbName: "jjx-old",
whereJson: {
uid
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/old/pub/getList 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid, pageIndex, pageSize, type} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: "jjx-old",
pageIndex,
pageSize,
whereJson: {
type: type
},
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -72,8 +72,9 @@ module.exports = {
person,
company,
accountType: accountType,
nickname: accountType == 1?person.personName: company.companyName,
authStatus: -1
nickname: accountType == 1 ? person.personName: company.companyName,
authStatus: -1,
userLevel: -1,
}
});
}else {