Browse Source
Merge branch 'devlop' of http://git.qniao.cn/dengxiongfei/paper-shopkeeper-app into devlop
devlop
Merge branch 'devlop' of http://git.qniao.cn/dengxiongfei/paper-shopkeeper-app into devlop
devlop
21 changed files with 1347 additions and 733 deletions
Unified View
Diff Options
-
7apis/creditManagementApi.js
-
33apis/orderApi.js
-
2components/qn-datetime-picker/qn-datetime-picker.vue
-
2components/qn-map/qn-map.nvue
-
43enums/index.js
-
252manifest.json
-
19pages.json
-
97pages/agreement/index.vue
-
2pages/client-credit-detail/index.vue
-
2pages/client-list/index.vue
-
257pages/contract-manage/index.vue
-
42pages/credit-management/index.vue
-
208pages/credit-order-list/index.vue
-
805pages/mall/index.vue
-
22pages/mine/index.vue
-
6pages/order-detail/index.vue
-
7utils/hook.js
-
2utils/http/http.js
-
22utils/http/index.js
-
246utils/index.js
-
4utils/is.js
@ -1,119 +1,151 @@ |
|||||
{ |
{ |
||||
"name": "纸掌柜", |
|
||||
"appid": "__UNI__8C1E198", |
|
||||
"description": "", |
|
||||
"versionName": "1.0.0", |
|
||||
"versionCode": "100", |
|
||||
"transformPx": false, |
|
||||
"networkTimeout": { |
|
||||
"request": 6000 |
|
||||
}, |
|
||||
/* 5+App特有相关 */ |
|
||||
"app-plus": { |
|
||||
"usingComponents": true, |
|
||||
"nvueStyleCompiler": "uni-app", |
|
||||
"compilerVersion": 3, |
|
||||
"splashscreen": { |
|
||||
"alwaysShowBeforeRender": true, |
|
||||
"waiting": true, |
|
||||
"autoclose": true, |
|
||||
"delay": 0 |
|
||||
|
"name" : "纸掌柜", |
||||
|
"appid" : "__UNI__8C1E198", |
||||
|
"description" : "", |
||||
|
"versionName" : "1.0.0", |
||||
|
"versionCode" : "100", |
||||
|
"transformPx" : false, |
||||
|
"networkTimeout" : { |
||||
|
"request" : 6000 |
||||
}, |
}, |
||||
"compatible": { |
|
||||
"ignoreVersion": true |
|
||||
}, |
|
||||
/* 模块配置 */ |
|
||||
"modules": { |
|
||||
"Maps": {}, |
|
||||
"Geolocation": {}, |
|
||||
"FaceID": {}, |
|
||||
"iBeacon": {} |
|
||||
}, |
|
||||
/* 应用发布信息 */ |
|
||||
"distribute": { |
|
||||
/* android打包配置 */ |
|
||||
"android": { |
|
||||
"permissions": [ |
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.INTERNET\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>", |
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>" |
|
||||
], |
|
||||
"abiFilters": ["armeabi-v7a", "x86"] |
|
||||
}, |
|
||||
/* ios打包配置 */ |
|
||||
"ios": {}, |
|
||||
/* SDK配置 */ |
|
||||
"sdkConfigs": { |
|
||||
"maps": { |
|
||||
"amap": { |
|
||||
"appkey_ios": "0182ee2a9fdd5fd3ef6a8bd5a2f98325", |
|
||||
"appkey_android": "877848546f7f3717101a17c33e1d4df3" |
|
||||
} |
|
||||
|
/* 5+App特有相关 */ |
||||
|
"app-plus" : { |
||||
|
"usingComponents" : true, |
||||
|
"nvueStyleCompiler" : "uni-app", |
||||
|
"compilerVersion" : 3, |
||||
|
"splashscreen" : { |
||||
|
"alwaysShowBeforeRender" : true, |
||||
|
"waiting" : true, |
||||
|
"autoclose" : true, |
||||
|
"delay" : 0 |
||||
|
}, |
||||
|
"compatible" : { |
||||
|
"ignoreVersion" : true |
||||
}, |
}, |
||||
"payment": { |
|
||||
"weixin": { |
|
||||
"__platform__": ["ios", "android"], |
|
||||
"appid": "", |
|
||||
"UniversalLinks": "" |
|
||||
} |
|
||||
|
/* 模块配置 */ |
||||
|
"modules" : { |
||||
|
"Maps" : {}, |
||||
|
"Geolocation" : {}, |
||||
|
"FaceID" : {}, |
||||
|
"iBeacon" : {} |
||||
}, |
}, |
||||
"ad": {}, |
|
||||
"geolocation": { |
|
||||
"amap": { |
|
||||
"__platform__": ["ios", "android"], |
|
||||
"appkey_ios": "0182ee2a9fdd5fd3ef6a8bd5a2f98325", |
|
||||
"appkey_android": "877848546f7f3717101a17c33e1d4df3" |
|
||||
} |
|
||||
|
/* 应用发布信息 */ |
||||
|
"distribute" : { |
||||
|
/* android打包配置 */ |
||||
|
"android" : { |
||||
|
"permissions" : [ |
||||
|
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.INTERNET\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>", |
||||
|
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>" |
||||
|
], |
||||
|
"abiFilters" : [ "armeabi-v7a", "x86" ] |
||||
|
}, |
||||
|
/* ios打包配置 */ |
||||
|
"ios" : {}, |
||||
|
/* SDK配置 */ |
||||
|
"sdkConfigs" : { |
||||
|
"maps" : { |
||||
|
"amap" : { |
||||
|
"appkey_ios" : "0182ee2a9fdd5fd3ef6a8bd5a2f98325", |
||||
|
"appkey_android" : "877848546f7f3717101a17c33e1d4df3" |
||||
|
} |
||||
|
}, |
||||
|
"payment" : { |
||||
|
"weixin" : { |
||||
|
"__platform__" : [ "ios", "android" ], |
||||
|
"appid" : "", |
||||
|
"UniversalLinks" : "" |
||||
|
} |
||||
|
}, |
||||
|
"ad" : {}, |
||||
|
"geolocation" : { |
||||
|
"amap" : { |
||||
|
"__platform__" : [ "ios", "android" ], |
||||
|
"appkey_ios" : "0182ee2a9fdd5fd3ef6a8bd5a2f98325", |
||||
|
"appkey_android" : "877848546f7f3717101a17c33e1d4df3" |
||||
|
} |
||||
|
}, |
||||
|
"share" : {} |
||||
|
}, |
||||
|
"icons" : { |
||||
|
"android" : { |
||||
|
"hdpi" : "unpackage/res/icons/72x72.png", |
||||
|
"xhdpi" : "unpackage/res/icons/96x96.png", |
||||
|
"xxhdpi" : "unpackage/res/icons/144x144.png", |
||||
|
"xxxhdpi" : "unpackage/res/icons/192x192.png" |
||||
|
}, |
||||
|
"ios" : { |
||||
|
"appstore" : "unpackage/res/icons/1024x1024.png", |
||||
|
"ipad" : { |
||||
|
"app" : "unpackage/res/icons/76x76.png", |
||||
|
"app@2x" : "unpackage/res/icons/152x152.png", |
||||
|
"notification" : "unpackage/res/icons/20x20.png", |
||||
|
"notification@2x" : "unpackage/res/icons/40x40.png", |
||||
|
"proapp@2x" : "unpackage/res/icons/167x167.png", |
||||
|
"settings" : "unpackage/res/icons/29x29.png", |
||||
|
"settings@2x" : "unpackage/res/icons/58x58.png", |
||||
|
"spotlight" : "unpackage/res/icons/40x40.png", |
||||
|
"spotlight@2x" : "unpackage/res/icons/80x80.png" |
||||
|
}, |
||||
|
"iphone" : { |
||||
|
"app@2x" : "unpackage/res/icons/120x120.png", |
||||
|
"app@3x" : "unpackage/res/icons/180x180.png", |
||||
|
"notification@2x" : "unpackage/res/icons/40x40.png", |
||||
|
"notification@3x" : "unpackage/res/icons/60x60.png", |
||||
|
"settings@2x" : "unpackage/res/icons/58x58.png", |
||||
|
"settings@3x" : "unpackage/res/icons/87x87.png", |
||||
|
"spotlight@2x" : "unpackage/res/icons/80x80.png", |
||||
|
"spotlight@3x" : "unpackage/res/icons/120x120.png" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
}, |
}, |
||||
"share": {} |
|
||||
} |
|
||||
|
"uniStatistics" : { |
||||
|
"enable" : true |
||||
|
} |
||||
}, |
}, |
||||
"uniStatistics": { |
|
||||
"enable": true |
|
||||
} |
|
||||
}, |
|
||||
/* 快应用特有相关 */ |
|
||||
"quickapp": {}, |
|
||||
/* 小程序特有相关 */ |
|
||||
"mp-weixin": { |
|
||||
"appid": "", |
|
||||
"setting": { |
|
||||
"urlCheck": false |
|
||||
|
/* 快应用特有相关 */ |
||||
|
"quickapp" : {}, |
||||
|
/* 小程序特有相关 */ |
||||
|
"mp-weixin" : { |
||||
|
"appid" : "", |
||||
|
"setting" : { |
||||
|
"urlCheck" : false |
||||
|
}, |
||||
|
"usingComponents" : true |
||||
|
}, |
||||
|
"mp-alipay" : { |
||||
|
"usingComponents" : true |
||||
|
}, |
||||
|
"mp-baidu" : { |
||||
|
"usingComponents" : true |
||||
|
}, |
||||
|
"mp-toutiao" : { |
||||
|
"usingComponents" : true |
||||
|
}, |
||||
|
"uniStatistics" : { |
||||
|
"enable" : false |
||||
}, |
}, |
||||
"usingComponents": true |
|
||||
}, |
|
||||
"mp-alipay": { |
|
||||
"usingComponents": true |
|
||||
}, |
|
||||
"mp-baidu": { |
|
||||
"usingComponents": true |
|
||||
}, |
|
||||
"mp-toutiao": { |
|
||||
"usingComponents": true |
|
||||
}, |
|
||||
"uniStatistics": { |
|
||||
"enable": false |
|
||||
}, |
|
||||
"vueVersion": "2", |
|
||||
"h5": { |
|
||||
"router": { |
|
||||
"mode": "history" |
|
||||
|
"vueVersion" : "2", |
||||
|
"h5" : { |
||||
|
"router" : { |
||||
|
"mode" : "history" |
||||
|
} |
||||
} |
} |
||||
} |
|
||||
} |
} |
||||
@ -1,35 +1,82 @@ |
|||||
<template> |
<template> |
||||
<view class="content">agreement</view> |
|
||||
|
<view class="content"> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="用户与隐私协议"></uni-nav-bar> |
||||
|
<view style="word-break: break-all; white-space: pre-wrap; padding: 20rpx 16rpx" v-html="content"></view> |
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
export default {} |
|
||||
</script> |
|
||||
|
const content = `软件许可使用协议 |
||||
|
发布时间:2020年 7 月 1 日 |
||||
|
|
||||
<style> |
|
||||
.content { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.logo { |
|
||||
height: 200rpx; |
|
||||
width: 200rpx; |
|
||||
margin-top: 200rpx; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
margin-bottom: 50rpx; |
|
||||
} |
|
||||
|
|
||||
.text-area { |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
|
提示条款 |
||||
|
|
||||
|
本软件许可使用协议(以下称"本协议")由您与广州千鸟电商科技有限公司(以下称“我们”)于广东省广州市天河区共同签署。 |
||||
|
|
||||
|
|
||||
|
|
||||
|
在使用“纸掌柜”软件(软件名称以实际展示为准,以下称许可软件)之前,请您认真阅读并同意《千鸟互联服务协议》以及《隐私权政策》,这是我们向您提供许可软件及许可软件相关服务的前提。我们特别在此提示您注意阅读免除或者限制责任的条款、法律适用和争议解决条款,相关条款将以粗体标识,您需要重点阅读。如您对协议有任何疑问,可向客服咨询。如果您完全同意并接受本协议,您可下载安装或开始使用许可软件。 |
||||
|
|
||||
|
|
||||
|
|
||||
|
本协议的内容包括协议正文及所有我们已经公布的适用于所有使用者的各类服务条款及规则(诸如《千鸟互联服务协议》、千鸟平台规则等),未来我们会继续丰富相关的服务条款与规则,并依法定程序公布生效。所有条款与规则为协议不可分割的组成部分,与协议具有同等法律效力。 |
||||
|
|
||||
|
|
||||
|
|
||||
|
一、 定义 |
||||
|
|
||||
|
1、 许可软件:是指由我们开发的,供您从下载平台下载,并仅限在相应系统手持移动终端中安装、使用的软件系统。 |
||||
|
|
||||
|
2、 千鸟互联服务:我们基于互联网,以包含千鸟互联网站、本软件等在内的各种形态(包括未来技术发展出现的新的服务形态)向您提供的各项服务。 |
||||
|
|
||||
|
|
||||
|
|
||||
|
二、许可范围 |
||||
|
|
||||
|
1、 由于软件适配平台及终端限制,您理解您仅可在许可软件列明的系统终端使用许可软件;您将许可软件安装在非对应系统的其他终端设备上的,可能会对您硬件或软件功能造成损害。 |
||||
|
|
||||
|
2、 许可软件仅限用于非商业目的,供您个人消费合理自用。未经许可,您不可为商业运营目的安装、使用、运行许可软件。 |
||||
|
|
||||
|
3、 为了改善用户体验、完善服务内容、保证许可软件与我们提供服务的商业诉求一致,我们会对许可软件及/或其相关服务、功能、界面进行更新、修改,包括开发新的功能、删除旧功能等。您可按照变更后许可软件的实际情况取得相应功能或服务的授权,并可适用本协议相关约定。 |
||||
|
|
||||
|
|
||||
|
|
||||
|
三、使用规范 |
||||
|
|
||||
|
1、 您应该规范使用许可软件,以下方式是违反使用规范的: |
||||
|
|
||||
|
|
||||
|
|
||||
|
(1) 从事危害网络信息安全、欺诈、盗用他人账户、资金等违法犯罪活动,发表、传送、传播、储存侵害我们及他人知识产权、商业秘密权,或其他违反国家法律法规政策、破坏公序良俗、损害公共利益的行为; |
||||
|
|
||||
|
(2) 擅自对许可软件及/或其组成部分进行出租、出借、再许可、复制、修改、链接、转载、汇编、发表、出版、建立镜像站点,或借助许可软件发展与之有关的衍生产品、作品、服务、插件、外挂、兼容、互联等; |
||||
|
|
||||
|
(3) 通过非由我们或我们关联公司开发、授权或认可的第三方兼容软件、系统登录或使用许可软件,或针对许可软件使用非我们及我们关联公司开发、授权或认证的插件和外挂; |
||||
|
|
||||
|
(4) 删除许可软件及其他副本上关于版权的信息、内容,或修改、删除或避开为保护知识产权而设置的任何技术措施; |
||||
|
|
||||
|
(5) 对许可软件或者许可软件运行过程中释放在终端中的任何数据及许可软件运行过程中终端与服务器端的交互数据进行获取、复制、修改或创作任何衍生作品,包括使用插件、外挂或非经授权的第三方工具/服务接入许可软件和相关系统等形式; |
||||
|
|
||||
|
(6) 通过修改或伪造许可软件运行中的指令、数据、数据包,增加、删减、变动许可软件的功能或运行效果,及/或将具有上述用途的软件通过信息网络向公众传播或者运营; |
||||
|
|
||||
|
(7) 其他以任何不合法的方式、不合法的目的或以任何与本协议约定不一致的方式使用许可软件。 |
||||
|
` |
||||
|
import { back } from '@/utils/hook.js' |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
content: content |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
back |
||||
|
} |
||||
} |
} |
||||
|
</script> |
||||
|
|
||||
.title { |
|
||||
font-size: 36rpx; |
|
||||
color: #8f8f94; |
|
||||
|
<style lang="scss" scoped> |
||||
|
.content { |
||||
|
width: 750rpx; |
||||
} |
} |
||||
</style> |
</style> |
||||
@ -0,0 +1,257 @@ |
|||||
|
<template> |
||||
|
<view class="content"> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" typeBar fixed title="合同管理"></uni-nav-bar> |
||||
|
<view class="condition-area flex-row-center-start"> |
||||
|
<qn-data-picker |
||||
|
v-model="condition.customerEnterpriseId" |
||||
|
style="flex-shrink: 0; max-width: 300rpx" |
||||
|
text="right" |
||||
|
:border="false" |
||||
|
placeholder="请选择客户" |
||||
|
popup-title="请选择客户" |
||||
|
:map="{ text: 'name', value: 'id' }" |
||||
|
:clear-icon="false" |
||||
|
:localdata="customerList" |
||||
|
></qn-data-picker> |
||||
|
<qn-data-picker |
||||
|
style="flex-shrink: 0" |
||||
|
v-model="condition.type" |
||||
|
text="right" |
||||
|
:border="false" |
||||
|
placeholder="请选择" |
||||
|
popup-title="请选择合同类型" |
||||
|
:map="{ text: 'name', value: 'id' }" |
||||
|
:clear-icon="false" |
||||
|
:localdata="typeList" |
||||
|
></qn-data-picker> |
||||
|
<qn-datetime-picker style="flex-shrink: 1" type="date" v-model="condition.signDate" :border="false"></qn-datetime-picker> |
||||
|
</view> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback"> |
||||
|
<view class="contract-item" v-for="item in list" :key="item.id"> |
||||
|
<view class="header flex-col-start-start"> |
||||
|
<view :class="'icon ' + typeMap[item.type].class"> |
||||
|
<text style="font-size: 28rpx; color: #ffffff">{{ typeMap[item.type].label }}</text> |
||||
|
</view> |
||||
|
<text class="title">{{ item.customerEnterpriseName }}</text> |
||||
|
<view class="row flex-row-center-start" style="margin-top: 0rpx"> |
||||
|
<text class="label">合同编号:</text> |
||||
|
<text class="value">{{ item.contractNo }}</text> |
||||
|
</view> |
||||
|
<view class="row flex-row-center-start"> |
||||
|
<text class="label">签署时间:</text> |
||||
|
<text class="value">{{ item.signDate || '-' }}</text> |
||||
|
</view> |
||||
|
<view class="row flex-row-center-start"> |
||||
|
<text class="label">合同金额:</text> |
||||
|
<text class="value">{{ item.totalOfferPrice || '-' }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="footer flex-row-center-space"> |
||||
|
<text style="font-size: 30rpx; color: #888888">操作人: {{ item.userName }}</text> |
||||
|
<text style="font-size: 28rpx; color: #007aff" @click="viewContract(item.imgUrl)">查看</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { go2, back } from '@/utils/hook.js' |
||||
|
import { transformFileToImg } from '@/apis/commonApi.js' |
||||
|
import { dateTimeFormat } from '@/utils/index.js' |
||||
|
import { getContractList, getCooperationList } from '@/apis/orderApi.js' |
||||
|
import { financeStatusMap, contractTypeMap, contractTypeEnum } from '@/enums/index.js' |
||||
|
const typeList = [ |
||||
|
{ |
||||
|
id: '', |
||||
|
name: '全部' |
||||
|
}, |
||||
|
{ |
||||
|
id: contractTypeEnum.ORDER_CONTRACT, |
||||
|
name: contractTypeMap[contractTypeEnum.ORDER_CONTRACT] |
||||
|
}, |
||||
|
{ |
||||
|
id: contractTypeEnum.GUARANTEE_CONTRACT, |
||||
|
name: contractTypeMap[contractTypeEnum.GUARANTEE_CONTRACT] |
||||
|
} |
||||
|
] |
||||
|
|
||||
|
const typeMap = { |
||||
|
[contractTypeEnum.ORDER_CONTRACT]: { |
||||
|
class: 'icon__ORDER_CONTRACT', |
||||
|
label: contractTypeMap[contractTypeEnum.ORDER_CONTRACT] |
||||
|
}, |
||||
|
[contractTypeEnum.GUARANTEE_CONTRACT]: { |
||||
|
class: 'icon__GUARANTEE_CONTRACT', |
||||
|
label: contractTypeMap[contractTypeEnum.GUARANTEE_CONTRACT] |
||||
|
} |
||||
|
} |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
customerList: [ |
||||
|
{ |
||||
|
id: '', |
||||
|
name: '全部客户' |
||||
|
} |
||||
|
], |
||||
|
typeList: Object.freeze(typeList), |
||||
|
financeStatusMap: Object.freeze(financeStatusMap), |
||||
|
typeMap: Object.freeze(typeMap), |
||||
|
condition: { |
||||
|
customerEnterpriseId: '', |
||||
|
type: '', |
||||
|
signDate: null |
||||
|
}, |
||||
|
pagination: { |
||||
|
pageNum: 0, // 初始会执行一次下拉加载 |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
list: [], |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
go2, |
||||
|
back, |
||||
|
dateTimeFormat, |
||||
|
getList() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
getContractList({ ...this.condition, ...this.pagination }) |
||||
|
.then((res) => { |
||||
|
if (res) { |
||||
|
if (this.pagination.pageNum == 1) { |
||||
|
this.list = res.records |
||||
|
} else { |
||||
|
this.list = this.list.concat(res.records) |
||||
|
} |
||||
|
resolve({ list: this.list, total: res.total }) |
||||
|
} else { |
||||
|
reject() |
||||
|
} |
||||
|
}) |
||||
|
.catch((err) => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
downCallback() { |
||||
|
this.pagination.pageNum = 1 |
||||
|
this.getList() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.refreshSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.refreshFail() |
||||
|
}) |
||||
|
}, |
||||
|
upCallback(page) { |
||||
|
this.pagination.pageNum++ |
||||
|
this.getList() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.loadSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.loadFail() |
||||
|
}) |
||||
|
}, |
||||
|
// 查看合同 |
||||
|
viewContract(url) { |
||||
|
if (url) { |
||||
|
transformFileToImg({ fileUrl: url }).then((res) => { |
||||
|
uni.previewImage({ urls: [res.imgUrl], current: res.imgUrl }) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
condition: { |
||||
|
handler() { |
||||
|
this.downCallback() |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
// 获取合作企业 |
||||
|
getCooperationList({ pageNum: 1, pageSize: 1000 }).then((res) => { |
||||
|
if (res) { |
||||
|
this.customerList = this.customerList.concat(res.records) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.content { |
||||
|
width: 750rpx; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-start; |
||||
|
align-items: stretch; |
||||
|
.condition-area { |
||||
|
width: 750rpx; |
||||
|
height: 80rpx; |
||||
|
padding: 0 32rpx 0 12rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
background-color: #fff; |
||||
|
} |
||||
|
} |
||||
|
.contract-item { |
||||
|
width: 750rpx; |
||||
|
background-color: #fff; |
||||
|
margin-bottom: 20rpx; |
||||
|
position: relative; |
||||
|
.header { |
||||
|
width: 750rpx; |
||||
|
padding: 24rpx 32rpx; |
||||
|
.icon { |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
position: absolute; |
||||
|
width: 160rpx; |
||||
|
height: 50rpx; |
||||
|
border-radius: 0 0 0 20rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.icon__ORDER_CONTRACT { |
||||
|
background-color: #e28686; |
||||
|
} |
||||
|
.icon__GUARANTEE_CONTRACT { |
||||
|
background-color: #86e2df; |
||||
|
} |
||||
|
.title { |
||||
|
font-size: 32rpx; |
||||
|
color: #003a8c; |
||||
|
font-weight: 600; |
||||
|
margin-bottom: 28rpx; |
||||
|
} |
||||
|
.row { |
||||
|
margin-top: 24rpx; |
||||
|
.label { |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
margin-right: 24rpx; |
||||
|
} |
||||
|
.value { |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.footer { |
||||
|
width: 750rpx; |
||||
|
padding: 24rpx 32rpx; |
||||
|
border-top: 1px solid #dddddd; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,52 +1,24 @@ |
|||||
<template> |
<template> |
||||
<view> |
|
||||
|
<view class="content"> |
||||
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="征信管理"></uni-nav-bar> |
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="征信管理"></uni-nav-bar> |
||||
<view @click="getPaperCategory">category</view> |
|
||||
<view @click="add">add</view> |
|
||||
</view> |
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import { go2, back } from '@/utils/hook.js' |
import { go2, back } from '@/utils/hook.js' |
||||
import { addPaper, getPaperCategory } from '@/apis/creditManagementApi.js' |
|
||||
export default { |
export default { |
||||
data() { |
data() { |
||||
return {} |
return {} |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
go2, |
go2, |
||||
back, |
|
||||
getPaperCategory, |
|
||||
add() { |
|
||||
let form = { |
|
||||
brandName: '博汇', |
|
||||
categoryId: 1, |
|
||||
description: '156企业测试纸品', |
|
||||
imgList: ['https://qncloudtest.oss-cn-shenzhen.aliyuncs.com/common/13390214088425427.jpg'], |
|
||||
isMainProduct: true, |
|
||||
manufacturerName: '156纸厂', |
|
||||
name: '156白卡', |
|
||||
otherNote: '没有说明', |
|
||||
sellingProposition: '没有卖点', |
|
||||
shippingNote: '没有送货说明', |
|
||||
skuList: [ |
|
||||
{ |
|
||||
isPromoting: false, |
|
||||
listPrice: 10000, |
|
||||
minimum: 1, |
|
||||
stock: 100, |
|
||||
stockUnit: 2, |
|
||||
weight: 200 |
|
||||
} |
|
||||
], |
|
||||
supplierId: '678289470268772352' |
|
||||
} |
|
||||
addPaper(form).then((res) => { |
|
||||
console.log(res) |
|
||||
}) |
|
||||
} |
|
||||
|
back |
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped></style> |
|
||||
|
<style lang="scss" scoped> |
||||
|
.content { |
||||
|
width: 750rpx; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,208 @@ |
|||||
|
<template> |
||||
|
<view class="content"> |
||||
|
<uni-nav-bar left-icon="back" @clickLeft="back" statusBar fixed title="账期订单融资"></uni-nav-bar> |
||||
|
<view class="condition-area flex-row-center-start"> |
||||
|
<qn-data-picker |
||||
|
v-model="condition.enterpriseId" |
||||
|
text="right" |
||||
|
:border="false" |
||||
|
placeholder="请选择客户" |
||||
|
popup-title="请选择客户" |
||||
|
:map="{ text: 'name', value: 'id' }" |
||||
|
:clear-icon="false" |
||||
|
:localdata="customerList" |
||||
|
></qn-data-picker> |
||||
|
<qn-data-picker |
||||
|
v-model="condition.status" |
||||
|
text="right" |
||||
|
:border="false" |
||||
|
placeholder="请选择" |
||||
|
popup-title="请选择融资状态" |
||||
|
:map="{ text: 'name', value: 'id' }" |
||||
|
:clear-icon="false" |
||||
|
:localdata="statusList" |
||||
|
></qn-data-picker> |
||||
|
</view> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback"> |
||||
|
<view v-for="item in list" :key="item.id" class="order-area"> |
||||
|
<view class="header flex-row-center-space"> |
||||
|
<text style="font-size: 30rpx; font-weight: 600; word-break: break-all">{{ item.customerEnterpriseName }}</text> |
||||
|
<text style="font-size: 30rpx; font-weight: 500; color: #ff5368">{{ financeStatusMap[item.status] }}</text> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<view |
||||
|
class="order-item flex-row-center-start" |
||||
|
v-for="(order, index) in item.orderItmes" |
||||
|
:key="order.productId" |
||||
|
:style="{ borderTop: index == 0 ? '' : '1px solid #dddddd' }" |
||||
|
> |
||||
|
<image class="img" :src="order.productImg"></image> |
||||
|
<view class="flex-col-start-start"> |
||||
|
<text style="font-size: 30rpx; color: #333333; font-weight: 600; margin-bottom: 26rpx">{{ order.productName }}</text> |
||||
|
<text style="font-size: 26rpx; color: #888888; font-weight: 400; word-break: break-all"> |
||||
|
{{ order.categoryName }}/{{ order.brandName }}/{{ order.gramWeight }}g/{{ order.width }}*{{ order.length }}/{{ order.pieceQuantity }}张 |
||||
|
</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="footer flex-row-center-space"> |
||||
|
<text style="font-size: 26rpx; color: #888888">{{ dateTimeFormat(item.createTime, 'yyyy/mm/dd') }}</text> |
||||
|
<text style="font-size: 30rpx; color: #ff5368">¥ {{ item.totalOfferPrice }}</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <packingStationItem style="margin-bottom: 20rpx" v-for="item in list" :key="item.enterpriseId" :info="item"></packingStationItem> --> |
||||
|
<!-- <packingStationItem></packingStationItem> --> |
||||
|
</scroll-list> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { go2, back } from '@/utils/hook.js' |
||||
|
import { dateTimeFormat } from '@/utils/index.js' |
||||
|
import { getFinanceList, getCooperationList } from '@/apis/orderApi.js' |
||||
|
import { financeStatusMap } from '@/enums/index.js' |
||||
|
const statusList = [ |
||||
|
{ |
||||
|
id: 0, |
||||
|
name: '全部' |
||||
|
}, |
||||
|
{ |
||||
|
id: 1, |
||||
|
name: '未融资' |
||||
|
}, |
||||
|
{ |
||||
|
id: 2, |
||||
|
name: '已融资' |
||||
|
} |
||||
|
] |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
customerList: [ |
||||
|
{ |
||||
|
id: '', |
||||
|
name: '全部客户' |
||||
|
}, |
||||
|
{ |
||||
|
id: '807704', |
||||
|
name: '揭阳市广工印刷有限公司' |
||||
|
} |
||||
|
], |
||||
|
statusList: Object.freeze(statusList), |
||||
|
financeStatusMap: Object.freeze(financeStatusMap), |
||||
|
condition: { |
||||
|
enterpriseId: '', |
||||
|
status: 0 |
||||
|
}, |
||||
|
pagination: { |
||||
|
pageNum: 0, // 初始会执行一次下拉加载 |
||||
|
pageSize: 10 |
||||
|
}, |
||||
|
list: [], |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA' |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
go2, |
||||
|
back, |
||||
|
dateTimeFormat, |
||||
|
getList() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
getFinanceList({ ...this.condition, ...this.pagination }) |
||||
|
.then((res) => { |
||||
|
if (res) { |
||||
|
if (this.pagination.pageNum == 1) { |
||||
|
this.list = res.records |
||||
|
} else { |
||||
|
this.list = this.list.concat(res.records) |
||||
|
} |
||||
|
resolve({ list: this.list, total: res.total }) |
||||
|
} else { |
||||
|
reject() |
||||
|
} |
||||
|
}) |
||||
|
.catch((err) => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
downCallback() { |
||||
|
this.pagination.pageNum = 1 |
||||
|
this.getList() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.refreshSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.refreshFail() |
||||
|
}) |
||||
|
}, |
||||
|
upCallback(page) { |
||||
|
this.pagination.pageNum++ |
||||
|
this.getList() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.loadSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.loadFail() |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
condition: { |
||||
|
handler(val) { |
||||
|
this.downCallback() |
||||
|
}, |
||||
|
deep: true |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.content { |
||||
|
width: 750rpx; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: flex-start; |
||||
|
align-items: stretch; |
||||
|
.condition-area { |
||||
|
width: 750rpx; |
||||
|
height: 80rpx; |
||||
|
padding: 0 32rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
background-color: #fff; |
||||
|
} |
||||
|
} |
||||
|
.order-area { |
||||
|
width: 750rpx; |
||||
|
background-color: #fff; |
||||
|
margin-bottom: 20rpx; |
||||
|
.header { |
||||
|
padding: 24rpx 32rpx; |
||||
|
border-bottom: 1px solid #dddddd; |
||||
|
} |
||||
|
.content { |
||||
|
padding: 0 32rpx; |
||||
|
width: 750rpx; |
||||
|
border-bottom: 1px solid #dddddd; |
||||
|
.order-item { |
||||
|
width: 686rpx; |
||||
|
padding: 24rpx 0; |
||||
|
.img { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.footer { |
||||
|
width: 750rpx; |
||||
|
padding: 24rpx 32rpx; |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -1,414 +1,417 @@ |
|||||
<template> |
<template> |
||||
<view class="warpper"> |
|
||||
<uni-nav-bar :fixed="true" color="#ffffff" background-color="#ffffff" :status-bar="true"> |
|
||||
<view slot="left" class="left-title">纸商城</view> |
|
||||
<view slot="right" class="right-title" @tap="shareTap">分享</view> |
|
||||
</uni-nav-bar> |
|
||||
<view class="top-box"> |
|
||||
<view class=""><image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image></view> |
|
||||
<view class="center"> |
|
||||
<view class="title">{{ storeInformation.name }}</view> |
|
||||
<view class="desc">全部商品 39 | 上新 9</view> |
|
||||
</view> |
|
||||
<view class="right"> |
|
||||
<view class="cut" @click="checkMall()"> |
|
||||
切换商城 |
|
||||
<image class="cut-icon" src="/static/imgs/mall/cut-icon.png" mode=""></image> |
|
||||
</view> |
|
||||
<view class="set" @click="setting">设置</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<uGap></uGap> |
|
||||
<view class="" v-if="pageShow"> |
|
||||
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #FFFFFF;"> |
|
||||
<view v-for="(item, index) in listData" :key="index" > |
|
||||
<view class="content" @click="detailInfo(item)"> |
|
||||
<image class="image" :src="item.litPicUrl" mode=""></image> |
|
||||
<view class="" style="width: 100%;"> |
|
||||
<view class="title"> |
|
||||
<view class="">{{ item.brandName }}</view> |
|
||||
<view class=""> |
|
||||
<image class="icon" :src="item.status === 30111 ? '/static/imgs/mall/grounding-icon.png' : '/static/imgs/mall/sold-out-icon.png'" mode=""></image> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="sub-title">{{ item.categoryName }}/{{ item.name }}/{{ item.manufacturerName }}</view> |
|
||||
<view class="desc"> |
|
||||
克重(价格): |
|
||||
<text v-for="(sku,index) in item.skuList">{{sku.weight}}({{sku.listPrice}})</text> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="other"> |
|
||||
<view class="time">{{item.updateTime | timeFilter }}</view> |
|
||||
<view class="btn"> |
|
||||
<view class="" @click="editPaper(item)" v-if="item.status === 30112">编辑</view> |
|
||||
<view class="divide"></view> |
|
||||
<view class="" @click="productStatusChange(item)">{{ item.status === 30111 ? '下架' : '上架' }}</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<uGap></uGap> |
|
||||
</view> |
|
||||
</scroll-list> |
|
||||
</view> |
|
||||
<view> |
|
||||
<view class="offer-prices" @click="nativeTo()"><image class="my-image" src="../../static/imgs/trade/camera.png" mode=""></image></view> |
|
||||
</view> |
|
||||
<no-data v-if="!pageShow"></no-data> |
|
||||
</view> |
|
||||
|
<view class="wrapper"> |
||||
|
<uni-nav-bar :fixed="true" color="#ffffff" background-color="#ffffff" :status-bar="true"> |
||||
|
<view slot="left" class="left-title">纸商城</view> |
||||
|
<view slot="right" class="right-title" @tap="shareTap">分享</view> |
||||
|
</uni-nav-bar> |
||||
|
<view class="top-box"> |
||||
|
<view class=""><image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image></view> |
||||
|
<view class="center"> |
||||
|
<view class="title">{{ storeInformation.name }}</view> |
||||
|
<view class="desc">全部商品 39 | 上新 9</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<view class="cut" @click="checkMall()"> |
||||
|
切换商城 |
||||
|
<image class="cut-icon" src="/static/imgs/mall/cut-icon.png" mode=""></image> |
||||
|
</view> |
||||
|
<view class="set" @click="setting">设置</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
<view class="" v-if="pageShow"> |
||||
|
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #ffffff"> |
||||
|
<view v-for="(item, index) in listData" :key="index"> |
||||
|
<view class="content" @click="detailInfo(item)"> |
||||
|
<image class="image" :src="item.litPicUrl" mode=""></image> |
||||
|
<view class="" style="width: 100%"> |
||||
|
<view class="title"> |
||||
|
<view class="">{{ item.brandName }}</view> |
||||
|
<view class=""> |
||||
|
<image |
||||
|
class="icon" |
||||
|
:src="item.status === 30111 ? '/static/imgs/mall/grounding-icon.png' : '/static/imgs/mall/sold-out-icon.png'" |
||||
|
mode="" |
||||
|
></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="sub-title">{{ item.categoryName }}/{{ item.name }}/{{ item.manufacturerName }}</view> |
||||
|
<view class="desc"> |
||||
|
克重(价格): |
||||
|
<text v-for="(sku, index) in item.skuList" :key="index">{{ sku.weight }}({{ sku.listPrice }})</text> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="other"> |
||||
|
<view class="time">{{ item.updateTime | timeFilter }}</view> |
||||
|
<view class="btn"> |
||||
|
<view class="" @click="editPaper(item)" v-if="item.status === 30112">编辑</view> |
||||
|
<view class="divide"></view> |
||||
|
<view class="" @click="productStatusChange(item)">{{ item.status === 30111 ? '下架' : '上架' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<uGap></uGap> |
||||
|
</view> |
||||
|
</scroll-list> |
||||
|
</view> |
||||
|
<view> |
||||
|
<view class="offer-prices" @click="nativeTo()"><image class="my-image" src="../../static/imgs/trade/camera.png" mode=""></image></view> |
||||
|
</view> |
||||
|
<no-data v-if="!pageShow"></no-data> |
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import uGap from '@/components/u-gap/u-gap.vue' |
import uGap from '@/components/u-gap/u-gap.vue' |
||||
import { back, go2, loginGo2 } from '@/utils/hook.js' |
|
||||
|
import { back, go2, loginGo2 } from '@/utils/hook.js' |
||||
import { SupplierList, productStatus } from '@/apis/add-paper.js' |
import { SupplierList, productStatus } from '@/apis/add-paper.js' |
||||
import { getTimer }from '@/utils/index.js' |
|
||||
|
import { getTimer } from '@/utils/index.js' |
||||
import noData from './no-data.vue' |
import noData from './no-data.vue' |
||||
export default { |
export default { |
||||
components: { uGap, noData }, |
|
||||
filters:{ |
|
||||
timeFilter(value){ |
|
||||
var abs = '' |
|
||||
if(value){ |
|
||||
abs = getTimer(value) |
|
||||
} |
|
||||
return abs |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
pageShow: true, |
|
||||
storeInformation: { |
|
||||
supplierId: null, |
|
||||
name: null |
|
||||
}, |
|
||||
option: { |
|
||||
size: 10, |
|
||||
auto: true, |
|
||||
emptyText: '暂无数据~', |
|
||||
background: '#F7F8FA', |
|
||||
disabled: false |
|
||||
}, |
|
||||
pattern: { |
|
||||
backgroundColor: '#007AFF', |
|
||||
buttonColor: '#007AFF' |
|
||||
}, |
|
||||
content: [], |
|
||||
horizontal: 'right', |
|
||||
vertical: 'bottom', |
|
||||
direction: 'vertical', |
|
||||
orderPagination: { |
|
||||
pageNum: 0, // 初始会执行一次下拉加载 |
|
||||
pageSize: 10, |
|
||||
storeId: null, |
|
||||
name: null, |
|
||||
supplierId: this.$store.state.supplierInfo.supplierId |
|
||||
}, |
|
||||
listData: [] |
|
||||
} |
|
||||
}, |
|
||||
onShow() { |
|
||||
this.storeInformation = { |
|
||||
supplierId: this.$store.state.supplierInfo.supplierId, |
|
||||
name: this.$store.state.supplierInfo.name |
|
||||
} |
|
||||
this.quertData() |
|
||||
}, |
|
||||
onLoad() { |
|
||||
this.quertData() |
|
||||
}, |
|
||||
methods: { |
|
||||
back, |
|
||||
|
|
||||
// 获取纸品列表 pageShow |
|
||||
quertData() { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
SupplierList({ ...this.orderPagination }) |
|
||||
.then(res => { |
|
||||
if (res) { |
|
||||
if (res.records.length === 0) { |
|
||||
this.pageShow = false |
|
||||
return |
|
||||
} |
|
||||
if (this.orderPagination.pageNum == 1) { |
|
||||
this.listData = res.records |
|
||||
} else { |
|
||||
this.listData = this.listData.concat(res.records) |
|
||||
} |
|
||||
resolve({ list: this.listData, total: res.total }) |
|
||||
} |
|
||||
}) |
|
||||
.catch(err => { |
|
||||
reject(err) |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
downCallback() { |
|
||||
this.orderPagination.pageNum = 1 |
|
||||
this.quertData() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.list.refreshSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.list.refreshFail() |
|
||||
}) |
|
||||
}, |
|
||||
upCallback() { |
|
||||
this.orderPagination.pageNum++ |
|
||||
this.quertData() |
|
||||
.then(({ list, total }) => { |
|
||||
this.$refs.list.loadSuccess({ list, total }) |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
this.$refs.list.loadFail() |
|
||||
}) |
|
||||
}, |
|
||||
// 切换商城按钮 |
|
||||
checkMall() { |
|
||||
go2('switching-mall', { supplierId: this.storeInformation.supplierId }) |
|
||||
}, |
|
||||
// 按钮点击事件 |
|
||||
nativeTo() { |
|
||||
var params = { |
|
||||
title: '添加纸品' |
|
||||
} |
|
||||
go2('add-paper', params) |
|
||||
}, |
|
||||
// 编辑事件 |
|
||||
editPaper(item) { |
|
||||
var params = { |
|
||||
...item, |
|
||||
title: '编辑纸品' |
|
||||
} |
|
||||
go2('add-paper', params) |
|
||||
}, |
|
||||
// 店铺设置按钮 |
|
||||
setting(item) { |
|
||||
go2('store-settings') |
|
||||
}, |
|
||||
// 详情点击事件 |
|
||||
detailInfo(item) { |
|
||||
loginGo2('paper-detail', item) |
|
||||
}, |
|
||||
// 上下架事件 |
|
||||
productStatusChange(item) { |
|
||||
var params = { |
|
||||
id: item.id, |
|
||||
status: item.status === 30111 ? 30112 : 30111 |
|
||||
} |
|
||||
productStatus(params).then(res => { |
|
||||
if (res) { |
|
||||
uni.showToast({ |
|
||||
title: '状态修改成功', |
|
||||
icon: 'success' |
|
||||
}) |
|
||||
setTimeout(()=>{ |
|
||||
this.orderPagination.pageNum = 1 |
|
||||
this.quertData() |
|
||||
},500) |
|
||||
|
|
||||
|
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 分享 |
|
||||
shareTap() { |
|
||||
uni.share({ |
|
||||
provider: "weixin", |
|
||||
scene: "WXSceneSession", |
|
||||
type: 0, |
|
||||
href: "http://uniapp.dcloud.io/", |
|
||||
title: "uni-app分享", |
|
||||
summary: "我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!", |
|
||||
imageUrl: "https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/d8590190-4f28-11eb-b680-7980c8a877b8.png", |
|
||||
success: function (res) { |
|
||||
console.log("success:" + JSON.stringify(res)); |
|
||||
}, |
|
||||
fail: function (err) { |
|
||||
console.log("fail:" + JSON.stringify(err)); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
|
components: { uGap, noData }, |
||||
|
filters: { |
||||
|
timeFilter(value) { |
||||
|
var abs = '' |
||||
|
if (value) { |
||||
|
abs = getTimer(value) |
||||
|
} |
||||
|
return abs |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
pageShow: true, |
||||
|
storeInformation: { |
||||
|
supplierId: null, |
||||
|
name: null |
||||
|
}, |
||||
|
option: { |
||||
|
size: 10, |
||||
|
auto: true, |
||||
|
emptyText: '暂无数据~', |
||||
|
background: '#F7F8FA', |
||||
|
disabled: false |
||||
|
}, |
||||
|
pattern: { |
||||
|
backgroundColor: '#007AFF', |
||||
|
buttonColor: '#007AFF' |
||||
|
}, |
||||
|
content: [], |
||||
|
horizontal: 'right', |
||||
|
vertical: 'bottom', |
||||
|
direction: 'vertical', |
||||
|
orderPagination: { |
||||
|
pageNum: 0, // 初始会执行一次下拉加载 |
||||
|
pageSize: 10, |
||||
|
storeId: null, |
||||
|
name: null, |
||||
|
supplierId: this.$store.state.supplierInfo.supplierId |
||||
|
}, |
||||
|
listData: [] |
||||
|
} |
||||
|
}, |
||||
|
onShow() { |
||||
|
this.storeInformation = { |
||||
|
supplierId: this.$store.state.supplierInfo.supplierId, |
||||
|
name: this.$store.state.supplierInfo.name |
||||
|
} |
||||
|
this.quertData() |
||||
|
}, |
||||
|
onLoad() { |
||||
|
this.quertData() |
||||
|
}, |
||||
|
methods: { |
||||
|
back, |
||||
|
|
||||
|
// 获取纸品列表 pageShow |
||||
|
quertData() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
SupplierList({ ...this.orderPagination }) |
||||
|
.then((res) => { |
||||
|
if (res) { |
||||
|
if (res.records.length === 0) { |
||||
|
this.pageShow = false |
||||
|
return |
||||
|
} |
||||
|
if (this.orderPagination.pageNum == 1) { |
||||
|
this.listData = res.records |
||||
|
} else { |
||||
|
this.listData = this.listData.concat(res.records) |
||||
|
} |
||||
|
resolve({ list: this.listData, total: res.total }) |
||||
|
} |
||||
|
}) |
||||
|
.catch((err) => { |
||||
|
reject(err) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
downCallback() { |
||||
|
this.orderPagination.pageNum = 1 |
||||
|
this.quertData() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.refreshSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.refreshFail() |
||||
|
}) |
||||
|
}, |
||||
|
upCallback() { |
||||
|
this.orderPagination.pageNum++ |
||||
|
this.quertData() |
||||
|
.then(({ list, total }) => { |
||||
|
this.$refs.list.loadSuccess({ list, total }) |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.$refs.list.loadFail() |
||||
|
}) |
||||
|
}, |
||||
|
// 切换商城按钮 |
||||
|
checkMall() { |
||||
|
go2('switching-mall', { supplierId: this.storeInformation.supplierId }) |
||||
|
}, |
||||
|
// 按钮点击事件 |
||||
|
nativeTo() { |
||||
|
var params = { |
||||
|
title: '添加纸品' |
||||
|
} |
||||
|
go2('add-paper', params) |
||||
|
}, |
||||
|
// 编辑事件 |
||||
|
editPaper(item) { |
||||
|
var params = { |
||||
|
...item, |
||||
|
title: '编辑纸品' |
||||
|
} |
||||
|
go2('add-paper', params) |
||||
|
}, |
||||
|
// 店铺设置按钮 |
||||
|
setting(item) { |
||||
|
go2('store-settings') |
||||
|
}, |
||||
|
// 详情点击事件 |
||||
|
detailInfo(item) { |
||||
|
loginGo2('paper-detail', item) |
||||
|
}, |
||||
|
// 上下架事件 |
||||
|
productStatusChange(item) { |
||||
|
var params = { |
||||
|
id: item.id, |
||||
|
status: item.status === 30111 ? 30112 : 30111 |
||||
|
} |
||||
|
productStatus(params).then((res) => { |
||||
|
if (res) { |
||||
|
uni.showToast({ |
||||
|
title: '状态修改成功', |
||||
|
icon: 'success' |
||||
|
}) |
||||
|
setTimeout(() => { |
||||
|
this.orderPagination.pageNum = 1 |
||||
|
this.quertData() |
||||
|
}, 500) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 分享 |
||||
|
shareTap() { |
||||
|
uni.share({ |
||||
|
provider: 'weixin', |
||||
|
scene: 'WXSceneSession', |
||||
|
type: 0, |
||||
|
href: 'http://uniapp.dcloud.io/', |
||||
|
title: 'uni-app分享', |
||||
|
summary: '我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!', |
||||
|
imageUrl: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/d8590190-4f28-11eb-b680-7980c8a877b8.png', |
||||
|
success: function (res) { |
||||
|
console.log('success:' + JSON.stringify(res)) |
||||
|
}, |
||||
|
fail: function (err) { |
||||
|
console.log('fail:' + JSON.stringify(err)) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss"> |
<style lang="scss"> |
||||
.warpper { |
|
||||
width: 750rpx; |
|
||||
.left-title { |
|
||||
font-size: 40rpx; |
|
||||
color: #000000; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 500; |
|
||||
} |
|
||||
.right-title { |
|
||||
font-size: 28rpx; |
|
||||
color: #007aff; |
|
||||
text-align: right; |
|
||||
font-weight: 500; |
|
||||
} |
|
||||
.top-box { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
align-items: center; |
|
||||
justify-content: space-around; |
|
||||
height: 180rpx; |
|
||||
background: url('/static/imgs/mall/zsc-bg-icon.png') no-repeat; |
|
||||
background-size: 100%; |
|
||||
.image { |
|
||||
width: 100rpx; |
|
||||
height: 100rpx; |
|
||||
border-radius: 50%; |
|
||||
} |
|
||||
.right { |
|
||||
width: 140rpx; |
|
||||
} |
|
||||
.center { |
|
||||
position: relative; |
|
||||
left: -20rpx; |
|
||||
} |
|
||||
.title { |
|
||||
font-size: 34rpx; |
|
||||
color: #ffffff; |
|
||||
letter-spacing: 2rpx; |
|
||||
font-weight: 600; |
|
||||
margin-bottom: 12rpx; |
|
||||
} |
|
||||
.desc { |
|
||||
opacity: 0.75; |
|
||||
font-size: 28rpx; |
|
||||
color: #ffffff; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 500; |
|
||||
padding-right: 32rpx; |
|
||||
} |
|
||||
.cut { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
font-size: 24rpx; |
|
||||
color: #ffffff; |
|
||||
letter-spacing: 0; |
|
||||
text-align: center; |
|
||||
font-weight: 400; |
|
||||
.cut-icon { |
|
||||
width: 29.42rpx; |
|
||||
height: 26.67rpx; |
|
||||
margin-left: 10rpx; |
|
||||
} |
|
||||
} |
|
||||
.set { |
|
||||
opacity: 0.75; |
|
||||
font-size: 28rpx; |
|
||||
color: #ffffff; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 500; |
|
||||
position: relative; |
|
||||
top: 39rpx; |
|
||||
left: 60rpx; |
|
||||
} |
|
||||
} |
|
||||
.content { |
|
||||
background: #ffffff; |
|
||||
border-bottom: 2rpx solid #dddddd; |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
padding: 24rpx 0rpx 24rpx 32rpx; |
|
||||
.image { |
|
||||
width: 100rpx; |
|
||||
height: 100rpx; |
|
||||
flex: 0 0 100rpx; |
|
||||
margin-right: 18rpx; |
|
||||
} |
|
||||
.title { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: space-between; |
|
||||
font-size: 32rpx; |
|
||||
color: #333333; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 500; |
|
||||
.icon { |
|
||||
position: relative; |
|
||||
top: -22rpx; |
|
||||
width: 150rpx; |
|
||||
height: 50rpx; |
|
||||
} |
|
||||
} |
|
||||
.sub-title { |
|
||||
position: relative; |
|
||||
font-size: 28rpx; |
|
||||
color: #333333; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 400; |
|
||||
top: -4rpx; |
|
||||
} |
|
||||
.desc { |
|
||||
font-size: 28rpx; |
|
||||
color: #555555; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 400; |
|
||||
padding-top: 10rpx; |
|
||||
line-height: 1.4; |
|
||||
} |
|
||||
} |
|
||||
.other { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
height: 80rpx; |
|
||||
background: #ffffff; |
|
||||
padding: 0rpx 32rpx; |
|
||||
.time { |
|
||||
font-size: 28rpx; |
|
||||
color: #888888; |
|
||||
letter-spacing: 0; |
|
||||
font-weight: 400; |
|
||||
} |
|
||||
.btn { |
|
||||
display: flex; |
|
||||
flex-direction: row; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
font-size: 28rpx; |
|
||||
color: #007aff; |
|
||||
letter-spacing: 0; |
|
||||
text-align: right; |
|
||||
font-weight: 400; |
|
||||
} |
|
||||
.divide { |
|
||||
width: 2rpx; |
|
||||
height: 32rpx; |
|
||||
background: #d8d8d8; |
|
||||
margin: 0 32rpx; |
|
||||
} |
|
||||
.icon { |
|
||||
width: 24rpx; |
|
||||
height: 24rpx; |
|
||||
margin-left: 6rpx; |
|
||||
} |
|
||||
} |
|
||||
.offer-prices { |
|
||||
position: absolute; |
|
||||
z-index: 9999; |
|
||||
right: 32rpx; |
|
||||
bottom: 122rpx; |
|
||||
background-color: #007aff; |
|
||||
border-radius: 50%; |
|
||||
padding: 10rpx; |
|
||||
text-align: center; |
|
||||
width: 110rpx; |
|
||||
height: 110rpx; |
|
||||
border: 2rpx solid #f9f9f9; |
|
||||
box-shadow: 0rpx 4rpx 34rpx 0rpx rgba(0, 0, 0, 0.2); |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
justify-content: center; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.my-image { |
|
||||
width: 100rpx; |
|
||||
height: 100rpx; |
|
||||
} |
|
||||
|
.wrapper { |
||||
|
width: 750rpx; |
||||
|
overflow: hidden; |
||||
|
.left-title { |
||||
|
font-size: 40rpx; |
||||
|
color: #000000; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.right-title { |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
text-align: right; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.top-box { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
align-items: center; |
||||
|
justify-content: space-around; |
||||
|
height: 180rpx; |
||||
|
background: url('/static/imgs/mall/zsc-bg-icon.png') no-repeat; |
||||
|
background-size: 100%; |
||||
|
.image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
border-radius: 50%; |
||||
|
} |
||||
|
.right { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.center { |
||||
|
position: relative; |
||||
|
left: -20rpx; |
||||
|
} |
||||
|
.title { |
||||
|
font-size: 34rpx; |
||||
|
color: #ffffff; |
||||
|
letter-spacing: 2rpx; |
||||
|
font-weight: 600; |
||||
|
margin-bottom: 12rpx; |
||||
|
} |
||||
|
.desc { |
||||
|
opacity: 0.75; |
||||
|
font-size: 28rpx; |
||||
|
color: #ffffff; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
padding-right: 32rpx; |
||||
|
} |
||||
|
.cut { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
font-size: 24rpx; |
||||
|
color: #ffffff; |
||||
|
letter-spacing: 0; |
||||
|
text-align: center; |
||||
|
font-weight: 400; |
||||
|
.cut-icon { |
||||
|
width: 29.42rpx; |
||||
|
height: 26.67rpx; |
||||
|
margin-left: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
.set { |
||||
|
opacity: 0.75; |
||||
|
font-size: 28rpx; |
||||
|
color: #ffffff; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
position: relative; |
||||
|
top: 39rpx; |
||||
|
left: 60rpx; |
||||
|
} |
||||
|
} |
||||
|
.content { |
||||
|
background: #ffffff; |
||||
|
border-bottom: 2rpx solid #dddddd; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
padding: 24rpx 0rpx 24rpx 32rpx; |
||||
|
.image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
flex: 0 0 100rpx; |
||||
|
margin-right: 18rpx; |
||||
|
} |
||||
|
.title { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
font-size: 32rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 500; |
||||
|
.icon { |
||||
|
position: relative; |
||||
|
top: -22rpx; |
||||
|
width: 150rpx; |
||||
|
height: 50rpx; |
||||
|
} |
||||
|
} |
||||
|
.sub-title { |
||||
|
position: relative; |
||||
|
font-size: 28rpx; |
||||
|
color: #333333; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
top: -4rpx; |
||||
|
} |
||||
|
.desc { |
||||
|
font-size: 28rpx; |
||||
|
color: #555555; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
padding-top: 10rpx; |
||||
|
line-height: 1.4; |
||||
|
} |
||||
|
} |
||||
|
.other { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 80rpx; |
||||
|
background: #ffffff; |
||||
|
padding: 0rpx 32rpx; |
||||
|
.time { |
||||
|
font-size: 28rpx; |
||||
|
color: #888888; |
||||
|
letter-spacing: 0; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.btn { |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
font-size: 28rpx; |
||||
|
color: #007aff; |
||||
|
letter-spacing: 0; |
||||
|
text-align: right; |
||||
|
font-weight: 400; |
||||
|
} |
||||
|
.divide { |
||||
|
width: 2rpx; |
||||
|
height: 32rpx; |
||||
|
background: #d8d8d8; |
||||
|
margin: 0 32rpx; |
||||
|
} |
||||
|
.icon { |
||||
|
width: 24rpx; |
||||
|
height: 24rpx; |
||||
|
margin-left: 6rpx; |
||||
|
} |
||||
|
} |
||||
|
.offer-prices { |
||||
|
position: absolute; |
||||
|
z-index: 9999; |
||||
|
right: 32rpx; |
||||
|
bottom: 122rpx; |
||||
|
background-color: #007aff; |
||||
|
border-radius: 50%; |
||||
|
padding: 10rpx; |
||||
|
text-align: center; |
||||
|
width: 110rpx; |
||||
|
height: 110rpx; |
||||
|
border: 2rpx solid #f9f9f9; |
||||
|
box-shadow: 0rpx 4rpx 34rpx 0rpx rgba(0, 0, 0, 0.2); |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.my-image { |
||||
|
width: 100rpx; |
||||
|
height: 100rpx; |
||||
|
} |
||||
} |
} |
||||
</style> |
|
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save