buffeyu 4 years ago
parent
commit
413d2dcbd5
6 changed files with 595 additions and 462 deletions
  1. 6
      pages/client-credit/index.vue
  2. 925
      pages/client-detail/basic-information.vue
  3. 6
      pages/client-list/index.vue
  4. 114
      pages/order-detail/index.vue
  5. 6
      pages/search/index.vue
  6. BIN
      static/imgs/client/search-empty.png

6
pages/client-credit/index.vue

@ -91,6 +91,12 @@ export default {
hasCreditList: [] hasCreditList: []
} }
}, },
onLoad(option) {
if (option.enterpriseId) {
this.form.name = option.name
this.form.enterpriseId = option.enterpriseId
}
},
methods: { methods: {
back, back,
showCompany(e) { showCompany(e) {

925
pages/client-detail/basic-information.vue

@ -1,117 +1,131 @@
<template> <template>
<view class="warpper">
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #FFFFFF;">
<view class="card-box">
<view class="card-header">
<view class="left-text">基本信息</view>
<view class="right-text" @tap="gotoTap">跟进记录</view>
</view>
<view class="card-content">
<view class="info">
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image>
<view class="content">
<view class="title">
<text class="text">{{info.name}}</text>
<image
class="icon"
:src="info.cooperation == 1 ? '/static/imgs/general/cooperation-icon.png' : '/static/imgs/general/no-cooperation-icon.png'"
></image>
</view>
<view class="desc u-line-2">
<text>主营{{ info.mainBusiness }}</text>
</view>
</view>
</view>
<view class="company-box">
<view>
<view><text class="title">法定代表人</text></view>
<view class="value">{{ info.legalPersonName }}</view>
</view>
<view class="">
<view><text class="title">注册资本</text></view>
<view class="value">{{ info.registeredCapital }}</view>
</view>
<view class="">
<view><text class="title">成立时间</text></view>
<view class="value">{{ transformDate(info.foundDate) }}</view>
</view>
</view>
<view class="site">
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image>
<text class="text">{{ info.locProvinceName }}{{ info.locCityName }}{{info.locDistrictName}}{{info.locStreetName}} {{ info.locDetail }}</text>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">工商信息</view></view>
<view class="card-content">
<view class="gs-info">
<view class="row">
<view class="info-title">
<text>
社会统一
<br />
信用代码
</text>
</view>
<view class="info-value"><text>{{info.uniformSocialCreditCode}}</text></view>
</view>
<view class="row">
<view class="info-title"><text>营业执照</text></view>
<view class="look-over" v-if="info.businessLicenseImg !== null" @tap="previewImg(info.businessLicenseImg, [info.businessLicenseImg])"><text>点击查看</text></view>
</view>
<view class="row">
<view class="info-title"><text>所属行业</text></view>
<view class="info-value"><text>{{info.belongIndustry}}</text></view>
</view>
<view class="row">
<view class="info-title"><text>登记状态</text></view>
<view class="info-value"><text>{{info.registrationStatus}}</text></view>
</view>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">厂房信息</view></view>
<view class="card-content">
<view class="cf-info">
<view class="row">
<view class="left">
<view class="title"><text>产房面积</text></view>
<view class="value"><text>{{info.plantArea}}m²</text></view>
</view>
<view class="right">
<view class="title"><text>年营业额</text></view>
<view class="value"><text>{{info.annualTurnover}}</text></view>
</view>
</view>
<view class="row">
<view class="left">
<view class="title"><text>产房照片</text></view>
<view class="look-over" v-if="info.factoryImgList !== null" @tap="previewImg(info.factoryImgList[0], info.factoryImgList)"><text>点击查看</text></view>
</view>
<view class="right">
<view class="title"><text>租赁合同</text></view>
<view class="look-over" v-if="info.leaseContract !== null" @tap="previewImg(info.leaseContract, [info.leaseContract])"><text>点击查看</text></view>
</view>
</view>
</view>
<view class="site">
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image>
<text class="text">{{info.factoryAddress}}</text>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">法律诉讼</view></view>
<view class="card-content" style="margin: 20rpx 0rpx;">
<view class="no-data">
暂无法律诉讼
</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
<view class="warpper">
<scroll-list ref="list" :option="option" @load="upCallback" @refresh="downCallback" style="background-color: #ffffff">
<view class="card-box">
<view class="card-header">
<view class="left-text">基本信息</view>
<view class="right-text" @tap="gotoTap">跟进记录</view>
</view>
<view class="card-content">
<view class="info">
<image class="image" src="https://qncloud.oss-cn-shenzhen.aliyuncs.com/ztb_pic/testPic.jfif" mode=""></image>
<view class="content">
<view class="title">
<text class="text">{{ info.name }}</text>
<image
class="icon"
:src="info.cooperation == 1 ? '/static/imgs/general/cooperation-icon.png' : '/static/imgs/general/no-cooperation-icon.png'"
></image>
</view>
<view class="desc u-line-2">
<text>主营{{ info.mainBusiness }}</text>
</view>
</view>
</view>
<view class="company-box">
<view>
<view><text class="title">法定代表人</text></view>
<view class="value">{{ info.legalPersonName }}</view>
</view>
<view class="">
<view><text class="title">注册资本</text></view>
<view class="value">{{ info.registeredCapital }}</view>
</view>
<view class="">
<view><text class="title">成立时间</text></view>
<view class="value">{{ transformDate(info.foundDate) }}</view>
</view>
</view>
<view class="site">
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image>
<text class="text">{{ info.locProvinceName }}{{ info.locCityName }}{{ info.locDistrictName }}{{ info.locStreetName }} {{ info.locDetail }}</text>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">工商信息</view></view>
<view class="card-content">
<view class="gs-info">
<view class="row">
<view class="info-title">
<text>
社会统一
<br />
信用代码
</text>
</view>
<view class="info-value">
<text>{{ info.uniformSocialCreditCode }}</text>
</view>
</view>
<view class="row">
<view class="info-title"><text>营业执照</text></view>
<view class="look-over" v-if="info.businessLicenseImg !== null" @tap="previewImg(info.businessLicenseImg, [info.businessLicenseImg])">
<text>点击查看</text>
</view>
</view>
<view class="row">
<view class="info-title"><text>所属行业</text></view>
<view class="info-value">
<text>{{ info.belongIndustry }}</text>
</view>
</view>
<view class="row">
<view class="info-title"><text>登记状态</text></view>
<view class="info-value">
<text>{{ info.registrationStatus }}</text>
</view>
</view>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">厂房信息</view></view>
<view class="card-content">
<view class="cf-info">
<view class="row">
<view class="left">
<view class="title"><text>产房面积</text></view>
<view class="value">
<text>{{ info.plantArea }}m²</text>
</view>
</view>
<view class="right">
<view class="title"><text>年营业额</text></view>
<view class="value">
<text>{{ info.annualTurnover }}</text>
</view>
</view>
</view>
<view class="row">
<view class="left">
<view class="title"><text>产房照片</text></view>
<view class="look-over" v-if="info.factoryImgList !== null" @tap="previewImg(info.factoryImgList[0], info.factoryImgList)">
<text>点击查看</text>
</view>
</view>
<view class="right">
<view class="title"><text>租赁合同</text></view>
<view class="look-over" v-if="info.leaseContract !== null" @tap="previewImg(info.leaseContract, [info.leaseContract])">
<text>点击查看</text>
</view>
</view>
</view>
</view>
<view class="site">
<image class="icon" src="/static/imgs/client-detail/address-icon.png"></image>
<text class="text">{{ info.factoryAddress }}</text>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">法律诉讼</view></view>
<view class="card-content" style="margin: 20rpx 0rpx">
<view class="no-data">暂无法律诉讼</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
<view class="row"> <view class="row">
<view class="title"> <view class="title">
<view class="left"> <view class="left">
@ -133,22 +147,20 @@
</view> </view>
</view> </view>
</view> --> </view> -->
</view>
<view class="see-more" v-if="false">
<view class="" @tap="seemoreTap">
<text>查看更多</text>
<image class="icon" :src="!seemoreFlag ? '/static/imgs/client-detail/arrow-up-icon.png' : '/static/imgs/client-detail/arrow-down-icon.png'"></image>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">经营异常</view></view>
<view class="card-content" style="margin: 20rpx 0rpx;">
<view class="no-data">
暂无经营异常
</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
</view>
<view class="see-more" v-if="false">
<view class="" @tap="seemoreTap">
<text>查看更多</text>
<image class="icon" :src="!seemoreFlag ? '/static/imgs/client-detail/arrow-up-icon.png' : '/static/imgs/client-detail/arrow-down-icon.png'"></image>
</view>
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">经营异常</view></view>
<view class="card-content" style="margin: 20rpx 0rpx">
<view class="no-data">暂无经营异常</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
<view class="row"> <view class="row">
<view class="title"> <view class="title">
<view class="left"> <view class="left">
@ -175,16 +187,14 @@
</view> </view>
</view> </view>
</view> --> </view> -->
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">征信信息</view></view>
<view class="card-content" style="margin: 20rpx 0rpx;">
<view class="no-data">
暂无征信信息
</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
</view>
</view>
<uGap></uGap>
<view class="card-box">
<view class="card-header"><view class="left-text">征信信息</view></view>
<view class="card-content" style="margin: 20rpx 0rpx">
<view class="no-data">暂无征信信息</view>
<!-- <view class="fl-info" v-for="(item, index) in 2" :key="index">
<view class="row"> <view class="row">
<view class="other"> <view class="other">
<view class="left-text"><text>立案日期</text></view> <view class="left-text"><text>立案日期</text></view>
@ -204,350 +214,353 @@
</view> </view>
</view> </view>
</view> --> </view> -->
</view>
</view>
</scroll-list>
</view>
</view>
</view>
</scroll-list>
</view>
</template> </template>
<script> <script>
import uGap from '@/components/u-gap/u-gap.vue' import uGap from '@/components/u-gap/u-gap.vue'
import { getBaseInfo } from '@/apis/clientDetailApi'
import { getBaseInfo } from '@/apis/clientDetailApi'
import { go2 } from '@/utils/hook.js' import { go2 } from '@/utils/hook.js'
export default { export default {
components: {
uGap
},
props: {
customerId: {
type: String,
default: null
}
},
data() {
return {
option: {
size: 10,
auto: true,
emptyText: '暂无数据~',
background: '#F7F8FA',
disabled: true
},
info: {},
seemoreFlag: true
}
},
methods: {
gotoTap() {
go2('follow-up-records')
},
getBaseInfo() {
getBaseInfo({customerId: this.customerId }).then(res => {
// console.log('', res)
this.info = res
})
},
seemoreTap() {
this.seemoreFlag = !this.seemoreFlag
},
transformDate(date) {
if (date) {
return date.split('-').join('/')
}
return ''
},
previewImg(index, list) {
uni.previewImage({
urls: list,
current: index
});
},
downCallback() {},
upCallback() {}
}
components: {
uGap
},
props: {
customerId: {
type: String,
default: null
}
},
data() {
return {
option: {
size: 10,
auto: true,
emptyText: '暂无数据~',
background: '#F7F8FA',
disabled: true
},
info: {},
seemoreFlag: true
}
},
methods: {
gotoTap() {
go2('follow-up-records')
},
getBaseInfo() {
getBaseInfo({ customerId: this.customerId }).then((res) => {
// console.log('', res)
this.info = res
})
},
//
getCompanyInfo() {
return this.info
},
seemoreTap() {
this.seemoreFlag = !this.seemoreFlag
},
transformDate(date) {
if (date) {
return date.split('-').join('/')
}
return ''
},
previewImg(index, list) {
uni.previewImage({
urls: list,
current: index
})
},
downCallback() {},
upCallback() {}
}
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.warpper { .warpper {
width: 750rpx;
height: 100%;
width: 750rpx;
height: 100%;
.card-box {
.card-header {
display: flex;
flex-direction: row;
justify-content: space-between;
height: 88rpx;
line-height: 88rpx;
border-bottom: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
.card-box {
.card-header {
display: flex;
flex-direction: row;
justify-content: space-between;
height: 88rpx;
line-height: 88rpx;
border-bottom: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
.left-text {
font-size: 30rpx;
color: #000000;
letter-spacing: 0;
font-weight: 600;
}
.left-text {
font-size: 30rpx;
color: #000000;
letter-spacing: 0;
font-weight: 600;
}
.right-text {
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
text-align: right;
font-weight: 400;
}
}
}
.right-text {
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
text-align: right;
font-weight: 400;
}
}
}
.card-content {
.info {
width: 750rpx;
display: flex;
flex-direction: row;
padding: 20rpx 32rpx;
.card-content {
.info {
width: 750rpx;
display: flex;
flex-direction: row;
padding: 20rpx 32rpx;
.image {
width: 140rpx;
height: 140rpx;
flex: 0 0 140rpx;
margin-right: 20rpx;
}
.image {
width: 140rpx;
height: 140rpx;
flex: 0 0 140rpx;
margin-right: 20rpx;
}
.content {
.title {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
.content {
.title {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
.text {
font-size: 32rpx;
color: #000000;
font-weight: 600;
}
.text {
font-size: 32rpx;
color: #000000;
font-weight: 600;
}
.icon {
width: 100rpx;
height: 32rpx;
flex-grow: 0;
flex-shrink: 0;
margin-left: 8rpx;
}
}
.icon {
width: 100rpx;
height: 32rpx;
flex-grow: 0;
flex-shrink: 0;
margin-left: 8rpx;
}
}
.desc {
margin-top: 14rpx;
font-size: 26rpx;
color: #333333;
line-height: 1.6;
}
}
}
}
.desc {
margin-top: 14rpx;
font-size: 26rpx;
color: #333333;
line-height: 1.6;
}
}
}
}
.company-box {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
text-align: center;
padding: 34rpx 0rpx;
.company-box {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
text-align: center;
padding: 34rpx 0rpx;
.title {
font-size: 24rpx;
color: #888888;
letter-spacing: 0;
text-align: center;
font-weight: 400;
}
.title {
font-size: 24rpx;
color: #888888;
letter-spacing: 0;
text-align: center;
font-weight: 400;
}
.value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
text-align: center;
padding-top: 16rpx;
font-weight: 500;
}
}
.value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
text-align: center;
padding-top: 16rpx;
font-weight: 500;
}
}
.site {
display: flex;
flex-direction: row;
align-items: center;
height: 80rpx;
line-height: 80rpx;
background: #ffffff;
border-top: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
.site {
display: flex;
flex-direction: row;
align-items: center;
height: 80rpx;
line-height: 80rpx;
background: #ffffff;
border-top: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
.icon {
width: 32rpx;
height: 32rpx;
flex-grow: 0;
flex-shrink: 0;
margin-right: 10rpx;
}
.icon {
width: 32rpx;
height: 32rpx;
flex-grow: 0;
flex-shrink: 0;
margin-right: 10rpx;
}
.text {
font-size: 26rpx;
color: #333333;
letter-spacing: 0;
text-align: left;
line-height: 32rpx;
font-weight: 400;
}
}
.see-more {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 80rpx;
line-height: 80rpx;
background: #ffffff;
border-top: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
text-align: center;
font-weight: 400;
.icon {
width: 24rpx;
height: 24rpx;
}
}
.gs-info {
padding: 20rpx 32rpx;
.row {
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 16rpx;
}
}
.cf-info {
padding: 20rpx 32rpx;
.text {
font-size: 26rpx;
color: #333333;
letter-spacing: 0;
text-align: left;
line-height: 32rpx;
font-weight: 400;
}
}
.see-more {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
height: 80rpx;
line-height: 80rpx;
background: #ffffff;
border-top: 2rpx solid #dddddd;
padding: 0rpx 32rpx;
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
text-align: center;
font-weight: 400;
.icon {
width: 24rpx;
height: 24rpx;
}
}
.gs-info {
padding: 20rpx 32rpx;
.row {
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 16rpx;
}
}
.cf-info {
padding: 20rpx 32rpx;
.row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.title {
flex: 0 0 150rpx;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-right: 8rpx;
}
.value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 400;
}
.left {
display: flex;
flex-direction: row;
width: 60%;
}
.right {
display: flex;
flex-direction: row;
width: 40%;
}
}
.row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.title {
flex: 0 0 150rpx;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-right: 8rpx;
}
.value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 400;
}
.left {
display: flex;
flex-direction: row;
width: 60%;
}
.right {
display: flex;
flex-direction: row;
width: 40%;
}
}
.fl-info {
padding-bottom: 20rpx;
padding-left: 32rpx;
padding-right: 32rpx;
.row {
background: #f7f8fa;
border-radius: 8px;
padding: 24rpx;
.title {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 500;
margin-bottom: 20rpx;
.left {
display: flex;
flex-direction: row;
align-items: center;
}
.dot {
width: 10rpx;
height: 10rpx;
border-radius: 50%;
background: #adbac9;
margin-right: 8rpx;
}
.valid {
font-size: 28rpx;
color: #36cfc9;
letter-spacing: 0;
font-weight: 500;
}
}
.other {
display: flex;
flex-direction: row;
align-items: center;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-bottom: 16rpx;
.left-text {
width: 140rpx;
margin-right: 8rpx;
}
}
}
}
.info-title {
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-right: 8rpx;
width: 140rpx;
}
.info-value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 400;
}
.look-over {
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
font-weight: 400;
}
.no-data {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 160rpx;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
}
.fl-info {
padding-bottom: 20rpx;
padding-left: 32rpx;
padding-right: 32rpx;
.row {
background: #f7f8fa;
border-radius: 8px;
padding: 24rpx;
.title {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 500;
margin-bottom: 20rpx;
.left {
display: flex;
flex-direction: row;
align-items: center;
}
.dot {
width: 10rpx;
height: 10rpx;
border-radius: 50%;
background: #adbac9;
margin-right: 8rpx;
}
.valid {
font-size: 28rpx;
color: #36cfc9;
letter-spacing: 0;
font-weight: 500;
}
}
.other {
display: flex;
flex-direction: row;
align-items: center;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-bottom: 16rpx;
.left-text {
width: 140rpx;
margin-right: 8rpx;
}
}
}
}
.info-title {
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
margin-right: 8rpx;
width: 140rpx;
}
.info-value {
font-size: 28rpx;
color: #333333;
letter-spacing: 0;
font-weight: 400;
}
.look-over {
font-size: 28rpx;
color: #007aff;
letter-spacing: 0;
font-weight: 400;
}
.no-data {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 160rpx;
font-size: 28rpx;
color: #888888;
letter-spacing: 0;
font-weight: 400;
}
} }
</style> </style>

6
pages/client-list/index.vue

@ -15,7 +15,7 @@
></uni-data-picker> ></uni-data-picker>
</view> --> </view> -->
<view> <view>
<uni-data-picker
<qn-data-picker
v-model="params.cooperationState" v-model="params.cooperationState"
:border="false" :border="false"
class="qn-picker" class="qn-picker"
@ -25,7 +25,7 @@
@change="onStatusChange" @change="onStatusChange"
:clear-icon="false" :clear-icon="false"
:localdata="cooperationStateList" :localdata="cooperationStateList"
></uni-data-picker>
></qn-data-picker>
</view> </view>
</qn-header> </qn-header>
<view class="content"> <view class="content">
@ -90,7 +90,7 @@ export default {
onStatusChange(e) { onStatusChange(e) {
this.pagination.pageNum = 1 this.pagination.pageNum = 1
this.$refs.list.refresh() this.$refs.list.refresh()
this.getList()
// this.getList()
// const value = e.detail.value // const value = e.detail.value
}, },
getList() { getList() {

114
pages/order-detail/index.vue

@ -35,7 +35,7 @@
<view <view
v-else-if="steps[index].length > 0 && steps[index][steps[index].length - 2].desc == '未完成'" v-else-if="steps[index].length > 0 && steps[index][steps[index].length - 2].desc == '未完成'"
class="button-item" class="button-item"
@click="operatePaper(index, 'outbound', 1000)"
@click="showModal(order, index)"
> >
出库 出库
</view> </view>
@ -145,6 +145,31 @@
</view> </view>
</view> </view>
</qn-footer> </qn-footer>
<uni-popup ref="popup" type="bottom">
<view class="popup_modal">
<slot name="title">
<view class="popup_modal-title">请输入出库数量</view>
</slot>
<view style="width: 750rpx; padding: 20rpx 32rpx">
<qn-easyinput
:maxlength="8"
:styles="{ disableColor: '#fff' }"
v-model="outInfo.quantity"
text="left"
type="number"
:placeholder="`出库上线${outInfo.max}`"
></qn-easyinput>
</view>
<view class="flex-row-center-space" style="margin-top: 40rpx; width: 750rpx; padding: 0 32rpx">
<view class="button button__submit" @click="makeOut">
<text class="text" style="color: white">确认</text>
</view>
<view class="button button__cancel" @click="closeModal">
<text class="text">取消</text>
</view>
</view>
</view>
</uni-popup>
</view> </view>
</template> </template>
@ -173,7 +198,12 @@ export default {
supplierOrderStatusEnum: Object.freeze(supplierOrderStatusEnum), supplierOrderStatusEnum: Object.freeze(supplierOrderStatusEnum),
paymentMethodEnum: Object.freeze(paymentMethodEnum), paymentMethodEnum: Object.freeze(paymentMethodEnum),
showList: ['send', 'receive'], showList: ['send', 'receive'],
steps: []
steps: [],
outInfo: {
quantity: 0,
max: 0,
index: 0
}
} }
}, },
onLoad(option) { onLoad(option) {
@ -194,6 +224,33 @@ export default {
methods: { methods: {
go2, go2,
back, back,
showModal(order, index) {
//
let quantity = 0
order.outboundProcessList.forEach((item) => {
if (item.status == '30302') {
quantity += item.quantity
}
})
this.outInfo.max = order.pieceQuantity - quantity
this.outInfo.index = index
this.$refs.popup.open('bottom')
},
closeModal() {
this.$refs.popup.close()
},
makeOut() {
//
if (this.outInfo.quantity > this.outInfo.max) {
uni.showToast({
title: '出库数量不能大于上限',
icon: 'none'
})
return
}
this.operatePaper(this.outInfo.index, 'outbound', this.outInfo.quantity)
this.closeModal()
},
transformAddress(address) { transformAddress(address) {
let res = '' let res = ''
if (address.provinceName) { if (address.provinceName) {
@ -634,4 +691,57 @@ export default {
z-index: 5; z-index: 5;
} }
} }
.popup_modal {
width: 750rpx;
height: 600rpx;
background-color: #fff;
border-radius: 10px 10px 0 0;
.popup_modal-title {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
width: 750rpx;
height: 88rpx;
font-weight: 600;
border-bottom: 2rpx solid #d8d8d8;
}
.popup_modal-scroll {
width: 750rpx;
height: 600rpx;
.popup_modal-scroll-item {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
width: 750rpx;
height: 88rpx;
padding: 0rpx 32rpx;
border-bottom: 2rpx solid #d8d8d8;
}
}
}
.button {
flex-grow: 0;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10rpx;
.text {
font-size: 30rpx;
font-weight: 500;
text-align: center;
}
}
.button__cancel {
width: 270rpx;
height: 88rpx;
border: 2rpx solid #979797;
}
.button__submit {
width: 400rpx;
height: 88rpx;
background: #007aff;
}
</style> </style>

6
pages/search/index.vue

@ -19,7 +19,7 @@
</view> </view>
</qn-header> </qn-header>
<view class="content"> <view class="content">
<view class="history-area" v-show="!packingList || packingList.length == 0">
<view class="history-area" v-show="(!packingList || packingList.length == 0) && enterpriseName == ''">
<view class="operation" v-show="historyList.length > 0"> <view class="operation" v-show="historyList.length > 0">
<text class="title">搜索历史</text> <text class="title">搜索历史</text>
<uni-icons type="trash" size="16" @click="clearHistory"></uni-icons> <uni-icons type="trash" size="16" @click="clearHistory"></uni-icons>
@ -30,6 +30,10 @@
</view> </view>
</view> </view>
</view> </view>
<view class="flex-col-center-start" v-show="packingList.length == 0 && enterpriseName != ''">
<image style="width: 500rpx; height: 280rpx; margin-top: 240rpx" src="/static/imgs/client/search-empty.png"></image>
<text style="font-size: 30rpx; color: #333333; margin-top: 50rpx">搜索无内容换个关键词在试一次吧</text>
</view>
<view class="packing-area" v-show="packingList.length > 0"> <view class="packing-area" v-show="packingList.length > 0">
<scroll-view scroll-y="true" class="scroll-area"> <scroll-view scroll-y="true" class="scroll-area">
<view class="search-item" v-for="item in packingList" :key="item.enterpriseId"> <view class="search-item" v-for="item in packingList" :key="item.enterpriseId">

BIN
static/imgs/client/search-empty.png

Before After
Width: 500  |  Height: 280  |  Size: 55 KiB
Loading…
Cancel
Save