jg-waiwang-pro
胡川虎 4 months ago
parent 559d6566b8
commit 1a3821ba88

@ -0,0 +1,248 @@
<template>
<view class="upload-v">
<view class="jnpf-upload">
<template v-if="fileList.length">
<view class="u-list-item u-preview-wrap" v-for="(item, index) in fileList" :key="index">
<view v-if="!disabled" class="u-delete-icon" @tap.stop="deleteItem(index)">
<u-icon class="u-icon" name="close" size="20" color="#ffffff"></u-icon>
</view>
<image class="u-preview-image" :src="baseURL+item.url" mode="aspectFill"
@tap.stop="doPreviewImage(baseURL+item.url)"></image>
</view>
</template>
<u-upload width="150" height="150" :action="comUploadUrl+'annexpic'" :header="uploadHeaders"
:form-data="params" @on-list-change="onListChange" :max-size="maxSize" :max-count="realLimit"
:show-upload-list="false" :show-progress="false" :deletable="deletable" @on-success="onSuccess"
@on-error="handleError" ref="uUpload" :file-list="lists" :disabled='disabled'>
</u-upload>
</view>
<view class="tipText u-p-l-20">
{{tipText}}
</view>
</view>
</template>
<script>
const units = {
KB: 1024,
MB: 1024 * 1024,
GB: 1024 * 1024 * 1024
}
export default {
name: 'jnpf-upload-pound',
model: {
prop: 'value',
event: 'input'
},
props: {
value: {
type: [Array, String],
default: () => []
},
tipText: {
type: String,
default: ''
},
limit: {
type: Number,
default: 99
},
sizeUnit: {
type: String,
default: 'MB'
},
pathType: {
type: String,
default: 'defaultPath'
},
isAccount: {
type: Number,
default: 0
},
folder: {
type: String,
default: ''
},
fileSize: {
type: Number,
default: 10
},
disabled: {
type: Boolean,
default: false
}
},
data() {
return {
fileList: [],
realLimit: 0,
deletable: true,
uploadHeaders: {
Authorization: this.$store.getters.token
},
params: {
pathType: this.pathType,
isAccount: this.isAccount,
folder: this.folder
},
lists: [],
maxSize: ''
}
},
watch: {
limit(val) {
this.realLimit = val
},
value: {
immediate: true,
handler(val) {
this.fileList = Array.isArray(val) ? JSON.parse(JSON.stringify(val)) : []
}
}
},
created() {
this.uploadHeaders.Authorization = uni.getStorageSync('token')
this.maxSize = this.fileSize ? this.fileSize * units[this.sizeUnit] : 10000000000000
this.$nextTick(function() {
this.lists = this.fileList
})
this.realLimit = this.limit
if (this.disabled) this.deletable = false
},
computed: {
baseURL() {
return this.define.baseURL
},
comUploadUrl() {
return this.define.comUploadUrlPound
},
},
methods: {
onSuccess(data, index, lists, name) {
if (data.code == 200) {
this.fileList.push({
name: lists[index].file.name,
fileId: data.data.name,
url: data.data.url
})
this.$emit('input', this.fileList)
this.$emit('change', this.fileList)
} else {
lists.splice(index, 1)
this.$u.toast(data.msg)
}
},
handleError(res, index, lists, name) {
lists.splice(index, 1)
},
deleteItem(index) {
uni.showModal({
title: '提示',
content: '您确定要删除此项吗?',
success: res => {
if (res.confirm) {
this.$refs.uUpload.remove(index);
this.fileList.splice(index, 1)
this.$emit('input', this.fileList)
this.$emit('change', this.fileList)
uni.showToast({
title: '移除成功',
icon: 'none'
});
}
}
});
},
onListChange(lists) {
this.lists = lists;
},
doPreviewImage(url) {
const images = this.fileList.map(item => this.baseURL + item.url);
uni.previewImage({
urls: images,
current: url,
success: () => {},
fail: () => {
uni.showToast({
title: '预览图片失败',
icon: 'none'
});
}
});
}
}
}
</script>
<style lang="scss" scoped>
.upload-v {
width: 100%;
.tipText {
color: #606266;
word-break: break-all;
line-height: 48rpx;
text-align: right;
}
.jnpf-upload {
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
/deep/.u-upload {
.u-list-item {
margin: 0 !important;
}
}
.u-preview-wrap {
width: 150rpx;
height: 150rpx;
border: 1px solid #ebecee;
overflow: hidden;
margin: 10rpx;
background: rgb(244, 245, 246);
position: relative;
border-radius: 10rpx;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
align-items: center;
justify-content: center;
.u-preview-image {
display: block;
width: 100%;
height: 100%;
border-radius: 10rpx;
}
.u-delete-icon {
position: absolute;
top: 10rpx;
right: 10rpx;
z-index: 10;
background-color: $u-type-error;
border-radius: 100rpx;
width: 44rpx;
height: 44rpx;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
align-items: center;
justify-content: center;
}
.u-icon {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
align-items: center;
justify-content: center;
}
}
}
}
</style>

@ -1,5 +1,5 @@
{
"name" : "管家平台",
"name" : "管家平台2期",
"appid" : "__UNI__FA01CC1",
"description" : "专注信息化平台、软件开发、app开发",
"versionName" : "3.4.76",

@ -1,207 +1,237 @@
<template>
<view class="u-page u-page-home">
<view class="sty-statistics-top-b">
<u-row gutter="16">
<u-col span="12" text-align="center">
<view class="sty-statistics-top-item">
<view><span>济钢城市矿产再生资源智慧管家平台</span></view>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
<u-col span="12" text-align="center" class="line-right">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.avgPurchasePrice}}</span></view>
<view><span class="fsizeA">磅单采购数</span></view>
</view>
</u-col>
<view class="sty-statistics-top-b">
<u-row gutter="16">
<u-col span="12" text-align="center">
<view class="sty-statistics-top-item">
<view><span>济钢城市矿产再生资源智慧管家平台</span></view>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
<u-col span="12" text-align="center" class="line-right">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.avgPurchasePrice}}</span></view>
<view><span class="fsizeA">磅单采购数</span></view>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
<u-col span="12" text-align="center" class="line-right">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.todayPurchasePrice}}</span></view>
<view><span class="fsizeA">今日采购量</span></view>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
<u-col span="12" text-align="center">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.salesVolumeToday}}</span></view>
<view><span class="fsizeA">今日销售量</span></view>
</view>
</u-col>
</u-row>
</view>
<!-- <view class="sty-msg">
<u-notice-bar :duration="5000" mode="horizontal" :is-circular="false" @click="goMsg" :list="list">
</u-notice-bar>
</view> -->
<view class="sty-statistics">
<u-row gutter="22" justify="space-between">
<u-col span="12" gutter="0">
<u-row gutter="22" justify="space-between">
<u-col span="6">
<view class="sty-item sty-item-b">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="car" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
今日付款:{{homeInfo.todayPay}}
</view>
</u-col>
</u-row>
</view>
</u-col>
<u-col span="6">
<view class="sty-item sty-item-d">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="home" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
今日回款:{{homeInfo.todayPayment}}
</view>
</u-col>
</u-row>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
<u-col span="12" text-align="center" class="line-right">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.todayPurchasePrice}}</span></view>
<view><span class="fsizeA">今日采购量</span></view>
</view>
</u-col>
</u-row>
</view>
<view class="sty-statistics-top">
<u-row gutter="16">
</u-row>
</u-col>
</u-row>
<u-row gutter="22" justify="space-between">
<u-col span="12" gutter="0">
<u-row gutter="22" justify="space-between">
<u-col span="6">
<view class="sty-item sty-item-a">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="red-packet" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
待支付:{{homeInfo.unpaid}}
</view>
</u-col>
</u-row>
</view>
</u-col>
<u-col span="6">
<view class="sty-item sty-item-c">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="rmb" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
待回款:{{homeInfo.moneyCollected}}
</view>
</u-col>
</u-row>
</view>
</u-col>
<u-col span="12" text-align="center">
<view class="sty-statistics-top-item">
<view><span class="fsizeA">{{homeInfo.salesVolumeToday}}</span></view>
<view><span class="fsizeA">今日销售量</span></view>
</view>
</u-col>
</u-row>
</view>
</u-row>
</u-col>
</u-row>
</view>
<!-- <view class="sty-msg">
<u-notice-bar :duration="5000" mode="horizontal" :is-circular="false" @click="goMsg" :list="list">
</u-notice-bar>
</view> -->
<view class="sty-statistics">
<u-row gutter="22" justify="space-between">
<u-col span="12" gutter="0">
<u-row gutter="22" justify="space-between">
<u-col span="6">
<view class="sty-item sty-item-b">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="car" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
今日付款:{{homeInfo.todayPay}}
</view>
</u-col>
</u-row>
<view class="menhu-v">
<!-- #ifndef MP -->
<template>
<template v-if="userInfo.appPortalId">
<mescroll-body ref="mescrollRef" @down="downCallback" :down="downOption" @up="upCallback"
:up="upOption" :bottombar="false" style="min-height: 100%" @init="mescrollInit">
<!-- 常规门户 -->
<view class="portal-v" v-if="authConfig.type==0">
<template v-if="formData.length">
<view class="portal-box" v-for="(item,index) in formData" :key="index">
<portalItem :item='item' ref="portalItem" :key="key" :protalData="formData"
v-if="item.show" />
</view>
</u-col>
<u-col span="6">
<view class="sty-item sty-item-d">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="home" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
今日回款:{{homeInfo.todayPayment}}
</view>
</u-col>
</u-row>
</view>
</u-col>
</template>
<!-- <u-row>
<u-col span="6">
<view class="sty-item sty-item-c">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="rmb" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
采购收货凭证
</view>
</u-col>
</u-row>
</view>
</u-col>
</u-row>
</u-col>
</u-row>
<u-row gutter="22" justify="space-between">
<u-col span="12" gutter="0">
<u-row gutter="22" justify="space-between">
</u-row> -->
<u-col span="6">
<view class="sty-item sty-item-a">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="red-packet" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
待支付:{{homeInfo.unpaid}}
</view>
</u-col>
</u-row>
</view>
</u-col>
<u-col span="6">
<view class="sty-item sty-item-c">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="rmb" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
待回款:{{homeInfo.moneyCollected}}
</view>
</u-col>
</u-row>
</view>
</u-col>
</u-row>
</u-col>
</u-row>
</view>
</view>
</mescroll-body>
</template>
<template>
<view class="menhu-v">
<!-- #ifndef MP -->
<template>
<template v-if="userInfo.appPortalId">
<mescroll-body ref="mescrollRef" @down="downCallback" :down="downOption" @up="upCallback"
:up="upOption" :bottombar="false" style="min-height: 100%" @init="mescrollInit">
<!-- 常规门户 -->
<view class="portal-v" v-if="authConfig.type==0">
<template v-if="formData.length">
<view class="portal-box" v-for="(item,index) in formData" :key="index">
<portalItem :item='item' ref="portalItem" :key="key" :protalData="formData"
v-if="item.show" />
</view>
</template>
</u-row>
<u-col span="6">
<view class="sty-item sty-item-c">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="rmb" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
采购收货凭证
</view>
</u-col>
</u-row>
</view>
</u-col>
</u-row>
</view>
</mescroll-body>
</template>
</template>
<!-- #endif -->
</view>
</template>
<!-- #endif -->
</view>
<view class="sty-statistics" @click="openPage('/pages/scm/form/purchaseReceiptVoucher/index')">
<u-row gutter="22" justify="space-between">
<u-col span="12" gutter="0">
<u-row gutter="22" justify="space-between">
<u-col span="6">
<view class="sty-item sty-item-b">
<u-row>
<u-col span="12" text-align="center">
<view>
<u-icon name="car" color="#ffffff" size="80"></u-icon>
</view>
</u-col>
</u-row>
<u-row>
<u-col span="12" text-align="center">
<view>
采购收货凭证
</view>
</u-col>
</u-row>
</view>
</u-col>
<u-col span="6">
</u-col>
</u-row>
</u-col>
</u-row>
</view>
</view>
</template>
@ -309,6 +339,12 @@
// #endif
},
methods: {
openPage(path) {
if (!path) return;
uni.navigateTo({
url: path,
});
},
getHomeInfo() {
request({
url: '/api/scm/BusinessEnterpriseRelational/getHomePage',

File diff suppressed because it is too large Load Diff

@ -2,26 +2,28 @@
/*JAVA app.java.jnpfsoft.com NET dotnet.jnpfsoft.com*/
// #ifndef MP
const baseURL = process.env.NODE_ENV === "production" ?
"http://221.214.32.166:40000" : "http://221.214.32.166:40000" // 接口前缀
"http://127.0.0.1:50000" : "http://127.0.0.1:50000" // 接口前缀
const define = {
copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有",
sysVersion: "V3.5",
baseURL: baseURL,
webSocketUrl: process.env.NODE_ENV === "production" ? "wss://221.214.32.166:40000/websocket" :
"ws://221.214.32.166:40000/api/message/websocket",
webSocketUrl: process.env.NODE_ENV === "production" ? "wss://127.0.0.1:50000/websocket" :
"ws://127.0.0.1:50000/api/message/websocket",
comUploadUrl: baseURL + '/api/file/Uploader/',
comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/',
timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000,
report: process.env.NODE_ENV === 'development' ? 'http://221.214.32.166:8200' : baseURL + '/Report'
}
// #endif
// #ifdef MP
const baseURL = "http://221.214.32.166:40000" // "https://app.java.jnpfsoft.com"
const baseURL = "http://127.0.0.1:50000" // "https://app.java.jnpfsoft.com"
const define = {
copyright: "Copyright @ 2024 上海长江云息数字科技有限公司版权所有",
sysVersion: "V3.5",
baseURL: baseURL,
webSocketUrl: "ws://221.214.32.166:40000/api/message/websocket", //"wss://app.java.jnpfsoft.com/api/message/websocket"
comUploadUrlPound: baseURL + '/api/scm/Voucher/Uploader/',
webSocketUrl: "ws://127.0.0.1:50000/api/message/websocket", //"wss://app.java.jnpfsoft.com/api/message/websocket"
comUploadUrl: baseURL + '/api/file/Uploader/',
timeout: process.env.NODE_ENV === 'production' ? 1000000 : 1000000,
report: baseURL + '/Report'

Loading…
Cancel
Save