Browse Source

修改部分考核功能

dev
qb 1 year ago
parent
commit
ca3f9facd6
  1. 13
      api/user.js
  2. 127
      compoment/MyTree/MyTree.vue
  3. 4
      config/host.js
  4. 2
      main.js
  5. 12
      pages.json
  6. 394
      pages/index/index.vue
  7. 2
      pagesHome/pages/MaterialMaintenance/MaterialMaintenance.vue
  8. 25
      pagesHome/pages/VehicleArrivalDetailsByTray/VehicleArrivalDetailsByTray.vue
  9. 208
      pagesHome/pages/integral/integral.vue
  10. 209
      pagesHome/pages/integralEdit/integralEdit.vue
  11. 6
      pagesHome/pages/integralMy/integralMy.vue
  12. 4
      pagesHome/pages/setbarcode/setbarcode.vue
  13. 126
      pagesUser/pages/about/about.vue
  14. 1572
      unpackage/dist/dev/app-plus/app-service.js
  15. 65
      unpackage/dist/dev/app-plus/app.css
  16. 22
      unpackage/dist/dev/mp-weixin/api/user.js
  17. 3
      unpackage/dist/dev/mp-weixin/app.js
  18. 1
      unpackage/dist/dev/mp-weixin/app.json
  19. 2
      unpackage/dist/dev/mp-weixin/config/host.js
  20. 197
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  21. 2
      unpackage/dist/dev/mp-weixin/pagesHome/pages/setbarcode/setbarcode.wxml
  22. 7
      unpackage/dist/dev/mp-weixin/project.config.json
  23. 3
      unpackage/dist/dev/mp-weixin/utils/request.js

13
api/user.js

@ -2922,4 +2922,17 @@ export function postUnloadTrayAllOne(data, loadingObj = {}) {
},
loadingObj
);
}
/**
* 获取部门树
*/
export function getCurrentTree(data, loadingObj = {}) {
return request({
url: `blade-system/dept/currentTree`,
method: "get",
data
},
loadingObj
);
}

127
compoment/MyTree/MyTree.vue

@ -0,0 +1,127 @@
<template>
<view class="tree_container">
<block v-for="item in $props.treeData" :key="item.id">
<view class="">
<view :class="{'tree_label': true, 'active': item.id === $props.activeId}" @click="nodeClick(item)">
<template v-if="item.children && item.children.length > 0">
<view class="tree_icon">
<view :class="{'icon': true ,'down': isOpen(item.id)}">
<u-icon name="arrow-down-fill" color="#adafb6" size="26"></u-icon>
</view>
</view>
</template>
<text>{{item.title}}</text>
</view>
<!-- #ifdef H5 -->
<view class="tree_item" :style="{'grid-template-rows': isOpen(item.id) ? '1fr' : '0fr'}">
<!-- #endif -->
<!-- #ifdef APP -->
<view class="tree_item" :style="{'display': isOpen(item.id) ? 'block' : 'none'}">
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="tree_item" :style="{'display': isOpen(item.id) ? 'block' : 'none'}">
<!-- #endif -->
<template v-if="item.children && item.children.length > 0">
<MyTree :treeData="item.children" @node-click="$emit('node-click', $event)"
:activeId="$props.activeId"></MyTree>
</template>
</view>
</view>
</block>
</view>
</template>
<script setup lang="ts">
import { defineProps, ref } from 'vue';
const $props = defineProps(["treeData", 'activeId'])
console.log('$props :>> ', $props);
const $emit = defineEmits(["node-click"])
const expandedKeys = ref([])
const treeData = $props.treeData
const isOpen = (id) => {
// id
return expandedKeys.value.includes(id)
}
const nodeClick = (item) => {
$emit("node-click", item)
if (item.children && item.children.length) {
let index = expandedKeys.value.indexOf(item.id)
if (index > -1) {
// id
expandedKeys.value.splice(index, 1)
} else {
// id
expandedKeys.value.push(item.id)
}
}
}
</script>
<style scoped lang="scss">
.tree_label {
padding: 10upx 40upx;
position: relative;
&.active {
background-color: var(--subjectColor);
border-radius: 10upx;
color: #fff;
:deep(.u-icon__icon) {
color: #fff !important;
}
}
}
.tree_item {
margin-top: 10upx;
padding-left: 40upx;
}
//
.tree_item {
display: grid;
grid-template-rows: 0fr;
transition: all 0.3s;
// overflow: hidden;
&>view {
min-height: 0;
overflow: hidden;
}
// &>div,
// &>form {
// }
}
.tree_icon {
position: absolute;
left: 5upx;
top: 50%;
transform: translateY(-50%);
margin-right: 20upx;
transform-origin: center;
.icon {
transition: all 0.3s;
transform: rotate(-90deg);
}
.down {
transform: rotate(0deg);
}
}
</style>

4
config/host.js

@ -4,11 +4,11 @@
* 测试域名
* */
//测试域名
// const devhost = 'http://test.api.huo5you.com/'
const devhost = 'http://test.api.huo5you.com/'
// lmy
// const devhost = 'http://192.168.10.123:8889/'
// zhy
const devhost = 'http://192.168.3.12:13000/'
// const devhost = 'http://192.168.3.12:13000/'
// tjj
// const devhost = 'http://192.168.3.14:13000/'
// cyz

2
main.js

@ -27,6 +27,7 @@ import PopUp from '@/compoment/PopUp/PopUp.vue';
import BluetoothList from '@/compoment/BluetoothList/BluetoothList.vue';
import ScrollList from '@/compoment/ScrollList/ScrollList.vue';
import PullDownBox from '@/compoment/PullDownBox/PullDownBox.vue';
import MyTree from '@/compoment/MyTree/MyTree.vue'
import saomiao1 from '@/compoment/saomiao1.vue'
import saomiao2 from '@/compoment/saomiao2.vue'
import saomiao3 from '@/compoment/saomiao3.vue'
@ -57,6 +58,7 @@ export function createApp() {
.component('BluetoothList', BluetoothList)
.component('ScrollList', ScrollList)
.component('PullDownBox', PullDownBox)
.component('MyTree', MyTree)
uni.$u.config.unit = 'rpx'
return {

12
pages.json

@ -1724,12 +1724,12 @@
// "selectedIconPath": "/static/TabberIcon/icon3check.png",
// "text": "报表"
// },
{
"pagePath": "pages/news/news",
"iconPath": "/static/TabberIcon/icon4.png",
"selectedIconPath": "/static/TabberIcon/icon4check.png",
"text": "消息"
},
// {
// "pagePath": "pages/news/news",
// "iconPath": "/static/TabberIcon/icon4.png",
// "selectedIconPath": "/static/TabberIcon/icon4check.png",
// "text": "消息"
// },
{
"pagePath": "pages/user/user",
"iconPath": "/static/TabberIcon/icon5.png",

394
pages/index/index.vue

@ -40,203 +40,203 @@
const { storageArr } = storeToRefs(storageStore)
const tip = ref(null)
// let details = reactive<listtype>({ tablist: [] });
let details = reactive<listtype>({
tablist: [
{
type: 1,
name: '工作台',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '订单查询',
router: '/pagesHome/pages/orderInquiry/orderInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '库位查询',
router: '/pagesHome/pages/storageInquiry/storageInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '托盘查询',
router: '/pagesHome/pages/trayInquiry/trayInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '库存品查询',
router: '/pagesHome/pages/inventoryInquiry/inventoryInquiry',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '物料维护',
router: '/pagesHome/pages/MaterialMaintenance/MaterialMaintenance',
},
]
},
{
type: 1,
name: '入库',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '码板打托',
router: '/pagesHome/pages/codePlateBracket/codePlateBracket',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '入库扫描',
router: '/pagesHome/pages/TranNumber/TranNumber',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '到车入库',
router: '/pagesHome/pages/ArrivalList/ArrivalList',
},
]
},
{
type: 1,
name: '库内',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '分拣打托',
router: '/pagesHome/pages/scansorting/scansorting',
},
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ordersorting/ordersorting',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/lnventorysorting/lnventorysorting',
// },
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '扫码上架',
router: '/pagesHome/pages/ScanUpType/ScanUpType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '手动上架',
router: '/pagesHome/pages/PeopleScanUpType/PeopleScanUpType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '移库',
router: '/pagesHome/pages/RelocationType/RelocationType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '滞留',
router: '/pagesHome/pages/Retention/Retention',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '合托',
router: '/pagesHome/pages/MergeTray/MergeTray',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '下架',
router: '/pagesHome/pages/DownGoodsType/DownGoodsType',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '空置托盘',
router: '/pagesHome/pages/RemoveTray/RemoveTray',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '复核',
router: '/pagesHome/pages/Check/Check',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '托盘数据同步',
router: '/pagesHome/pages/SearchTray/SearchTray',
},
]
},
{
type: 1,
name: '出库',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '拣货扫描',
router: '/pagesHome/pages/pickingScan/pickingScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '自提扫描',
router: '/pagesHome/pages/SelfPickupScan/SelfPickupScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '配载装车',
router: '/pagesHome/pages/StowageList/StowageList',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '中转装车',
router: '/pagesHome/pages/RelayScanList/RelayScanList',
},
]
},
{
type: 1,
name: '配送',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '装车扫描',
router: '/pagesHome/pages/LoadingScan/LoadingScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '签收扫描',
router: '/pagesHome/pages/signinScan/signinScan',
},
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '直发商家签收',
router: '/pagesHome/pages/directGoMarket/directGoMarket',
},
]
},
{
type: 1,
name: '离线上传',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '离线上传',
router: '/pagesHome/pages/OfflineUpload/OfflineUpload',
},
]
},
{
type: 1,
name: '考核',
minilist: [
{
icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
name: '考核指标',
router: '/pagesHome/pages/integral/integral',
},
{
icon: 'http://8.137.14.82:9000/bladex/upload/20240117/fac9c4fd6c4f0bee599417fc8fbbee62.png',
name: '我的考核',
router: '/pagesHome/pages/integralMy/integralMy',
},
]
},
]
})
let details = reactive<listtype>({ tablist: [] });
// let details = reactive<listtype>({
// tablist: [
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/orderInquiry/orderInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/storageInquiry/storageInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/trayInquiry/trayInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/inventoryInquiry/inventoryInquiry',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/MaterialMaintenance/MaterialMaintenance',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/codePlateBracket/codePlateBracket',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/TranNumber/TranNumber',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ArrivalList/ArrivalList',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/scansorting/scansorting',
// },
// // {
// // icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// // name: '',
// // router: '/pagesHome/pages/ordersorting/ordersorting',
// // },
// // {
// // icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// // name: '',
// // router: '/pagesHome/pages/lnventorysorting/lnventorysorting',
// // },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/ScanUpType/ScanUpType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/PeopleScanUpType/PeopleScanUpType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RelocationType/RelocationType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/Retention/Retention',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/MergeTray/MergeTray',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/DownGoodsType/DownGoodsType',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RemoveTray/RemoveTray',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/Check/Check',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/SearchTray/SearchTray',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/pickingScan/pickingScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/SelfPickupScan/SelfPickupScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/StowageList/StowageList',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/RelayScanList/RelayScanList',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/LoadingScan/LoadingScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/signinScan/signinScan',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/directGoMarket/directGoMarket',
// },
// ]
// },
// {
// type: 1,
// name: '线',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '线',
// router: '/pagesHome/pages/OfflineUpload/OfflineUpload',
// },
// ]
// },
// {
// type: 1,
// name: '',
// minilist: [
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '',
// router: '/pagesHome/pages/integral/integral',
// },
// {
// icon: 'http://8.137.14.82:9000/bladex/upload/20240117/fac9c4fd6c4f0bee599417fc8fbbee62.png',
// name: '',
// router: '/pagesHome/pages/integralMy/integralMy',
// },
// ]
// },
// ]
// })
function gopathpage(path : string) {
uni.navigateTo({

2
pagesHome/pages/MaterialMaintenance/MaterialMaintenance.vue

@ -246,7 +246,7 @@
onLoad(() => {
// #ifdef APP
utils.ttsspke('订单查询, 请扫描或输入包条码')
utils.ttsspke('物料维护, 请扫描或输入物料编码')
// #endif
})

25
pagesHome/pages/VehicleArrivalDetailsByTray/VehicleArrivalDetailsByTray.vue

@ -43,11 +43,11 @@
<view>{{(details.info.orderTotalNum)||0}}</view>
</view>
<view>
<view>库存品在托数量</view>
<view>配载计划卸车</view>
<view>{{(details.info.stockNum)||0}}</view>
</view>
<view>
<view>库存品总</view>
<view>配载在托</view>
<view>{{(details.info.stockTotalNum)||0}}</view>
</view>
</view>
@ -69,11 +69,14 @@
<jp-virtual-list ref="jpScorllView" :style="{height: details.jpScorllViewHeight}" code="id"
class="jpScorllView" :refresher="false" :data="datalist">
<template v-slot="{ list }">
<view v-for="item in list" :key="item.orderCode" :id="item.orderCode" :ref="item.orderCode">
<view v-for="(item, index) in list" :key="item.orderCode" :id="item.orderCode" :ref="item.orderCode">
<!-- 定制品 -->
<template v-if="details.orderStatus === 1">
<view class="items chuanhuo" @click="godetaillist(item)">
<view class="tophd" @click.stop.prevent>
<view class="index">
{{index + 1}}
</view>
<view>订单号</view>
<view :style="item.isFleeing?'color: #ff0000;':''">
{{item.dataCode}}{{item.isFleeing?'(窜)':''}}
@ -991,7 +994,7 @@
.tophd {
width: 100%;
display: flex;
align-items: flex-start;
align-items: center;
justify-content: flex-start;
padding: 15upx;
box-sizing: border-box;
@ -1015,7 +1018,19 @@
// }
}
>view:nth-of-type(2) {
.index {
margin-right: 10upx;
width: 45upx;
height: 45upx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: #6fe3ce;
color: #fff;
}
>view:nth-of-type(3) {
flex: 1;
}
}

208
pagesHome/pages/integral/integral.vue

@ -12,6 +12,14 @@
</view>
<view v-show="status==0" class="content-box">
<view class="schbox">
<view>考核部门</view>
<view class="searchBox" @click="showPopUp.chooseDepartment = true">
<!-- <uni-data-select v-model="assessDept1" :localdata="deepList" @change="getTypeList"></uni-data-select> -->
{{industryTitle||'请选择考核部门'}}
</view>
</view>
<view class="collapse">
<view v-for="item,index in collapse" :key="index">
<view class="title-box" @click="crrColl=index">
@ -19,7 +27,14 @@
<u-icon :name="crrColl==index?'arrow-up':'arrow-down'" color="#303133" size="28"></u-icon>
</view>
<view class="sub" @click="goEdit(item,sub)" v-show="crrColl==index" v-for="sub,idx in item.children"
:key="idx">{{sub.name}}
:key="idx">
<view class="tag" style="margin-right: 10px;">{{idx + 1}}</view>
<view class="">
{{sub.name}}
</view>
<view :class="sub.isCommit === 0 ? 'red': 'green'">
{{sub.isCommit === 0 ? '未考核': '已考核'}}
</view>
</view>
</view>
</view>
@ -28,7 +43,7 @@
<view v-show="status==1">
<view class="content-box">
<view class="schbox">
<view>提交时间</view>
<view>考核时间</view>
<view @click='showCalendar' class="inputsr">
<view class="timeInput">
{{datatime|| '请选择时间'}}
@ -43,7 +58,7 @@
</view>
<view class="schbox">
<view>考核部门</view>
<view class="searchBox">
<view>
<uni-data-select v-model="assessDept" :localdata="deepList" @change="change"></uni-data-select>
</view>
<view @click="pageClick()">查询</view>
@ -51,9 +66,10 @@
<uni-table border stripe emptyText="暂无更多数据" style="width:100%">
<uni-tr>
<uni-th align="center" width="40rpx">序号</uni-th>
<uni-th align="center" width="100rpx">提交时间</uni-th>
<uni-th align="center" width="100rpx">考核时间</uni-th>
<uni-th align="center" width="100rpx">考核部门</uni-th>
<uni-th align="center" width="150rpx">考核指标</uni-th>
<uni-th align="center" width="100rpx">考核状态</uni-th>
<uni-th align="center" width="40rpx">分数</uni-th>
</uni-tr>
<block v-for="(item,index) in dataList" :key="index">
@ -62,6 +78,7 @@
<uni-td align="center" :style="{color:item.isObjection?'#D3832A':''}">{{item.createTime}}</uni-td>
<uni-td align="center">{{item.assessDeptName}}</uni-td>
<uni-td align="center">{{item.classifyName}}</uni-td>
<uni-td align="center">{{item.indicatorsStatusName}}</uni-td>
<uni-td align="center">{{item.point}}</uni-td>
</uni-tr>
</block>
@ -73,6 +90,27 @@
<l-calendar v-model:value="show" :initStartDate='date[0]' :initEndDate='date[1]' @hide='showCalendar'
@change="onConfirm"></l-calendar>
<view class="mask" v-if="showPopUp.chooseDepartment">
<view class="container">
<!-- 顶部按钮 -->
<view class="header_button">
<view class="button close" @click="showPopUp.chooseDepartment = false">
取消
</view>
<view class="button" @click="handleSearch">
确认
</view>
</view>
<!-- 树形 -->
<scroll-view scroll-y="true" class="scvbw">
<MyTree :tree-data="treeData" @node-click="nodeClick" :activeId="activeId"></MyTree>
</scroll-view>
</view>
</view>
</view>
</template>
@ -81,7 +119,8 @@
import {
classifyList,
deptTree,
myApiIndicators
myApiIndicators,
getCurrentTree
} from '@/api/user.js'
export default {
components: {
@ -99,18 +138,34 @@
date: [],
datatime: '',
assessDept: '',
assessDept1: '',
deepList: [],
dataList: []
dataList: [],
showPopUp: {
chooseDepartment: false
},
/** 部门 */
treeData: [],
activeId: 0,
activeIds: 0,
/** 部门名称 */
industryTitle: ''
}
},
created() {
this.getTypeList()
// this.getTypeList()
this.initData()
this.initTree()
},
onShow() {
this.getList()
if (this.activeIds) this.initCollapse()
},
methods: {
nodeClick(val) {
console.log(val)
this.activeId = val.id
},
getList() {
let json = {
current: this.crrNum,
@ -129,6 +184,44 @@
})
})
},
async handleSearch() {
const ids = []
// , id
const recursionFn = (_arr) => {
let _flag = false
for (let iterator of _arr) {
if (_flag) break
if (iterator.id !== this.activeId) {
if (iterator.children && iterator.children.length !== 0) _flag = recursionFn(iterator.children)
if (_flag) ids.unshift(iterator.id)
} else {
_flag = true
this.industryTitle = iterator.title
ids.unshift(iterator.id)
}
}
return _flag
}
recursionFn(this.treeData)
this.showPopUp.chooseDepartment = false
this.collapse = []
if (ids.length === 0) return
this.activeIds = ids.join(',')
this.initCollapse()
console.log('ids :>> ', ids);
},
async initCollapse() {
let res = await classifyList({
deptId: this.activeIds,
})
this.collapse = res.data
},
async initData() {
let res = await deptTree({})
this.deepList = res.data.map(item => {
@ -138,8 +231,18 @@
}
})
},
async initTree() {
const res = await getCurrentTree({})
if (res.code !== 200) return
this.treeData = res.data[0].children
},
async getTypeList() {
let res = await classifyList({})
this.collapse = []
if (!this.assessDept1) return
let res = await classifyList({
deptId: this.assessDept1
})
this.collapse = res.data
},
pageClick(e) {
@ -162,16 +265,20 @@
this.datatime = ''
},
goEdit(item, sub) {
console.log('sub :>> ', sub);
console.log('222 :>> ', 222);
uni.navigateTo({
url: `/pagesHome/pages/integralEdit/integralEdit?oneId=${item.id}&twoId=${sub.id}&twoName=${sub.name}`
url: `/pagesHome/pages/integralEdit/integralEdit?oneId=${item.id}&twoId=${sub.id}&twoName=${sub.name}&deptId=${this.activeId}&deptIds=${this.activeIds}&industryTitle=${this.industryTitle}&deduction=${sub.description}`
})
},
goDetail(item) {
console.log('111 :>> ', 111);
uni.navigateTo({
url: `/pagesHome/pages/integralEdit/integralEdit?id=${item.id}`
url: `/pagesHome/pages/integralEdit/integralEdit?id=${item.id}&classifyId=${item.classifyId}`
})
},
handleChange(e) {
console.log('e :>> ', e);
}
}
}
@ -273,6 +380,7 @@
>view:nth-of-type(2) {
flex: 1;
}
>view:nth-of-type(3) {
@ -291,6 +399,7 @@
}
.collapse {
margin-top: 10upx;
font-size: 30rpx;
color: #303133;
@ -312,6 +421,37 @@
padding: 20rpx 30rpx 20rpx 60rpx;
border-bottom: 1px solid #eee;
color: #666;
>view {
&:nth-child(2) {
flex: 1;
}
&:nth-child(3) {
width: fit-content;
flex: none;
font-family: 宋体;
margin-left: 20upx;
&.red {
color: #f00;
}
&.green {
color: #0f0;
}
}
}
.tag {
width: 40upx;
height: 40upx;
background: var(--subjectColor);
text-align: center;
line-height: 40upx;
border-radius: 50%;
color: #fff;
}
}
}
@ -345,4 +485,52 @@
// border-radius: 5upx;
}
}
.mask {
z-index: 99;
position: fixed;
width: 100vw;
height: 100vh;
background: #00000080;
top: 0;
left: 0;
.container {
border-top-left-radius: 10upx;
border-top-right-radius: 10upx;
height: 70vh;
width: 100%;
background-color: #fff;
position: absolute;
bottom: 0;
left: 0;
}
.header_button {
margin: 10upx;
display: flex;
justify-content: space-between;
.button {
padding: 15upx 50upx;
background: var(--subjectColor);
border-radius: 10upx;
color: #fff;
&.close {
background: #c9c9c9;
}
}
}
}
.scvbw {
height: calc(70vh - 90upx);
}
.searchBox {
padding: 15upx 30upx;
background-color: #efefef;
border-radius: 10upx;
}
</style>

209
pagesHome/pages/integralEdit/integralEdit.vue

@ -6,26 +6,40 @@
<view class="content-box">
<uni-forms :modelValue="formData" ref="form" :rules="rules" label-width="5.5rem">
<uni-forms-item label="考核部门" name="assessDept" required>
<view :class="['pick-input',check?'dsb-color':'']" @click="showCheck">
{{formData.assessDeptName||'请选择'}}
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.assessDeptName||'暂无数据'}}
</view>
<!-- <uni-data-select v-model="formData.assessDept" :localdata="deepList"
<!-- <view :class="['pick-input',check?'dsb-color':'']" @click="showCheck">
{{formData.assessDeptName||'请选择'}}
</view> -->
<!-- <uni-data-select v-model="formData.assessDept" :localdata="deepList"
@change="changeByName($event,deepList,'assessDeptName')"></uni-data-select> -->
</uni-forms-item>
<uni-forms-item label="指标分类" name="type" required>
<uni-data-select v-model="formData.type" :disabled="check" :localdata="range1"
@change="changeType"></uni-data-select>
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.parentClassifyName||'暂无数据'}}
</view>
<!-- <uni-data-select v-model="formData.type" disabled :localdata="range1"
@change="changeType"></uni-data-select> -->
</uni-forms-item>
<uni-forms-item label="指标项目" name="classifyId" required>
<uni-data-select v-model="formData.classifyId" :disabled="check" :localdata="range2"
@change="changeByName($event,range2,'classifyName')"></uni-data-select>
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.classifyName||'暂无数据'}}
</view>
<!-- <uni-data-select v-model="formData.classifyId" disabled :localdata="range2"
@change="changeByName($event,range2,'classifyName')"></uni-data-select> -->
</uni-forms-item>
<uni-forms-item label="指标描述" name="deduction">
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.deduction||'暂无数据'}}
</view>
</uni-forms-item>
<uni-forms-item label="指标分数" name="point" required>
<uni-data-select v-model="formData.point" :disabled="check" :localdata="pointList"
@change="change"></uni-data-select>
</uni-forms-item>
<uni-forms-item :label="check ?'照片' :'照片上传'">
<uni-file-picker limit="9" :class="check?'dsb-up':''" v-model="fileList1" :disabled="check"
<uni-file-picker limit="9" :class="check?'dsb-up':''" v-model="fileList1" :readonly="check"
:auto-upload="false" @select="selectFile($event,1)" :del-icon="!check"
@delete="deletea($event,1)"></uni-file-picker>
</uni-forms-item>
@ -33,7 +47,7 @@
<!-- <uni-file-picker limit="5" :class="check?'dsb-up':''" v-model="fileList2" :disabled="check"
:auto-upload="false" @select="selectFile($event,2)" @delete="deletea($event,2)" file-mediatype="all"
title="最多选择5个文件"></uni-file-picker> -->
<u-button type="primary" @click="handleChooseFile">
<u-button type="primary" @click="handleChooseFile" v-if="!check">
选择文件
</u-button>
@ -44,6 +58,9 @@
{{item.name}}
</view>
<view class="downLoadBtn">
<view class="">
<u-icon name="eye-fill" @click="handlePreviewFile(item)" color="#32df72"></u-icon>
</view>
<template v-if="!check">
<view class="">
<u-icon name="close-circle-fill" @click="deletea(index,2)" color="#c0c4cc"
@ -52,9 +69,7 @@
</template>
<template v-else>
<view class="">
<u-icon name="eye-fill" @click="handlePreviewFile(item)" color="#32df72"></u-icon>
</view>
<view class="">
<u-icon name="download" @click="handleCopy(item)" color="#32df72"></u-icon>
</view>
@ -64,31 +79,45 @@
</block>
</view>
</uni-forms-item>
<uni-forms-item label="分备注">
<uni-forms-item label="分备注">
<uni-easyinput type="textarea" :disabled="check" autoHeight v-model="formData.remark"
placeholder="请输入内容"></uni-easyinput>
</uni-forms-item>
<uni-forms-item label="异议描述" v-if="formData.isObjection">
<uni-easyinput type="textarea" disabled autoHeight v-model="formData.objectionRemark"
placeholder="请输入内容"></uni-easyinput>
<uni-forms-item label="整改结果" v-if="formData.isObjection">
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.objectionRemark||'暂无数据'}}
</view>
</uni-forms-item>
<uni-forms-item label="意见反馈" v-if="formData.appealReason">
<view :class="['pick-input',check?'dsb-color':'']">
{{formData.appealReason||'暂无数据'}}
</view>
</uni-forms-item>
</uni-forms>
<view class="btns">
<view class="cancel" @click="goBack">取消</view>
<view class="confirm" v-if="!check" @click="submit">确定</view>
<view class="cancel" @click="goBack">返回</view>
<view class="confirm" v-if="!check" @click="submit">提交</view>
<!-- 没申诉过才可以申诉 -->
<view class="confirm" v-else-if="!formData.isObjection" @click="show=true">申诉</view>
<view class="confirm" v-else-if="!formData.isObjection" @click="show=true">考评确认</view>
</view>
</view>
<u-modal :show="show" title="申诉" :showCancelButton="true" confirmColor="#D3832A" @cancel="show=false"
<u-modal :show="show" title="整改提交" :showCancelButton="true" confirmColor="#D3832A" @cancel="show=false"
@confirm="confirm">
<view class="slot-content">
<uni-easyinput type="textarea" autoHeight v-model="formData.objectionRemark"
placeholder="请输入申诉描述"></uni-easyinput>
<uni-forms-item label="整改结果">
<uni-easyinput type="textarea" autoHeight v-model="formData.objectionRemark"
placeholder="请输入整改结果"></uni-easyinput>
</uni-forms-item>
<uni-forms-item label="意见反馈">
<uni-easyinput type="textarea" autoHeight v-model="formData.appealReason"
placeholder="请输入意见反馈"></uni-easyinput>
</uni-forms-item>
</view>
</u-modal>
@ -176,27 +205,34 @@
if (e.check) {
this.check = true
}
console.log('this.show :>> ', this.show);
let res = await classifyList({})
this.range1 = res.data.map(item => {
return {
value: item.id,
text: item.name,
children: item.children
}
})
//--
if (e.oneId) {
//--
this.formData.assessDept = e.deptId
this.formData.assessDeptName = e.industryTitle
let res = await classifyList({
deptId: e.deptIds
})
this.range1 = res.data.map(item => {
return {
value: item.id,
text: item.name,
children: item.children
}
})
this.formData.type = e.oneId
this.formData.parentClassifyName = this.range1.find(val => val.value === this.formData.type).text
this.changeType(e.oneId)
this.formData.classifyId = e.twoId;
this.formData.classifyName = e.twoName
// this.formData.description =
this.changeByName(e.twoId, this.range2, 'classifyName')
}
if (e.deduction) this.formData.deduction = e.deduction
//
if (e.id) {
this.getInfo(e.id)
this.getInfo(e)
}
this.getDeep()
},
@ -253,9 +289,10 @@
}
});
},
async getInfo(id) {
async getInfo(e) {
let res = await myApiIndicatorsDetail({
id
id: e.id,
classifyId: e.classifyId
})
console.log('res12312 :>> ', res);
@ -266,9 +303,17 @@
if (code !== 200) return
this.formData = data
this.formData.type = e.id
this.pointList = data.pointsVOS.map(item => {
return {
value: item.point,
text: item.point + '',
}
})
this.formData = data
this.range1.forEach(item => {
item.children && item.children.forEach(item2 => {
if (item2.id == res.data.classifyId) {
@ -290,7 +335,11 @@
}
})
})
this.fileList1 = res.data.pictures
this.fileList1 = res.data.pictures.map(val => {
val.type = 1
return val
})
console.log('this.fileList1 :>> ', this.fileList1);
this.fileList2 = res.data.files
console.log(this.formData)
},
@ -298,6 +347,13 @@
this.$refs.form.validate().then(async () => {
// uni.showLoading()
// uni.hideLoading()
for (let iterator of this.fileList1) {
iterator.type = 1
}
for (let iterator of this.fileList2) {
iterator.type = 2
}
this.formData.resourceList = [...this.fileList1, ...this.fileList2]
let res;
if (this.formData.id) {
@ -354,13 +410,22 @@
}
},
async confirm() {
if (!this.formData.objectionRemark) {
return uni.showToast({
title: "请输入异议描述",
icon: "none"
})
// if (!this.formData.objectionRemark) {
// return uni.showToast({
// title: "",
// icon: "none"
// })
// }
for (let iterator of this.fileList1) {
iterator.type = 1
}
for (let iterator of this.fileList2) {
iterator.type = 2
}
this.formData.resourceList = [...this.fileList1, ...this.fileList2]
this.formData.isObjection = 1
this.formData.isCommit = 1
let res = await updateApiIndicators(this.formData)
if (res.code == 200) {
this.show = false
@ -387,14 +452,17 @@
},
deletea(e, type) {
console.log('e :>> ', e);
let num = 0
if (type === 2) {
num = e
} else {
num = this['fileList' + type].findIndex(v => v.name === e.tempFilePath);
num = this['fileList' + type].findIndex(v => v.url === e.tempFilePath);
}
this['fileList' + type]
.splice(num, 1);
console.log('this[fileList + type] :>> ', this['fileList' + type]);
},
handlePreviewFile(item) {
console.log('this.refs :>> ', this.refs);
@ -542,7 +610,7 @@
border: 1px solid #e5e5e5;
box-sizing: border-box;
border-radius: 4px;
padding: 0 5px;
padding: 15upx 5px;
padding-left: 10px;
position: relative;
display: flex;
@ -553,7 +621,8 @@
border-bottom: solid 1px #e5e5e5;
width: 100%;
flex: 1;
height: 35px;
// height: 35px;
background: #f5f7fa;
}
.dsb-color {
@ -574,11 +643,12 @@
margin-bottom: 20rpx;
view {
width: 200rpx;
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
// width: 200rpx;
// height: 60rpx;
// display: flex;
// align-items: center;
// justify-content: center;
padding: 15upx 60upx;
border-radius: 10rpx;
margin: 0 10rpx;
}
@ -630,4 +700,43 @@
}
}
}
:deep(.uni-file-picker) {
margin-top: 40rpx !important;
}
:deep(.file-picker__box) {
width: 168rpx !important;
height: 168rpx !important;
padding-top: 0;
.file-picker__progress {
display: none;
}
}
:deep(.file-picker__box-content) {
border-style: dashed !important;
border-radius: 16rpx !important;
.icon-add {
width: 60rpx;
height: 4rpx;
}
.icon-del-box {
height: 32rpx;
width: 32rpx;
top: 10upx;
right: 10upx;
z-index: 99;
background-color: #F72E2E;
opacity: 0.6;
.icon-del {
width: 16rpx;
height: 2rpx;
}
}
}
</style>

6
pagesHome/pages/integralMy/integralMy.vue

@ -29,9 +29,10 @@
<uni-table border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th align="center" width="40rpx">序号</uni-th>
<uni-th align="center" width="100rpx">提交时间</uni-th>
<uni-th align="center" width="100rpx">考核时间</uni-th>
<uni-th align="center" width="100rpx">考核人员</uni-th>
<uni-th align="center" width="150rpx">考核指标</uni-th>
<uni-th align="center" width="100rpx">考核状态</uni-th>
<uni-th align="center" width="40rpx">分数</uni-th>
</uni-tr>
<block v-for="item,index in dataList" :key="index">
@ -40,6 +41,7 @@
<uni-td align="center" :style="{color:item.isObjection?'#D3832A':''}">{{item.createTime}}</uni-td>
<uni-td align="center">{{item.createdUserName}}</uni-td>
<uni-td align="center">{{item.classifyName}}</uni-td>
<uni-td align="center">{{item.indicatorsStatusName}}</uni-td>
<uni-td align="center">{{item.point}}</uni-td>
</uni-tr>
</block>
@ -138,7 +140,7 @@
},
goDetail(item) {
uni.navigateTo({
url: `/pagesHome/pages/integralEdit/integralEdit?check=1&id=${item.id}`
url: `/pagesHome/pages/integralEdit/integralEdit?check=1&id=${item.id}&classifyId=${item.classifyId}`
})
}
}

4
pagesHome/pages/setbarcode/setbarcode.vue

@ -37,8 +37,8 @@
</template> -->
<view @click="setstockPrint(1)">采集原包条码</view>
<view @click="setstockPrint(2)">扫描打印包条</view>
<view @click="showmd">新生成包码</view>
<view @click="setstockPrint(2)">扫描打印包条</view>
<view @click="showmd">新生成包</view>
</view>
</template>

126
pagesUser/pages/about/about.vue

@ -1,96 +1,46 @@
<template>
<view class="h100">
<view style="line-height: 40px;display: flex;justify-content: space-between;">
<view @click="toAssign">滚动到Item999</view>
<view @click="toAssign1">滚动到Item100</view>
<view @click="toAssign2">滚动到Item0</view>
</view>
<jp-virtual-list code="id" class="h100" :refresher="true" isBackTop @scrolltoupper="scrolltoupper"
@refresher="refresher" :data="listx" ref="search">
<template v-slot="{ list }">
<view v-for="item in list" :key="item.id" :id="item.id" :ref="item.id">
<view class="list_item" :style="'height:' + item.height +'rpx'">
{{item.id}}随机高度{{item.height}}
</view>
</view>
</template>
</jp-virtual-list>
<view>
<MyTree :tree-data="treeData" @node-click="nodeClick" :activeId="activeId"></MyTree>
</view>
</template>
<script>
export default {
data() {
return {
listx: [],
key: ''
}
},
mounted() {
const data = []
for (let i = 0; i < 10000; i++) {
data.push({
name: `Item ${i}`,
index: i,
id: `Item${i}`,
height: (Math.floor(Math.random() * 100) + 100)
})
}
this.listx = data
<script lang="ts" setup>
import { ref } from 'vue';
const treeData = [
{ id: 1, name: '一级1' },
{
id: 2,
name: '一级2',
children: [
{ id: 3, name: '二级2-1' },
{ id: 4, name: '二级2-2' }
]
},
methods: {
toAssign() {
this.$refs.search.toAssign('Item999', this)
},
toAssign1() {
this.$refs.search.toAssign('Item100', this)
},
toAssign2() {
this.$refs.search.toAssign('Item0', this)
},
scrolltoupper() {
const data = []
for (let i = 0; i < 30; i++) {
data.push({
name: `Itemc ${i}`,
index: i,
id: `Itemc${i}${(Math.floor(Math.random() * 100)+100)}`,
height: (Math.floor(Math.random() * 100) + 100)
})
}
setTimeout(() => {
//
this.$refs.search.addPage(data)
}, 1000)
},
refresher() {
const data = []
for (let i = 0; i < 10000; i++) {
data.push({
name: `Item ${i}`,
index: i,
id: `Item${i}`,
height: (Math.floor(Math.random() * 100) + 100)
})
}
setTimeout(() => {
this.listx = data
//
this.$refs.search.refreshers()
}, 2000)
},
{
id: 5,
name: '一级3',
children: [
{
id: 6,
name: '二级3-1',
children: [
{ id: 7, name: '三级3-1-1' },
{ id: 8, name: '三级3-1-2' }
]
},
{ id: 9, name: '二级3-2' },
{ id: 10, name: '二级3-3' }
]
}
}
</script>
]
<style lang="scss">
.h100 {
height: calc(100vh - 80px);
}
const activeId = ref(0)
.list_item {
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #f5f5f5;
const nodeClick = (val) => {
console.log(val)
activeId.value = val.id
}
</style>
</script>
<style lang="scss" scoped></style>

1572
unpackage/dist/dev/app-plus/app-service.js vendored

File diff suppressed because it is too large Load Diff

65
unpackage/dist/dev/app-plus/app.css vendored

@ -1353,4 +1353,69 @@ uni-view[data-v-f631659b], uni-scroll-view[data-v-f631659b], uni-swiper-item[dat
}
.active[data-v-0b4fec55] {
transform: rotate(180deg);
}
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.tree_label[data-v-aed965e1] {
padding: 0.3125rem 1.25rem;
position: relative;
}
.tree_label.active[data-v-aed965e1] {
background-color: var(--subjectColor);
border-radius: 0.3125rem;
color: #fff;
}
.tree_label.active[data-v-aed965e1] .u-icon__icon {
color: #fff !important;
}
.tree_item[data-v-aed965e1] {
margin-top: 0.3125rem;
padding-left: 1.25rem;
}
.tree_item[data-v-aed965e1] {
display: grid;
grid-template-rows: 0fr;
transition: all 0.3s;
}
.tree_item > uni-view[data-v-aed965e1] {
min-height: 0;
overflow: hidden;
}
.tree_icon[data-v-aed965e1] {
position: absolute;
left: 0.15625rem;
top: 50%;
transform: translateY(-50%);
margin-right: 0.625rem;
transform-origin: center;
}
.tree_icon .icon[data-v-aed965e1] {
transition: all 0.3s;
transform: rotate(-90deg);
}
.tree_icon .down[data-v-aed965e1] {
transform: rotate(0deg);
}

22
unpackage/dist/dev/mp-weixin/api/user.js vendored

@ -1890,6 +1890,26 @@ function postFindStockList(data, loadingObj = {}) {
loadingObj
);
}
function postUnloadTrayAllOne(data, loadingObj = {}) {
return utils_request.service(
{
url: `logpm-trunkline/api/carsLoad/unloadTrayAllOne`,
method: "post",
data
},
loadingObj
);
}
function getCurrentTree(data, loadingObj = {}) {
return utils_request.service(
{
url: `blade-system/dept/currentTree`,
method: "get",
data
},
loadingObj
);
}
exports.$_initRetentionList = $_initRetentionList;
exports.$_retentionScan = $_retentionScan;
exports.$_retentionTrayScan = $_retentionTrayScan;
@ -1945,6 +1965,7 @@ exports.distributionStockupupdateStockArea = distributionStockupupdateStockArea;
exports.distributionTrayDetail = distributionTrayDetail;
exports.editPassword = editPassword;
exports.getBillladingList = getBillladingList;
exports.getCurrentTree = getCurrentTree;
exports.getMyWarehouseList = getMyWarehouseList;
exports.getTripartiteTransfer = getTripartiteTransfer;
exports.getWarehouseDeleteQuestDetail = getWarehouseDeleteQuestDetail;
@ -2000,6 +2021,7 @@ exports.postTransferUnloadPackage = postTransferUnloadPackage;
exports.postTransferUnloadTray = postTransferUnloadTray;
exports.postTransferUnloadZero = postTransferUnloadZero;
exports.postUnloadTray = postUnloadTray;
exports.postUnloadTrayAllOne = postUnloadTrayAllOne;
exports.postWarehouseTaskAddDataInfo = postWarehouseTaskAddDataInfo;
exports.postWarehouseTaskSelectPackageInfo = postWarehouseTaskSelectPackageInfo;
exports.postZeroStockUp = postZeroStockUp;

3
unpackage/dist/dev/mp-weixin/app.js vendored

@ -123,6 +123,7 @@ const PopUp = () => "./compoment/PopUp/PopUp.js";
const BluetoothList = () => "./compoment/BluetoothList/BluetoothList.js";
const ScrollList = () => "./compoment/ScrollList/ScrollList.js";
const PullDownBox = () => "./compoment/PullDownBox/PullDownBox.js";
const MyTree = () => "./compoment/MyTree/MyTree.js";
const saomiao1 = () => "./compoment/saomiao1.js";
const saomiao2 = () => "./compoment/saomiao2.js";
const saomiao3 = () => "./compoment/saomiao3.js";
@ -136,7 +137,7 @@ function createApp() {
app.use(store_index.store);
app.use(common_vendor.createPinia());
app.use(uni_modules_fantMiniPlus_index.fantMini);
app.component("saomiao", saomiao).component("tips", tips).component("tiplist", tiplist).component("saomiao1", saomiao1).component("saomiao2", saomiao2).component("saomiao3", saomiao3).component("saomiao4", saomiao4).component("InputNum", InputNum).component("BasicContainer", BasicContainer).component("PopUp", PopUp).component("BluetoothList", BluetoothList).component("ScrollList", ScrollList).component("PullDownBox", PullDownBox);
app.component("saomiao", saomiao).component("tips", tips).component("tiplist", tiplist).component("saomiao1", saomiao1).component("saomiao2", saomiao2).component("saomiao3", saomiao3).component("saomiao4", saomiao4).component("InputNum", InputNum).component("BasicContainer", BasicContainer).component("PopUp", PopUp).component("BluetoothList", BluetoothList).component("ScrollList", ScrollList).component("PullDownBox", PullDownBox).component("MyTree", MyTree);
common_vendor.index.$u.config.unit = "rpx";
return {
app,

1
unpackage/dist/dev/mp-weixin/app.json vendored

@ -162,6 +162,7 @@
"bluetooth-list": "/compoment/BluetoothList/BluetoothList",
"scroll-list": "/compoment/ScrollList/ScrollList",
"pull-down-box": "/compoment/PullDownBox/PullDownBox",
"my-tree": "/compoment/MyTree/MyTree",
"saomiao1": "/compoment/saomiao1",
"saomiao2": "/compoment/saomiao2",
"saomiao3": "/compoment/saomiao3",

2
unpackage/dist/dev/mp-weixin/config/host.js vendored

@ -1,5 +1,5 @@
"use strict";
const devhost = "http://192.168.3.12:13000/";
const devhost = "http://test.api.huo5you.com/";
const imghost = "";
const host = devhost;
const APPKEY = "h5u:h5u_secret";

197
unpackage/dist/dev/mp-weixin/pages/index/index.js vendored

@ -26,202 +26,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
const { HANDLE_GETSTORAGEINFO } = storageStore;
const { storageArr } = common_vendor.storeToRefs(storageStore);
const tip = common_vendor.ref(null);
let details = common_vendor.reactive({
tablist: [
{
type: 1,
name: "工作台",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "订单查询",
router: "/pagesHome/pages/orderInquiry/orderInquiry"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "库位查询",
router: "/pagesHome/pages/storageInquiry/storageInquiry"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "托盘查询",
router: "/pagesHome/pages/trayInquiry/trayInquiry"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "库存品查询",
router: "/pagesHome/pages/inventoryInquiry/inventoryInquiry"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "物料维护",
router: "/pagesHome/pages/MaterialMaintenance/MaterialMaintenance"
}
]
},
{
type: 1,
name: "入库",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "码板打托",
router: "/pagesHome/pages/codePlateBracket/codePlateBracket"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "入库扫描",
router: "/pagesHome/pages/TranNumber/TranNumber"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "到车入库",
router: "/pagesHome/pages/ArrivalList/ArrivalList"
}
]
},
{
type: 1,
name: "库内",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "分拣打托",
router: "/pagesHome/pages/scansorting/scansorting"
},
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '订单分拣',
// router: '/pagesHome/pages/ordersorting/ordersorting',
// },
// {
// icon: 'http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png',
// name: '库存品分拣',
// router: '/pagesHome/pages/lnventorysorting/lnventorysorting',
// },
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "扫码上架",
router: "/pagesHome/pages/ScanUpType/ScanUpType"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "手动上架",
router: "/pagesHome/pages/PeopleScanUpType/PeopleScanUpType"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "移库",
router: "/pagesHome/pages/RelocationType/RelocationType"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "滞留",
router: "/pagesHome/pages/Retention/Retention"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "合托",
router: "/pagesHome/pages/MergeTray/MergeTray"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "下架",
router: "/pagesHome/pages/DownGoodsType/DownGoodsType"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "空置托盘",
router: "/pagesHome/pages/RemoveTray/RemoveTray"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "复核",
router: "/pagesHome/pages/Check/Check"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "托盘数据同步",
router: "/pagesHome/pages/SearchTray/SearchTray"
}
]
},
{
type: 1,
name: "出库",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "拣货扫描",
router: "/pagesHome/pages/pickingScan/pickingScan"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "自提扫描",
router: "/pagesHome/pages/SelfPickupScan/SelfPickupScan"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "配载装车",
router: "/pagesHome/pages/StowageList/StowageList"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "中转装车",
router: "/pagesHome/pages/RelayScanList/RelayScanList"
}
]
},
{
type: 1,
name: "配送",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "装车扫描",
router: "/pagesHome/pages/LoadingScan/LoadingScan"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "签收扫描",
router: "/pagesHome/pages/signinScan/signinScan"
},
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "直发商家签收",
router: "/pagesHome/pages/directGoMarket/directGoMarket"
}
]
},
{
type: 1,
name: "离线上传",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "离线上传",
router: "/pagesHome/pages/OfflineUpload/OfflineUpload"
}
]
},
{
type: 1,
name: "考核",
minilist: [
{
icon: "http://htys.oss-cn-chengdu.aliyuncs.com/htys/afb031efec7d2f8620ee68c71f87a80e.png",
name: "考核指标",
router: "/pagesHome/pages/integral/integral"
},
{
icon: "http://8.137.14.82:9000/bladex/upload/20240117/fac9c4fd6c4f0bee599417fc8fbbee62.png",
name: "我的考核",
router: "/pagesHome/pages/integralMy/integralMy"
}
]
}
]
});
let details = common_vendor.reactive({ tablist: [] });
function gopathpage(path) {
common_vendor.index.navigateTo({
url: path

2
unpackage/dist/dev/mp-weixin/pagesHome/pages/setbarcode/setbarcode.wxml vendored

@ -1 +1 @@
<basic-container wx:if="{{m}}" class="r" u-s="{{['head','body']}}" u-r="basicContainer" u-i="592c6178-0" bind:__l="__l" u-p="{{m}}"><view slot="head"><view class="head"><view class="type1"><view>物品:<view style="color:#092C4D">{{a}}</view></view></view><view class="type1"><view>货位:<view style="color:#092C4D">{{b}}</view></view><view>SKU:<view style="color:#092C4D">{{c}}</view></view></view><view class="type1"><view>规格:<view style="color:#092C4D">{{d}}</view></view><view>单位:<view style="color:#092C4D">{{e}}</view></view></view><view class="type1"><view>计划数量:<view style="color:#092C4D">{{f}}</view></view><view>已扫数量:<view style="color:#092C4D">{{g}}</view></view></view></view><view class="butsbx"><view bindtap="{{h}}">采集原包条码</view><view bindtap="{{i}}">扫描打印包条</view><view bindtap="{{j}}">新生成包码</view></view></view><scroll-view scroll-y="true" class="scrollv" slot="body"><view class="mabxs"><view wx:for="{{k}}" wx:for-item="item" class="ite"><view><view>序号:{{item.a}}</view><view>作业时间:{{item.b}}</view></view><view><view>包条码:{{item.c}}</view><view></view></view><view><view>批次号:{{item.d}}</view><view></view></view></view></view></scroll-view></basic-container><tiplist class="r" u-r="tips" u-i="592c6178-1" bind:__l="__l"></tiplist><pop-up class="r" u-s="{{['d']}}" u-r="popUp_AddPrint" u-i="592c6178-2" bind:__l="__l"><view class=""> 计划件数: {{o}} 可用数量: {{p}}</view><input class="popUpInput" type="number" placeholder="新生成包条数量" value="{{q}}" bindinput="{{r}}"/></pop-up><pop-up class="r" u-s="{{['d']}}" u-r="popUp_Edit" u-i="592c6178-3" bind:__l="__l"><view class="popUp_Edit_text"> 检测当前批次和计划批次不同,是否切换批次 </view></pop-up><bluetooth-list class="r" u-r="bluetoothList" u-i="592c6178-4" bind:__l="__l"></bluetooth-list>
<basic-container wx:if="{{m}}" class="r" u-s="{{['head','body']}}" u-r="basicContainer" u-i="592c6178-0" bind:__l="__l" u-p="{{m}}"><view slot="head"><view class="head"><view class="type1"><view>物品:<view style="color:#092C4D">{{a}}</view></view></view><view class="type1"><view>货位:<view style="color:#092C4D">{{b}}</view></view><view>SKU:<view style="color:#092C4D">{{c}}</view></view></view><view class="type1"><view>规格:<view style="color:#092C4D">{{d}}</view></view><view>单位:<view style="color:#092C4D">{{e}}</view></view></view><view class="type1"><view>计划数量:<view style="color:#092C4D">{{f}}</view></view><view>已扫数量:<view style="color:#092C4D">{{g}}</view></view></view></view><view class="butsbx"><view bindtap="{{h}}">采集原包条码</view><view bindtap="{{i}}">扫描打印包条</view><view bindtap="{{j}}">新生成包码</view></view></view><scroll-view scroll-y="true" class="scrollv" slot="body"><view class="mabxs"><view wx:for="{{k}}" wx:for-item="item" class="ite"><view><view>序号:{{item.a}}</view><view>作业时间:{{item.b}}</view></view><view><view>包条码:{{item.c}}</view><view></view></view><view><view>批次号:{{item.d}}</view><view></view></view></view></view></scroll-view></basic-container><tiplist class="r" u-r="tips" u-i="592c6178-1" bind:__l="__l"></tiplist><pop-up class="r" u-s="{{['d']}}" u-r="popUp_AddPrint" u-i="592c6178-2" bind:__l="__l"><view class=""> 计划件数: {{o}} 可用数量: {{p}}</view><input class="popUpInput" type="number" placeholder="新生成包条数量" value="{{q}}" bindinput="{{r}}"/></pop-up><pop-up class="r" u-s="{{['d']}}" u-r="popUp_Edit" u-i="592c6178-3" bind:__l="__l"><view class="popUp_Edit_text"> 检测当前批次和计划批次不同,是否切换批次 </view></pop-up><bluetooth-list class="r" u-r="bluetoothList" u-i="592c6178-4" bind:__l="__l"></bluetooth-list>

7
unpackage/dist/dev/mp-weixin/project.config.json vendored

@ -13,16 +13,17 @@
"bigPackageSizeSupport": true,
"ignoreDevUnusedFiles": false,
"lazyCodeLoading": "requiredComponents",
"enhance": true,
"packNpmRelationList": [],
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"enhance": true
}
},
"compileType": "miniprogram",
"libVersion": "3.1.2",
"appid": "wxedb0d10ea46a0113",
"appid": "wx35c7fb77840097de",
"projectname": "货无忧",
"condition": {
"search": {

3
unpackage/dist/dev/mp-weixin/utils/request.js vendored

@ -122,11 +122,13 @@ const HandleRequest = (params, key, loadingObj) => {
if (res.statusCode == 200) {
let data = res.data;
if (data.code != 200 && (data == null ? void 0 : data.msg)) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: (data == null ? void 0 : data.msg) || "",
icon: "none"
});
} else if (data.audio) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: data.msg,
icon: "none"
@ -156,6 +158,7 @@ const HandleRequest = (params, key, loadingObj) => {
return;
} else if (res.statusCode == 401) {
if (isLogin) {
common_vendor.index.hideLoading();
return common_vendor.index.showToast({
title: "登录失败",
icon: "none"

Loading…
Cancel
Save