1、新增商城

2、新增自营
This commit is contained in:
2023-12-04 14:04:17 +08:00
parent 74e87c1339
commit a92aec2c29
30 changed files with 1447 additions and 834 deletions
+7
View File
@@ -2734,4 +2734,11 @@ input:disabled {
.border-main { .border-main {
border: 1px solid #a92924; border: 1px solid #a92924;
}
.line-1{
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
white-space: nowrap;
} }
+48
View File
@@ -185,6 +185,30 @@
"enablePullDownRefresh" : false "enablePullDownRefresh" : false
} }
}, },
{
"path" : "pages/index/self-support/companyQuote",
"style" :
{
"navigationBarTitleText" : "金久信自营",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/index/self-support/selectType",
"style" :
{
"navigationBarTitleText" : "金久信自营",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/index/self-support/productQuote",
"style" :
{
"navigationBarTitleText" : "金久信自营",
"enablePullDownRefresh" : false
}
},
{ {
"path" : "pages/index/server/server", "path" : "pages/index/server/server",
"style" : "style" :
@@ -200,6 +224,30 @@
"navigationBarTitleText" : "", "navigationBarTitleText" : "",
"enablePullDownRefresh" : false "enablePullDownRefresh" : false
} }
},
{
"path" : "pages/index/shop/detail",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/yellowPage/list",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/yellowPage/info",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
} }
], ],
"globalStyle": { "globalStyle": {
+186
View File
@@ -0,0 +1,186 @@
<template>
<view>
<top-bar></top-bar>
<common-header></common-header>
<category-bar></category-bar>
<view class="w-1200 m-a">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper>
<view class="bg-white p-40">
<view v-for="(item, index) in configList" :key="index"
class="my-20 flex flex-col justify-start items-start">
<view v-for="(content, contentIndex) in item.contents" :key="contentIndex" class="mb-20 ">
<el-checkbox @change="changeCheck(index, content, contentIndex)">
<view class="flex flex-col justify-start items-start">
<view class="flex justify-start items-center text-35 mb-20">
<text>服务内容:{{ item.name }}</text>
<text class="ml-35">
业务编号:{{ content.code }}
</text>
<text class="ml-35">服务服务项目: {{ content.title }}</text>
<text class="ml-35"> {{ content.amount }}元/次</text>
</view>
<view>备注: {{ item.remark }}</view>
</view>
</el-checkbox>
</view>
</view>
<el-form ref="form" :model="form" label-width="200px">
<view v-for="(item, index) in companyList" :key="index">
<el-form-item label="考察对象(个人/企业全称):" required>
<el-input v-model="companyList[index].name"/>
</el-form-item>
<el-form-item label="考察对象(个人身份证/企业信用代码):">
<el-input v-model="companyList[index].code"/>
</el-form-item>
<el-form-item label="考察对象(个人/单位)所在地:">
<el-input v-model="companyList[index].address"/>
</el-form-item>
<el-form-item label="接收文件电子邮箱:">
<el-input v-model="companyList[index].email"/>
</el-form-item>
<el-form-item label="接收文件微信:">
<el-input v-model="companyList[index].wechat"/>
</el-form-item>
<el-form-item label="接收文件寄件地址">
<el-input v-model="companyList[index].receiveAddress"/>
</el-form-item>
<el-form-item label="申请人:">
<el-input v-model="companyList[index].requestName"/>
</el-form-item>
<el-form-item label="联系人:">
<el-input v-model="companyList[index].contactName"/>
</el-form-item>
<el-form-item label="联系方式:">
<el-input v-model="companyList[index].contact"/>
</el-form-item>
<el-form-item label="本次服务费用小计:">
<view class="flex justify-between items-start mb-20 w-100p">
<view class="flex justify-start items-center">
<el-input v-model="amount" disabled/>
<view class="ml-20">
<el-button type="primary" @click.native="addCompany">增加考察对象
</el-button>
</view>
<view class="ml-20">
<el-button type="primary" plain @click.native="removeCompany(index)"
class="ml-20"
:disabled="companyList.length === 1">删除该对象
</el-button>
</view>
</view>
</view>
</el-form-item>
</view>
</el-form>
<view class="mt-40 flex justify-center items-center">
<view class="flex justify-center items-center">
<text>总价:</text>
<text class="text-main font-bold text-35">{{ totalAmount }}元</text>
</view>
<view class="ml-35">客服联系方式: 0771-3923001</view>
</view>
<view class="mt-40 flex justify-center items-center">
<el-button type="primary" :disabled="contentList.length === 0 || companyList.length === 0 || !companyList[0].name">立即支付
</el-button>
</view>
</view>
</view>
<common-footer></common-footer>
</view>
</template>
<script>
export default {
name: "companyQuote",
data() {
return {
list: [
{
image: '/static/images/selfSupport/swiper.jpg',
title: '昨夜星辰昨夜风,画楼西畔桂堂东'
},
],
form: {},
configList: [],
checkList: [],
contentList: [],
companyList: [
{
name: '',
code: '',
address: '',
email: '',
wechat: '',
receiveAddress: '',
requestName: '',
contactName: '',
contact: '',
}
],
}
},
methods: {
async getConfigList() {
const {rows} = await vk.callFunction({
url: 'client/coop/config/pub/getList',
data: {type: 0}
})
if (rows) {
this.configList = rows.map(item => {
item.contents.map(content => {
content.selected = false
})
return item
})
}
},
changeCheck(itemIndex, content, contentIndex) {
const index = this.contentList.indexOf(content._index)
if (index === -1) {
this.contentList.push(content._index)
this.contentNameList.push(content.title)
}
else {
this.contentList.splice(index, 1)
this.contentNameList.splice(index, 1)
}
this.configList[itemIndex].contents[contentIndex].selected = index === -1
},
addCompany() {
this.companyList.push({
name: '',
code: '',
address: '',
email: '',
wechat: '',
receiveAddress: '',
requestName: '',
contactName: '',
contact: '',
})
},
removeCompany() {
this.companyList.splice(index, 1)
}
},
onLoad() {
this.getConfigList()
},
computed: {
amount() {
let tmpAmount = 0
this.configList.forEach(item => {
item.contents.forEach(content => {
if (content.selected) {
tmpAmount += parseFloat(content.amount)
}
})
})
return tmpAmount
},
totalAmount() {
return this.amount * this.companyList.length
}
}
}
</script>
+187
View File
@@ -0,0 +1,187 @@
<template>
<view>
<top-bar></top-bar>
<common-header></common-header>
<category-bar></category-bar>
<view class="w-1200 m-a">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper>
<view class="bg-white p-40">
<view v-for="(item, index) in configList" :key="index"
class="my-20 flex flex-col justify-start items-start">
<view v-for="(content, contentIndex) in item.contents" :key="contentIndex" class="mb-20 ">
<el-checkbox @change="changeCheck(index, content, contentIndex)">
<view class="flex flex-col justify-start items-start">
<view class="flex justify-start items-center text-35 mb-20">
<text>服务内容:{{ item.name }}</text>
<text class="ml-35">
业务编号:{{ content.code }}
</text>
<text class="ml-35">服务服务项目: {{ content.title }}</text>
<text class="ml-35"> {{ content.amount }}元/次</text>
</view>
<view>备注: {{ item.remark }}</view>
</view>
</el-checkbox>
</view>
</view>
<el-form ref="form" :model="form" label-width="200px">
<view v-for="(item, index) in productList" :key="index">
<el-form-item label="检测产品:" required>
<el-input v-model="productList[index].name"/>
</el-form-item>
<el-form-item label="检测内容">
{{ contentNameList.join() }}
</el-form-item>
<el-form-item label="取样所在地">
<el-input v-model="productList[index].address"/>
</el-form-item>
<el-form-item label="接收文件电子邮箱:">
<el-input v-model="productList[index].email"/>
</el-form-item>
<el-form-item label="接收文件微信:">
<el-input v-model="productList[index].wechat"/>
</el-form-item>
<el-form-item label="接收文件寄件地址">
<el-input v-model="productList[index].receiveAddress"/>
</el-form-item>
<el-form-item label="申请人:">
<el-input v-model="productList[index].requestName"/>
</el-form-item>
<el-form-item label="联系人:">
<el-input v-model="productList[index].contactName"/>
</el-form-item>
<el-form-item label="联系方式:">
<el-input v-model="productList[index].contact"/>
</el-form-item>
<el-form-item label="本次服务费用小计:">
<view class="flex justify-between items-start mb-20 w-100p">
<view class="flex justify-start items-center">
<el-input v-model="amount" disabled/>
<view class="ml-20">
<el-button type="primary" @click.native="addCompany">增加考察对象
</el-button>
</view>
<view class="ml-20">
<el-button type="primary" plain @click.native="removeCompany(index)"
class="ml-20"
:disabled="productList.length === 1">删除该对象
</el-button>
</view>
</view>
</view>
</el-form-item>
</view>
</el-form>
<view class="mt-40 flex justify-center items-center">
<view class="flex justify-center items-center">
<text>总价:</text>
<text class="text-main font-bold text-35">{{ totalAmount }}元</text>
</view>
<view class="ml-35">客服联系方式: 0771-3923001</view>
</view>
<view class="mt-40 flex justify-center items-center">
<el-button type="primary" :disabled="contentList.length === 0 || productList.length === 0 || !productList[0].name">立即支付
</el-button>
</view>
</view>
</view>
<common-footer></common-footer>
</view>
</template>
<script>
export default {
name: "productQuote",
data() {
return {
list: [
{
image: '/static/images/selfSupport/swiper.jpg',
title: '昨夜星辰昨夜风,画楼西畔桂堂东'
},
],
form: {},
configList: [],
checkList: [],
contentList: [],
contentNameList: [],
productList: [
{
name: '',
code: '',
address: '',
email: '',
wechat: '',
receiveAddress: '',
requestName: '',
contactName: '',
contact: '',
}
],
}
},
methods: {
async getConfigList() {
const {rows} = await vk.callFunction({
url: 'client/coop/config/pub/getList',
data: {type: 1}
})
if (rows) {
this.configList = rows.map(item => {
item.contents.map(content => {
content.selected = false
})
return item
})
}
},
changeCheck(itemIndex, content, contentIndex) {
const index = this.contentList.indexOf(content._index)
if (index === -1) {
this.contentList.push(content._index)
this.contentNameList.push(content.title)
}
else {
this.contentList.splice(index, 1)
this.contentNameList.splice(index, 1)
}
this.configList[itemIndex].contents[contentIndex].selected = index === -1
},
addCompany() {
this.productList.push({
name: '',
code: '',
address: '',
email: '',
wechat: '',
receiveAddress: '',
requestName: '',
contactName: '',
contact: '',
})
},
removeCompany() {
this.productList.splice(index, 1)
}
},
onLoad() {
this.getConfigList()
},
computed: {
amount() {
let tmpAmount = 0
this.configList.forEach(item => {
item.contents.forEach(content => {
if (content.selected) {
tmpAmount += parseFloat(content.amount)
}
})
})
return tmpAmount
},
totalAmount() {
return this.amount * this.productList.length
}
}
}
</script>
+38
View File
@@ -0,0 +1,38 @@
<template>
<view>
<top-bar></top-bar>
<common-header></common-header>
<category-bar></category-bar>
<view class="w-1200 m-a">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper>
<view class="flex flex-col">
<image src="/static/images/selfSupport/company.jpg" class="w-100p pointer" mode="widthFix"
@click="navTo('/pages/index/self-support/companyQuote')"/>
<image src="/static/images/selfSupport/product.jpg" class="w-100p pointer mt-20" mode="widthFix"
@click="navTo('/pages/index/self-support/productQuote')"/>
</view>
</view>
<common-footer></common-footer>
</view>
</template>
<script>
export default {
name: "selectType",
data() {
return {
list: [
{
image: '/static/images/selfSupport/swiper.jpg',
title: '昨夜星辰昨夜风,画楼西畔桂堂东'
},
]
}
},
methods: {
navTo(url) {
vk.navigateTo(url);
},
}
}
</script>
+191 -350
View File
@@ -1,366 +1,207 @@
<template> <template>
<view> <view>
<top-bar></top-bar> <top-bar></top-bar>
<common-header></common-header> <common-header></common-header>
<category-bar></category-bar> <category-bar></category-bar>
<view class="w-1200"> <view class="w-1200">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper> <u-swiper :list="list" :height="380" borderRadius="0"></u-swiper>
<view class="test"> <view class="test">
<text @click="navTo('/pages/index/self-support/self-support')">自营钢城</text> <text class="pointer" @click="navTo('/pages/index/self-support/self-support')">自营钢城</text>
<text @click="navTo('/pages/index/server/server')">平台服务</text> <text class="pointer" @click="navTo('/pages/index/self-support/selectType')">平台服务</text>
<text @click="navTo('/pages/index/shop/shop')">特产商城</text> <text class="pointer" @click="navTo('/pages/index/shop/shop')">特产商城</text>
</view> </view>
<view class="tool-bar"> <view class="tool-bar">
<view class="search"> <view class="search">
<text>交易区域:</text> <text>交易区域:</text>
<el-cascader :options="options"> <el-cascader :options="options" :props="{label: 'name', value: 'code'}" v-model="address"/>
<template slot-scope="{ node, data }"> </view>
<span>{{ data.label }}</span> <view class="buy-btn">
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> <el-button type="primary" plain class="empty-bg-plain-btn" :disabled="address.length === 0">下单询价 ></el-button>
</template> </view>
</el-cascader> </view>
<!-- 合作单位/联营单位-->
<view class="cooperate">
<view class="title">合作单位/联营单位</view>
<u-gap height="5" bg-color="#f3f3f3"/>
<view class="flex justify-start items-start flex-wrap">
<view class="w-25p pointer" v-for="(item, index) in companyList" :key="index">
<view class="border bg-white flex flex-col justify-center items-center p-20">
<image :src="item.businessCard.logo" class="logo"/>
<span class="mt-20 line-1 w-100p text-center">
主营: {{ item.businessCard.mainBusiness }}
</span>
</view>
</view>
</view>
<u-gap height="5" bg-color="#f3f3f3"/>
</view>
</view> </view>
<view class="buy-btn"> <!-- 现货市场 end -->
<u-button type="error" plain>下单询价</u-button> <gap height="50"/>
</view> <common-footer></common-footer>
</view> </view>
<!-- 合作单位/联营单位-->
<view class="cooperate">
<view class="title">合作单位/联营单位</view>
<u-gap height="5" bg-color="#f3f3f3" />
<el-row class="wrap" type="flex" :gutter="0" justify="space-between">
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
</el-row>
<u-gap height="5" bg-color="#f3f3f3" /><el-row class="wrap" type="flex" :gutter="0" justify="space-between">
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
</el-row>
<u-gap height="5" bg-color="#f3f3f3" />
<el-row class="wrap" type="flex" :gutter="0" justify="space-between">
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-image class="image" src="https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/static/img/logo.d1f4a2b6.png" />
<view class="comments">
主营:架子管 扣件 建筑材料租赁
</view>
</div>
</el-col>
</el-row>
<u-gap height="5" bg-color="#f3f3f3" />
</view>
</view>
<!-- 现货市场 end -->
<gap height="50"/>
<common-footer></common-footer>
</view>
</template> </template>
<script> <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 provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
export default { export default {
components: {UGap}, components: {UGap},
data() { data() {
return { return {
list: [{ address: [],
image: 'https://cdn.uviewui.com/uview/swiper/1.jpg', list: [{
title: '昨夜星辰昨夜风,画楼西畔桂堂东' image: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
}, title: '昨夜星辰昨夜风,画楼西畔桂堂东'
{ },
image: 'https://cdn.uviewui.com/uview/swiper/2.jpg', {
title: '身无彩凤双飞翼,心有灵犀一点通' image: 'https://cdn.uviewui.com/uview/swiper/2.jpg',
}, title: '身无彩凤双飞翼,心有灵犀一点通'
{ },
image: 'https://cdn.uviewui.com/uview/swiper/3.jpg', {
title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳' image: 'https://cdn.uviewui.com/uview/swiper/3.jpg',
} title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
], }
options: [{ ],
value: 'zhinan', options: [{
label: '广西', value: 'zhinan',
children: [{ label: '广西',
value: 'shejiyuanze', children: [{
label: '南宁市', value: 'shejiyuanze',
children: [{ label: '南宁市',
value: 'yizhi', children: [{
label: '良庆区' value: 'yizhi',
}, { label: '良庆区'
value: 'fankui', }, {
label: 'XXX' value: 'fankui',
}, { label: 'XXX'
value: 'xiaolv', }, {
label: 'XXX' value: 'xiaolv',
}, { label: 'XXX'
value: 'kekong', }, {
label: 'XXX' value: 'kekong',
}] label: 'XXX'
}, { }]
value: 'daohang', }, {
label: '北海市', value: 'daohang',
children: [{ label: '北海市',
value: 'cexiangdaohang', children: [{
label: 'XXX' value: 'cexiangdaohang',
}, { label: 'XXX'
value: 'dingbudaohang', }, {
label: 'XXX' value: 'dingbudaohang',
}] label: 'XXX'
}] }]
}] }]
}; }],
}, companyList: []
onLoad(options) { };
console.log(options); },
if (options && options.menu) { onLoad(options) {
this.currMenu = options.menu if (options && options.menu) {
} this.currMenu = options.menu
}, }
methods: { this.getCompanyList()
menuSelect(e) { this.options = provinces.map(item => {
this.currMenu = e item.children = [];
}, return item
navTo(url) { })
vk.navigateTo(url); this.options.forEach((province, index) => {
} citys[index].forEach(city => {
} this.options[index].children.push(city)
} })
})
},
methods: {
menuSelect(e) {
this.currMenu = e
},
navTo(url) {
vk.navigateTo(url);
},
async getCompanyList() {
const {rows} = await vk.callFunction({
url: 'client/user/pub/getCompany',
data: {isCoop: 1}
})
this.companyList = rows
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.w-1200 { .w-1200 {
width: 1200px; width: 1200px;
margin: 20px auto; margin: 20px auto;
background-color: #fff; background-color: #fff;
.test{
height: 50px; .test {
color: #ffffff; height: 50px;
font-size: 18px; color: #ffffff;
background-color: #bf2b28; font-size: 18px;
display: flex; background-color: #bf2b28;
align-items: center;
justify-content: center;
text{
margin: 0 20px;
}
}
.tool-bar{
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
font-size: 16px;
.search{
display: flex; display: flex;
align-items: center; align-items: center;
}
}
.cooperate{
.title{
text-align: center;
color: #bf2b28;
font-size: 28px;
line-height: 3em;
}
.wrap{
flex-wrap: wrap;
}
.grid-content{
display: flex;
justify-content: center; justify-content: center;
align-items: center;
padding: 10px; text {
flex-direction: column; margin: 0 20px;
.comments{
line-height: 2em;
} }
}
.bg-purple{
border-top: 1px solid #f3f3f3;
border-right: 1px solid #f3f3f3;
.image{
width: 140px;
}
}
} }
}
.tool-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
font-size: 16px;
.search {
display: flex;
align-items: center;
}
}
.cooperate {
.title {
text-align: center;
color: #bf2b28;
font-size: 28px;
line-height: 3em;
}
.wrap {
flex-wrap: wrap;
}
.grid-content {
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
flex-direction: column;
.comments {
line-height: 2em;
}
}
.bg-purple {
border-top: 1px solid #f3f3f3;
border-right: 1px solid #f3f3f3;
.image {
width: 140px;
}
}
}
}
.logo {
width: 80px;
height: 80px;
}
</style> </style>
+91 -239
View File
@@ -1,259 +1,111 @@
<template> <template>
<view> <view>
<top-bar></top-bar> <top-bar></top-bar>
<common-header></common-header> <common-header></common-header>
<category-bar></category-bar> <category-bar></category-bar>
<view class="w-1200"> <view class="w-1200 m-a">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper> <view class="page-nav">
<view class="tool-bar"> <el-breadcrumb separator=">">
<view class="search"> <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
<text>地区:</text> <el-breadcrumb-item>
<el-cascader :options="options"> <navigator style="display: inline-block;" url="/pages/index/shop/shop">特产商城</navigator>
<template slot-scope="{ node, data }"> </el-breadcrumb-item>
<span>{{ data.label }}</span> <el-breadcrumb-item class="text-main">{{ info.name }}</el-breadcrumb-item>
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> </el-breadcrumb>
</template> </view>
</el-cascader> <view class="bg-white p-40 flex justify-start items-start">
<el-carousel height="400px" class="album">
<el-carousel-item v-for="(item, index) in info.album" :key="index">
<image :src="item" class="album-item" mode="aspectFill"/>
</el-carousel-item>
</el-carousel>
<view class="ml-35 flex flex-col justify-start items-start flex-1">
<view class="font-bold text-40 mb-20">{{ info.name }}</view>
<view class="flex flex-col justify-start items-start flex-1">
<text>产品介绍:</text>
<view class="desc p-20 mt-20">{{ info.desc }}</view>
</view>
<view class="flex justify-between items-center w-100p mt-20">
<view class="flex justify-start items-center">
<text>零售价:</text>
<text class="font-bold text-main">¥{{ info.amount }}</text>
</view>
<view class="flex justify-end is-center">
<el-button type="danger" round class="add-to-cart-btn">加入购物车</el-button>
<el-button type="primary" round class="ml-35">立即购买</el-button>
</view>
</view>
</view>
</view>
<view class="mt-40">
<view class="intro-title">商品介绍</view>
<view class="intro bg-white" v-html="info.content"></view>
</view>
</view> </view>
<view class="buy-btn"> <!-- 现货市场 end -->
<image src="https://oss.wsdns.cn/20231204/bcc976f4396e437abf19deb11c1f06b4.png" mode="widthFix" /> <gap height="50"/>
</view> <common-footer></common-footer>
</view>
<view class="tool-bar">
<view class="item">分类:</view>
<view class="item">全部</view>
<view class="item">果蔬农产品</view>
<view class="item">特产食品粮油肉蛋禽</view>
<view class="item">茶类</view>
<view class="item">酒类</view>
<view class="item">工艺类</view>
<view class="item">旅游户外商用</view>
<view class="item">日用美容洗涤</view>
<view class="item">电子产品</view>
</view>
</view> </view>
<view class="goods-list">
<el-row class="wrap" type="flex" :gutter="10" justify="space-between">
<el-col :span="5">
<div class="grid-content bg-purple" @click="navTo('/pages/goods-detail/goods-detail?id=1')">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">
<el-tag
type="danger"
size="mini">
自营
</el-tag>
商品名称
</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="4">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
</el-row>
<div class="pagination">
<el-pagination
background
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</view>
<!-- 现货市场 end -->
<gap height="50"/>
<common-footer></common-footer>
</view>
</template> </template>
<script> <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";
export default { export default {
components: {UGap}, components: {UGap},
data() { data() {
return { return {
list: [{ info: {
image: 'https://cdn.uviewui.com/uview/swiper/1.jpg', name: ''
title: '昨夜星辰昨夜风,画楼西畔桂堂东' }
}, };
{
image: 'https://cdn.uviewui.com/uview/swiper/2.jpg',
title: '身无彩凤双飞翼,心有灵犀一点通'
},
{
image: 'https://cdn.uviewui.com/uview/swiper/3.jpg',
title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
}
],
options: [{
value: 'zhinan',
label: '广西',
children: [{
value: 'shejiyuanze',
label: '南宁市',
children: [{
value: 'yizhi',
label: '良庆区'
}, {
value: 'fankui',
label: 'XXX'
}, {
value: 'xiaolv',
label: 'XXX'
}, {
value: 'kekong',
label: 'XXX'
}]
}, {
value: 'daohang',
label: '北海市',
children: [{
value: 'cexiangdaohang',
label: 'XXX'
}, {
value: 'dingbudaohang',
label: 'XXX'
}]
}]
}]
};
},
onLoad(options) {
console.log(options);
if (options && options.menu) {
this.currMenu = options.menu
}
},
methods: {
menuSelect(e) {
this.currMenu = e
}, },
navTo(url) { onLoad(options) {
vk.navigateTo(url); if (options && options.id) {
this.getInfo(options.id)
}
},
methods: {
navTo(url) {
vk.navigateTo(url);
},
async getInfo(id) {
this.info = await vk.callFunction({
url: 'client/goods/list/pub/getDetail',
data: {id}
})
}
} }
}
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.w-1200 { .album {
width: 1200px; width: 500px;
margin: 20px auto;
background-color: #fff; .album-item {
.test{ width: 500px;
height: 50px; height: 400px;
color: #ffffff;
font-size: 18px;
background-color: #bf2b28;
display: flex;
align-items: center;
justify-content: center;
text{
margin: 0 20px;
} }
}
.tool-bar{
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
font-size: 16px;
.search{
display: flex;
align-items: center;
}
}
} }
.wrap{
flex-wrap: wrap; .desc {
background-color: #F5E2E3;
} }
.goods-list{
width: 1200px; .add-to-cart-btn{
margin: 20px auto; background-color: #FF7300;
.grid-content{
display: flex;
justify-content: center;
background-color: #fff;
width: 100%;
padding: 10px;
margin-bottom: 10px;
flex-direction: column;
.comments{
display: flex;
flex-direction: column;
justify-content: start;
line-height: 2em;
.goods-name{
font-size: 16px;
display: flex;
align-items: center;
}
.goods-price{
color: #bf2b28;
font-size: 20px;
font-weight: 600;
}
}
}
.bg-purple{
border-top: 1px solid #f3f3f3;
border-right: 1px solid #f3f3f3;
image{
width: 180px;
height: 180px;
}
}
} }
.pagination{
width: 1200px; .intro-title{
margin: 20px auto; background-color: #EF0021;
display: flex; padding: 10px 20px;
justify-content: center; color: white;
width: 120px;
text-align: center;
}
.intro{
border-top: 1px solid #F95F6E;
} }
</style> </style>
+187 -234
View File
@@ -1,259 +1,212 @@
<template> <template>
<view> <view>
<top-bar></top-bar> <top-bar></top-bar>
<common-header></common-header> <common-header></common-header>
<category-bar></category-bar> <category-bar></category-bar>
<view class="w-1200"> <view class="w-1200">
<u-swiper :list="list" :height="380" borderRadius="0"></u-swiper> <u-swiper :list="list" :height="380" borderRadius="0"></u-swiper>
<view class="tool-bar"> <view class="tool-bar">
<view class="search"> <view class="search">
<text>地区:</text> <text>地区:</text>
<el-cascader :options="options"> <el-cascader :options="options" :props="{label: 'name', value: 'code'}" v-model="address"/>
<template slot-scope="{ node, data }"> </view>
<span>{{ data.label }}</span> <view class="buy-btn">
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> <image src="https://oss.wsdns.cn/20231204/bcc976f4396e437abf19deb11c1f06b4.png" mode="widthFix"/>
</template> </view>
</el-cascader> </view>
<view class="tool-bar">
<view class="item">分类:</view>
<view class="item">全部</view>
<view class="item" v-for="(item, index) in categoryList" :key="index">{{ item.name }}</view>
</view>
</view> </view>
<view class="buy-btn">
<image src="https://oss.wsdns.cn/20231204/bcc976f4396e437abf19deb11c1f06b4.png" mode="widthFix" />
</view>
</view>
<view class="tool-bar">
<view class="item">分类:</view>
<view class="item">全部</view>
<view class="item">果蔬农产品</view>
<view class="item">特产食品粮油肉蛋禽</view>
<view class="item">茶类</view>
<view class="item">酒类</view>
<view class="item">工艺类</view>
<view class="item">旅游户外商用</view>
<view class="item">日用美容洗涤</view>
<view class="item">电子产品</view>
</view>
</view>
<view class="goods-list"> <view class="goods-list">
<el-row class="wrap" type="flex" :gutter="10" justify="space-between"> <el-row class="wrap" type="flex" :gutter="10" justify="space-between">
<el-col :span="5"> <el-col :span="4" v-for="(item, index) in goodsList" :key="index">
<div class="grid-content bg-purple" @click="navTo('/pages/goods-detail/goods-detail?id=1')"> <div class="grid-content bg-purple pointer"
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" /> @click="navTo(`/pages/index/shop/detail?id=${item._id}`)">
<view class="comments"> <image :src="item.cover" mode="aspectFill"/>
<view class="goods-name"> <view class="comments">
<el-tag <view class="goods-name">
type="danger" {{ item.name }}
size="mini"> </view>
自营 <view class="goods-price">¥{{ item.amount }}</view>
</el-tag> </view>
商品名称 </div>
</view> </el-col>
<view class="goods-price">¥139.00</view> </el-row>
</view> <div class="pagination">
</div> <el-pagination
</el-col> background
<el-col :span="5"> layout="prev, pager, next"
<div class="grid-content bg-purple"> :total="1000">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" /> </el-pagination>
<view class="comments"> </div>
<view class="goods-name">商品名称</view> </view>
<view class="goods-price">¥139.00</view> <!-- 现货市场 end -->
</view> <gap height="50"/>
</div> <common-footer></common-footer>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="4">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
<el-col :span="5">
<div class="grid-content bg-purple">
<image src="http://jyx.gxwebsoft.com/uploads/20210828/0d9c23898f9c922fd96983f974d3fe84.jpg" mode="aspectFit" />
<view class="comments">
<view class="goods-name">商品名称</view>
<view class="goods-price">¥139.00</view>
</view>
</div>
</el-col>
</el-row>
<div class="pagination">
<el-pagination
background
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</view> </view>
<!-- 现货市场 end -->
<gap height="50"/>
<common-footer></common-footer>
</view>
</template> </template>
<script> <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 provinces from "@/uni_modules/vk-uview-ui/libs/address/provinces.json";
import citys from "@/uni_modules/vk-uview-ui/libs/address/citys.json";
export default { export default {
components: {UGap}, components: {UGap},
data() { data() {
return { return {
list: [{ categoryList: [],
image: 'https://cdn.uviewui.com/uview/swiper/1.jpg', goodsList: [],
title: '昨夜星辰昨夜风,画楼西畔桂堂东' list: [
}, {
{ image: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
image: 'https://cdn.uviewui.com/uview/swiper/2.jpg', title: '昨夜星辰昨夜风,画楼西畔桂堂东'
title: '身无彩凤双飞翼,心有灵犀一点通' },
}, {
{ image: 'https://cdn.uviewui.com/uview/swiper/2.jpg',
image: 'https://cdn.uviewui.com/uview/swiper/3.jpg', title: '身无彩凤双飞翼,心有灵犀一点通'
title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳' },
} {
], image: 'https://cdn.uviewui.com/uview/swiper/3.jpg',
options: [{ title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
value: 'zhinan', }
label: '广西', ],
children: [{ options: [],
value: 'shejiyuanze', address: []
label: '南宁市', };
children: [{
value: 'yizhi',
label: '良庆区'
}, {
value: 'fankui',
label: 'XXX'
}, {
value: 'xiaolv',
label: 'XXX'
}, {
value: 'kekong',
label: 'XXX'
}]
}, {
value: 'daohang',
label: '北海市',
children: [{
value: 'cexiangdaohang',
label: 'XXX'
}, {
value: 'dingbudaohang',
label: 'XXX'
}]
}]
}]
};
},
onLoad(options) {
console.log(options);
if (options && options.menu) {
this.currMenu = options.menu
}
},
methods: {
menuSelect(e) {
this.currMenu = e
}, },
navTo(url) { onLoad(options) {
vk.navigateTo(url); if (options && options.menu) {
this.currMenu = options.menu
}
this.options = provinces.map(item => {
item.children = [];
return item
})
this.options.forEach((province, index) => {
citys[index].forEach(city => {
this.options[index].children.push(city)
})
})
this.getCategoryList()
this.getGoodsList()
},
methods: {
menuSelect(e) {
this.currMenu = e
},
navTo(url) {
vk.navigateTo(url);
},
getCategoryList() {
vk.callFunction({
url: 'client/goods/category/pub/getList'
}).then(res => {
this.categoryList = res.rows
})
},
getGoodsList() {
vk.callFunction({
url: 'client/goods/list/pub/getList'
}).then(res => {
this.goodsList = res.rows
})
},
} }
}
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.w-1200 { .w-1200 {
width: 1200px; width: 1200px;
margin: 20px auto; margin: 20px auto;
background-color: #fff;
.test{
height: 50px;
color: #ffffff;
font-size: 18px;
background-color: #bf2b28;
display: flex;
align-items: center;
justify-content: center;
text{
margin: 0 20px;
}
}
.tool-bar{
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
font-size: 16px;
.search{
display: flex;
align-items: center;
}
}
}
.wrap{
flex-wrap: wrap;
}
.goods-list{
width: 1200px;
margin: 20px auto;
.grid-content{
display: flex;
justify-content: center;
background-color: #fff; background-color: #fff;
width: 100%;
padding: 10px; .test {
margin-bottom: 10px; height: 50px;
flex-direction: column; color: #ffffff;
.comments{ font-size: 18px;
display: flex; background-color: #bf2b28;
flex-direction: column;
justify-content: start;
line-height: 2em;
.goods-name{
font-size: 16px;
display: flex; display: flex;
align-items: center; align-items: center;
} justify-content: center;
.goods-price{
color: #bf2b28; text {
font-size: 20px; margin: 0 20px;
font-weight: 600; }
}
} }
}
.bg-purple{ .tool-bar {
border-top: 1px solid #f3f3f3; display: flex;
border-right: 1px solid #f3f3f3; justify-content: space-between;
image{ align-items: center;
width: 180px; padding: 20px;
height: 180px; font-size: 16px;
.search {
display: flex;
align-items: center;
}
} }
}
} }
.pagination{
width: 1200px; .wrap {
margin: 20px auto; flex-wrap: wrap;
display: flex; }
justify-content: center;
.goods-list {
width: 1200px;
margin: 20px auto;
.grid-content {
display: flex;
justify-content: center;
background-color: #fff;
width: 100%;
padding: 10px;
margin-bottom: 10px;
flex-direction: column;
.comments {
display: flex;
flex-direction: column;
justify-content: start;
line-height: 2em;
.goods-name {
font-size: 16px;
display: flex;
align-items: center;
}
.goods-price {
color: #bf2b28;
font-size: 20px;
font-weight: 600;
}
}
}
.bg-purple {
border-top: 1px solid #f3f3f3;
border-right: 1px solid #f3f3f3;
image {
width: 180px;
height: 180px;
}
}
}
.pagination {
width: 1200px;
margin: 20px auto;
display: flex;
justify-content: center;
} }
</style> </style>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/coopExplore/config/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-coop-config',
dataJson: data
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/coopExplore/config/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-coop-config',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/coopExplore/config/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-coop-config',
sortArr: [
{ name: "sort", type: "asc" },
{ name: "_id", type: "desc" },
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/coopExplore/config/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-coop-config',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -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-goods-category',
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-goods-category',
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-goods-category',
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-goods-category',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'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-goods',
dataJson: {
...data, ...{
viewNum: 0,
}
}
});
// 业务逻辑结束-----------------------------------------------------------
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-goods',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,34 @@
'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-goods',
foreignDB: [
{
dbName: "jjx-goods-category",
localKey: "parentId",
foreignKey: "_id",
as: "category",
limit: 1,
},
]
});
// 业务逻辑结束-----------------------------------------------------------
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-goods',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,32 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/system/user/sys/changeCoop 前端调用的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: "" };
// 业务逻辑开始-----------------------------------------------------------
const company = await vk.baseDao.findById({
dbName: "uni-id-users",
id: data.id
});
const isCoop = (!company.isCoop || company.isCoop === 0) ? 1 : 0
await vk.baseDao.updateById({
dbName: "uni-id-users",
id: data.id,
dataJson: {
isCoop
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,31 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/coop/config/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} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: 'jjx-coop-config',
whereJson: {
type: data.type,
},
sortArr: [
{name: "sort", type: "asc"},
{name: "_id", type: "desc"},
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/goods/category/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 } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-goods-category',
sortArr: [
{ name: "sort", type: "asc" },
{ name: "_id", type: "desc" },
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/article/list/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 res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.add({
dbName: 'jjx-article',
dataJson: {
...data, ...{
viewNum: 0,
downloadNum: 0,
}
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/goods/list/pub/getDetail 前端调用的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.findById({
dbName: "jjx-goods",
id: data.id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,39 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/goods/list/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} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const {pageIndex, pageSize, parentId, keyword, city} = data
const whereJson = {parentId}
if (vk.pubfn.isNotNull(keyword)) {
whereJson.name = new RegExp(keyword)
}
if (vk.pubfn.isNotNull(city)) {
whereJson.address.city.code = city
}
res = await vk.baseDao.select({
dbName: 'jjx-goods',
getCount: true,
pageIndex,
pageSize,
whereJson,
sortArr: [
{name: "_id", type: "desc"}
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -12,21 +12,16 @@ module.exports = {
let {customUtil, uniID, config, pubFun, vk, db, _} = util; let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data; let {uid} = data;
let res = {code: 0, msg: ""}; let res = {code: 0, msg: ""};
const whereJson = {
accountType: 2
}
if (!vk.pubfn.isNull(data.isCoop)) whereJson.isCoop = data.isCoop;
// 业务逻辑开始----------------------------------------------------------- // 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({ res = await vk.baseDao.getTableData({
dbName: dbName.user, dbName: dbName.user,
whereJson: { whereJson
// fadadaConfirm: true,
...data,
...{
accountType: 2,
businessCard: _.exists(true),
}
}
}); });
console.log('whereJson', whereJson)
// 业务逻辑结束----------------------------------------------------------- // 业务逻辑结束-----------------------------------------------------------
return res; return res;
} }