zhang_li
6 months ago
811 changed files with 58887 additions and 113650 deletions
@ -1,4 +1,10 @@ |
|||
#VITE_BASE_URL=http://dev.ccwin-in.com:25300/api/admin-api |
|||
#VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25300/api/admin-api |
|||
|
|||
VITE_BASE_URL=http://localhost:12080/admin-api |
|||
#VITE_BASE_URL=http://dev.ccwin-in.com:25203/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://localhost:12080/admin-api |
|||
VITE_BASE_URL=http://localhost:12080/admin-api
VITE_BASE_URL_IMAGE=http://localhost:12080/admin-api
# 租户配置
VITE_TENANT='[{"text":"长春","value":1},{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=true |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25310' |
@ -0,0 +1,11 @@ |
|||
VITE_BASE_URL=http://172.21.32.13:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://172.21.32.13:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"长春","value":1}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://172.21.32.13:90' |
@ -0,0 +1,11 @@ |
|||
VITE_BASE_URL=http://172.21.32.14:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://172.21.32.14:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"长春","value":1}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://172.21.32.14:90' |
@ -0,0 +1,11 @@ |
|||
VITE_BASE_URL=https://scp.faway-hella.com:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=https://scp.faway-hella.com:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"长春","value":1}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='https://scp.faway-hella.com' |
@ -0,0 +1,11 @@ |
|||
VITE_BASE_URL=https://scptest.faway-hella.com:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=https://scptest.faway-hella.com:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"长春","value":1},{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='https://scptest.faway-hella.com' |
@ -0,0 +1,12 @@ |
|||
VITE_BASE_URL=http://172.22.32.8:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://172.22.32.8:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://172.22.32.8:90' |
@ -0,0 +1,11 @@ |
|||
VITE_BASE_URL=http://172.22.32.9:81/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://172.22.32.9:81/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://172.22.32.9:90' |
@ -1,4 +1,7 @@ |
|||
# VITE_BASE_URL=http://dev.ccwin-in.com:23111/app |
|||
# VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:23111 |
|||
VITE_BASE_URL=https://tmsapp.hongxianggroup.com.cn |
|||
VITE_BASE_URL_IMAGE=https://tmsapp.hongxianggroup.com.cn |
|||
VITE_BASE_URL=http://172.21.32.14:81/api/admin-api
VITE_BASE_URL_IMAGE=http://172.21.32.14:81/admin-api
# 租户配置
VITE_TENANT='[{"text":"长春","value":1},{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://172.21.32.14:90' |
|||
|
@ -1,2 +1,12 @@ |
|||
VITE_BASE_URL=http://dev.ccwin-in.com:25203/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25203/api/admin-api |
|||
|
|||
VITE_BASE_URL=http://dev.ccwin-in.com:25300/api/admin-api |
|||
VITE_BASE_URL_IMAGE=http://dev.ccwin-in.com:25300/admin-api |
|||
|
|||
# 租户配置 |
|||
VITE_TENANT='[{"text":"长春","value":1},{"text":"成都","value":2}]' |
|||
|
|||
# 是否是测试环境 |
|||
VITE_isDevelopment=false |
|||
|
|||
# 积木报表请求路径 |
|||
VITE_JMREPORT_BASE_URL='http://dev.ccwin-in.com:25310' |
|||
|
@ -1,37 +1,26 @@ |
|||
<template> |
|||
<view class="business_view"> |
|||
<view class="card_view"> |
|||
<text class="card_business">{{ businessTypeDesc(bussinessType) }}</text> |
|||
<text class="card_business_content">{{ number }}</text> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getBusinessTypeDesc |
|||
} from '@/common/directory.js'; |
|||
export default { |
|||
data() { |
|||
return {} |
|||
}, |
|||
props: { |
|||
<script setup lang="ts"> |
|||
import { getBusinessTypeDesc } from '@/common/directory.js' |
|||
|
|||
const props = defineProps({ |
|||
bussinessType: { |
|||
type: String, |
|||
default: "" |
|||
default: '' |
|||
}, |
|||
number: { |
|||
type: String, |
|||
default: "" |
|||
default: '' |
|||
} |
|||
}, |
|||
methods:{ |
|||
businessTypeDesc(type){ |
|||
}) |
|||
const businessTypeDesc = (type) => { |
|||
return getBusinessTypeDesc(type) |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
@ -1,34 +1,21 @@ |
|||
<template> |
|||
<view class="card_view"> |
|||
<text class="card_packing_code card_content ">包装</text> |
|||
<text class="card_packing_code card_content">{{ title }}</text> |
|||
<text class="card_content">{{ packingCode }}</text> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
components: { |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
props: { |
|||
<script setup lang="ts"> |
|||
const props = defineProps({ |
|||
packingCode: { |
|||
type: String, |
|||
default: '' |
|||
}, |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
title: { |
|||
type: String, |
|||
default: '包装' |
|||
} |
|||
}) |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
@ -1,68 +1,57 @@ |
|||
<template> |
|||
<view class="uni-flex u-col-center" style="padding-top: 15rpx; |
|||
padding-bottom: 15rpx; |
|||
padding-left: 10rpx; |
|||
padding-right: 10rpx; |
|||
font-size:32rpx;"> |
|||
<text style="font-size: 35rpx;">{{title}} </text> |
|||
<view class="uni-flex u-col-center" style="padding-top: 15rpx; padding-bottom: 15rpx; padding-left: 10rpx; padding-right: 10rpx; font-size: 32rpx"> |
|||
<text style="font-size: 35rpx">{{ title }} </text> |
|||
<view class="uni-flex u-col-center" @click="showLocation"> |
|||
<text style="color:#3FBAFF;font-size: 35rpx;" v-if="containerCode==''&&isShowEdit==true">  请扫描</text> |
|||
<text style="color:#3FBAFF; font-size: 35rpx;">  {{containerCode}}</text> |
|||
<image v-if="isShowEdit" style="width: 45rpx;height: 45rpx;" src="/static/icons/icons_edit.svg"></image> |
|||
<text style="color: #3fbaff; font-size: 35rpx" v-if="containerCode == '' && isShowEdit == true">  请扫描</text> |
|||
<text style="color: #3fbaff; font-size: 35rpx">  {{ containerCode }}</text> |
|||
<image v-if="isShowEdit" style="width: 45rpx; height: 45rpx" src="/static/icons/icons_edit.svg"></image> |
|||
</view> |
|||
<winScanContainer ref="scanContainer" :title="title" @getContainer='getContainer'></winScanContainer> |
|||
<winScanContainer ref="scanContainer" :title="title" @getContainer="getContainer"></winScanContainer> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import winScanContainer from "@/mycomponents/scan/winScanContainer.vue" |
|||
<script setup lang="ts"> |
|||
import { ref, getCurrentInstance, onMounted, nextTick, watch } from 'vue' |
|||
import winScanContainer from '@/mycomponents/scan/winScanContainer.vue' |
|||
|
|||
export default { |
|||
components: { |
|||
winScanContainer |
|||
}, |
|||
data() { |
|||
return { |
|||
defaultContainerCode: "" |
|||
} |
|||
}, |
|||
props: { |
|||
const defaultContainerCode = ref('') |
|||
const props = defineProps({ |
|||
title: { |
|||
type: String, |
|||
default: "需求库位" |
|||
default: '需求库位' |
|||
}, |
|||
containerCode: { |
|||
type: String, |
|||
default: "" |
|||
default: '' |
|||
}, |
|||
isShowEdit: { |
|||
type: Boolean, |
|||
default: true |
|||
}, |
|||
}, |
|||
|
|||
watch: { |
|||
containerCode: { |
|||
handler(newName, oldName) { |
|||
if (this.containerCode != "") { |
|||
this.defaultContainerCode = this.containerCode; |
|||
} |
|||
}) |
|||
watch( |
|||
() => props.containerCode, |
|||
(val) => { |
|||
if (val != '') { |
|||
defaultContainerCode.value = val |
|||
} |
|||
}, |
|||
{ |
|||
immediate: true, |
|||
deep: true |
|||
} |
|||
}, |
|||
methods: { |
|||
showLocation() { |
|||
this.$refs.scanContainer.openScanPopup(); |
|||
}, |
|||
//扫描源库位 |
|||
getContainer(containerInfo) { |
|||
this.$emit("getContainer", containerInfo) |
|||
} |
|||
) |
|||
|
|||
const showLocation = () => { |
|||
scanContainer.value.openScanPopup() |
|||
} |
|||
// 扫描源库位 |
|||
const getContainer = (containerInfo) => { |
|||
emit('getContainer', containerInfo) |
|||
} |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['getContainer']) |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
@ -1,65 +1,48 @@ |
|||
<template> |
|||
<view class="pop_detail" style="height: 80%"> |
|||
<view class="u-p-t-20 u-p-b-20"> |
|||
<com-item :dataContent="dataContent"></com-item> |
|||
<view class='split_line'></view> |
|||
<scroll-view style="height:320px "> |
|||
</view> |
|||
<view class="split_line"></view> |
|||
<scroll-view style="height: 320px" scroll-y> |
|||
<detail-item-info :dataContent="dataContent"></detail-item-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<detail-recommend-info :dataContent="dataContent"></detail-recommend-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<view v-if="dataContent.record != undefined"> |
|||
<detail-handle-info :dataContent="dataContent"> |
|||
</detail-handle-info> |
|||
<view class='split_line'></view> |
|||
<detail-handle-info :dataContent="dataContent"> </detail-handle-info> |
|||
<view class="split_line"></view> |
|||
</view> |
|||
<slot> |
|||
<!-- 每个任务的详情 --> |
|||
</slot> |
|||
</scroll-view> |
|||
|
|||
<view class="uni-flex u-row-center "> |
|||
<view class="close_button" @click="closePopup"> |
|||
关闭</view> |
|||
<view class="uni-flex u-row-center u-p-t-20 u-p-b-20"> |
|||
<view class="close_button" @click="closePopup"> 关闭</view> |
|||
<!-- button 滚动不好使 --> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import comItem from '@/mycomponents/item/item.vue' |
|||
import detailItemInfo from '@/mycomponents/detail/detailItemInfo.vue' |
|||
import detailRecommendInfo from '@/mycomponents/detail/detailRecommendInfo.vue' |
|||
import detailHandleInfo from '@/mycomponents/detail/detailHandleInfo.vue' |
|||
|
|||
export default { |
|||
emits: ['onClose'], |
|||
components: { |
|||
comItem, |
|||
detailItemInfo, |
|||
detailRecommendInfo, |
|||
detailHandleInfo |
|||
}, |
|||
data() { |
|||
return {} |
|||
}, |
|||
|
|||
mounted() {}, |
|||
props: { |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
closePopup() { |
|||
this.$emit('onClose') |
|||
}, |
|||
} |
|||
}) |
|||
const closePopup = () => { |
|||
emit('onClose') |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['onClose']) |
|||
</script> |
|||
|
|||
</style> |
|||
<style></style> |
|||
|
@ -1,60 +1,42 @@ |
|||
<template> |
|||
<view class="pop_detail" style="height: 80%"> |
|||
<view class='split_line'></view> |
|||
<scroll-view style="height:320px "> |
|||
<scroll-view style="height:320px "> |
|||
<view class="split_line"></view> |
|||
<scroll-view style="height: 320px" scroll-y> |
|||
<!-- 物品 --> |
|||
<detail-item-info :dataContent="dataContent"></detail-item-info> |
|||
<!-- <request-detail-basic-info :dataContent="dataContent"></request-detail-basic-info> --> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<!-- 库存余额 --> |
|||
<detail-balance-info :dataContent="dataContent"></detail-balance-info> |
|||
<!-- 包装 --> |
|||
<!-- <detail-package-info :dataContent="dataContent"></detail-package-info> --> |
|||
</scroll-view> |
|||
</scroll-view> |
|||
|
|||
<view class="uni-flex u-row-center "> |
|||
<view class="close_button" @click="closePopup"> |
|||
关闭</view> |
|||
<view class="uni-flex u-row-center u-p-t-20 u-p-b-20"> |
|||
<view class="close_button" @click="closePopup"> 关闭</view> |
|||
<!-- button 滚动不好使 --> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import { ref } from 'vue' |
|||
import detailItemInfo from '@/mycomponents/detail/detailItemInfo.vue' |
|||
import detailPackageInfo from '@/mycomponents/detail/detailPackageInfo.vue' |
|||
import detailBalanceInfo from '@/mycomponents/detail/detailBalanceInfo.vue' |
|||
|
|||
export default { |
|||
emits: ['onClose'], |
|||
components: { |
|||
detailItemInfo, |
|||
detailPackageInfo, |
|||
detailBalanceInfo |
|||
}, |
|||
data() { |
|||
return {} |
|||
}, |
|||
|
|||
mounted() {}, |
|||
props: { |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
closePopup() { |
|||
this.$emit('onClose') |
|||
}, |
|||
} |
|||
}) |
|||
const closePopup = () => { |
|||
emit('onClose') |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['onClose']) |
|||
</script> |
|||
|
|||
</style> |
|||
<style></style> |
|||
|
@ -1,71 +1,52 @@ |
|||
<template> |
|||
<uni-popup ref="popup"> |
|||
<u-popup v-model="show" mode="bottom"> |
|||
<view class="pop_detail" style="height: 80%"> |
|||
<com-item :dataContent="dataContent"></com-item> |
|||
<view class='split_line'></view> |
|||
<scroll-view style="height:320px "> |
|||
<view class="split_line"></view> |
|||
<scroll-view style="height: 320px" scroll-y> |
|||
<!-- 物品 --> |
|||
<detail-item-info :dataContent="dataContent"></detail-item-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<!-- 库存余额 --> |
|||
<detail-balance-info :dataContent="dataContent"></detail-balance-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<!-- 包装 --> |
|||
<detail-package-info :dataContent="dataContent.package"></detail-package-info> |
|||
</scroll-view> |
|||
|
|||
<view class="uni-flex u-row-center "> |
|||
<view class="close_button" @click="closePopup"> |
|||
关闭</view> |
|||
<view class="uni-flex u-row-center u-p-t-20 u-p-b-20"> |
|||
<view class="close_button" @click="closePopup"> 关闭</view> |
|||
<!-- button 滚动不好使 --> |
|||
</view> |
|||
</view> |
|||
</uni-popup> |
|||
</u-popup> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import { ref } from 'vue' |
|||
import comItem from '@/mycomponents/item/item.vue' |
|||
import detailItemInfo from '@/mycomponents/detail/detailItemInfo.vue' |
|||
import detailPackageInfo from '@/mycomponents/detail/detailPackageInfo.vue' |
|||
import detailBalanceInfo from '@/mycomponents/detail/detailBalanceInfo.vue' |
|||
|
|||
export default { |
|||
emits: ['onClose'], |
|||
components: { |
|||
comItem, |
|||
detailItemInfo, |
|||
detailPackageInfo, |
|||
detailBalanceInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
} |
|||
}, |
|||
|
|||
mounted() {}, |
|||
props: { |
|||
|
|||
}, |
|||
|
|||
methods: { |
|||
openPopup(val) { |
|||
this.dataContent = val; |
|||
setTimeout(res => { |
|||
this.$refs.popup.open('bottom') |
|||
}) |
|||
const show = ref(false) |
|||
const dataContent = ref(props.dataContent) |
|||
const openPopup = (val) => { |
|||
dataContent.value = val |
|||
setTimeout((res) => { |
|||
show.value = true |
|||
}, 500) |
|||
}, |
|||
closePopup() { |
|||
this.$refs.popup.close() |
|||
}, |
|||
} |
|||
const closePopup = () => { |
|||
show.value = false |
|||
} |
|||
defineExpose({ openPopup, closePopup }) |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
|
|||
</style> |
|||
<style></style> |
|||
|
@ -1,62 +1,44 @@ |
|||
<template> |
|||
<view class="pop_detail" style="height: 80%"> |
|||
<job-top :dataContent="dataContent"></job-top> |
|||
<view class='split_line'></view> |
|||
<scroll-view style="height:400px "> |
|||
<view class="split_line"></view> |
|||
<scroll-view style="height: 400px" scroll-y> |
|||
<slot> |
|||
<!-- 每个任务的详情 --> |
|||
</slot> |
|||
<job-request-info :dataContent="dataContent"></job-request-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<job-person-info :dataContent="dataContent"></job-person-info> |
|||
<view class='split_line'></view> |
|||
<view class="split_line"></view> |
|||
<job-setting-info :dataContent="dataContent"></job-setting-info> |
|||
</scroll-view> |
|||
|
|||
<view class="uni-flex u-row-center "> |
|||
<view class="close_button" @click="closePopup"> |
|||
关闭</view> |
|||
<view class="uni-flex u-row-center u-p-t-20 u-p-b-20"> |
|||
<view class="close_button" @click="closePopup"> 关闭</view> |
|||
<!-- button 滚动不好使 --> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import jobTop from '@/mycomponents/job/jobTop.vue' |
|||
import jobBottom from '@/mycomponents/job/jobBottom.vue' |
|||
import jobRequestInfo from '@/mycomponents/job/jobRequestInfo.vue' |
|||
import jobPersonInfo from '@/mycomponents/job/jobPersonInfo.vue' |
|||
import jobSettingInfo from '@/mycomponents/job/jobSettingInfo.vue' |
|||
export default { |
|||
emits: ['onClose'], |
|||
components: { |
|||
jobTop, |
|||
jobBottom, |
|||
jobPersonInfo, |
|||
jobSettingInfo, |
|||
jobRequestInfo |
|||
}, |
|||
data() { |
|||
return {} |
|||
}, |
|||
|
|||
mounted() {}, |
|||
props: { |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
closePopup() { |
|||
this.$emit('onClose') |
|||
}, |
|||
} |
|||
}) |
|||
const closePopup = () => { |
|||
emit('onClose') |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['onClose']) |
|||
</script> |
|||
|
|||
</style> |
|||
<style></style> |
|||
|
@ -0,0 +1,65 @@ |
|||
<template> |
|||
<view class="wyf"> |
|||
<u-popup v-model="show" mode="center" width="600rpx"> |
|||
<view class="container"> |
|||
<u-card :title="item.title" v-for="(item, index) in list" :key="item.id" margin="20rpx" :head-style="{ padding: '20rpx' }" :foot-style="{ padding: '0rpx' }"> |
|||
<template v-slot:body> |
|||
<view class=""> 物料代码:{{ item.itemCode }} </view> |
|||
<view class=""> 物料名称:{{ item.itemName }} </view> |
|||
</template> |
|||
<template v-slot:foot> |
|||
<!-- <button class="go" >Go</button> --> |
|||
|
|||
<u-button type="primary" @click="selectItem(item, index)" style="width: 200rpx; height: 60rpx">Go</u-button> |
|||
</template> |
|||
</u-card> |
|||
</view> |
|||
</u-popup> |
|||
</view> |
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import { ref } from 'vue' |
|||
|
|||
const list = ref([]) |
|||
const show = ref(false) |
|||
const openList = (listParmas) => { |
|||
list.value = listParmas |
|||
show.value = true |
|||
} |
|||
const selectItem = (item, index) => { |
|||
emit('selectItem', item) |
|||
} |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['selectItem']) |
|||
defineExpose({ |
|||
openList |
|||
}) |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.container { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
|
|||
.list { |
|||
width: 80%; |
|||
max-height: 80vh; |
|||
overflow-y: auto; |
|||
border-radius: 10px !important; |
|||
|
|||
.slot-image { |
|||
width: 40rpx; |
|||
} |
|||
|
|||
.go { |
|||
color: rgb(60, 156, 255); |
|||
} |
|||
} |
|||
} |
|||
.list ::v-deep .uni-list--border { |
|||
border: 1rpx solid #e5e5e5; |
|||
} |
|||
</style> |
@ -1,46 +1,30 @@ |
|||
<template> |
|||
<view class=""> |
|||
<text :class="statusStyle(type)" style="padding-top: 5rpx;padding-bottom: 5rpx;padding-left: 15rpx;padding-right: 15rpx;">{{statusDesc(type)}}</text> |
|||
<text :class="statusStyle(type)" style="padding-top: 5rpx; padding-bottom: 5rpx; padding-left: 15rpx; padding-right: 15rpx">{{ statusDesc(type) }}</text> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
getLocationTypeInfo |
|||
} from '@/common/directory.js'; |
|||
export default { |
|||
components: { |
|||
<script setup lang="ts"> |
|||
import { getLocationTypeInfo } from '@/common/directory.js' |
|||
|
|||
}, |
|||
data() { |
|||
return { |
|||
|
|||
|
|||
}; |
|||
}, |
|||
props: { |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {}, |
|||
default: {} |
|||
}, |
|||
type: { |
|||
type: String, |
|||
default: "", |
|||
}, |
|||
}, |
|||
default: '' |
|||
} |
|||
}) |
|||
|
|||
methods: { |
|||
statusDesc(code) { |
|||
const statusDesc = (code) => { |
|||
return getLocationTypeInfo(code).label |
|||
}, |
|||
statusStyle(code) { |
|||
|
|||
return getLocationTypeInfo(code).remark; |
|||
|
|||
}, |
|||
} |
|||
|
|||
const statusStyle = (code) => { |
|||
return getLocationTypeInfo(code).remark |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
@ -1,204 +1,227 @@ |
|||
<template> |
|||
<uni-popup ref="popup"> |
|||
<u-popup mode="bottom" v-model="show"> |
|||
<view class="pop_detail" style="height: 80%"> |
|||
<com-item :dataContent="dataContent"></com-item> |
|||
<view class='split_line'></view> |
|||
<scroll-view style="height:320px "> |
|||
<view v-for="(item, index) in dataList" style="width: 100%;"> |
|||
<view class="split_line"></view> |
|||
<scroll-view style="height: 320px" scroll-y> |
|||
<view v-for="(item, index) in dataList" style="width: 100%"> |
|||
<view class="item"> |
|||
<text class="item_title">{{ item.item_title }} </text> |
|||
<text v-if="(item.type=='')||(item.type==undefined)" class="text_wrap">{{item.content}}</text> |
|||
<text v-if="item.type == '' || item.type == undefined" class="text_wrap">{{ item.content }}</text> |
|||
<text v-else-if="item.type == 'dateTime'" class="text_wrap">{{ formatDate(item.content) }} </text> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
|
|||
<view class="uni-flex u-row-center "> |
|||
<view class="close_button" @click="closePopup"> |
|||
关闭</view> |
|||
<view class="uni-flex u-row-center u-p-t-20 u-p-b-20"> |
|||
<view class="close_button" @click="closePopup"> 关闭</view> |
|||
<!-- button 滚动不好使 --> |
|||
</view> |
|||
</view> |
|||
</uni-popup> |
|||
</u-popup> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import { ref } from 'vue' |
|||
import comItem from '@/mycomponents/item/item.vue' |
|||
import { dateFormat } from '@/common/basic.js'; |
|||
export default { |
|||
emits: ['onClose'], |
|||
components: { |
|||
comItem |
|||
}, |
|||
data() { |
|||
return { |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
}, |
|||
dataList: [] |
|||
} |
|||
}, |
|||
|
|||
mounted() {}, |
|||
props: { |
|||
|
|||
}, |
|||
import { dateFormat } from '@/common/basic.js' |
|||
|
|||
methods: { |
|||
openPopup(val) { |
|||
this.dataContent = val; |
|||
this.getDataList(); |
|||
setTimeout(res => { |
|||
this.$refs.popup.open('bottom') |
|||
const dataContent = ref({}) |
|||
const dataList = ref([]) |
|||
const show = ref(false) |
|||
const openPopup = (val) => { |
|||
dataContent.value = val |
|||
getDataList() |
|||
setTimeout((res) => { |
|||
show.value = true |
|||
}, 500) |
|||
|
|||
}, |
|||
closePopup(val) { |
|||
this.$refs.popup.close('bottom') |
|||
// this.$emit('onClose') |
|||
}, |
|||
getDataList() { |
|||
// console.log(JSON.stringify(this.dataContent)); |
|||
this.dataList.length = 0; |
|||
this.dataList.push(...[{ |
|||
} |
|||
const closePopup = () => { |
|||
show.value = false |
|||
} |
|||
const getDataList = () => { |
|||
// console.log(JSON.stringify( dataContent)); |
|||
dataList.value.length = 0 |
|||
dataList.value.push( |
|||
...[ |
|||
{ |
|||
item_title: '包装号', |
|||
content: this.dataContent.number |
|||
}, { |
|||
content: dataContent.value.number |
|||
}, |
|||
{ |
|||
item_title: '物料代码', |
|||
content: this.dataContent.itemCode |
|||
}, { |
|||
content: dataContent.value.itemCode |
|||
}, |
|||
{ |
|||
item_title: '物品名称', |
|||
content: this.dataContent.itemName |
|||
}, { |
|||
content: dataContent.value.itemName |
|||
}, |
|||
{ |
|||
item_title: '物品描述1', |
|||
content: this.dataContent.itemDesc1 |
|||
}, { |
|||
content: dataContent.value.itemDesc1 |
|||
}, |
|||
{ |
|||
item_title: '物品描述2', |
|||
content: this.dataContent.itemDesc2 |
|||
}, { |
|||
content: dataContent.value.itemDesc2 |
|||
}, |
|||
{ |
|||
item_title: '批次', |
|||
content: this.dataContent.batch |
|||
}, { |
|||
content: dataContent.value.batch |
|||
}, |
|||
{ |
|||
item_title: '替代批次', |
|||
content: this.dataContent.altBatch |
|||
}, { |
|||
content: dataContent.value.altBatch |
|||
}, |
|||
{ |
|||
item_title: '生产日期', |
|||
content: this.dataContent.produceDate, |
|||
type:"dateTime" |
|||
}, { |
|||
content: dataContent.value.produceDate, |
|||
type: 'dateTime' |
|||
}, |
|||
{ |
|||
item_title: '有效日期', |
|||
content: this.dataContent.validityDays, |
|||
type:"dateTime" |
|||
}, { |
|||
content: dataContent.value.validityDays, |
|||
type: 'dateTime' |
|||
}, |
|||
{ |
|||
item_title: '失效日期', |
|||
content: this.dataContent.expireDate, |
|||
type:"dateTime" |
|||
}, { |
|||
content: dataContent.value.expireDate, |
|||
type: 'dateTime' |
|||
}, |
|||
{ |
|||
item_title: '计量单位', |
|||
content: this.dataContent.uom, |
|||
type:"uom" |
|||
}, { |
|||
content: dataContent.value.uom, |
|||
type: 'uom' |
|||
}, |
|||
{ |
|||
item_title: '数量', |
|||
content: this.dataContent.qty |
|||
}, { |
|||
content: dataContent.value.qty |
|||
}, |
|||
{ |
|||
item_title: '替代计量单位', |
|||
content: this.dataContent.altUom |
|||
}, { |
|||
content: dataContent.value.altUom |
|||
}, |
|||
{ |
|||
item_title: '替代数量', |
|||
content: this.dataContent.altQty |
|||
}, { |
|||
content: dataContent.value.altQty |
|||
}, |
|||
{ |
|||
item_title: '转换率', |
|||
content: this.dataContent.convertRate |
|||
}, { |
|||
content: dataContent.value.convertRate |
|||
}, |
|||
{ |
|||
item_title: '标包数量', |
|||
content: this.dataContent.packQty |
|||
}, { |
|||
content: dataContent.value.packQty |
|||
}, |
|||
{ |
|||
item_title: '标包单位', |
|||
content: this.dataContent.packUnit |
|||
}, { |
|||
content: dataContent.value.packUnit |
|||
}, |
|||
{ |
|||
item_title: '仓库代码', |
|||
content: this.dataContent.toWarehouseCode |
|||
}, { |
|||
content: dataContent.value.toWarehouseCode |
|||
}, |
|||
{ |
|||
item_title: '月台代码', |
|||
content: this.dataContent.toDockCode |
|||
}, { |
|||
content: dataContent.value.toDockCode |
|||
}, |
|||
{ |
|||
item_title: '库位代码', |
|||
content: this.dataContent.toLocationCode |
|||
}, { |
|||
content: dataContent.value.toLocationCode |
|||
}, |
|||
{ |
|||
item_title: '供应商代码', |
|||
content: this.dataContent.supplierCode |
|||
}, { |
|||
content: dataContent.value.supplierCode |
|||
}, |
|||
{ |
|||
item_title: '供应商物品代码', |
|||
content: this.dataContent.supplierItemCode |
|||
}, { |
|||
content: dataContent.value.supplierItemCode |
|||
}, |
|||
{ |
|||
item_title: '采购订单号', |
|||
content: this.dataContent.poNumber |
|||
}, { |
|||
content: dataContent.value.poNumber |
|||
}, |
|||
{ |
|||
item_title: '采购订单行', |
|||
content: this.dataContent.poLine |
|||
}, { |
|||
content: dataContent.value.poLine |
|||
}, |
|||
{ |
|||
item_title: '采购计划单号', |
|||
content: this.dataContent.rpNumber |
|||
}, { |
|||
content: dataContent.value.rpNumber |
|||
}, |
|||
{ |
|||
item_title: '发货单号', |
|||
content: this.dataContent.asnNumber |
|||
}, { |
|||
content: dataContent.value.asnNumber |
|||
}, |
|||
{ |
|||
item_title: '生产订单号', |
|||
content: this.dataContent.woNumber |
|||
}, { |
|||
content: dataContent.value.woNumber |
|||
}, |
|||
{ |
|||
item_title: '生产订单行', |
|||
content: this.dataContent.woLine |
|||
}, { |
|||
content: dataContent.value.woLine |
|||
}, |
|||
{ |
|||
item_title: '生产线代码', |
|||
content: this.dataContent.productionLineCode |
|||
}, { |
|||
content: dataContent.value.productionLineCode |
|||
}, |
|||
{ |
|||
item_title: '班组代码', |
|||
content: this.dataContent.teamCode |
|||
}, { |
|||
content: dataContent.value.teamCode |
|||
}, |
|||
{ |
|||
item_title: '班次代码', |
|||
content: this.dataContent.shiftCode |
|||
}, { |
|||
content: dataContent.value.shiftCode |
|||
}, |
|||
{ |
|||
item_title: '客户代码', |
|||
content: this.dataContent.customerCode |
|||
}, { |
|||
content: dataContent.value.customerCode |
|||
}, |
|||
{ |
|||
item_title: '客户月台代码', |
|||
content: this.dataContent.customerDockCode |
|||
}, { |
|||
content: dataContent.value.customerDockCode |
|||
}, |
|||
{ |
|||
item_title: '客户物品代码', |
|||
content: this.dataContent.customerItemCode |
|||
}, { |
|||
content: dataContent.value.customerItemCode |
|||
}, |
|||
{ |
|||
item_title: '销售订单号', |
|||
content: this.dataContent.soNumber |
|||
}, { |
|||
content: dataContent.value.soNumber |
|||
}, |
|||
{ |
|||
item_title: '销售订单行', |
|||
content: this.dataContent.soLine |
|||
}, { |
|||
content: dataContent.value.soLine |
|||
}, |
|||
{ |
|||
item_title: '质量等级', |
|||
content: this.dataContent.eqLevel |
|||
}, { |
|||
content: dataContent.value.eqLevel |
|||
}, |
|||
{ |
|||
item_title: '货主代码', |
|||
content: this.dataContent.ownerCode |
|||
}, { |
|||
content: dataContent.value.ownerCode |
|||
}, |
|||
{ |
|||
item_title: '重量', |
|||
content: this.dataContent.weight |
|||
}, { |
|||
item_title: '面积', |
|||
content: this.dataContent.area |
|||
}, { |
|||
item_title: '体积', |
|||
content: this.dataContent.volume |
|||
}]); |
|||
content: dataContent.value.weight |
|||
}, |
|||
formatDate(val) { |
|||
return dateFormat(val) |
|||
{ |
|||
item_title: '面积', |
|||
content: dataContent.value.area |
|||
}, |
|||
|
|||
{ |
|||
item_title: '体积', |
|||
content: dataContent.value.volume |
|||
} |
|||
] |
|||
) |
|||
} |
|||
const formatDate = (val) => { |
|||
return dateFormat(val) |
|||
} |
|||
defineExpose({ |
|||
openPopup, |
|||
closePopup |
|||
}) |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
|
|||
</style> |
|||
<style></style> |
|||
|
@ -1,57 +1,41 @@ |
|||
<template> |
|||
<view class="uni-flex u-col-center" style="padding-top: 15rpx; |
|||
padding-bottom: 15rpx; |
|||
padding-left: 10rpx; |
|||
padding-right: 10rpx; |
|||
font-size:32rpx;background-color: #fff;"> |
|||
<text style="font-size: 35rpx;">{{title}} </text> |
|||
<view class="uni-flex u-col-center" style="padding-top: 15rpx; padding-bottom: 15rpx; padding-left: 10rpx; padding-right: 10rpx; font-size: 32rpx; background-color: #fff"> |
|||
<text style="font-size: 30rpx">{{ title }} </text> |
|||
<view class="uni-flex u-col-center" @click="showPack"> |
|||
<text style="color:#3FBAFF;font-size: 35rpx;" v-if="packingNumber==''&&isShowEdit==true">  请扫描</text> |
|||
<text style="color:#3FBAFF; font-size: 35rpx;">  {{packingNumber}}</text> |
|||
<image v-if="isShowEdit" style="width: 45rpx;height: 45rpx;" src="/static/icons/icons_edit.svg" |
|||
></image> |
|||
<text style="color: #3fbaff; font-size: 25rpx" v-if="packingNumber == '' && isShowEdit == true">  请扫描</text> |
|||
<text style="color: #3fbaff; font-size: 25rpx">  {{ packingNumber }}</text> |
|||
<image v-if="isShowEdit" style="width: 45rpx; height: 45rpx" src="/static/icons/icons_edit.svg"></image> |
|||
</view> |
|||
<win-scan-pack ref="scanPopup" @getResult='getScanResult' headerType="HPQ"></win-scan-pack> |
|||
<win-scan-pack ref="scanPopup" @getResult="getScanResult" headerType="HPQ"></win-scan-pack> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
<script setup lang="ts"> |
|||
import winScanPack from '@/mycomponents/scan/winScanPack.vue' |
|||
export default { |
|||
components: { |
|||
winScanPack |
|||
}, |
|||
data() { |
|||
return { |
|||
} |
|||
}, |
|||
props: { |
|||
|
|||
const props = defineProps({ |
|||
title: { |
|||
type: String, |
|||
default: "需求库位" |
|||
default: '需求库位' |
|||
}, |
|||
packingNumber: { |
|||
type: String, |
|||
default: "" |
|||
default: '' |
|||
}, |
|||
isShowEdit: { |
|||
type: Boolean, |
|||
default: true |
|||
} |
|||
}, |
|||
|
|||
watch: { |
|||
}, |
|||
methods: { |
|||
showPack() { |
|||
this.$refs.scanPopup.openScanPopup(); |
|||
}, |
|||
getScanResult(result) { |
|||
this.$emit("getScanResult", result) |
|||
} |
|||
}) |
|||
const showPack = () => { |
|||
scanPopup.value.openScanPopup() |
|||
} |
|||
const getScanResult = (result) => { |
|||
emit('getScanResult', result) |
|||
} |
|||
|
|||
// 传递给父类 |
|||
const emit = defineEmits(['result']) |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
@ -1,39 +1,21 @@ |
|||
<template> |
|||
<view class="pack_view uni-inline-item"> |
|||
<text style="color: #606266;font-size: 13px;">生产线</text> |
|||
<text style="color: #606266;font-size: 13px;">{{dataContent.productionLineCode}}</text> |
|||
<text style="color: #606266; font-size: 13px">生产线</text> |
|||
<text style="color: #606266; font-size: 13px">{{ dataContent.productionLineCode }}</text> |
|||
</view> |
|||
<view class="pack_view uni-inline-item"> |
|||
<text style="color: #606266;font-size: 13px;">生产日期</text> |
|||
<text style="color: #606266;font-size: 13px;">{{dataContent.produceDate}}</text> |
|||
<text style="color: #606266; font-size: 13px">生产日期</text> |
|||
<text style="color: #606266; font-size: 13px">{{ dataContent.produceDate }}</text> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
components: { |
|||
|
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
|
|||
} |
|||
}, |
|||
props: { |
|||
<script setup lang="ts"> |
|||
const props = defineProps({ |
|||
dataContent: { |
|||
type: Object, |
|||
default: {} |
|||
} |
|||
}, |
|||
watch: { |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
} |
|||
}) |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
|||
<style></style> |
|||
|
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue