init project
This commit is contained in:
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
######################################################################
|
||||
# Build Tools
|
||||
|
||||
/unpackage/*
|
||||
/node_modules/*
|
||||
|
||||
######################################################################
|
||||
# Development Tools
|
||||
|
||||
/.idea/*
|
||||
/.vscode/*
|
||||
/.hbuilderx/*
|
||||
|
||||
50
App.vue
Normal file
50
App.vue
Normal file
@@ -0,0 +1,50 @@
|
||||
<script>
|
||||
import config from './config'
|
||||
import store from '@/store'
|
||||
import {
|
||||
getToken
|
||||
} from '@/utils/auth'
|
||||
|
||||
export default {
|
||||
onLaunch: function() {
|
||||
this.initApp()
|
||||
},
|
||||
methods: {
|
||||
// 初始化应用
|
||||
initApp() {
|
||||
// 初始化应用配置
|
||||
this.initConfig()
|
||||
// 检查用户登录状态
|
||||
//#ifdef H5
|
||||
this.checkLogin()
|
||||
//#endif
|
||||
},
|
||||
initConfig() {
|
||||
this.globalData.config = config;
|
||||
if (!uni.getStorageSync("base_url")) {
|
||||
uni.setStorage({
|
||||
key: 'base_url',
|
||||
data: config.baseUrl
|
||||
})
|
||||
}
|
||||
if (!uni.getStorageSync("wms_url")) {
|
||||
uni.setStorage({
|
||||
key: 'wms_url',
|
||||
data: config.wmsUrl
|
||||
})
|
||||
}
|
||||
},
|
||||
checkLogin() {
|
||||
if (!getToken()) {
|
||||
console.log(4);
|
||||
this.$tab.reLaunch('/pages/login')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import "@/static/scss/index.scss";
|
||||
@import "@/static/iconfont.css";
|
||||
</style>
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 若依
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
52
README.md
Normal file
52
README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
<p align="center">
|
||||
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-43e3941654fa3054c9684bf53d1b1d356a1.png">
|
||||
</p>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v1.0.0</h1>
|
||||
<h4 align="center">基于UniApp开发的轻量级移动端框架</h4>
|
||||
<p align="center">
|
||||
<a href="https://gitee.com/y_project/RuoYi-App/stargazers"><img src="https://gitee.com/y_project/RuoYi-App/badge/star.svg?theme=dark"></a>
|
||||
<a href="https://gitee.com/y_project/RuoYi-App"><img src="https://img.shields.io/badge/RuoYi-v1.0.0-brightgreen.svg"></a>
|
||||
<a href="https://gitee.com/y_project/RuoYi-App/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
|
||||
</p>
|
||||
|
||||
## 平台简介
|
||||
|
||||
RuoYi App 移动解决方案,采用uniapp框架,一份代码多终端适配,同时支持APP、小程序、H5!实现了与[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue)、[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)完美对接的移动解决方案!目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。
|
||||
|
||||
* 配套后端代码仓库地址[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 或 [RuoYi-Cloud](https://github.com/yangzongzhuan/RuoYi-Cloud) 版本。
|
||||
* 应用框架基于[uniapp](https://uniapp.dcloud.net.cn/),支持小程序、H5、Android和IOS。
|
||||
* 前端组件采用[uni-ui](https://github.com/dcloudio/uni-ui),全端兼容的高性能UI框架。
|
||||
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
|
||||
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
|
||||
|
||||
|
||||
## 技术文档
|
||||
|
||||
- 官网网站:[http://ruoyi.vip](http://ruoyi.vip)
|
||||
- 文档地址:[http://doc.ruoyi.vip](http://doc.ruoyi.vip)
|
||||
- H5页体验:[http://h5.ruoyi.vip](http://h5.ruoyi.vip)
|
||||
- QQ交流群: ①133713780
|
||||
- 小程序体验
|
||||
|
||||
<img src="https://oscimg.oschina.net/oscnet/up-26c76dc90b92acdbd9ac8cd5252f07c8ad9.jpg" alt="小程序演示"/>
|
||||
|
||||
|
||||
## 演示图
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-3ea20e447ac621a161e395fb53ccc683d84.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-a6f23cf9a371a30165e135eff6d9ae89a9d.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-ff5f62016bf6624c1ff27eee57499dccd44.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-b9a582fdb26ec69d407fabd044d2c8494df.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-96427ee08fca29d77934cfc8d1b1a637cef.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-5fdadc582d24cccd7727030d397b63185a3.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-0a36797b6bcc50c36d40c3c782665b89efc.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-d77995cc00687cedd00d5ac7d68a07ea276.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-fa8f5ab20becf59b4b38c1b92a9989e7109.png"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
3
androidPrivacy.json
Normal file
3
androidPrivacy.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"prompt" : "none"
|
||||
}
|
||||
161
api/basic/cutter.js
Normal file
161
api/basic/cutter.js
Normal file
@@ -0,0 +1,161 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询物料列表
|
||||
export function listMaterial(query) {
|
||||
return request({
|
||||
url: '/cutter/material/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询刀具实例列表
|
||||
export function listEntity(query) {
|
||||
return request({
|
||||
url: '/cutter/entity/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getEntity(id) {
|
||||
return request({
|
||||
url: '/cutter/entity/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询刀具使用记录列表
|
||||
export function listUseRecord(query) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询刀具使用记录详细
|
||||
export function getUseRecord(id) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增刀具使用记录
|
||||
export function addUseRecord(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改刀具使用记录
|
||||
export function updateUseRecord(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询设备管理列表
|
||||
export function listEquipment(query) {
|
||||
return request({
|
||||
url: '/basic/equipment/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 删除刀具使用记录
|
||||
export function delUseRecord(id) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增刀具上机记录
|
||||
export function addStartUse(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/start',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增刀具上机记录
|
||||
export function installShank(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/install/shank',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 更新刀具下机记录
|
||||
export function removeShank(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/remove/shank',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增刀刃上机记录
|
||||
export function installBlade(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/install/blade',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 更新刀具下机记录
|
||||
export function removeBlade(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/remove/blade',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新刀具下机记录
|
||||
export function updateEndUse(data) {
|
||||
return request({
|
||||
url: '/cutter/useRecord/end',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增刀柄刀刃解绑记录
|
||||
export function bindRecord(data) {
|
||||
return request({
|
||||
url: '/cutter/installRecord/bind',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改刀柄刀刃解绑记录
|
||||
export function unbindRecord(data) {
|
||||
return request({
|
||||
url: '/cutter/installRecord/unbind',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询刀具安装记录列表
|
||||
export function listInstallRecord(query) {
|
||||
return request({
|
||||
url: '/cutter/installRecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
44
api/basic/department.js
Normal file
44
api/basic/department.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询部门管理列表
|
||||
export function listDepartment(query) {
|
||||
return request({
|
||||
url: '/basic/department/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询部门管理详细
|
||||
export function getDepartment(id) {
|
||||
return request({
|
||||
url: '/basic/department/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增部门管理
|
||||
export function addDepartment(data) {
|
||||
return request({
|
||||
url: '/basic/department',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改部门管理
|
||||
export function updateDepartment(data) {
|
||||
return request({
|
||||
url: '/basic/department',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除部门管理
|
||||
export function delDepartment(id) {
|
||||
return request({
|
||||
url: '/basic/department/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
28
api/basic/empEqpHistory.js
Normal file
28
api/basic/empEqpHistory.js
Normal file
@@ -0,0 +1,28 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//添加员工上机记录,data内填写json格式{"empCode":"员工编码","eqpCode":"设备编码"}
|
||||
export function addStart(data) {
|
||||
return request({
|
||||
url: '/basic/empEqpHistory/start',
|
||||
method: 'post',
|
||||
data:data
|
||||
})
|
||||
}
|
||||
|
||||
//添加员工下机记录,data内填写json格式{"empCode":"员工编码","eqpCode":"设备编码"}
|
||||
export function addEnd(data) {
|
||||
return request({
|
||||
url: '/basic/empEqpHistory/end',
|
||||
method: 'put',
|
||||
data:data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询人员上机历史列表
|
||||
export function listEmpEqpHistory(query) {
|
||||
return request({
|
||||
url: '/basic/empEqpHistory/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
62
api/basic/unit.js
Normal file
62
api/basic/unit.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询单位管理列表
|
||||
export function listUnit(query) {
|
||||
return request({
|
||||
url: '/basic/unit/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询单位管理详细
|
||||
export function getUnit(id) {
|
||||
return request({
|
||||
url: '/basic/unit/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增单位管理
|
||||
export function addUnit(data) {
|
||||
return request({
|
||||
url: '/basic/unit',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改单位管理
|
||||
export function updateUnit(data) {
|
||||
return request({
|
||||
url: '/basic/unit',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除单位管理
|
||||
export function delUnit(id) {
|
||||
return request({
|
||||
url: '/basic/unit/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询可转换计量单位列表
|
||||
export function listUnitConvertible(query) {
|
||||
return request({
|
||||
url: '/basic/unit/listUnitConvertible',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 单位数量转换
|
||||
export function convertBySecondUnitOrNum(query) {
|
||||
return request({
|
||||
url: '/basic/unit/convertBySecondUnitOrNum',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
55
api/esop/esop.js
Normal file
55
api/esop/esop.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function updatePwo(data){
|
||||
return request({
|
||||
url: '/mes/pwo',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function addCustomizeEsop(data){
|
||||
return request({
|
||||
url:'/esop/customizeEsop',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询产线实例列表
|
||||
export function listProLine(query) {
|
||||
return request({
|
||||
url: '/basic/proLine/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产工单列表
|
||||
export function listPwo(query) {
|
||||
return request({
|
||||
url: '/mes/pwo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询工位列表
|
||||
export function listStation(query) {
|
||||
return request({
|
||||
url: '/basic/station/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产工单作业列表
|
||||
export function listPwoJob(query) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
47
api/login.js
Normal file
47
api/login.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 登录方法
|
||||
export function login(username, password, code, uuid) {
|
||||
const data = {
|
||||
username,
|
||||
password,
|
||||
code,
|
||||
uuid
|
||||
}
|
||||
return request({
|
||||
'url': '/login',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
'method': 'post',
|
||||
'data': data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户详细信息
|
||||
export function getInfo() {
|
||||
return request({
|
||||
'url': '/getInfo',
|
||||
'method': 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 退出方法
|
||||
export function logout() {
|
||||
return request({
|
||||
'url': '/logout',
|
||||
'method': 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getCodeImg() {
|
||||
return request({
|
||||
'url': '/captchaImage',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'get',
|
||||
timeout: 20000
|
||||
})
|
||||
}
|
||||
116
api/mes/jobIn.js
Normal file
116
api/mes/jobIn.js
Normal file
@@ -0,0 +1,116 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function handleConvert(id) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/convert/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function getEquipment(id) {
|
||||
return request({
|
||||
url: '/basic/equipment/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询车间物料转移单详细
|
||||
export function getConversion(id) {
|
||||
return request({
|
||||
url: '/mes/conversion/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//计算工单已领料各物料总数
|
||||
export function calculateCvTotalNum(data) {
|
||||
return request({
|
||||
url: '/mes/conversion/calculateCvTotalNum',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 查询车间物料转移单列表
|
||||
export function listConversion(query) {
|
||||
return request({
|
||||
url: '/mes/conversion/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addConversion(data) {
|
||||
return request({
|
||||
url: '/mes/conversion',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询人员上机历史列表
|
||||
export function listEmpEqpHistory(query) {
|
||||
return request({
|
||||
url: '/basic/empEqpHistory/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询员工管理列表
|
||||
export function listEmployee(query) {
|
||||
return request({
|
||||
url: '/basic/employee/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 作业开工
|
||||
export function pwoStart(id, date) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/start/' + id + '/' + date,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
||||
// 作业暂停
|
||||
export function pwoStop(id, date) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/stop/' + id + '/' + date,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取近7天新建的工单状态 */
|
||||
export function getPwoStatus() {
|
||||
return request({
|
||||
url: '/report/mes/pwo/pwoStatus',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取开屏首页生产报表数据 */
|
||||
export function getProduceReport() {
|
||||
return request({
|
||||
url: '/report/mes/pwo/product',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 查询报工率
|
||||
export function reportRate(query) {
|
||||
return request({
|
||||
url: '/report/mes/pwo/reportRate',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取近7天新建的工单状态 */
|
||||
export function getWeekReport() {
|
||||
return request({
|
||||
url: '/report/mes/pwo/weekReport',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
120
api/mes/jobReport.js
Normal file
120
api/mes/jobReport.js
Normal file
@@ -0,0 +1,120 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function addReportOnce(data) {
|
||||
return request({
|
||||
url: '/mes/report/addOnce',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function listPwoJob(query) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function addReport(data) {
|
||||
return request({
|
||||
url: '/mes/report',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function pieceReport(pieceNo, mesJobReport) {
|
||||
return request({
|
||||
url: '/mes/report/pieceReport/' + pieceNo,
|
||||
method: 'post',
|
||||
data: mesJobReport
|
||||
})
|
||||
}
|
||||
|
||||
export function addPiece(pieceNo) {
|
||||
return request({
|
||||
url: '/mes/conversion/addPiece',
|
||||
method: 'post',
|
||||
data: pieceNo
|
||||
})
|
||||
}
|
||||
|
||||
export function getEquipment(id) {
|
||||
return request({
|
||||
url: '/basic/equipment/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function listEquipment(query) {
|
||||
return request({
|
||||
url: '/basic/equipment/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
//查询作业根据id,如作业编码为JOB1000020,那么id就为20;
|
||||
// 查询生产工单作业详细
|
||||
export function getPwoJob(id) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
//修改作业绑定设备必须需要上传作业的id,eqpId;
|
||||
// 修改生产工单作业
|
||||
export function updatePwoJob(data) {
|
||||
return request({
|
||||
url: '/mes/pwoJob',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 工单报工
|
||||
export function pwoReport(data) {
|
||||
return request({
|
||||
url: '/mes/pwoReport/pwoReport',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 添加件号报工录入
|
||||
export function addReportEnterPiece(data) {
|
||||
return request({
|
||||
url: '/mes/report/enterPiece',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 添加流水线报工
|
||||
export function addPipelineReport(data) {
|
||||
return request({
|
||||
url: '/mes/report/addPipeline',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询作业报工详细
|
||||
export function getReport(id) {
|
||||
return request({
|
||||
url: '/mes/report/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function confirmReport(mesJobReportCode) {
|
||||
return request({
|
||||
url: '/mes/report/confirmReport',
|
||||
method: 'post',
|
||||
data: mesJobReportCode
|
||||
})
|
||||
}
|
||||
98
api/mes/material.js
Normal file
98
api/mes/material.js
Normal file
@@ -0,0 +1,98 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询物料列表
|
||||
export function listMaterial(query) {
|
||||
return request({
|
||||
url: '/mm/material/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function advListMaterial(query) {
|
||||
return request({
|
||||
url: '/mm/material/advList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getSimpleProductList() {
|
||||
return request({
|
||||
url: '/mm/material/getSimpleProductList',
|
||||
methods: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询物料详细
|
||||
export function getMaterial(materialId) {
|
||||
return request({
|
||||
url: '/mm/material/' + materialId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getMatByCode(code) {
|
||||
return request({
|
||||
url: '/mm/material/getMatByCode/' + code,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function importTemplate() {
|
||||
return request({
|
||||
url: '/mm/material/importTemplate',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增物料
|
||||
export function addMaterial(data) {
|
||||
return request({
|
||||
url: '/mm/material',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改物料
|
||||
export function updateMaterial(data) {
|
||||
return request({
|
||||
url: '/mm/material',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除物料
|
||||
export function delMaterial(materialId) {
|
||||
return request({
|
||||
url: '/mm/material/' + materialId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 刷新产品获取
|
||||
export function reloadPoMat() {
|
||||
return request({
|
||||
url: '/mm/material/reloadPoMat',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 打印物料标签
|
||||
export function mergePrintPdfs(data) {
|
||||
return request({
|
||||
url: '/mm/material/mergePrintPdfs',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//同步U9物料信息
|
||||
export function getU9Material() {
|
||||
return request({
|
||||
url: '/mm/material/getU9Material',
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
71
api/mes/mesJobSingleReportSign.js
Normal file
71
api/mes/mesJobSingleReportSign.js
Normal file
@@ -0,0 +1,71 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询单次报工标识记录列表
|
||||
export function listMesJobSingleReportSign(query) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 高级查询单次报工标识记录列表
|
||||
export function advListMesJobSingleReportSign(query) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/advList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询单次报工标识记录详细
|
||||
export function getMesJobSingleReportSign(id) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增单次报工标识记录
|
||||
export function addMesJobSingleReportSign(data) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function reportConfirm(data) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/reportConfirm/' + data,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
export function qualityConfirm(data) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/qualityConfirm/' + data,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
export function whInConfirm(data) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/whInConfirm/' + data,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 修改单次报工标识记录
|
||||
export function updateMesJobSingleReportSign(data) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除单次报工标识记录
|
||||
export function delMesJobSingleReportSign(id) {
|
||||
return request({
|
||||
url: '/mes/mesJobSingleReportSign/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/mes/mesPwoRecordDetail.js
Normal file
44
api/mes/mesPwoRecordDetail.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工单记录单明细列表
|
||||
export function listMesPwoRecordDetail(query) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工单记录单明细详细
|
||||
export function getMesPwoRecordDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工单记录单明细
|
||||
export function addMesPwoRecordDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工单记录单明细
|
||||
export function updateMesPwoRecordDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工单记录单明细
|
||||
export function delMesPwoRecordDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordDetail/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/mes/mesPwoRecordrecord.js
Normal file
44
api/mes/mesPwoRecordrecord.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工单记录单编码列表
|
||||
export function listMesPwoRecordrecord(query) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordrecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工单记录单编码详细
|
||||
export function getMesPwoRecordrecord(id) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordrecord/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工单记录单编码
|
||||
export function addMesPwoRecordrecord(data) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordrecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工单记录单编码
|
||||
export function updateMesPwoRecordrecord(data) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordrecord',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工单记录单编码
|
||||
export function delMesPwoRecordrecord(id) {
|
||||
return request({
|
||||
url: '/mes/mesPwoRecordrecord/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
53
api/mes/mouldShareGroup.js
Normal file
53
api/mes/mouldShareGroup.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询模具实例管理列表
|
||||
export function listMould(query) {
|
||||
return request({
|
||||
url: '/tpmMould/mould/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询共模作业组列表
|
||||
export function listMesMouldShareGroup(query) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroup/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询共模作业组详细
|
||||
export function getMesMouldShareGroup(id) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroup/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增共模作业组
|
||||
export function addMesMouldShareGroup(data) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroup',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改共模作业组
|
||||
export function updateMesMouldShareGroup(data) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroup',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除共模作业组
|
||||
export function delMesMouldShareGroup(id) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroup/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/mes/mouldShareGroupDetail.js
Normal file
44
api/mes/mouldShareGroupDetail.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询共模作业组明细列表
|
||||
export function listMesMouldShareGroupDetail(query) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroupDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询共模作业组明细详细
|
||||
export function getMesMouldShareGroupDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroupDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增共模作业组明细
|
||||
export function addMesMouldShareGroupDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroupDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改共模作业组明细
|
||||
export function updateMesMouldShareGroupDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroupDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除共模作业组明细
|
||||
export function delMesMouldShareGroupDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesMouldShareGroupDetail/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/mes/productSuit.js
Normal file
44
api/mes/productSuit.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询产品套装列表
|
||||
export function listMesProductSuit(query) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuit/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品套装详细
|
||||
export function getMesProductSuit(id) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuit/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增产品套装
|
||||
export function addMesProductSuit(data) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuit',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品套装
|
||||
export function updateMesProductSuit(data) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuit',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除产品套装
|
||||
export function delMesProductSuit(id) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuit/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/mes/productSuitDetail.js
Normal file
44
api/mes/productSuitDetail.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询产品套装明细列表
|
||||
export function listMesProductSuitDetail(query) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuitDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品套装明细详细
|
||||
export function getMesProductSuitDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuitDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增产品套装明细
|
||||
export function addMesProductSuitDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuitDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品套装明细
|
||||
export function updateMesProductSuitDetail(data) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuitDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除产品套装明细
|
||||
export function delMesProductSuitDetail(id) {
|
||||
return request({
|
||||
url: '/mes/mesProductSuitDetail/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
91
api/mes/pwoDraw.js
Normal file
91
api/mes/pwoDraw.js
Normal file
@@ -0,0 +1,91 @@
|
||||
import wmsRequest from '@/utils/wms-request'
|
||||
import request from '@/utils/request'
|
||||
|
||||
|
||||
|
||||
export function getDrawMat(data) {
|
||||
return wmsRequest({
|
||||
url: '/produce/draw/task/getDrawMat',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function addConversion(data) {
|
||||
return request({
|
||||
url: '/mes/conversion',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产工单列表
|
||||
export function listPwo(query) {
|
||||
return request({
|
||||
url: '/mes/pwo/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产工单详细
|
||||
export function getPwo(id) {
|
||||
return request({
|
||||
url: '/mes/pwo/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产订单列表
|
||||
export function listPo(query) {
|
||||
return request({
|
||||
url: '/mes/po/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询作业报工列表
|
||||
export function listReport(query) {
|
||||
return request({
|
||||
url: '/mes/report/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
//工单入库
|
||||
export function handleIn(id, whCode, stockWhList) {
|
||||
return request({
|
||||
url: '/mes/pwo/warehouseInGet/' + id + '/' + whCode,
|
||||
method: 'post',
|
||||
data: stockWhList
|
||||
})
|
||||
}
|
||||
|
||||
//工单关闭
|
||||
export function pwoAtificialClose(data) {
|
||||
return request({
|
||||
url: '/mes/pwo/pwoAtificialClose',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询报工率
|
||||
export function reportRate(query) {
|
||||
return request({
|
||||
url: '/report/mes/pwo/reportRate',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function listCirculateBalance(data) {
|
||||
return request({
|
||||
url: '/mes/pwoJob/listCirculateBalance',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
36
api/mes/pwoIn.js
Normal file
36
api/mes/pwoIn.js
Normal file
@@ -0,0 +1,36 @@
|
||||
import wmsRequest from '@/utils/wms-request'
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function getInMat(data) {
|
||||
return wmsRequest({
|
||||
url: '/produce/product/task/getMatDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function addConversion(data) {
|
||||
return request({
|
||||
url: '/mes/conversion',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询物料库存信息列表
|
||||
export function listStock(query) {
|
||||
return request({
|
||||
url: '/mes/stock/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function customizeConvert(data) {
|
||||
return request({
|
||||
url: '/produce/transfer/customizeConvert',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
51
api/qc/ppom.js
Normal file
51
api/qc/ppom.js
Normal file
@@ -0,0 +1,51 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询计划制造工艺PBOM列表
|
||||
export function listPbom(query) {
|
||||
return request({
|
||||
url: '/mm/ppbom/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询计划制造工艺PBOM详细
|
||||
export function getPbom(id) {
|
||||
return request({
|
||||
url: '/mm/ppbom/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增计划制造工艺PBOM
|
||||
export function addPbom(data) {
|
||||
return request({
|
||||
url: '/mm/ppbom',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改计划制造工艺PBOM
|
||||
export function updatePbom(data) {
|
||||
return request({
|
||||
url: '/mm/ppbom',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除计划制造工艺PBOM
|
||||
export function delPbom(id) {
|
||||
return request({
|
||||
url: '/mm/ppbom/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function importTemplate() {
|
||||
return request({
|
||||
url: "/mm/ppbom/importTemplate",
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
171
api/qc/qc.js
Normal file
171
api/qc/qc.js
Normal file
@@ -0,0 +1,171 @@
|
||||
import request from '@/utils/request'
|
||||
import upload from '@/utils/upload'
|
||||
|
||||
export function uploadImage(data) {
|
||||
return upload({
|
||||
url: '/common/upload',
|
||||
filePath: data.filePath
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检单列表
|
||||
export function listQualityBill(query) {
|
||||
return request({
|
||||
url: '/quality/qualityBill/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检单详细
|
||||
export function getQualityBill(id) {
|
||||
return request({
|
||||
url: '/quality/qualityBill/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增质检单
|
||||
export function addQualityBill(data) {
|
||||
return request({
|
||||
url: '/quality/qualityBill',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改质检单
|
||||
export function updateQualityBill(data) {
|
||||
return request({
|
||||
url: '/quality/qualityBill',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除质检单
|
||||
export function delQualityBill(id) {
|
||||
return request({
|
||||
url: '/quality/qualityBill/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function listQualityBillByBatchNo(batchNo) {
|
||||
return request({
|
||||
url: '/quality/qualityBill/listByBatchNo/' + batchNo,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检记录单列表
|
||||
export function listQualityHistory(query) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检记录单详细
|
||||
export function getQualityHistory(id) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增质检记录单
|
||||
export function addQualityHistory(data) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改质检记录单
|
||||
export function updateQualityHistory(data) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除质检记录单
|
||||
export function delQualityHistory(id) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// export function addQualityHistoryList(data) {
|
||||
// return request({
|
||||
// url: '/quality/qualityHistory/detail',
|
||||
// method: 'post',
|
||||
// data: data
|
||||
// })
|
||||
// }
|
||||
export function addQualityHistoryList(data, detailId) {
|
||||
return request({
|
||||
url: '/quality/qualityHistory/detail',
|
||||
method: 'post',
|
||||
data: data,
|
||||
params: {
|
||||
detailId: detailId
|
||||
}
|
||||
})
|
||||
}
|
||||
// 查询质检标准列列表
|
||||
export function listStandardList(query) {
|
||||
return request({
|
||||
url: '/quality/standardList/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检标准列详细
|
||||
export function getStandardList(id) {
|
||||
return request({
|
||||
url: '/quality/standardList/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增质检标准列
|
||||
export function addStandardList(data) {
|
||||
return request({
|
||||
url: '/quality/standardList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改质检标准列
|
||||
export function updateStandardList(data) {
|
||||
return request({
|
||||
url: '/quality/standardList',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除质检标准列
|
||||
export function delStandardList(id) {
|
||||
return request({
|
||||
url: '/quality/standardList/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询质检标准应用列表
|
||||
export function listStandardApply(query) {
|
||||
return request({
|
||||
url: '/quality/standardApply/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
10
api/retrospect/retrospect.js
Normal file
10
api/retrospect/retrospect.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
|
||||
export function getPieceNoJob(pieceNo) {
|
||||
return request({
|
||||
url: '/mes/retrospect/getPieceNoJob',
|
||||
method: 'post',
|
||||
data: pieceNo
|
||||
})
|
||||
}
|
||||
47
api/srm/antiCrossCargo.js
Normal file
47
api/srm/antiCrossCargo.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询客户列表
|
||||
export function listCustomer(query) {
|
||||
return request({
|
||||
url: '/basic/customer/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询客户详细
|
||||
export function getCustomer(id) {
|
||||
return request({
|
||||
url: '/basic/customer/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
// 新增经销商防串货登记
|
||||
export function addAntiChannelRecord(data) {
|
||||
return request({
|
||||
url: '/basic/antiChannelRecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
let data = {
|
||||
pieceNo : '325423w32r4dw23-0001-2'
|
||||
}
|
||||
// 防串货查询
|
||||
export function handleQuery(ACno) {
|
||||
return request({
|
||||
url: '/basic/antiChannelRecord/handleQuery',
|
||||
method: 'post',
|
||||
data: ACno
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//防串货检索信息 code分别为批号、箱号、件号 其中type:1:批号;2:箱号,3:件号
|
||||
export function searchByCode(code,type) {
|
||||
return request({
|
||||
url: '/mes/stockPiece/searchByCode/'+code+'/'+type,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
60
api/system/config.js
Normal file
60
api/system/config.js
Normal file
@@ -0,0 +1,60 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询参数列表
|
||||
export function listConfig(query) {
|
||||
return request({
|
||||
url: '/system/config/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询参数详细
|
||||
export function getConfig(configId) {
|
||||
return request({
|
||||
url: '/system/config/' + configId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 根据参数键名查询参数值
|
||||
export function getConfigKey(configKey) {
|
||||
return request({
|
||||
url: '/system/config/configKey/' + configKey,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增参数配置
|
||||
export function addConfig(data) {
|
||||
return request({
|
||||
url: '/system/config',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改参数配置
|
||||
export function updateConfig(data) {
|
||||
return request({
|
||||
url: '/system/config',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除参数配置
|
||||
export function delConfig(configId) {
|
||||
return request({
|
||||
url: '/system/config/' + configId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 刷新参数缓存
|
||||
export function refreshCache() {
|
||||
return request({
|
||||
url: '/system/config/refreshCache',
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
9
api/system/dict/dictData.js
Normal file
9
api/system/dict/dictData.js
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 根据字典类型查询字典数据信息
|
||||
export function getDicts(dictType) {
|
||||
return request({
|
||||
url: '/system/dict/data/type/' + dictType,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
41
api/system/user.js
Normal file
41
api/system/user.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import upload from '@/utils/upload'
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 用户密码重置
|
||||
export function updateUserPwd(oldPassword, newPassword) {
|
||||
const data = {
|
||||
oldPassword,
|
||||
newPassword
|
||||
}
|
||||
return request({
|
||||
url: '/system/user/profile/updatePwd',
|
||||
method: 'put',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询用户个人信息
|
||||
export function getUserProfile() {
|
||||
return request({
|
||||
url: '/system/user/profile',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 修改用户个人信息
|
||||
export function updateUserProfile(data) {
|
||||
return request({
|
||||
url: '/system/user/profile',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 用户头像上传
|
||||
export function uploadAvatar(data) {
|
||||
return upload({
|
||||
url: '/system/user/profile/avatar',
|
||||
name: data.name,
|
||||
filePath: data.filePath
|
||||
})
|
||||
}
|
||||
89
api/tpm/checkTaskItem.js
Normal file
89
api/tpm/checkTaskItem.js
Normal file
@@ -0,0 +1,89 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询点检任务明细列表
|
||||
export function listTaskItem(query) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询点检任务明细详细
|
||||
export function getTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增点检任务明细
|
||||
export function addTaskItem(data) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改点检任务明细
|
||||
export function updateTaskItem(data) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除点检任务明细
|
||||
export function delTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 完成任务明细
|
||||
export function finishCheckTaskItem(ids) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/finish',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 完成任务明细项
|
||||
export function finishCheckTaskItemDetail(ids) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/finishDetail',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 报修任务明细项
|
||||
export function repairCheckTaskItemDetail(ids) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/repairDetail',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 修改点检计划明细,不带明细项
|
||||
export function tpmCheckTaskEditemOnly(data) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/editItemOnly',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询人员编码
|
||||
export function listEmployee(query) {
|
||||
return request({
|
||||
url: '/basic/employee/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
69
api/tpm/index.js
Normal file
69
api/tpm/index.js
Normal file
@@ -0,0 +1,69 @@
|
||||
import request from '@/utils/request'
|
||||
// 查询设备管理列表
|
||||
export function listEquipment(query) {
|
||||
return request({
|
||||
url: '/basic/equipment/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 修改设备管理
|
||||
export function updateEquipment(data) {
|
||||
return request({
|
||||
url: '/basic/equipment',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function listMaintainTaskItem(query) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询保养任务明细详细
|
||||
export function getMaintainTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询点检任务明细列表
|
||||
export function listCheckTaskItem(query) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询点检任务明细详细
|
||||
export function getCheckTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/check/taskItem/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询故障项目列表
|
||||
export function listBreakdown(query) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询故障项目详细
|
||||
export function getBreakdown(id) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
53
api/tpm/maintainTaskItem.js
Normal file
53
api/tpm/maintainTaskItem.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询保养任务明细列表
|
||||
export function listTaskItem(query) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询保养任务明细详细
|
||||
export function getTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增保养任务明细
|
||||
export function addTaskItem(data) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改保养任务明细
|
||||
export function updateTaskItem(data) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除保养任务明细
|
||||
export function delTaskItem(id) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 完成任务明细
|
||||
export function finishMaintainTaskItem(ids) {
|
||||
return request({
|
||||
url: '/tpm/maintain/taskItem/finish',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
44
api/tpm/repairBreakdown.js
Normal file
44
api/tpm/repairBreakdown.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询故障项目列表
|
||||
export function listBreakdown(query) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询故障项目详细
|
||||
export function getBreakdown(id) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增故障项目
|
||||
export function addBreakdown(data) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改故障项目
|
||||
export function updateBreakdown(data) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除故障项目
|
||||
export function delBreakdown(id) {
|
||||
return request({
|
||||
url: '/tpm/repair/breakdown/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
api/tpm/repairTask.js
Normal file
44
api/tpm/repairTask.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询任务列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/tpm/repair/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询任务详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/tpm/repair/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增任务
|
||||
export function addTask(data) {
|
||||
return request({
|
||||
url: '/tpm/repair/task',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改任务
|
||||
export function updateTask(data) {
|
||||
return request({
|
||||
url: '/tpm/repair/task',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除任务
|
||||
export function delTask(id) {
|
||||
return request({
|
||||
url: '/tpm/repair/task/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
53
api/tpmMould/breakdown.js
Normal file
53
api/tpmMould/breakdown.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询维修故障列表
|
||||
export function listBreakdown(query) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询维修故障详细
|
||||
export function getBreakdown(id) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增维修故障
|
||||
export function addBreakdown(data) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改维修故障
|
||||
export function updateBreakdown(data) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除维修故障
|
||||
export function delBreakdown(id) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 完成维修故障
|
||||
export function finishBreakdown(ids) {
|
||||
return request({
|
||||
url: '/tpmMould/breakdown/finish',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
44
api/tpmMould/mould.js
Normal file
44
api/tpmMould/mould.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询模具实例管理列表
|
||||
export function listMould(query) {
|
||||
return request({
|
||||
url: '/tpmMould/mould/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询模具实例管理详细
|
||||
export function getMould(id) {
|
||||
return request({
|
||||
url: '/tpmMould/mould/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增模具实例管理
|
||||
export function addMould(data) {
|
||||
return request({
|
||||
url: '/tpmMould/mould',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改模具实例管理
|
||||
export function updateMould(data) {
|
||||
return request({
|
||||
url: '/tpmMould/mould',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除模具实例管理
|
||||
export function delMould(id) {
|
||||
return request({
|
||||
url: '/tpmMould/mould/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
53
api/tpmMould/repairTask.js
Normal file
53
api/tpmMould/repairTask.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询维修任务列表
|
||||
export function listRepairTask(query) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询维修任务详细
|
||||
export function getRepairTask(id) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增维修任务
|
||||
export function addRepairTask(data) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改维修任务
|
||||
export function updateRepairTask(data) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除维修任务
|
||||
export function delRepairTask(id) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 完成维修任务
|
||||
export function finishRepairTask(ids) {
|
||||
return request({
|
||||
url: '/tpmMould/repairTask/finish',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
99
api/tpmMould/useRecord.js
Normal file
99
api/tpmMould/useRecord.js
Normal file
@@ -0,0 +1,99 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询上机列表
|
||||
export function listUseRecord(query) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询上机详细
|
||||
export function getUseRecord(id) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增上机
|
||||
export function addUseRecord(data) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改上机
|
||||
export function updateUseRecord(data) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除上机
|
||||
export function delUseRecord(id) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 夹具上机
|
||||
export function bindMould(data) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/bind',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 夹具下机
|
||||
export function unbindMould(data) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/unbind',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//上模完成
|
||||
export function endInstall(ids) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/endInstall',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
//下模开始
|
||||
export function startRemove(data) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/startRemove',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//下模完成
|
||||
export function endRemove(ids) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/endRemove',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 查询可用上机列表
|
||||
export function listUseRecordAvailable(query) {
|
||||
return request({
|
||||
url: '/tpmMould/useRecord/listAvailable',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
53
api/wms/area.js
Normal file
53
api/wms/area.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询库区列表
|
||||
export function listArea(query) {
|
||||
return request({
|
||||
url: '/basic/area/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询库区详细
|
||||
export function getArea(id) {
|
||||
return request({
|
||||
url: '/basic/area/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增库区
|
||||
export function addArea(data) {
|
||||
return request({
|
||||
url: '/basic/area',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改库区
|
||||
export function updateArea(data) {
|
||||
return request({
|
||||
url: '/basic/area',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除库区
|
||||
export function delArea(id) {
|
||||
return request({
|
||||
url: '/basic/area/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出库区
|
||||
export function exportArea(query) {
|
||||
return request({
|
||||
url: '/basic/area/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
89
api/wms/invQuick.js
Normal file
89
api/wms/invQuick.js
Normal file
@@ -0,0 +1,89 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询快速盘点列表
|
||||
export function listInvQuick(query) {
|
||||
return request({
|
||||
url: '/stock/invQuick/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 高级查询快速盘点列表
|
||||
export function advListInvQuick(query) {
|
||||
return request({
|
||||
url: '/stock/invQuick/advList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询快速盘点详细
|
||||
export function getInvQuick(id) {
|
||||
return request({
|
||||
url: '/stock/invQuick/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增快速盘点
|
||||
export function addInvQuick(data) {
|
||||
return request({
|
||||
url: '/stock/invQuick',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改快速盘点
|
||||
export function updateInvQuick(data) {
|
||||
return request({
|
||||
url: '/stock/invQuick',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除快速盘点
|
||||
export function delInvQuick(id) {
|
||||
return request({
|
||||
url: '/stock/invQuick/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询快速盘点库存信息
|
||||
export function listQuickInvStockInfo(query) {
|
||||
return request({
|
||||
url: '/stock/invQuick/listQuickInvStockInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 快速盘点更新库存
|
||||
export function invQuickUpdateStock(data) {
|
||||
return request({
|
||||
url: '/stock/invQuick/invQuickUpdateStock',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 期初快速盘点库存信息
|
||||
export function listPreInvStockInfo(query) {
|
||||
return request({
|
||||
url: '/stock/invQuick/listPreInvStockInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 期初快速盘点更新库存
|
||||
export function preInvUpdateStock(data) {
|
||||
return request({
|
||||
url: '/stock/invQuick/preInvUpdateStock',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
88
api/wms/inventory.js
Normal file
88
api/wms/inventory.js
Normal file
@@ -0,0 +1,88 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询仓库物料盘点单列表
|
||||
export function listInv(query) {
|
||||
return request({
|
||||
url: '/stock/inv/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询仓库物料盘点单详细
|
||||
export function getInv(id) {
|
||||
return request({
|
||||
url: '/stock/inv/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增仓库物料盘点单
|
||||
export function addInv(data) {
|
||||
return request({
|
||||
url: '/stock/inv',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改仓库物料盘点单
|
||||
export function updateInv(data) {
|
||||
return request({
|
||||
url: '/stock/inv',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除仓库物料盘点单
|
||||
export function delInv(id) {
|
||||
return request({
|
||||
url: '/stock/inv/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询仓库物料盘点单汇总列表
|
||||
export function listInvDetail(query) {
|
||||
return request({
|
||||
url: '/stock/invDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询仓库物料盘点单汇总详细
|
||||
export function getInvDetail(id) {
|
||||
return request({
|
||||
url: '/stock/invDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增仓库物料盘点单汇总
|
||||
export function addInvDetail(data) {
|
||||
return request({
|
||||
url: '/stock/invDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改仓库物料盘点单汇总
|
||||
export function updateInvDetail(data) {
|
||||
return request({
|
||||
url: '/stock/invDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除仓库物料盘点单汇总
|
||||
export function delInvDetail(id) {
|
||||
return request({
|
||||
url: '/stock/invDetail/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
61
api/wms/location.js
Normal file
61
api/wms/location.js
Normal file
@@ -0,0 +1,61 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询库位列表
|
||||
export function listLocation(query) {
|
||||
return request({
|
||||
url: '/basic/location/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询库位详细
|
||||
export function getLocation(id) {
|
||||
return request({
|
||||
url: '/basic/location/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增库位
|
||||
export function addLocation(data) {
|
||||
return request({
|
||||
url: '/basic/location',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改库位
|
||||
export function updateLocation(data) {
|
||||
return request({
|
||||
url: '/basic/location',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除库位
|
||||
export function delLocation(id) {
|
||||
return request({
|
||||
url: '/basic/location/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出库位
|
||||
export function exportLocation(query) {
|
||||
return request({
|
||||
url: '/basic/location/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function printStorageLocs(data) {
|
||||
return request({
|
||||
url: '/basic/location/mergePrintPdfs',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
109
api/wms/pdcBack/in.js
Normal file
109
api/wms/pdcBack/in.js
Normal file
@@ -0,0 +1,109 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询退料入库单列表
|
||||
export function listIn(query) {
|
||||
return request({
|
||||
url: '/produce/back/in/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询退料入库单详细
|
||||
export function getIn(id) {
|
||||
return request({
|
||||
url: '/produce/back/in/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询批号分批详细
|
||||
export function getListDetail(data) {
|
||||
return request({
|
||||
url: '/produce/back/in/detail/',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增退料入库单
|
||||
export function addIn(data) {
|
||||
return request({
|
||||
url: '/produce/back/in',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改退料入库单
|
||||
export function updateIn(data) {
|
||||
return request({
|
||||
url: '/produce/back/in',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改库存信息
|
||||
export function updateStock(data) {
|
||||
return request({
|
||||
url: '/produce/back/in/stock',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除退料入库单
|
||||
export function delIn(id) {
|
||||
return request({
|
||||
url: '/produce/back/in/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出退料入库单
|
||||
export function exportIn(query) {
|
||||
return request({
|
||||
url: '/produce/back/in/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**根据上级单号获取单据信息以新增*/
|
||||
export function getInBySrc(data) {
|
||||
return request({
|
||||
url: '/produce/back/in/getInBySrc',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 根据编码查询入库单,参数为入库单对象
|
||||
export function getInByCode(data) {
|
||||
return request({
|
||||
url: '/produce/back/in/getInByCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**根据任务明细扫码直接退料入库单
|
||||
* data示例:{"backTaskDetailCode": "xxx000001","whCode": "02001","areaCode": "B2B201"}
|
||||
* */
|
||||
export function directBackInByTaskDetail(data) {
|
||||
return request({
|
||||
url: '/produce/back/in/directBackInByTaskDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产退料单详细
|
||||
export function getTaskDetailByDetailCode(code) {
|
||||
return request({
|
||||
url: '/produce/back/task/taskDetail/' + code,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
90
api/wms/pdcBack/receive.js
Normal file
90
api/wms/pdcBack/receive.js
Normal file
@@ -0,0 +1,90 @@
|
||||
import request from '@/utils/wms-request'
|
||||
// import { parseStrEmpty } from "@/utils/ruoyi";
|
||||
|
||||
// 查询退料收货单列表
|
||||
export function listReceive(query) {
|
||||
return request({
|
||||
url: '/produce/back/receive/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询退料收货单详细
|
||||
export function getReceive(id) {
|
||||
return request({
|
||||
url: '/produce/back/receive/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增退料收货单
|
||||
export function addReceive(data) {
|
||||
return request({
|
||||
url: '/produce/back/receive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改退料收货单
|
||||
export function updateReceive(data) {
|
||||
return request({
|
||||
url: '/produce/back/receive',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除退料收货单
|
||||
export function delReceive(id) {
|
||||
return request({
|
||||
url: '/produce/back/receive/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出退料收货单
|
||||
export function exportReceive(query) {
|
||||
return request({
|
||||
url: '/produce/back/receive/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
/**根据任务单号获取单据信息以新增*/
|
||||
export function getRcvByTask(data) {
|
||||
return request({
|
||||
url: '/produce/back/receive/getRcvByTask',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询退料任务单明细列表
|
||||
export function listDetail(query) {
|
||||
return request({
|
||||
url: '/produce/back/task/taskDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询收货单明细信息
|
||||
export function listReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/produce/back/receive/selectBackReceiveDetail',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品收货单明细
|
||||
export function updateReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/produce/back/receive/updateReceiveDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
80
api/wms/pdcBack/task.js
Normal file
80
api/wms/pdcBack/task.js
Normal file
@@ -0,0 +1,80 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询生产退料单列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/produce/back/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产退料单列表(未完成)
|
||||
export function listUnfinishedTask(query) {
|
||||
return request({
|
||||
url: '/produce/back/task/list/unfinished',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产退料单详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/produce/back/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增生产退料单
|
||||
export function addTask(data) {
|
||||
return request({
|
||||
url: '/produce/back/task',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改生产退料单
|
||||
export function updateTask(data) {
|
||||
return request({
|
||||
url: '/produce/back/task',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除生产退料单
|
||||
export function delTask(id) {
|
||||
return request({
|
||||
url: '/produce/back/task/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出生产退料单
|
||||
export function exportTask(query) {
|
||||
return request({
|
||||
url: '/produce/back/task/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
//打印退料任务单明细
|
||||
export function mergePrintDetailPdfs(ids) {
|
||||
return request({
|
||||
url: '/produce/back/task/mergePrintDetailPdfs',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
// 查询退料任务单明细列表
|
||||
export function listDetail(query) {
|
||||
return request({
|
||||
url: '/produce/back/task/taskDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
274
api/wms/pdcIn.js
Normal file
274
api/wms/pdcIn.js
Normal file
@@ -0,0 +1,274 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
|
||||
// 查询仓库列表
|
||||
export function listWarehouse(query) {
|
||||
return request({
|
||||
url: '/basic/warehouse/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getReceiveDetails(data) {
|
||||
return request({
|
||||
url: '/produce/product/receive/getDetails',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// export function getDetails(data) {
|
||||
// return request({
|
||||
// url: '/produce/product/receive/getDetails',
|
||||
// method: 'post',
|
||||
// data: data
|
||||
// })
|
||||
// }
|
||||
|
||||
// 查询生产入库任务单列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/produce/product/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产入库任务单详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/produce/product/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增生产入库任务单
|
||||
export function addTask(data) {
|
||||
return request({
|
||||
url: '/produce/product/task',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改生产入库任务单
|
||||
export function updateTask(data) {
|
||||
return request({
|
||||
url: '/produce/product/task',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除生产入库任务单
|
||||
export function delTask(id) {
|
||||
return request({
|
||||
url: '/produce/product/task/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询产品收货单列表
|
||||
export function listReceive(query) {
|
||||
return request({
|
||||
url: '/produce/product/receive/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品收货单详细
|
||||
export function getReceive(id) {
|
||||
return request({
|
||||
url: '/produce/product/receive/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getDetails(data) {
|
||||
return request({
|
||||
url: '/produce/product/in/getDetails',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增产品收货单
|
||||
export function addReceive(data) {
|
||||
return request({
|
||||
url: '/produce/product/receive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品收货单
|
||||
export function updateReceive(data) {
|
||||
return request({
|
||||
url: '/produce/product/receive',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除产品收货单
|
||||
export function delReveive(id) {
|
||||
return request({
|
||||
url: '/produce/product/reveive/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询产品质检单列表
|
||||
export function listQuality(query) {
|
||||
return request({
|
||||
url: '/produce/product/quality/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品质检单详细
|
||||
export function getQuality(id) {
|
||||
return request({
|
||||
url: '/produce/product/quality/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增产品质检单
|
||||
export function addQuality(data) {
|
||||
return request({
|
||||
url: '/produce/product/quality',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品质检单
|
||||
export function updateQuality(data) {
|
||||
return request({
|
||||
url: '/produce/product/quality',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除产品质检单
|
||||
export function delQuality(id) {
|
||||
return request({
|
||||
url: '/produce/product/quality/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询产品入库单列表
|
||||
export function listIn(query) {
|
||||
return request({
|
||||
url: '/produce/product/in/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品入库单详细
|
||||
export function getIn(id) {
|
||||
return request({
|
||||
url: '/produce/product/in/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增产品入库单
|
||||
export function addIn(data) {
|
||||
return request({
|
||||
url: '/produce/product/in',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品入库单
|
||||
export function updateIn(data) {
|
||||
return request({
|
||||
url: '/produce/product/in',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除产品入库单
|
||||
export function delIn(id) {
|
||||
return request({
|
||||
url: '/produce/product/in/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品入库单
|
||||
export function updateInDetail(data) {
|
||||
return request({
|
||||
url: '/product/productIndetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询收货单明细信息
|
||||
export function listReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/produce/product/receive/getProductReceiveDetail',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品收货单明细
|
||||
export function updateReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/produce/product/receive/updateReceiveDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询产品入库明细单列表
|
||||
export function listProductIndetail(query) {
|
||||
return request({
|
||||
url: '/product/productIndetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 修改产品入库明细单
|
||||
export function updateProductIndetail(data) {
|
||||
return request({
|
||||
url: '/product/productIndetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询入库任务明细单详细
|
||||
export function getDetail(id) {
|
||||
return request({
|
||||
url: '/produce/product/taskDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**根据任务明细扫码直接产品入库单,id为任务单明细id
|
||||
* data示例:{"id": 864,"whCode": "02001","areaCode": "B2B201"}
|
||||
* */
|
||||
export function directProductInByTaskDetail(data) {
|
||||
return request({
|
||||
url: '/produce/product/in/directProductInByTaskDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
102
api/wms/pdcMaterial.js
Normal file
102
api/wms/pdcMaterial.js
Normal file
@@ -0,0 +1,102 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询生产领料单列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/produce/draw/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询批号分批详细
|
||||
export function getListDetail(data) {
|
||||
return request({
|
||||
url: '/produce/draw/out/detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function getDetails(data) {
|
||||
return request({
|
||||
url: '/produce/draw/out/getDetails',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//根据物料编码获取物料名称
|
||||
export function listMaterial(query) {
|
||||
return request({
|
||||
url: '/mm/material/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 新增领料拣货单
|
||||
export function addPick(data) {
|
||||
return request({
|
||||
url: '/produce/draw/pick',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增领料出库单
|
||||
export function addOut(data) {
|
||||
return request({
|
||||
url: '/produce/draw/out',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询生产领料单详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/produce/draw/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function updatePick(data) {
|
||||
return request({
|
||||
url: '/produce/draw/pick',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询领料拣货单列表
|
||||
export function listPick(query) {
|
||||
return request({
|
||||
url: '/produce/draw/pick/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function listOut(query) {
|
||||
return request({
|
||||
url: '/produce/draw/out/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getOut(id) {
|
||||
return request({
|
||||
url: '/produce/draw/out/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 根据任务单获取直接出库信息
|
||||
export function getDrawOutDirectlyByTaskCode(data) {
|
||||
return request({
|
||||
url: '/produce/draw/out/getDrawOutDirectlyByTaskCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
298
api/wms/purchase.js
Normal file
298
api/wms/purchase.js
Normal file
@@ -0,0 +1,298 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
//新增采购收货单
|
||||
export function addReceive(data) {
|
||||
return request({
|
||||
url: '/purchase/receive',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改采购收货单
|
||||
export function updateReceive(data) {
|
||||
return request({
|
||||
url: '/purchase/receive',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/purchase/receive/updateDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购收货单明细信息
|
||||
export function getReceiveDetail(id) {
|
||||
return request({
|
||||
url: '/purchase/receive/getReceiveDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购收货单明细信息join
|
||||
export function getReceiveDetailJoin(id) {
|
||||
return request({
|
||||
url: '/purchase/receive/getReceiveDetailJoin/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购收货单明细信息
|
||||
export function getQualityDetail(data) {
|
||||
return request({
|
||||
url: '/purchase/quality/getQualityDetail',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
//收货单列表
|
||||
export function listReceive(query) {
|
||||
return request({
|
||||
url: '/purchase/receive/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 新增采购入库单
|
||||
export function addIn(data) {
|
||||
return request({
|
||||
url: '/purchase/in',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购入库质检单列表
|
||||
export function listQuality(query) {
|
||||
return request({
|
||||
url: '/purchase/quality/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购入库质检单详细
|
||||
export function getQuality(id) {
|
||||
return request({
|
||||
url: '/purchase/quality/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增采购入库质检单
|
||||
export function addQuality(data) {
|
||||
return request({
|
||||
url: '/purchase/quality',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增采购入库质检单
|
||||
export function addQualityDetail(data) {
|
||||
return request({
|
||||
url: '/purchase/quality/detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改采购入库质检单
|
||||
export function updateQuality(data) {
|
||||
return request({
|
||||
url: '/purchase/quality',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除采购入库质检单
|
||||
export function delQuality(id) {
|
||||
return request({
|
||||
url: '/purchase/quality/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购任务单详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/purchase/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购收货单详细
|
||||
export function getReceive(id) {
|
||||
return request({
|
||||
url: '/purchase/receive/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购任务单列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/purchase/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 新增采购任务单
|
||||
export function addTask(data) {
|
||||
return request({
|
||||
url: '/purchase/task',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改采购任务单
|
||||
export function updateTask(data) {
|
||||
return request({
|
||||
url: '/purchase/task',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除采购任务单
|
||||
export function delTask(purchaseTaskCodes) {
|
||||
return request({
|
||||
url: '/purchase/task/' + purchaseTaskCodes,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购入库单列表
|
||||
export function listIn(query) {
|
||||
return request({
|
||||
url: '/purchase/in/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询采购入库单详细
|
||||
export function getIn(id) {
|
||||
return request({
|
||||
url: '/purchase/in/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询批号分批详细
|
||||
export function getListDetail(batchNo) {
|
||||
return request({
|
||||
url: '/purchase/in/detail/' + batchNo,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 修改采购入库单
|
||||
export function updateIn(data) {
|
||||
return request({
|
||||
url: '/purchase/in',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除采购入库单
|
||||
export function delIn(id) {
|
||||
return request({
|
||||
url: '/purchase/in/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
//根据批号和箱号查询拆分详情
|
||||
export function getListDetailByBL(data) {
|
||||
return request({
|
||||
url: '/purchase/in/listDetailByBL',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增分批入库详情
|
||||
export function addInDetail(data, type) {
|
||||
return request({
|
||||
url: '/purchase/in/detail/' + type,
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增采购入库单
|
||||
export function addLotInfo(data) {
|
||||
return request({
|
||||
url: '/purchase/in/detail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//获取采购任务单明细
|
||||
export function getDetail(data) {
|
||||
return request({
|
||||
url: '/purchase/receive/getDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**根据订单号获取单据信息以新增*/
|
||||
export function getDetailByPoCode(poCode) {
|
||||
return request({
|
||||
url: '/purchase/receive/getDetailByPoCode/' + poCode,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增分批入库详情
|
||||
export function uploadU9(data) {
|
||||
return request({
|
||||
url: '/purchase/in/detail/uploadU9',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
/**根据订单号/ASN单号/ASN行号查询收货、质检、退货、入库明细列表*/
|
||||
export function getDetailListsBySRM(data) {
|
||||
return request({
|
||||
url: '/purchase/in/getDetailListsBySRM',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//选中收货单编码,回显子表
|
||||
export function getQualityReceiveDetail(data) {
|
||||
return request({
|
||||
url: '/purchase/quality/getDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 查询供应商列表
|
||||
export function listSupplier(query) {
|
||||
return request({
|
||||
url: '/basic/supplier/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
10
api/wms/request.js
Normal file
10
api/wms/request.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
//根据物料编码获取物料名称
|
||||
export function listMaterial(query) {
|
||||
return request({
|
||||
url: '/mm/material/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
165
api/wms/sale.js
Normal file
165
api/wms/sale.js
Normal file
@@ -0,0 +1,165 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询销售出库任务单列表
|
||||
export function listTask(query) {
|
||||
return request({
|
||||
url: '/sale/out/task/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询销售出库任务单详细
|
||||
export function getTask(id) {
|
||||
return request({
|
||||
url: '/sale/out/task/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增销售出库任务单
|
||||
export function addTask(data) {
|
||||
return request({
|
||||
url: '/sale/out/task',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//根据选择的上一级编码回显主子表
|
||||
export function getOutBillBySourceCode(data) {
|
||||
return request({
|
||||
url: '/sale/out/out/getOutBillBySourceCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改销售出库任务单
|
||||
export function updateTask(data) {
|
||||
return request({
|
||||
url: '/sale/out/task',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除销售出库任务单
|
||||
export function delTask(id) {
|
||||
return request({
|
||||
url: '/sale/out/task/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 查询销售拣货单列表
|
||||
export function listPick(query) {
|
||||
return request({
|
||||
url: '/sale/out/pick/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询销售拣货单详细
|
||||
export function getPick(id) {
|
||||
return request({
|
||||
url: '/sale/out/pick/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增销售拣货单
|
||||
export function addPick(data) {
|
||||
return request({
|
||||
url: '/sale/out/pick',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改销售拣货单
|
||||
export function updatePick(data) {
|
||||
return request({
|
||||
url: '/sale/out/pick',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除销售拣货单
|
||||
export function delPick(id) {
|
||||
return request({
|
||||
url: '/sale/out/pick/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 查询销售出库单列表
|
||||
export function listOut(query) {
|
||||
return request({
|
||||
url: '/sale/out/out/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询销售出库单详细
|
||||
export function getOut(id) {
|
||||
return request({
|
||||
url: '/sale/out/out/' + parseStrEmpty(id),
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询批号分批详细
|
||||
export function getListDetail(data) {
|
||||
return request({
|
||||
url: '/sale/out/out/detail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 新增销售出库单
|
||||
export function addOut(data) {
|
||||
return request({
|
||||
url: '/sale/out/out',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改销售出库单
|
||||
export function updateOut(data) {
|
||||
return request({
|
||||
url: '/sale/out/out',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除销售出库单
|
||||
export function delOut(id) {
|
||||
return request({
|
||||
url: '/sale/out/out/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
//根据选择的上一级编码回显主子表
|
||||
export function getSaleOutDirectlyByTaskCode(data) {
|
||||
return request({
|
||||
url: '/sale/out/out/getSaleOutDirectlyByTaskCode',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
54
api/wms/shelves.js
Normal file
54
api/wms/shelves.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询货架列表
|
||||
export function listShelves(query) {
|
||||
return request({
|
||||
url: '/basic/shelves/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询货架详细
|
||||
export function getShelves(id) {
|
||||
return request({
|
||||
url: '/basic/shelves/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增货架
|
||||
export function addShelves(data) {
|
||||
return request({
|
||||
url: '/basic/shelves',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改货架
|
||||
export function updateShelves(data) {
|
||||
return request({
|
||||
url: '/basic/shelves',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除货架
|
||||
export function delShelves(id) {
|
||||
return request({
|
||||
url: '/basic/shelves/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出货架
|
||||
export function exportShelves(query) {
|
||||
return request({
|
||||
url: '/basic/shelves/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
134
api/wms/stock.js
Normal file
134
api/wms/stock.js
Normal file
@@ -0,0 +1,134 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询物料库存信息列表
|
||||
export function listStock(query) {
|
||||
return request({
|
||||
url: '/stock/stock/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询物料库存信息列表(模糊查询产品)
|
||||
export function listStockLike(query) {
|
||||
return request({
|
||||
url: '/stock/stock/listLike',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询物料库存信息详细
|
||||
export function getStock(id) {
|
||||
return request({
|
||||
url: '/stock/stock/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增物料库存信息
|
||||
export function addStock(data) {
|
||||
return request({
|
||||
url: '/stock/stock',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改物料库存信息
|
||||
export function updateStock(data) {
|
||||
return request({
|
||||
url: '/stock/stock',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除物料库存信息
|
||||
export function delStock(id) {
|
||||
return request({
|
||||
url: '/stock/stock/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出物料库存信息(现在改成根据ids查询库存信息并导出)
|
||||
export function exportStock(materialStockIds) {
|
||||
return request({
|
||||
url: '/stock/stock/export/' + materialStockIds,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function print(id) {
|
||||
return request({
|
||||
url: '/stock/stock/print/' + id,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function test(data) {
|
||||
return request({
|
||||
url: '/stock/history/test',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 根据物料编码查询物料库存信息列表
|
||||
export function listStockByMaterialCode(materialCode) {
|
||||
return request({
|
||||
url: '/stock/stock/listMaterial/' + materialCode,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 库位分析看板
|
||||
export function listLocationByStock() {
|
||||
return request({
|
||||
url: '/stock/stock/whDashboard',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 货架可视化大屏
|
||||
export function handleShelvesScreen(id) {
|
||||
return request({
|
||||
url: '/stock/stock/shelvesScreen/' + id,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
|
||||
//超市补货
|
||||
export function smSupplyStock(ids) {
|
||||
return request({
|
||||
url: '/stock/stock/smSupplyStock/' + ids,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
//填充物料信息
|
||||
export function checkStock(ids) {
|
||||
return request({
|
||||
url: '/stock/stock/checkStock',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增物料移库管理
|
||||
export function addTransfer(data) {
|
||||
return request({
|
||||
url: '/stock/transfer',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改物料移库管理
|
||||
export function updateTransfer(data) {
|
||||
return request({
|
||||
url: '/stock/transfer',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
53
api/wms/warehouse.js
Normal file
53
api/wms/warehouse.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import request from '@/utils/wms-request'
|
||||
|
||||
// 查询仓库列表
|
||||
export function listWarehouse(query) {
|
||||
return request({
|
||||
url: '/basic/warehouse/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询仓库详细
|
||||
export function getWarehouse(id) {
|
||||
return request({
|
||||
url: '/basic/warehouse/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增仓库
|
||||
export function addWarehouse(data) {
|
||||
return request({
|
||||
url: '/basic/warehouse',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改仓库
|
||||
export function updateWarehouse(data) {
|
||||
return request({
|
||||
url: '/basic/warehouse',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除仓库
|
||||
export function delWarehouse(id) {
|
||||
return request({
|
||||
url: '/basic/warehouse/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出仓库
|
||||
export function exportWarehouse(query) {
|
||||
return request({
|
||||
url: '/basic/warehouse/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
115
components/SecondNumberChangeToConvert/index.vue
Normal file
115
components/SecondNumberChangeToConvert/index.vue
Normal file
@@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<uni-easyinput v-model="inputNumber" placeholder="请输入数量" @change="change" :disabled="disabled" type="number" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUnit,
|
||||
getUnit,
|
||||
delUnit,
|
||||
addUnit,
|
||||
updateUnit,
|
||||
listUnitConvertible,
|
||||
convertBySecondUnitOrNum,
|
||||
} from "@/api/basic/unit";
|
||||
|
||||
export default {
|
||||
name: "secondNumberChangeToConvert",
|
||||
props: {
|
||||
materialCode: String,
|
||||
number: Number,
|
||||
unitId: Number,
|
||||
secondNumber: Number,
|
||||
secondUnitId: Number,
|
||||
disabled: Boolean,
|
||||
},
|
||||
watch: {
|
||||
// materialCode: {
|
||||
// handler(newVal) {
|
||||
// this.secondNumberChange();
|
||||
// },
|
||||
// },
|
||||
secondNumber: {
|
||||
handler(newVal) {
|
||||
// 去重,防止重复请求
|
||||
if (Number(newVal) != this.inputNumber) {
|
||||
this.inputNumber = Number(newVal);
|
||||
if (this.inputNumber == null || this.inputNumber == "") {
|
||||
this.inputNumber = this.number;
|
||||
this.$emit("update:secondNumber", Number(this.inputNumber));
|
||||
}
|
||||
this.secondNumberChange();
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
unitOptions: [],
|
||||
inputNumber: null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
change(data) {
|
||||
console.log(data)
|
||||
this.$emit('change', data);
|
||||
this.onIuputChange()
|
||||
},
|
||||
onIuputChange() {
|
||||
// setTimeout(() => {
|
||||
// 需要延迟执行的代码
|
||||
this.$emit("update:secondNumber", Number(this.inputNumber));
|
||||
this.$emit("change", Number(this.inputNumber));
|
||||
this.secondNumberChange();
|
||||
// }, 200); // 0.2秒延迟
|
||||
|
||||
},
|
||||
/**第二数量(数量改变)
|
||||
* 要求基本单位和数量不为空
|
||||
* */
|
||||
secondNumberChange() {
|
||||
//设置父组件的第一数量
|
||||
// console.log(
|
||||
// "convertParams",
|
||||
// this.materialCode,
|
||||
// this.inputNumber,
|
||||
// this.unitId,
|
||||
// this.secondUnitId
|
||||
// );
|
||||
console.log(this.inputNumber)
|
||||
if (this.inputNumber == null || this.inputNumber == "") {
|
||||
this.$emit("update:number", 0);
|
||||
}
|
||||
if (this.unitId == null || this.unitId == "") {
|
||||
this.$emit("update:number", this.inputNumber);
|
||||
} else if (
|
||||
this.inputNumber &&
|
||||
this.materialCode &&
|
||||
this.materialCode != "" &&
|
||||
this.unitId &&
|
||||
this.secondUnitId
|
||||
) {
|
||||
console.log(this.inputNumber)
|
||||
let params = {
|
||||
materialCode: this.materialCode,
|
||||
number: null,
|
||||
unitId: this.unitId,
|
||||
secondUnitId: this.secondUnitId,
|
||||
secondNumber: this.inputNumber,
|
||||
};
|
||||
console.log(params)
|
||||
convertBySecondUnitOrNum(params).then((response) => {
|
||||
console.log(response.data.number)
|
||||
this.$emit("update:number", response.data.number);
|
||||
});
|
||||
} else { //其它所有异常情况,都将第二数量同步传给第一数量
|
||||
this.$emit("update:number", this.inputNumber);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
125
components/progress-bar/progress-bar.vue
Normal file
125
components/progress-bar/progress-bar.vue
Normal file
@@ -0,0 +1,125 @@
|
||||
<template>
|
||||
<view>
|
||||
<view v-if="copyContent.length > 0" class="ranking">
|
||||
<view class="ranking-item" v-for="(content,index) in copyContent" :key="index" :style="{padding:progressPadding+'rpx'}">
|
||||
<view class="name">{{content.name}}</view>
|
||||
<view class="progress" >
|
||||
<text :style="{background:content.background,width:content.width + '%',height:progressWidth+'rpx'}"></text>
|
||||
</view>
|
||||
<view class="num">{{content.num}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default{
|
||||
name:'ranking-list',
|
||||
props:{
|
||||
content:{
|
||||
type: Array,
|
||||
default() {
|
||||
return []
|
||||
}
|
||||
},
|
||||
isPC:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
isRank:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
progressWidth:24,
|
||||
progressPadding:10,
|
||||
maxNumber:0,
|
||||
culCount:0,
|
||||
copyContent:[]
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
content(newV){
|
||||
this.init()
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
init(){
|
||||
this.copyContent = this.deepClone(this.content)
|
||||
if(this.copyContent && this.copyContent.length >0){
|
||||
if(this.isRank){
|
||||
this.copyContent = this.copyContent.sort((a,b) => b.num - a.num);
|
||||
this.maxNumber = this.copyContent[0].num;
|
||||
}else{
|
||||
this.maxNumber = Math.max.apply(Math,this.copyContent.map(item => { return item.num }));
|
||||
}
|
||||
this.copyContent.map((item,index) =>{
|
||||
item.width = this.computeWidth(this.maxNumber,item.num);
|
||||
});
|
||||
}
|
||||
},
|
||||
computeWidth(max,current){
|
||||
let num = (current / max) * 100;
|
||||
return num.toFixed(2);
|
||||
},
|
||||
deepClone(obj) {
|
||||
var cloneObj = new obj.constructor()
|
||||
if(obj === null) return obj
|
||||
if(obj instanceof Date) return new Date(obj)
|
||||
if(obj instanceof RegExp) return new RegExp(obj)
|
||||
if (typeof obj !== 'object') return obj
|
||||
for (var i in obj) {
|
||||
if (obj.hasOwnProperty(i)) {
|
||||
cloneObj[i] = this.deepClone(obj[i])
|
||||
}
|
||||
}
|
||||
return cloneObj
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if(this.isPC){
|
||||
this.progressWidth = 40;
|
||||
this.progressPadding = 30;
|
||||
}
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.ranking-item{
|
||||
display: flex;
|
||||
margin-bottom: 13rpx;
|
||||
align-content: center;
|
||||
height: 28rpx;
|
||||
|
||||
.name{
|
||||
padding-right: 10rpx;
|
||||
color: #868688;
|
||||
font-size: 20rpx;
|
||||
flex: 1;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.progress{
|
||||
flex:5;
|
||||
text-align: left;
|
||||
padding-right: 10rpx;
|
||||
|
||||
text{
|
||||
display: inline-block;
|
||||
border-radius: 30rpx;
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
}
|
||||
.num{
|
||||
font-size: 26rpx;
|
||||
color: #3EB2F5;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
122
components/selectUnitConvertible/index.vue
Normal file
122
components/selectUnitConvertible/index.vue
Normal file
@@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<uni-data-select v-model="secondUnitId" :localdata="unitOptions" @change="secondUnitChange" style="z-index: 100;">
|
||||
</uni-data-select>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUnitConvertible,
|
||||
convertBySecondUnitOrNum,
|
||||
} from "@/api/basic/unit";
|
||||
|
||||
export default {
|
||||
name: "selectUnitConvertible",
|
||||
props: {
|
||||
materialCode: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
// secondUnitId
|
||||
value: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
secondNumber: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
number: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
unitId: {
|
||||
type: Number,
|
||||
default: null,
|
||||
},
|
||||
disabled: Boolean,
|
||||
},
|
||||
watch: {
|
||||
materialCode: {
|
||||
handler(newVal, oldVal) {
|
||||
console.log(newVal)
|
||||
this.selectConvertibleUnitList();
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
value: {
|
||||
handler(newVal) {
|
||||
console.log(newVal)
|
||||
this.secondUnitId = newVal;
|
||||
this.selectConvertibleUnitList();
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.selectConvertibleUnitList();
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
secondUnitId: null,
|
||||
unitOptions: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
//单位下拉框点击事件
|
||||
selectConvertibleUnitList() {
|
||||
let query = {
|
||||
materialCode: this.materialCode,
|
||||
id: this.value,
|
||||
};
|
||||
listUnitConvertible(query).then((response) => {
|
||||
this.unitOptions = response.rows.map(item => {
|
||||
let obj = {
|
||||
text: item.unitCode + ":" + item.unitName,
|
||||
value: item.id
|
||||
}
|
||||
return obj
|
||||
});
|
||||
});
|
||||
},
|
||||
/**第二单位(显示单位改变)
|
||||
* 要求基本单位和数量不为空
|
||||
* */
|
||||
secondUnitChange(e) {
|
||||
console.log(e, this.secondUnitId)
|
||||
// 给单位赋值
|
||||
this.$emit("input", e);
|
||||
// console.log(
|
||||
// "unitParams",
|
||||
// this.materialCode,
|
||||
// this.number,
|
||||
// this.unitId,
|
||||
// this.secondNumber,
|
||||
// this.secondUnitId
|
||||
// );
|
||||
if (
|
||||
this.number &&
|
||||
this.unitId &&
|
||||
this.materialCode &&
|
||||
this.materialCode != "" &&
|
||||
e
|
||||
) {
|
||||
let params = {
|
||||
materialCode: this.materialCode,
|
||||
number: this.number,
|
||||
unitId: this.unitId,
|
||||
secondUnitId: e,
|
||||
secondNumber: null,
|
||||
};
|
||||
|
||||
// 修改第二数量
|
||||
convertBySecondUnitOrNum(params).then((response) => {
|
||||
this.$emit("update:secondNumber", response.data.secondNumber);
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
8
components/storageLocationBarcodeInput/index.vue
Normal file
8
components/storageLocationBarcodeInput/index.vue
Normal file
@@ -0,0 +1,8 @@
|
||||
<template>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
231
components/text-block/text-block.vue
Normal file
231
components/text-block/text-block.vue
Normal file
@@ -0,0 +1,231 @@
|
||||
<template>
|
||||
<view class="text_block">
|
||||
<template v-for="(item,index) in content">
|
||||
<view v-if="item.kind == 1" :key="index"
|
||||
:style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')'}"
|
||||
:class="[(index+1)%3==0 ? '':'marginRight','kind','kind_one','breathe-blue']">
|
||||
<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">
|
||||
{{item.content[0].value}}
|
||||
</view>
|
||||
<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">
|
||||
{{item.content[1].text}}
|
||||
</view>
|
||||
</view>
|
||||
<view v-else-if="item.kind == 2" :key="index"
|
||||
:class="[(index+1)%3==0 ? '':'marginRight','kind','kind_two','breathe-blue']"
|
||||
:style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')' ,marginRight:(index+1)%3==0?'0rpx':'40rpx'}">
|
||||
<view v-for="(content,i) in item.content" :key="i" class="two_1">
|
||||
<text :style="{fontSize:content.size,color:content.colortext}">{{content.text}}:</text>
|
||||
<text :style="{fontSize:content.size,color:content.colorvalue}">{{content.value}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else-if="item.kind == 3" :key="index" class="kind kind_three breathe-blue"
|
||||
:style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')'}">
|
||||
<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">
|
||||
{{item.content[0].value}}
|
||||
</view>
|
||||
<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">
|
||||
{{item.content[1].text}}
|
||||
</view>
|
||||
<view class="three_3 view_100">
|
||||
<view v-for="(j,i) in 2" :key="i">
|
||||
<text
|
||||
:style="{fontSize:item.content[i+2].size,color:item.content[i+2].colortext}">{{item.content[i+2].text}}:</text>
|
||||
<text
|
||||
:style="{fontSize:item.content[i+2].size,color:item.content[i+2].colorvalue}">{{item.content[i+2].value}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else-if="item.kind == 4" :key="index"
|
||||
:class="[(index+1)%4==0 ? '':'marginRight','kind','kind_four','breathe-blue']"
|
||||
:style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%4==0?'0rpx':'40px'}">
|
||||
<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">
|
||||
{{item.content[0].text}}
|
||||
</view>
|
||||
<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">
|
||||
{{item.content[1].value}}
|
||||
</view>
|
||||
<!-- <view class="four_3" :style="{fontSize:item.content[2].size,color:item.content[2].colorvalue}">
|
||||
<text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[2].text}}</text>
|
||||
<li v-if="item.content[3].text == 'up'" class="iconfont icon-up icon" :style="{color:item.content[3].colortext}"></li>
|
||||
<li v-else class="iconfont icon-down icon" :style="{color:item.content[3].colortext}"></li>
|
||||
<text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[3].value}}</text>
|
||||
</view> -->
|
||||
</view>
|
||||
<view v-else-if="item.kind == 5" :key="index"
|
||||
:class="[(index+1)%3==0 ? '':'marginRight','kind','kind_five','breathe-red']"
|
||||
:style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%3==0?'0rpx':'40rpx'}">
|
||||
<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">
|
||||
{{item.content[0].text}}
|
||||
</view>
|
||||
<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">
|
||||
{{item.content[1].value}}
|
||||
</view>
|
||||
<view class="five_3 view_100">
|
||||
<view v-for="(j,i) in 2" :key="i">
|
||||
<text
|
||||
:style="{fontSize:item.content[j+2].size,color:item.content[j+2].colortext}">{{item.content[j+2].text}}</text>
|
||||
<text
|
||||
:style="{fontSize:item.content[j+2].size,color:item.content[j+2].colorvalue}">{{item.content[j+2].value}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="five_4">
|
||||
<text
|
||||
:style="{fontSize:item.content[4].size,color:item.content[4].colortext}">{{item.content[4].text}}</text>
|
||||
<text
|
||||
:style="{fontSize:item.content[4].size,color:item.content[4].colorvalue}">{{item.content[4].value}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
content: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
uni.onWindowResize((res) => {
|
||||
console.log('变化后的窗口宽度=' + res.size.windowWidth)
|
||||
console.log('变化后的窗口高度=' + res.size.windowHeight)
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.text_block {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.marginRight {
|
||||
margin-right: 36rpx !important;
|
||||
}
|
||||
|
||||
.view_100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.CPT_DYBG {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.kind {
|
||||
width: 40%;
|
||||
padding: 10rpx;
|
||||
margin-bottom: 40rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
border-radius: 16rpx;
|
||||
margin-left: 4.5%;
|
||||
box-shadow: -4px 4px 4px #ccc;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.kind_one {
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.kind_two {
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.kind_three {
|
||||
border-radius: 16rpx;
|
||||
width: 300rpx;
|
||||
margin: 0 auto;
|
||||
|
||||
.three_3 {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
}
|
||||
|
||||
.kind_four {
|
||||
border-radius: 10rpx;
|
||||
|
||||
.four_3 {
|
||||
display: flex;
|
||||
|
||||
li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-top: -8rpx;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.kind_five {
|
||||
border-radius: 20rpx;
|
||||
|
||||
.five_3 {
|
||||
view {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// .breathe-blue {
|
||||
// position:relative;
|
||||
// color:#fff;
|
||||
// text-align:center;
|
||||
// cursor:pointer;
|
||||
// box-shadow:0 1px 2px rgba(0,0,0,.3);
|
||||
// overflow:hidden;
|
||||
// -webkit-animation-timing-function:ease-in-out;
|
||||
// -webkit-animation-name:breatheblue;
|
||||
// -webkit-animation-duration:2000ms;
|
||||
// -webkit-animation-iteration-count:infinite;
|
||||
// -webkit-animation-direction:alternate;
|
||||
// }
|
||||
// @keyframes breatheblue {
|
||||
// 0% {
|
||||
// opacity:.8;
|
||||
// box-shadow:0 1px 2px rgba(62,178,245,0.5);
|
||||
// }
|
||||
// 100% {
|
||||
// opacity:1;
|
||||
// box-shadow:0 1px 30px rgba(147,116,247,0.6);
|
||||
// }
|
||||
// }
|
||||
// .breathe-red {
|
||||
// position:relative;
|
||||
// color:#fff;
|
||||
// text-align:center;
|
||||
// cursor:pointer;
|
||||
// box-shadow:0 1px 2px rgba(0,0,0,.3);
|
||||
// overflow:hidden;
|
||||
// -webkit-animation-timing-function:ease-in-out;
|
||||
// -webkit-animation-name:breathered;
|
||||
// -webkit-animation-duration:2000ms;
|
||||
// -webkit-animation-iteration-count:infinite;
|
||||
// -webkit-animation-direction:alternate;
|
||||
// }
|
||||
// @keyframes breathered {
|
||||
// 0% {
|
||||
// opacity:.8;
|
||||
// box-shadow:0 1px 2px rgba(247,126,137,0.5);
|
||||
// }
|
||||
// 100% {
|
||||
// opacity:1;
|
||||
// box-shadow:0 1px 30px rgba(247,149,59,0.9);
|
||||
// }
|
||||
// }
|
||||
</style>
|
||||
167
components/uni-section/uni-section.vue
Normal file
167
components/uni-section/uni-section.vue
Normal file
@@ -0,0 +1,167 @@
|
||||
<template>
|
||||
<view class="uni-section">
|
||||
<view class="uni-section-header" @click="onClick">
|
||||
<view class="uni-section-header__decoration" v-if="type" :class="type" />
|
||||
<slot v-else name="decoration"></slot>
|
||||
|
||||
<view class="uni-section-header__content">
|
||||
<text :style="{'font-size':titleFontSize,'color':titleColor}" class="uni-section__content-title" :class="{'distraction':!subTitle}">{{ title }}</text>
|
||||
<text v-if="subTitle" :style="{'font-size':subTitleFontSize,'color':subTitleColor}" class="uni-section-header__content-sub">{{ subTitle }}</text>
|
||||
</view>
|
||||
|
||||
<view class="uni-section-header__slot-right">
|
||||
<slot name="right"></slot>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="uni-section-content" :style="{padding: _padding}">
|
||||
<slot />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
/**
|
||||
* Section 标题栏
|
||||
* @description 标题栏
|
||||
* @property {String} type = [line|circle|square] 标题装饰类型
|
||||
* @value line 竖线
|
||||
* @value circle 圆形
|
||||
* @value square 正方形
|
||||
* @property {String} title 主标题
|
||||
* @property {String} titleFontSize 主标题字体大小
|
||||
* @property {String} titleColor 主标题字体颜色
|
||||
* @property {String} subTitle 副标题
|
||||
* @property {String} subTitleFontSize 副标题字体大小
|
||||
* @property {String} subTitleColor 副标题字体颜色
|
||||
* @property {String} padding 默认插槽 padding
|
||||
*/
|
||||
|
||||
export default {
|
||||
name: 'UniSection',
|
||||
emits:['click'],
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: ''
|
||||
},
|
||||
titleFontSize: {
|
||||
type: String,
|
||||
default: '14px'
|
||||
},
|
||||
titleColor:{
|
||||
type: String,
|
||||
default: '#333'
|
||||
},
|
||||
subTitle: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
subTitleFontSize: {
|
||||
type: String,
|
||||
default: '12px'
|
||||
},
|
||||
subTitleColor: {
|
||||
type: String,
|
||||
default: '#999'
|
||||
},
|
||||
padding: {
|
||||
type: [Boolean, String],
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
_padding(){
|
||||
if(typeof this.padding === 'string'){
|
||||
return this.padding
|
||||
}
|
||||
|
||||
return this.padding?'10px':''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
title(newVal) {
|
||||
if (uni.report && newVal !== '') {
|
||||
uni.report('title', newVal)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClick() {
|
||||
this.$emit('click')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" >
|
||||
$uni-primary: #2979ff !default;
|
||||
|
||||
.uni-section {
|
||||
background-color: #fff;
|
||||
.uni-section-header {
|
||||
position: relative;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 12px 10px;
|
||||
font-weight: normal;
|
||||
|
||||
&__decoration{
|
||||
margin-right: 6px;
|
||||
background-color: $uni-primary;
|
||||
&.line {
|
||||
width: 4px;
|
||||
height: 12px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
&.circle {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-top-right-radius: 50px;
|
||||
border-top-left-radius: 50px;
|
||||
border-bottom-left-radius: 50px;
|
||||
border-bottom-right-radius: 50px;
|
||||
}
|
||||
|
||||
&.square {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
color: #333;
|
||||
|
||||
.distraction {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
&-sub {
|
||||
margin-top: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
&__slot-right{
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-section-content{
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
29
config.js
Normal file
29
config.js
Normal file
@@ -0,0 +1,29 @@
|
||||
// 应用全局配置
|
||||
module.exports = {
|
||||
baseUrl: 'http://192.168.1.108:8092',
|
||||
//双菱不需要wmsurl
|
||||
// wmsUrl: 'http://192.168.1.194:8091',
|
||||
// baseUrl: 'http://192.168.1.108:8083',
|
||||
// wmsUrl: 'http://192.168.1.108:8091',
|
||||
// 应用信息
|
||||
appInfo: {
|
||||
// 应用名称
|
||||
name: "ruoyi-app",
|
||||
// 应用版本
|
||||
version: "1.0.0",
|
||||
// 应用logo
|
||||
logo: "/static/logo/tree.png",
|
||||
// 官方网站
|
||||
site_url: "http://ruoyi.vip",
|
||||
// 政策协议
|
||||
agreements: [{
|
||||
title: "隐私政策",
|
||||
url: "https://ruoyi.vip/protocol.html"
|
||||
},
|
||||
{
|
||||
title: "用户服务协议",
|
||||
url: "https://ruoyi.vip/protocol.html"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
iconfont.ttf
Normal file
BIN
iconfont.ttf
Normal file
Binary file not shown.
20
main.js
Normal file
20
main.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App'
|
||||
import store from './store' // store
|
||||
import plugins from './plugins' // plugins
|
||||
import './permission' // permission
|
||||
import uView from '@/uni_modules/uview-ui'
|
||||
Vue.use(plugins)
|
||||
Vue.use(uView)
|
||||
// 如此配置即可
|
||||
// uni.$u.config.unit = 'rpx'
|
||||
Vue.config.productionTip = false
|
||||
Vue.prototype.$store = store
|
||||
|
||||
App.mpType = 'app'
|
||||
|
||||
const app = new Vue({
|
||||
...App
|
||||
})
|
||||
|
||||
app.$mount()
|
||||
146
manifest.json
Normal file
146
manifest.json
Normal file
@@ -0,0 +1,146 @@
|
||||
{
|
||||
"name" : "MES",
|
||||
"appid" : "__UNI__66F7FE2",
|
||||
"description" : "",
|
||||
"versionName" : "2.4.2",
|
||||
"versionCode" : 242,
|
||||
"transformPx" : false,
|
||||
"app-plus" : {
|
||||
"usingComponents" : true,
|
||||
"nvueCompiler" : "uni-app",
|
||||
"splashscreen" : {
|
||||
"alwaysShowBeforeRender" : true,
|
||||
"waiting" : true,
|
||||
"autoclose" : true,
|
||||
"delay" : 0
|
||||
},
|
||||
"modules" : {
|
||||
"Camera" : {},
|
||||
"Barcode" : {}
|
||||
},
|
||||
"distribute" : {
|
||||
"android" : {
|
||||
"permissions" : [
|
||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
|
||||
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
]
|
||||
},
|
||||
"ios" : {
|
||||
"dSYMs" : false
|
||||
},
|
||||
"sdkConfigs" : {
|
||||
"ad" : {}
|
||||
},
|
||||
"icons" : {
|
||||
"android" : {
|
||||
"hdpi" : "unpackage/res/icons/72x72.png",
|
||||
"xhdpi" : "unpackage/res/icons/96x96.png",
|
||||
"xxhdpi" : "unpackage/res/icons/144x144.png",
|
||||
"xxxhdpi" : "unpackage/res/icons/192x192.png"
|
||||
},
|
||||
"ios" : {
|
||||
"appstore" : "unpackage/res/icons/1024x1024.png",
|
||||
"ipad" : {
|
||||
"app" : "unpackage/res/icons/76x76.png",
|
||||
"app@2x" : "unpackage/res/icons/152x152.png",
|
||||
"notification" : "unpackage/res/icons/20x20.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"proapp@2x" : "unpackage/res/icons/167x167.png",
|
||||
"settings" : "unpackage/res/icons/29x29.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"spotlight" : "unpackage/res/icons/40x40.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png"
|
||||
},
|
||||
"iphone" : {
|
||||
"app@2x" : "unpackage/res/icons/120x120.png",
|
||||
"app@3x" : "unpackage/res/icons/180x180.png",
|
||||
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||
"notification@3x" : "unpackage/res/icons/60x60.png",
|
||||
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||
"settings@3x" : "unpackage/res/icons/87x87.png",
|
||||
"spotlight@2x" : "unpackage/res/icons/80x80.png",
|
||||
"spotlight@3x" : "unpackage/res/icons/120x120.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"splashscreen" : {
|
||||
"useOriginalMsgbox" : false
|
||||
}
|
||||
},
|
||||
"nativePlugins" : {
|
||||
"Fvv-UniSerialPort" : {
|
||||
"__plugin_info__" : {
|
||||
"name" : "安卓串口通信 Fvv-UniSerialPort",
|
||||
"description" : "Android平台串口通信插件,支持串口号、波特率、数据位、校验位、停止位、流控等参数设置",
|
||||
"platforms" : "Android",
|
||||
"url" : "https://ext.dcloud.net.cn/plugin?id=1787",
|
||||
"android_package_name" : "com.wance.mes.uniapp",
|
||||
"ios_bundle_id" : "com.wance.mes.uniapp",
|
||||
"isCloud" : true,
|
||||
"bought" : 1,
|
||||
"pid" : "1787",
|
||||
"parameters" : {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"orientation" : [
|
||||
//竖屏正方向
|
||||
"portrait-primary",
|
||||
//竖屏反方向
|
||||
"portrait-secondary",
|
||||
//横屏正方向
|
||||
"landscape-primary",
|
||||
//横屏反方向
|
||||
"landscape-secondary",
|
||||
//自然方向
|
||||
"default"
|
||||
]
|
||||
},
|
||||
"quickapp" : {},
|
||||
"mp-weixin" : {
|
||||
"appid" : "wxccd7e2a0911b3397",
|
||||
"setting" : {
|
||||
"urlCheck" : false,
|
||||
"es6" : false,
|
||||
"minified" : true,
|
||||
"postcss" : true
|
||||
},
|
||||
"optimization" : {
|
||||
"subPackages" : true
|
||||
},
|
||||
"usingComponents" : true
|
||||
},
|
||||
"vueVersion" : "2",
|
||||
"h5" : {
|
||||
"template" : "static/index.html",
|
||||
"devServer" : {
|
||||
"port" : 9090,
|
||||
"https" : false
|
||||
},
|
||||
"title" : "RuoYi-App",
|
||||
"router" : {
|
||||
"mode" : "hash",
|
||||
"base" : "./"
|
||||
}
|
||||
},
|
||||
"permissions" : {
|
||||
"network" : {
|
||||
"description" : "用于获取网络状态和IP地址"
|
||||
}
|
||||
}
|
||||
}
|
||||
190
package-lock.json
generated
Normal file
190
package-lock.json
generated
Normal file
@@ -0,0 +1,190 @@
|
||||
{
|
||||
"name": "rd_mes_uniapp",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"axios": "^1.7.2",
|
||||
"lodash": "^4.17.21",
|
||||
"uview-ui": "^2.0.36"
|
||||
}
|
||||
},
|
||||
"node_modules/asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.2.tgz",
|
||||
"integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.6",
|
||||
"form-data": "^4.0.0",
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"dependencies": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/follow-redirects": {
|
||||
"version": "1.15.6",
|
||||
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"debug": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
|
||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mime-types": {
|
||||
"version": "2.1.35",
|
||||
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"dependencies": {
|
||||
"mime-db": "1.52.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||
},
|
||||
"node_modules/uview-ui": {
|
||||
"version": "2.0.36",
|
||||
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz",
|
||||
"integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||
},
|
||||
"axios": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.2.tgz",
|
||||
"integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
|
||||
"requires": {
|
||||
"follow-redirects": "^1.15.6",
|
||||
"form-data": "^4.0.0",
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.15.6",
|
||||
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
|
||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.35",
|
||||
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"requires": {
|
||||
"mime-db": "1.52.0"
|
||||
}
|
||||
},
|
||||
"proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||
},
|
||||
"uview-ui": {
|
||||
"version": "2.0.36",
|
||||
"resolved": "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.36.tgz",
|
||||
"integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA=="
|
||||
}
|
||||
}
|
||||
}
|
||||
7
package.json
Normal file
7
package.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"axios": "^1.7.2",
|
||||
"lodash": "^4.17.21",
|
||||
"uview-ui": "^2.0.36"
|
||||
}
|
||||
}
|
||||
697
pages.json
Normal file
697
pages.json
Normal file
@@ -0,0 +1,697 @@
|
||||
{
|
||||
"pages": [{
|
||||
"path": "pages/login",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登录"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "若依移动端框架",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/work/index",
|
||||
"style": {
|
||||
// "navigationStyle": "custom"
|
||||
"navigationBarTitleText": "工作台",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
// "text": "\ue620",
|
||||
// "fontSrc": "/static/iconfont.ttf",
|
||||
// "fontSize": "35",
|
||||
"float": "right",
|
||||
"select": "true"
|
||||
// "type": "menu"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/work/esop",
|
||||
"style": {
|
||||
"navigationBarTitleText": "ESOP"
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/work/ipc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "IPC"
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/work/mesIT",
|
||||
"style": {
|
||||
"navigationBarTitleText": "MES智能终端",
|
||||
"app-plus": {
|
||||
"titleNView": {
|
||||
"buttons": [{
|
||||
"float": "right",
|
||||
"select": "true"
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/mine/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mine/avatar/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "修改头像"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/info/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "个人信息"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/info/edit",
|
||||
"style": {
|
||||
"navigationBarTitleText": "编辑资料"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/pwd/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "修改密码"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/setting/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "应用设置"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/help/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "常见问题"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mine/about/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "关于我们"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/common/webview/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "浏览网页"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/common/textview/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "浏览文本"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/pass",
|
||||
"style": {
|
||||
"navigationBarTitleText": "合格品报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/defect",
|
||||
"style": {
|
||||
"navigationBarTitleText": "不良品报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/scrap",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报废品报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/loss",
|
||||
"style": {
|
||||
"navigationBarTitleText": "损耗报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/onceReport",
|
||||
"style": {
|
||||
"navigationBarTitleText": "一次性报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/pipelineReport",
|
||||
"style": {
|
||||
"navigationBarTitleText": "流水线报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobReport/pwoReport",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/reportEnsure",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报工确认"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/reportContEnsure",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报工批量确认"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/reportFailRecord",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报工失败记录"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/inFailRecord",
|
||||
"style": {
|
||||
"navigationBarTitleText": "入库失败记录"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/jobIn",
|
||||
"style": {
|
||||
"navigationBarTitleText": "上机转入"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pwoDraw",
|
||||
"style": {
|
||||
"navigationBarTitleText": "领料转移单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pwoIn",
|
||||
"style": {
|
||||
"navigationBarTitleText": "完工转移单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pwoWarehousing",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单入库"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/jobBindEqp",
|
||||
"style": {
|
||||
"navigationBarTitleText": "切换设备"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pieceReport",
|
||||
"style": {
|
||||
"navigationBarTitleText": "件号报工"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pieceIn",
|
||||
"style": {
|
||||
"navigationBarTitleText": "件号转入"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pwoClose",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单人工关闭"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/pwoSearch",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单状态查询"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/jobCv/stockConvertion",
|
||||
"style": {
|
||||
"navigationBarTitleText": "物料核销单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/qualityEnsure",
|
||||
"style": {
|
||||
"navigationBarTitleText": "质检确认"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/inEnsure",
|
||||
"style": {
|
||||
"navigationBarTitleText": "入库确认"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/inQuery",
|
||||
"style": {
|
||||
"navigationBarTitleText": "入库查询"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/notInQuery",
|
||||
"style": {
|
||||
"navigationBarTitleText": "待入库查询"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/mes/mesJobSingleReportSign/statusQuery",
|
||||
"style": {
|
||||
"navigationBarTitleText": "状态查询"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/purchase/purchaseSh",
|
||||
"style": {
|
||||
"navigationBarTitleText": "采购收货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/purchase/purchaseRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "采购入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/purchase/purchaseQualityT",
|
||||
"style": {
|
||||
"navigationBarTitleText": "采购质检单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcBack/pdcBackSh",
|
||||
"style": {
|
||||
"navigationBarTitleText": "生产退料收货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcBack/pdcBackRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "生产退料入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcBack/directRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "退料直接入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcIn/pdcInQualityT",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品质检"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcIn/pdcRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcIn/directRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "直接入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcIn/pdcSh",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品收货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcMaterial/pdcCk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "领料出库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcMaterial/pdcPick",
|
||||
"style": {
|
||||
"navigationBarTitleText": "领料拣货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcMaterial/directCk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "直接出库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pdcMaterial/confirmNum",
|
||||
"style": {
|
||||
"navigationBarTitleText": "出库数量检验"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/sale/saleCk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "销售出库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/sale/directCk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "直接出库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/sale/salePick",
|
||||
"style": {
|
||||
"navigationBarTitleText": "销售拣货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/srm/antiCrossCargoIn",
|
||||
"style": {
|
||||
"navigationBarTitleText": "防串货录入"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/srm/antiiCrossCargoQuery",
|
||||
"style": {
|
||||
"navigationBarTitleText": "防串货查询"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/inventory/inventorySheet",
|
||||
"style": {
|
||||
"navigationBarTitleText": "盘点单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/qc/fqc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "生产入库检"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/qc/ipqc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "生产过程检"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/qc/iqc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "采购入库检"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/qc/oqc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "销售出库检"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/qc/updateStandardList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "编辑批号质检详情"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/qc/qcAdd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增质检"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/empEqpStart",
|
||||
"style": {
|
||||
"navigationBarTitleText": "人员上机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/empEqpEnd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "人员下机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterStart",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀柄上机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterEnd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀柄下机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterBind",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀具安装"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterUnBind",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀具拆卸"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterSwitch",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀具切换"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterBladeEnd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀刃下机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/basic/cutterBladeStart",
|
||||
"style": {
|
||||
"navigationBarTitleText": "刀刃上机"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/esop/esopProLine",
|
||||
"style": {
|
||||
"navigationBarTitleText": "ESOP产线下发"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/esop/esopPwo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "作业工位"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pwoIn/pwoRk",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品入库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pwoIn/pwoSh",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品收货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pwoIn/pwoTask",
|
||||
"style": {
|
||||
"navigationBarTitleText": "生产任务单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pwoMaterial/pwoOut",
|
||||
"style": {
|
||||
"navigationBarTitleText": "领料出库单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/wms/pwoMaterial/pwoPick",
|
||||
"style": {
|
||||
"navigationBarTitleText": "领料拣货单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/checkTask",
|
||||
"style": {
|
||||
"navigationBarTitleText": "点检任务单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/checkTaskItem",
|
||||
"style": {
|
||||
"navigationBarTitleText": "点检任务明细单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/list",
|
||||
"style": {
|
||||
"navigationBarTitleText": "基本信息"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/maintainTask",
|
||||
"style": {
|
||||
"navigationBarTitleText": "保养任务单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/maintainTaskItem",
|
||||
"style": {
|
||||
"navigationBarTitleText": "保养任务明细单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/repairTask",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修任务单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/tpm/repairTaskItem",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修任务明细单"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/retrospect/piece",
|
||||
"style": {
|
||||
"navigationBarTitleText": "件号追溯"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/retrospect/pwo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单追溯"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/work/searchIndex/searchIndex",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/wms/pdcIn/pdcListing",
|
||||
"style": {
|
||||
"navigationBarTitleText": "批号分批入库明细",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/wms/purchase/purchaseListing",
|
||||
"style": {
|
||||
"navigationBarTitleText": "批号分批入库明细",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
}, {
|
||||
"path": "pages/wms/pdcBack/pdcBackListing",
|
||||
"style": {
|
||||
"navigationBarTitleText": "批号分批入库明细",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/productSuit/addSuit",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增产品套装",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/productSuit/addSuitDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "产品套装明细",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/mouldShareGroup/addMouldShareGroup",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增工模作业",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/mouldShareGroup/addMouldShareGroupDetail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工模作业明细",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/wms/stock/addTransfer",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增物料移库",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/wms/stock/addInvQuick",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增快速盘点",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/jobQuality/jobQuality",
|
||||
"style": {
|
||||
"navigationBarTitleText": "作业质检",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/retrospect/pwo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工单追溯",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldRepairTaskList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "模具维修",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldRepairTaskAdd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新增模具维修",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/eqpWithMouldHistory",
|
||||
"style": {
|
||||
"navigationBarTitleText": "设备上模历史",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldQuery",
|
||||
"style": {
|
||||
"navigationBarTitleText": "模具查询",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldEnd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "下模开始",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldEndFinish",
|
||||
"style": {
|
||||
"navigationBarTitleText": "下模完成",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldStart",
|
||||
"style": {
|
||||
"navigationBarTitleText": "上模开始",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/tpmMould/mouldStartFinish",
|
||||
"style": {
|
||||
"navigationBarTitleText": "上模完成",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/pwoRecord/pwoRecordAdd",
|
||||
"style": {
|
||||
"navigationBarTitleText": "维修记录单",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/pwoRecord/badRecord",
|
||||
"style": {
|
||||
"navigationBarTitleText": "不良记录",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mes/pwoRecord/badRecordList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "不良记录列表",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/qc/opqc",
|
||||
"style": {
|
||||
"navigationBarTitleText": "制程检验",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
"tabBar": {
|
||||
"color": "#000000",
|
||||
"selectedColor": "#000000",
|
||||
"borderStyle": "white",
|
||||
"backgroundColor": "#ffffff",
|
||||
"list": [{
|
||||
"pagePath": "pages/index",
|
||||
"iconPath": "static/images/tabbar/home.png",
|
||||
"selectedIconPath": "static/images/tabbar/home_.png",
|
||||
"text": "首页"
|
||||
}, {
|
||||
"pagePath": "pages/work/index",
|
||||
"iconPath": "static/images/tabbar/work.png",
|
||||
"selectedIconPath": "static/images/tabbar/work_.png",
|
||||
"text": "工作台"
|
||||
}, {
|
||||
"pagePath": "pages/mine/index",
|
||||
"iconPath": "static/images/tabbar/mine.png",
|
||||
"selectedIconPath": "static/images/tabbar/mine_.png",
|
||||
"text": "我的"
|
||||
}],
|
||||
"fontSize": "14px"
|
||||
// "height": "100px"
|
||||
},
|
||||
"globalStyle": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "RuoYi",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"pageOrientation": "auto"
|
||||
}
|
||||
}
|
||||
137
pages/basic/cutterBind.vue
Normal file
137
pages/basic/cutterBind.vue
Normal file
@@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀柄编码" :labelWidth='90' name="shankCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.shankCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="刀刃编码" :labelWidth='90' name="bladeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarbladeCode" v-model="formData.bladeCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="安装员" :labelWidth='90' name="installCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarinstallBy" @change="selectinstallBy"
|
||||
v-model="installCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
bindRecord
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
shankCode: null,
|
||||
bladeCode: null,
|
||||
installBy: null,
|
||||
},
|
||||
installCode: null,
|
||||
rules: {
|
||||
bladeCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀刃编码!'
|
||||
}]
|
||||
},
|
||||
shankCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
installCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入安装员!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.shankCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBarbladeCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.bladeCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
selectinstallBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.installBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarinstallBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.installCode = res.result;
|
||||
_this.selectinstallBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.bladeCode && this.formData.shankCode) {
|
||||
//判断安装员是否填入
|
||||
setTimeout(() => {
|
||||
if (this.formData.installBy) {
|
||||
this.$modal.loading('提交中')
|
||||
bindRecord(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀具安装成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入安装员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
227
pages/basic/cutterBladeEnd.vue
Normal file
227
pages/basic/cutterBladeEnd.vue
Normal file
@@ -0,0 +1,227 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀刃编码" :labelWidth='90' name="cutterBladeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.cutterBladeCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="equipmentCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarequipmentCode" v-model="formData.equipmentCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="拆卸员" :labelWidth='90' name="removeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarremoveBy" @change="selectremoveBy"
|
||||
v-model="removeCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="操作员" :labelWidth='90' name="operatorCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBaroperator" @change="selectoperator"
|
||||
v-model="operatorCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
removeBlade
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
code: null,
|
||||
formData: {
|
||||
cutterBladeCode: null,
|
||||
equipmentCode: null,
|
||||
removeBy: null,
|
||||
operator: null
|
||||
},
|
||||
removeCode: null,
|
||||
operatorCode: null,
|
||||
value: 0,
|
||||
range: [],
|
||||
entityOptions: [],
|
||||
materialOptions: [],
|
||||
rules: {
|
||||
equipmentCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!'
|
||||
},
|
||||
{
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]
|
||||
},
|
||||
cutterBladeCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
//扫描物料编码带出绑定的刀具信息
|
||||
scanBarCode() {
|
||||
if (this.formData.materialCode) {
|
||||
console.log(this.formData.materialCode)
|
||||
this.range = [];
|
||||
//判断是否扫描二维码
|
||||
if (typeof(this.formData.materialCode) === 'string') {
|
||||
this.formData.materialName = this.materialOptions.find(item => item.materialCode == this.formData
|
||||
.materialCode).materialName;
|
||||
if (this.formData.materialCode != "") {
|
||||
listEntity({
|
||||
cutterMaterialCode: this.formData.materialCode,
|
||||
cutterMaterialName: this.formData.materialName,
|
||||
}).then((resp) => {
|
||||
this.range = resp.rows;
|
||||
for (var i = 0; i < resp.rows.length; i++) {
|
||||
this.range[i].value = resp.rows[i].id;
|
||||
this.range[i].text = resp.rows[i].entityCode + ':' + (!resp.rows[i].pieceNo ?
|
||||
'' : resp.rows[i].pieceNo) + ':' + (!resp.rows[i].batchNo ? '' : resp
|
||||
.rows[i].batchNo)
|
||||
}
|
||||
this.entityOptions = resp.rows;
|
||||
});
|
||||
} else {
|
||||
this.entityOptions = [];
|
||||
}
|
||||
} else if (typeof(this.formData.materialCode) === 'object') {
|
||||
if (this.formData.materialCode.id) {
|
||||
this.formData.cutterEntityId = this.formData.materialCode.id;
|
||||
getEntity(this.formData.materialCode.id).then(async res => {
|
||||
this.range.push(res.data);
|
||||
this.entityOptions = this.range;
|
||||
this.formData.cutterEntityCode = this.range[0].entityCode;
|
||||
this.range[0].value = this.range[0].id;
|
||||
this.range[0].text = this.range[0].entityCode + ':' + (!this.range[0].pieceNo ?
|
||||
'' : this.range[0].pieceNo) + ':' + (!this.range[0].batchNo ? '' : this
|
||||
.range[0].batchNo)
|
||||
})
|
||||
}
|
||||
this.formData.materialName = this.formData.materialCode.cutterMaterialName;
|
||||
this.formData.materialCode = this.formData.materialCode.cutterMaterialCode;
|
||||
}
|
||||
}
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.cutterBladeCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
//根据设备编码获取设备id
|
||||
getEquipmentId() {
|
||||
if (this.formData.equipmentCode) {
|
||||
listEquipment({
|
||||
equipmentCode: this.formData.equipmentCode
|
||||
}).then((resp) => {
|
||||
if (resp.rows.length > 0) {
|
||||
this.formData.equipmentId = resp.rows[0].id;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
scanBarequipmentCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.equipmentCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
selectoperator(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.operator = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
selectremoveBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.removeBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarremoveBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.removeCode = res.result;
|
||||
_this.selectremoveBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBaroperator() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.operatorCode = res.result;
|
||||
_this.selectoperator(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.equipmentCode && this.formData.cutterBladeCode) {
|
||||
//判断安装员是否填入
|
||||
setTimeout(() => {
|
||||
if (this.formData.removeBy) {
|
||||
this.$modal.loading('提交中')
|
||||
removeBlade(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀刃下机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入拆卸员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
234
pages/basic/cutterBladeStart.vue
Normal file
234
pages/basic/cutterBladeStart.vue
Normal file
@@ -0,0 +1,234 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :model="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀刃编码" :labelWidth='90' name="cutterBladeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.cutterBladeCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="equipmentCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarequipmentCode" v-model="formData.equipmentCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="安装员" :labelWidth='90' name="installCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarinstallBy" @change="selectinstallBy"
|
||||
v-model="installCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="操作员" :labelWidth='90' name="operatorCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBaroperator" @change="selectoperator"
|
||||
v-model="operatorCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
installBlade
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
code: null,
|
||||
formData: {
|
||||
cutterBladeCode: null,
|
||||
equipmentCode: null,
|
||||
installBy: null,
|
||||
operator: null
|
||||
},
|
||||
installCode: null,
|
||||
operatorCode: null,
|
||||
value: 0,
|
||||
range: [],
|
||||
entityOptions: [],
|
||||
materialOptions: [],
|
||||
rules: {
|
||||
equipmentCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!',
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]
|
||||
},
|
||||
cutterBladeCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀刃编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
//扫描物料编码带出绑定的刀具信息
|
||||
scanBarCode() {
|
||||
if (this.formData.materialCode) {
|
||||
console.log(this.formData.materialCode)
|
||||
this.range = [];
|
||||
//判断是否扫描二维码
|
||||
if (typeof(this.formData.materialCode) === 'string') {
|
||||
// this.formData.materialCode = this.code;
|
||||
this.formData.materialName = this.materialOptions.find(item => item.materialCode == this.formData
|
||||
.materialCode).materialName;
|
||||
if (this.formData.materialCode != "") {
|
||||
listEntity({
|
||||
cutterMaterialCode: this.formData.materialCode,
|
||||
cutterMaterialName: this.formData.materialName,
|
||||
}).then((resp) => {
|
||||
this.range = resp.rows;
|
||||
for (var i = 0; i < resp.rows.length; i++) {
|
||||
this.range[i].value = resp.rows[i].id;
|
||||
this.range[i].text = resp.rows[i].entityCode + ':' + (!resp.rows[i].pieceNo ?
|
||||
'' : resp.rows[i].pieceNo) + ':' + (!resp.rows[i].batchNo ? '' : resp
|
||||
.rows[i].batchNo)
|
||||
}
|
||||
this.entityOptions = resp.rows;
|
||||
});
|
||||
} else {
|
||||
this.entityOptions = [];
|
||||
}
|
||||
} else if (typeof(this.formData.materialCode) === 'object') {
|
||||
if (this.formData.materialCode.id) {
|
||||
this.formData.cutterEntityId = this.formData.materialCode.id;
|
||||
getEntity(this.formData.materialCode.id).then(async res => {
|
||||
this.range.push(res.data);
|
||||
this.entityOptions = this.range;
|
||||
this.formData.cutterEntityCode = this.range[0].entityCode;
|
||||
this.range[0].value = this.range[0].id;
|
||||
this.range[0].text = this.range[0].entityCode + ':' + (!this.range[0].pieceNo ?
|
||||
'' : this.range[0].pieceNo) + ':' + (!this.range[0].batchNo ? '' : this
|
||||
.range[0].batchNo)
|
||||
})
|
||||
}
|
||||
this.formData.materialName = this.formData.materialCode.cutterMaterialName;
|
||||
this.formData.materialCode = this.formData.materialCode.cutterMaterialCode;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.cutterBladeCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
//根据设备编码获取设备id
|
||||
getEquipmentId() {
|
||||
if (this.formData.equipmentCode) {
|
||||
listEquipment({
|
||||
equipmentCode: this.formData.equipmentCode
|
||||
}).then((resp) => {
|
||||
if (resp.rows.length > 0) {
|
||||
this.formData.equipmentId = resp.rows[0].id;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
scanBarequipmentCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.equipmentCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
selectoperator(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.operator = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
selectinstallBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.installBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarinstallBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.installCode = res.result;
|
||||
_this.selectinstallBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBaroperator() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.operatorCode = res.result;
|
||||
_this.selectoperator(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.equipmentCode && this.formData.cutterBladeCode) {
|
||||
console.log(this.formData);
|
||||
//判断安装员是否填入
|
||||
setTimeout(() => {
|
||||
if (this.formData.installBy) {
|
||||
this.$modal.loading('提交中')
|
||||
installBlade(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀刃上机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入安装员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
234
pages/basic/cutterEnd.vue
Normal file
234
pages/basic/cutterEnd.vue
Normal file
@@ -0,0 +1,234 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀柄编码" :labelWidth='90' name="cutterShankCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.cutterShankCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="equipmentCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarequipmentCode" v-model="formData.equipmentCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="拆卸员" :labelWidth='90' name="removeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarremoveBy" @change="selectremoveBy"
|
||||
v-model="removeCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="操作员" :labelWidth='90' name="operatorCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBaroperator" @change="selectoperator"
|
||||
v-model="operatorCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
removeShank
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
code: null,
|
||||
formData: {
|
||||
cutterShankCode: null,
|
||||
equipmentCode: null,
|
||||
removeBy: null,
|
||||
operator: null
|
||||
},
|
||||
removeCode: null,
|
||||
operatorCode: null,
|
||||
value: 0,
|
||||
range: [],
|
||||
entityOptions: [],
|
||||
materialOptions: [],
|
||||
rules: {
|
||||
equipmentCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!'
|
||||
},
|
||||
{
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]
|
||||
},
|
||||
cutterShankCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
//扫描物料编码带出绑定的刀具信息
|
||||
scanBarCode() {
|
||||
if (this.formData.materialCode) {
|
||||
console.log(this.formData.materialCode)
|
||||
this.range = [];
|
||||
//判断是否扫描二维码
|
||||
if (typeof(this.formData.materialCode) === 'string') {
|
||||
// this.formData.materialCode = this.code;
|
||||
this.formData.materialName = this.materialOptions.find(item => item.materialCode == this.formData
|
||||
.materialCode).materialName;
|
||||
if (this.formData.materialCode != "") {
|
||||
listEntity({
|
||||
cutterMaterialCode: this.formData.materialCode,
|
||||
cutterMaterialName: this.formData.materialName,
|
||||
}).then((resp) => {
|
||||
this.range = resp.rows;
|
||||
for (var i = 0; i < resp.rows.length; i++) {
|
||||
this.range[i].value = resp.rows[i].id;
|
||||
this.range[i].text = resp.rows[i].entityCode + ':' + (!resp.rows[i].pieceNo ?
|
||||
'' : resp.rows[i].pieceNo) + ':' + (!resp.rows[i].batchNo ? '' : resp
|
||||
.rows[i].batchNo)
|
||||
}
|
||||
this.entityOptions = resp.rows;
|
||||
});
|
||||
} else {
|
||||
this.entityOptions = [];
|
||||
}
|
||||
} else if (typeof(this.formData.materialCode) === 'object') {
|
||||
if (this.formData.materialCode.id) {
|
||||
this.formData.cutterEntityId = this.formData.materialCode.id;
|
||||
getEntity(this.formData.materialCode.id).then(async res => {
|
||||
this.range.push(res.data);
|
||||
this.entityOptions = this.range;
|
||||
this.formData.cutterEntityCode = this.range[0].entityCode;
|
||||
this.range[0].value = this.range[0].id;
|
||||
this.range[0].text = this.range[0].entityCode + ':' + (!this.range[0].pieceNo ?
|
||||
'' : this.range[0].pieceNo) + ':' + (!this.range[0].batchNo ? '' : this
|
||||
.range[0].batchNo)
|
||||
})
|
||||
}
|
||||
this.formData.materialName = this.formData.materialCode.cutterMaterialName;
|
||||
this.formData.materialCode = this.formData.materialCode.cutterMaterialCode;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.cutterShankCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
//根据设备编码获取设备id
|
||||
getEquipmentId() {
|
||||
if (this.formData.equipmentCode) {
|
||||
listEquipment({
|
||||
equipmentCode: this.formData.equipmentCode
|
||||
}).then((resp) => {
|
||||
if (resp.rows.length > 0) {
|
||||
this.formData.equipmentId = resp.rows[0].id;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
scanBarequipmentCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.equipmentCode = res.result;
|
||||
// _this.getEquipmentId();
|
||||
}
|
||||
});
|
||||
},
|
||||
selectoperator(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.operator = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
selectremoveBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.removeBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarremoveBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.removeCode = res.result;
|
||||
_this.selectremoveBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBaroperator() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.operatorCode = res.result;
|
||||
_this.selectoperator(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.equipmentCode && this.formData.cutterShankCode) {
|
||||
console.log(this.formData);
|
||||
//判断安装员是否填入
|
||||
setTimeout(() => {
|
||||
if (this.formData.removeBy) {
|
||||
this.$modal.loading('提交中')
|
||||
removeShank(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀柄下机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入拆卸员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
235
pages/basic/cutterStart.vue
Normal file
235
pages/basic/cutterStart.vue
Normal file
@@ -0,0 +1,235 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :model="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀柄编码" :labelWidth='90' name="cutterShankCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.cutterShankCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="equipmentCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarequipmentCode" v-model="formData.equipmentCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="安装员" :labelWidth='90' name="installCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarinstallBy" @change="selectinstallBy"
|
||||
v-model="installCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="操作员" :labelWidth='90' name="operatorCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBaroperator" @change="selectoperator"
|
||||
v-model="operatorCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
installShank
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
code: null,
|
||||
formData: {
|
||||
cutterShankCode: null,
|
||||
equipmentCode: null,
|
||||
installBy: null,
|
||||
operator: null
|
||||
},
|
||||
installCode: null,
|
||||
operatorCode: null,
|
||||
value: 0,
|
||||
range: [],
|
||||
entityOptions: [],
|
||||
materialOptions: [],
|
||||
rules: {
|
||||
equipmentCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!',
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]
|
||||
},
|
||||
cutterShankCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
//扫描物料编码带出绑定的刀具信息
|
||||
scanBarCode() {
|
||||
if (this.formData.materialCode) {
|
||||
console.log(this.formData.materialCode)
|
||||
this.range = [];
|
||||
//判断是否扫描二维码
|
||||
if (typeof(this.formData.materialCode) === 'string') {
|
||||
// this.formData.materialCode = this.code;
|
||||
this.formData.materialName = this.materialOptions.find(item => item.materialCode == this.formData
|
||||
.materialCode).materialName;
|
||||
if (this.formData.materialCode != "") {
|
||||
listEntity({
|
||||
cutterMaterialCode: this.formData.materialCode,
|
||||
cutterMaterialName: this.formData.materialName,
|
||||
}).then((resp) => {
|
||||
this.range = resp.rows;
|
||||
for (var i = 0; i < resp.rows.length; i++) {
|
||||
this.range[i].value = resp.rows[i].id;
|
||||
this.range[i].text = resp.rows[i].entityCode + ':' + (!resp.rows[i].pieceNo ?
|
||||
'' : resp.rows[i].pieceNo) + ':' + (!resp.rows[i].batchNo ? '' : resp
|
||||
.rows[i].batchNo)
|
||||
}
|
||||
this.entityOptions = resp.rows;
|
||||
});
|
||||
} else {
|
||||
this.entityOptions = [];
|
||||
}
|
||||
} else if (typeof(this.formData.materialCode) === 'object') {
|
||||
if (this.formData.materialCode.id) {
|
||||
this.formData.cutterEntityId = this.formData.materialCode.id;
|
||||
getEntity(this.formData.materialCode.id).then(async res => {
|
||||
this.range.push(res.data);
|
||||
this.entityOptions = this.range;
|
||||
this.formData.cutterEntityCode = this.range[0].entityCode;
|
||||
this.range[0].value = this.range[0].id;
|
||||
this.range[0].text = this.range[0].entityCode + ':' + (!this.range[0].pieceNo ?
|
||||
'' : this.range[0].pieceNo) + ':' + (!this.range[0].batchNo ? '' : this
|
||||
.range[0].batchNo)
|
||||
})
|
||||
}
|
||||
this.formData.materialName = this.formData.materialCode.cutterMaterialName;
|
||||
this.formData.materialCode = this.formData.materialCode.cutterMaterialCode;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.cutterShankCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
//根据设备编码获取设备id
|
||||
getEquipmentId() {
|
||||
if (this.formData.equipmentCode) {
|
||||
listEquipment({
|
||||
equipmentCode: this.formData.equipmentCode
|
||||
}).then((resp) => {
|
||||
if (resp.rows.length > 0) {
|
||||
this.formData.equipmentId = resp.rows[0].id;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
scanBarequipmentCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.equipmentCode = res.result;
|
||||
// _this.getEquipmentId();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
selectoperator(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.operator = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
selectinstallBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.installBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarinstallBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.installCode = res.result;
|
||||
_this.selectinstallBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBaroperator() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.operatorCode = res.result;
|
||||
_this.selectoperator(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.equipmentCode && this.formData.cutterShankCode) {
|
||||
console.log(this.formData);
|
||||
//判断安装员是否填入
|
||||
setTimeout(() => {
|
||||
if (this.formData.installBy) {
|
||||
this.$modal.loading('提交中')
|
||||
installShank(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀柄上机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入安装员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
166
pages/basic/cutterSwitch.vue
Normal file
166
pages/basic/cutterSwitch.vue
Normal file
@@ -0,0 +1,166 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀柄编码" :labelWidth='90' name="shankCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @change="scanbarshankCode"
|
||||
v-model="formData.shankCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="已绑定刀刃编码" :labelWidth='90' name="oldbladeCode">
|
||||
<uni-easyinput disabled v-model="oldbladeCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="刀刃编码" :labelWidth='90' name="bladeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarbladeCode" v-model="formData.bladeCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="切换人" :labelWidth='90' name="updateBy">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarupdateBy" @change="selectEmpCode"
|
||||
v-model="updateBy" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listInstallRecord,
|
||||
unbindRecord,
|
||||
bindRecord
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
shankCode: null,
|
||||
bladeCode: null,
|
||||
},
|
||||
//临时切换人编码
|
||||
updateBy: null,
|
||||
//切换人姓名
|
||||
updateName: null,
|
||||
//拆卸表单
|
||||
unbindForm: {},
|
||||
//安装表单
|
||||
bindForm: {},
|
||||
//旧刀刃编码
|
||||
oldbladeCode: null,
|
||||
rules: {
|
||||
bladeCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀刃编码!'
|
||||
}]
|
||||
},
|
||||
shankCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
selectEmpCode(code) {
|
||||
this.updateName = null;
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.updateName = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.shankCode = res.result;
|
||||
_this.formData.scanbarshankCode();
|
||||
}
|
||||
});
|
||||
},
|
||||
scanbarshankCode() {
|
||||
this.oldbladeCode = null;
|
||||
if (this.formData.shankCode) {
|
||||
listInstallRecord({
|
||||
shankCode: this.formData.shankCode,
|
||||
removeTime: null
|
||||
}).then(async res => {
|
||||
//判断是否存在已绑定且未拆卸的刀具
|
||||
console.log(res);
|
||||
for (var i in res.rows) {
|
||||
if (!res.rows[i].removeTime) {
|
||||
console.log(res.rows[i].bladeCode)
|
||||
this.oldbladeCode = res.rows[i].bladeCode;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
scanBarbladeCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.bladeCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBarupdateBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.updateBy = res.result;
|
||||
_this.selectEmpCode(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.bladeCode && this.formData.shankCode) {
|
||||
console.log(this.updateName)
|
||||
if (this.updateName) {
|
||||
this.unbindForm = {
|
||||
shankCode: this.formData.shankCode,
|
||||
bladeCode: this.oldbladeCode,
|
||||
removeBy: this.updateName
|
||||
}
|
||||
//拆卸
|
||||
unbindRecord(this.unbindForm);
|
||||
this.bindForm = this.formData
|
||||
this.bindForm.installBy = this.updateName;
|
||||
//由于bindRecord接口过快,导致切换人没有时间赋值,故设置定时器
|
||||
setTimeout(() => {
|
||||
this.$modal.loading('提交中')
|
||||
bindRecord(this.bindForm).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀具切换成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
}, 500);
|
||||
} else {
|
||||
this.$modal.msg("请输入切换人!")
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
132
pages/basic/cutterUnBind.vue
Normal file
132
pages/basic/cutterUnBind.vue
Normal file
@@ -0,0 +1,132 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-forms-item label="刀柄编码" :labelWidth='90' name="shankCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.shankCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="刀刃编码" :labelWidth='90' name="bladeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarbladeCode" v-model="formData.bladeCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="拆卸员" :labelWidth='90' name="removeCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarremoveBy" @change="selectremoveBy"
|
||||
v-model="removeCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listUseRecord,
|
||||
getUseRecord,
|
||||
delUseRecord,
|
||||
addStartUse,
|
||||
updateEndUse,
|
||||
listEntity,
|
||||
listMaterial,
|
||||
listEquipment,
|
||||
getEntity,
|
||||
unbindRecord
|
||||
} from "@/api/basic/cutter.js";
|
||||
import {
|
||||
listEmployee
|
||||
} from "@/api/mes/jobIn.js";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
shankCode: null,
|
||||
bladeCode: null,
|
||||
removeBy: null,
|
||||
},
|
||||
removeCode: null,
|
||||
rules: {
|
||||
bladeCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀刃编码!'
|
||||
}]
|
||||
},
|
||||
shankCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入刀柄编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.shankCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBarbladeCode() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.bladeCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
selectremoveBy(code) {
|
||||
listEmployee({
|
||||
empCode: code
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
this.formData.removeBy = res.rows[0].name;
|
||||
} else {
|
||||
this.$modal.msg("未查询到该人员,请重新输入!")
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBarremoveBy() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.removeCode = res.result;
|
||||
_this.selectremoveBy(res.result);
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
if (this.formData.bladeCode && this.formData.shankCode) {
|
||||
console.log(this.formData);
|
||||
setTimeout(() => {
|
||||
if (this.formData.removeBy) {
|
||||
this.$modal.loading('提交中')
|
||||
unbindRecord(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("刀具拆卸成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
} else {
|
||||
this.$modal.msg("请输入拆卸员!")
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
120
pages/basic/empEqpEnd.vue
Normal file
120
pages/basic/empEqpEnd.vue
Normal file
@@ -0,0 +1,120 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="员工编码" :labelWidth='90' name="empCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @confirm="search"
|
||||
v-model="formData.empCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
<uni-col :span="24" style="margin-bottom: 10px;">
|
||||
该员工已绑定设备:<br><span
|
||||
v-for="item in searchEmpWithEqp">{{item.equipmentCode+':'+item.equipmentTitle}}<br></span>
|
||||
</uni-col>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="eqpCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.eqpCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
addStart,
|
||||
addEnd,
|
||||
listEmpEqpHistory
|
||||
} from '@/api/basic/empEqpHistory.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
empCode: null,
|
||||
eqpCode: null
|
||||
},
|
||||
searchEmpWithEqp: [],
|
||||
rules: {
|
||||
empCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入员工编码!'
|
||||
}]
|
||||
},
|
||||
eqpCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!'
|
||||
}, {
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
}]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//根据员工编码来查询已上机但并未下机的设备
|
||||
search() {
|
||||
this.searchEmpWithEqp = [];
|
||||
listEmpEqpHistory({
|
||||
empCode: this.formData.empCode
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
for (var i in res.rows) {
|
||||
//判断是否下机
|
||||
if (!res.rows[i].endTime) {
|
||||
this.searchEmpWithEqp.push({
|
||||
equipmentCode: res.rows[i].equipmentCode,
|
||||
equipmentTitle: res.rows[i].equipmentTitle
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.empCode = res.result;
|
||||
_this.search();
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBar1() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.eqpCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(res => {
|
||||
if (this.formData.empCode && this.formData.eqpCode) {
|
||||
this.$modal.loading('提交中')
|
||||
addEnd(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("下机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
121
pages/basic/empEqpStart.vue
Normal file
121
pages/basic/empEqpStart.vue
Normal file
@@ -0,0 +1,121 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="员工编码" :labelWidth='90' name="empCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @confirm="search"
|
||||
v-model="formData.empCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
<uni-col :span="24" style="margin-bottom: 10px;">
|
||||
该员工已绑定设备:<br><span v-for="item,index in searchEmpWithEqp"
|
||||
:key="index">{{item.equipmentCode+':'+item.equipmentTitle}}</span></br>
|
||||
</uni-col>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="设备编码" :labelWidth='90' name="eqpCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.eqpCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
addStart,
|
||||
addEnd,
|
||||
listEmpEqpHistory
|
||||
} from '@/api/basic/empEqpHistory.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
empCode: null,
|
||||
eqpCode: null
|
||||
},
|
||||
searchEmpWithEqp: [],
|
||||
rules: {
|
||||
empCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入员工编码!'
|
||||
}]
|
||||
},
|
||||
eqpCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入设备编码!'
|
||||
},
|
||||
{
|
||||
pattern: '^[A-Z0-9]+$',
|
||||
errorMessage: '请输入正确格式的设备编码!',
|
||||
trigger: 'blur',
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//根据员工编码来查询已上机但并未下机的设备
|
||||
search() {
|
||||
this.searchEmpWithEqp = []
|
||||
listEmpEqpHistory({
|
||||
empCode: this.formData.empCode
|
||||
}).then(async res => {
|
||||
if (res.rows.length > 0) {
|
||||
for (var i in res.rows) {
|
||||
//判断是否下机
|
||||
if (!res.rows[i].endTime) {
|
||||
this.searchEmpWithEqp.push({
|
||||
equipmentCode: res.rows[i].equipmentCode,
|
||||
equipmentTitle: res.rows[i].equipmentTitle
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.empCode = res.result;
|
||||
_this.search();
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBar1() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['qrCode', 'barCode'],
|
||||
success: function(res) {
|
||||
_this.formData.eqpCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs.form.validate().then(res => {
|
||||
if (this.formData.empCode && this.formData.eqpCode) {
|
||||
this.$modal.loading('提交中')
|
||||
addStart(this.formData).then(res => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("上机成功!")
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
43
pages/common/textview/index.vue
Normal file
43
pages/common/textview/index.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-card class="view-title" :title="title">
|
||||
<text class="uni-body view-content">{{ content }}</text>
|
||||
</uni-card>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
content: ''
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.title = options.title
|
||||
this.content = options.content
|
||||
uni.setNavigationBarTitle({
|
||||
title: options.title
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.view-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.view-content {
|
||||
font-size: 26rpx;
|
||||
padding: 12px 5px 0;
|
||||
color: #333;
|
||||
line-height: 24px;
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
34
pages/common/webview/index.vue
Normal file
34
pages/common/webview/index.vue
Normal file
@@ -0,0 +1,34 @@
|
||||
<template>
|
||||
<view v-if="params.url">
|
||||
<web-view :webview-styles="webviewStyles" :src="`${params.url}`"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
params: {},
|
||||
webviewStyles: {
|
||||
progress: {
|
||||
color: "#FF3333"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
src: {
|
||||
type: [String],
|
||||
default: null
|
||||
}
|
||||
},
|
||||
onLoad(event) {
|
||||
this.params = event
|
||||
if (event.title) {
|
||||
uni.setNavigationBarTitle({
|
||||
title: event.title
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
139
pages/esop/esopProLine.vue
Normal file
139
pages/esop/esopProLine.vue
Normal file
@@ -0,0 +1,139 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="生产工单" :labelWidth='90' name="pwoCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.pwoCode" type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="产线编码" :labelWidth='90' name="productLineCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.productLineCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="状态" :labelWidth='90' name="issuedState">
|
||||
<u-switch v-model="check" @change="favClick" activeColor="#5AC725"
|
||||
style="float: left;"></u-switch>
|
||||
<view style="float: left;margin: 5px;">{{status}}</view>
|
||||
<!-- <view class="uni-padding-wrap uni-common-mt">
|
||||
<uni-fav :checked="check" circle='true' bg-color="#dd524d" bg-color-checked="#67C23A" fg-color="#ffffff" fg-color-checked="#ffffff" star="false" :content-text="contentText" @click="favClick" />
|
||||
</view> -->
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
updatePwo,
|
||||
listProLine,
|
||||
listPwo
|
||||
} from "@/api/esop/esop.js";
|
||||
export default {
|
||||
mounted() {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
pwoCode: null,
|
||||
productLineCode: null,
|
||||
proLineId: null,
|
||||
issuedState: 0
|
||||
},
|
||||
check: false,
|
||||
contentText: {
|
||||
contentDefault: '待发',
|
||||
contentFav: '已下发'
|
||||
},
|
||||
status: '待发',
|
||||
rules: {
|
||||
pwoCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入生产工单!'
|
||||
}]
|
||||
},
|
||||
productLineCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入产线编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.formData.pwoCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBar1() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.formData.productLineCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
//切换状态
|
||||
favClick(e) {
|
||||
// this.check = !this.check;
|
||||
// console.log(this.check + " " + e);
|
||||
this.$forceUpdate();
|
||||
if (e == false) {
|
||||
this.status = '待发'
|
||||
this.formData.issuedState = 0
|
||||
} else {
|
||||
this.status = '下发'
|
||||
this.formData.issuedState = 1
|
||||
}
|
||||
},
|
||||
submit() {
|
||||
this.$refs["form"].validate().then(valid => {
|
||||
if (this.formData.productLineCode) {
|
||||
let obj = {
|
||||
productLineCode: this.formData.productLineCode
|
||||
}
|
||||
listProLine(obj).then(res => {
|
||||
this.formData.proLineId = res.rows[0].id;
|
||||
let pwoCode = {
|
||||
pwoCode: this.formData.pwoCode
|
||||
}
|
||||
listPwo(pwoCode).then(res => {
|
||||
this.formData.id = res.rows[0].id;
|
||||
this.$modal.loading('提交中')
|
||||
updatePwo(this.formData).then(response => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("下发成功!");
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
});
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
109
pages/esop/esopPwo.vue
Normal file
109
pages/esop/esopPwo.vue
Normal file
@@ -0,0 +1,109 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||||
<uni-row>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="工位编码" :labelWidth='90' name="stationCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" v-model="formData.stationCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
<uni-col :span="24">
|
||||
<uni-forms-item label="作业编码" :labelWidth='90' name="pwoJobCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.pwoJobCode"
|
||||
type="text" />
|
||||
</uni-forms-item>
|
||||
</uni-col>
|
||||
</uni-row>
|
||||
</uni-forms>
|
||||
<u-button type="primary" @click="submit">提交</u-button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listStation,
|
||||
listPwoJob,
|
||||
addCustomizeEsop
|
||||
} from "@/api/esop/esop.js";
|
||||
export default {
|
||||
mounted() {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
pwoJobCode: null,
|
||||
stationCode: null,
|
||||
|
||||
},
|
||||
rules: {
|
||||
pwoJobCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入作业编码!'
|
||||
}]
|
||||
},
|
||||
stationCode: {
|
||||
rules: [{
|
||||
required: true,
|
||||
errorMessage: '请输入工位编码!'
|
||||
}]
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.formData.stationCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
scanBar1() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.formData.pwoJobCode = res.result;
|
||||
}
|
||||
});
|
||||
},
|
||||
submit() {
|
||||
this.$refs["form"].validate().then(valid => {
|
||||
if (this.formData.stationCode) {
|
||||
let obj = {
|
||||
stationCode: this.formData.stationCode
|
||||
}
|
||||
listStation(obj).then(res => {
|
||||
this.formData.stationId = res.rows[0].id;
|
||||
let pwoJobCd = {
|
||||
code: this.formData.pwoJobCode
|
||||
}
|
||||
listPwoJob(pwoJobCd).then(res => {
|
||||
this.formData.pwoJobId = res.rows[0].id;
|
||||
this.$modal.loading('提交中')
|
||||
addCustomizeEsop(this.formData).then(response => {
|
||||
this.$modal.closeLoading();
|
||||
this.$modal.msgSuccess("提交成功!");
|
||||
setTimeout(() => {
|
||||
this.$tab.switchTab("/pages/work/index");
|
||||
}, 500);
|
||||
});
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
791
pages/index.vue
Normal file
791
pages/index.vue
Normal file
@@ -0,0 +1,791 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<scroll-view class="data_body" scroll-y style="height:100%">
|
||||
<view class="view_item">
|
||||
<view class="progress_circle">
|
||||
<view v-for="(item,index) in CircleData" :key="index" :class="['progress_block','block_'+index]">
|
||||
<view class="name">{{item.series[0].name}}</view>
|
||||
<!-- <view class="value">{{item.series[0].value}}</view> -->
|
||||
<view class="charts-box arcbar" style="height: 180rpx;width: 60%;">
|
||||
<qiun-data-charts type="arcbar" :chartData="item" :canvas2d="canvas2d"
|
||||
:canvasId="'four_a_'+index" :resshow="delayload"
|
||||
:opts="{title:{name:item.series[0].precent,color:item.series[0].color,fontSize:15},subtitle:{name:'',color:'#666666',fontSize:12},extra:{arcbar:{backgroundColor:item.series[0].backgroundColor}}}" />
|
||||
</view>
|
||||
<view class="planet">
|
||||
<view class="planet_shadow"></view>
|
||||
<view class="crater1"></view>
|
||||
<view class="crater2"></view>
|
||||
<view class="crater3"></view>
|
||||
<view class="crater4"></view>
|
||||
</view>
|
||||
<view class="star" :class="['star'+index]"></view>
|
||||
<view class="star pink" :class="['star'+index]"></view>
|
||||
<view class="star blue" :class="['star'+index]"></view>
|
||||
<view class="star yellow" :class="['star'+index]"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="split_line"></view>
|
||||
<view class="friend_operate">
|
||||
<view class="title">工单状态分布
|
||||
</view>
|
||||
<view v-if="delayload" class="charts-box" style="">
|
||||
<qiun-data-charts type="ring" canvasId="four_b" :canvas2d="canvas2d" :resshow="delayload"
|
||||
:opts="{legend:{position: 'bottom'},title:{name: '',},subtitle: {name: ''},extra:{ring:{customRadius:'55'}}}"
|
||||
:chartData="ProductRateData" style="height: 350px;" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="split_line"></view>
|
||||
<!--概览-->
|
||||
<view class="friend_operate">
|
||||
<text-block :content="CardData"></text-block>
|
||||
</view>
|
||||
<view class="friend_operate">
|
||||
<view class="title">本周报工产量</view>
|
||||
<view v-if="delayload" class="charts-box" style="height: 300px;">
|
||||
<qiun-data-charts type="line" canvasId="four_c" :canvas2d="canvas2d" :resshow="delayload"
|
||||
:chartData="TrendData" />
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import CircleData from "./json/user-server/1.json"
|
||||
import {
|
||||
listPwo,
|
||||
listPo,
|
||||
listReport,
|
||||
reportRate
|
||||
} from '@/api/mes/pwoDraw.js'
|
||||
import {
|
||||
getWeekReport,
|
||||
getPwoStatus,
|
||||
getProduceReport,
|
||||
} from '@/api/mes/jobIn.js'
|
||||
export default {
|
||||
mounted() {
|
||||
uni.showLoading();
|
||||
//获取饼图数据
|
||||
this.getStatus();
|
||||
this.getReport();
|
||||
this.getNum();
|
||||
this.getRate();
|
||||
setTimeout(() => {
|
||||
this.delayload = true;
|
||||
uni.hideLoading();
|
||||
}, 1000)
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
value: new Date(),
|
||||
CircleData: CircleData,
|
||||
ProductRateData: {},
|
||||
TrendData: [],
|
||||
CardData: [],
|
||||
isRank: true,
|
||||
canvas2d: this.$config.ISCANVAS2D,
|
||||
delayload: false, //延时加载图表,否则会出现图表加载完后定位错乱
|
||||
//饼图数据
|
||||
status1: 0,
|
||||
status2: 0,
|
||||
status3: 0,
|
||||
status4: 0,
|
||||
status5: 0,
|
||||
status6: 0,
|
||||
status7: 0,
|
||||
status8: 0,
|
||||
status9: 0,
|
||||
status10: 0,
|
||||
status11: 0,
|
||||
status12: 0,
|
||||
status13: 0,
|
||||
//卡片数据
|
||||
dayAddedPo: 0,
|
||||
dayAddedPwo: 0,
|
||||
dayAddedReport: 0,
|
||||
dayAvgQltyRate: 0,
|
||||
//折线图数据
|
||||
data: [
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
],
|
||||
finishValue: 0,
|
||||
defectValue: 0,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
reset() {
|
||||
this.status1 = 0;
|
||||
this.status2 = 0;
|
||||
this.status3 = 0;
|
||||
this.status4 = 0;
|
||||
this.status5 = 0;
|
||||
this.status6 = 0;
|
||||
this.status7 = 0;
|
||||
this.status8 = 0;
|
||||
this.status9 = 0;
|
||||
this.status10 = 0;
|
||||
this.status11 = 0;
|
||||
this.status12 = 0;
|
||||
this.status13 = 0;
|
||||
this.dayAddedPo = 0;
|
||||
this.dayAddedPwo = 0;
|
||||
this.dayAddedReport = 0;
|
||||
this.data = [0, 0, 0, 0, 0, 0, 0];
|
||||
},
|
||||
getTime() {
|
||||
var year = this.value.getFullYear() // 年
|
||||
var month = this.value.getMonth() + 1 < 10 ? "0" + (this.value.getMonth() + 1) : this.value.getMonth() + 1;
|
||||
var day = this.value.getDate() < 10 ? "0" + this.value.getDate() : this.value.getDate();
|
||||
var currentTime = year + '-' + month + '-' + day;
|
||||
return currentTime;
|
||||
},
|
||||
async getStatus() {
|
||||
this.reset();
|
||||
await getPwoStatus().then((resp) => {
|
||||
let data = resp.data;
|
||||
this.status1 = data.status1 ? data.status1 : 0;
|
||||
this.status2 = data.status2 ? data.status2 : 0;
|
||||
this.status3 = data.status3 ? data.status3 : 0;
|
||||
this.status4 = data.status4 ? data.status4 : 0;
|
||||
this.status5 = data.status5 ? data.status5 : 0;
|
||||
this.status6 = data.status6 ? data.status6 : 0;
|
||||
this.status7 = data.status7 ? data.status7 : 0;
|
||||
this.status8 = data.status8 ? data.status8 : 0;
|
||||
this.status9 = data.status9 ? data.status9 : 0;
|
||||
this.status10 = data.status10 ? data.status10 : 0;
|
||||
this.status11 = data.status11 ? data.status11 : 0;
|
||||
this.status12 = data.status12 ? data.status12 : 0;
|
||||
this.status13 = data.status13 ? data.status13 : 0;
|
||||
});
|
||||
this.getBarData();
|
||||
},
|
||||
getBarData() {
|
||||
this.ProductRateData = {
|
||||
"series": [{
|
||||
"name": "计划中",
|
||||
"data": this.status1,
|
||||
"color": "#2fc25b"
|
||||
},
|
||||
{
|
||||
"name": "已生成作业",
|
||||
"data": this.status2,
|
||||
"color": "#facc14"
|
||||
},
|
||||
{
|
||||
"name": "已投料",
|
||||
"data": this.status3,
|
||||
"color": "#f04864"
|
||||
},
|
||||
{
|
||||
"name": "已领料",
|
||||
"data": this.status4,
|
||||
"color": "#8543e0"
|
||||
},
|
||||
{
|
||||
"name": "已开工",
|
||||
"data": this.status5,
|
||||
"color": "#51c2d5"
|
||||
},
|
||||
{
|
||||
"name": "暂停",
|
||||
"data": this.status6,
|
||||
"color": "#C8AB7E"
|
||||
}, {
|
||||
"name": "已完成",
|
||||
"data": this.status7,
|
||||
"color": "#81A1C6"
|
||||
}, {
|
||||
"name": "已领料",
|
||||
"data": this.status8,
|
||||
"color": "#C185BB"
|
||||
}, {
|
||||
"name": "结案",
|
||||
"data": this.status9,
|
||||
"color": "#4BA2FB"
|
||||
}, {
|
||||
"name": "取消",
|
||||
"data": this.status1,
|
||||
"color": "#98AFA7"
|
||||
}, {
|
||||
"name": "待入库",
|
||||
"data": this.status10,
|
||||
"color": "#9DD86E"
|
||||
}, {
|
||||
"name": "待转出",
|
||||
"data": this.status11,
|
||||
"color": "#DE68C4"
|
||||
}, {
|
||||
"name": "已转出",
|
||||
"data": this.status12,
|
||||
"color": "#BF2A39"
|
||||
}, {
|
||||
"name": "其他",
|
||||
"data": this.status13,
|
||||
"color": "#266186"
|
||||
},
|
||||
]
|
||||
}
|
||||
console.log(this.ProductRateData)
|
||||
},
|
||||
async getReport() {
|
||||
await getWeekReport().then(async res => {
|
||||
var now = new Date();
|
||||
var today = now.getDay();
|
||||
//获取当前时间所在的周一的日期
|
||||
const startOfWeek = new Date(
|
||||
now.getFullYear(),
|
||||
now.getMonth(),
|
||||
now.getDate() - (today === 0 ? 6 : today - 1)
|
||||
);
|
||||
// 当前周的结束日
|
||||
const endOfWeek = new Date(
|
||||
startOfWeek.getTime() + 7 * 24 * 60 * 60 * 1000
|
||||
);
|
||||
//将所有属于当前周的数据都存入新的数组里
|
||||
const dataThisWeek = res.data
|
||||
.filter((item) => {
|
||||
const date = new Date(item.createTime);
|
||||
return date >= startOfWeek && date < endOfWeek;
|
||||
})
|
||||
.map((item) => {
|
||||
// 获取星期几,值为 0(周日)到 6(周六)
|
||||
const dayOfWeek = new Date(item.createTime).getDay();
|
||||
// 将数字转换为中文星期表示
|
||||
const dayOfWeekStr = [0, 1, 2, 3, 4, 5, 6][dayOfWeek];
|
||||
// 将星期几加入原始数据中
|
||||
return {
|
||||
...item,
|
||||
dayOfWeek: dayOfWeekStr
|
||||
};
|
||||
});
|
||||
for (var i = 0; i < dataThisWeek.length; i++) {
|
||||
switch (dataThisWeek[i].dayOfWeek) {
|
||||
case 0:
|
||||
this.data[6] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 1:
|
||||
this.data[0] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 2:
|
||||
this.data[1] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 3:
|
||||
this.data[2] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 4:
|
||||
this.data[3] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 5:
|
||||
this.data[4] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
case 6:
|
||||
this.data[5] += dataThisWeek[i].reportNumber;
|
||||
break;
|
||||
default:
|
||||
this.reset();
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
this.getLineData();
|
||||
},
|
||||
getLineData() {
|
||||
// 获取坐标轴刻度最大值
|
||||
const maxVal = Number(Math.max(...this.data));
|
||||
this.TrendData = {
|
||||
"categories": [
|
||||
"周一",
|
||||
"周二",
|
||||
"周三",
|
||||
"周四",
|
||||
"周五",
|
||||
"周六",
|
||||
"周日"
|
||||
],
|
||||
"series": [{
|
||||
"name": "报工产量",
|
||||
"data": this.data,
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"addPoint": true,
|
||||
"color": "#DF297D",
|
||||
"unit": ""
|
||||
}],
|
||||
"yAxis": {
|
||||
"calibration": true,
|
||||
"position": "left",
|
||||
"min": 0,
|
||||
"max": maxVal,
|
||||
"title": "产量",
|
||||
"titleFontSize": 12,
|
||||
"unit": "",
|
||||
"tofix": 0
|
||||
},
|
||||
"targetAdd": "9%"
|
||||
}
|
||||
},
|
||||
async getNum() {
|
||||
this.reset();
|
||||
getProduceReport().then((resp) => {
|
||||
let data = resp.data;
|
||||
this.dayAddedPo = data.todayAddedPo;
|
||||
this.dayAddedPwo = data.todayAddedPwo;
|
||||
this.dayAddedReport = data.todayAddedReport;
|
||||
});
|
||||
const currentDate = new Date();
|
||||
let endTime = this.getTime(currentDate);
|
||||
//获取过去30天
|
||||
const oldDate = new Date();
|
||||
oldDate.setDate(currentDate.getDate() - 30);
|
||||
let startTime = this.getTime(oldDate);
|
||||
|
||||
await reportRate({
|
||||
mesPwoReportType: '2',
|
||||
queryStartTime: startTime,
|
||||
queryEndTime: endTime,
|
||||
}).then((result) => {
|
||||
console.log(result);
|
||||
this.dayAvgQltyRate = result.data;
|
||||
});
|
||||
// //列出订单数量
|
||||
// listPo().then(res => {
|
||||
// for (var i = 0; i < res.rows.length; i++) {
|
||||
// if (this.getTime() == (res.rows[i].createTime === undefined ? '' : res.rows[i]
|
||||
// .createTime.slice(0, 10))) {
|
||||
// this.dayAddedPo++;
|
||||
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// //列出报工数量
|
||||
// listReport().then(res => {
|
||||
// for (var i = 0; i < res.rows.length; i++) {
|
||||
// if (this.getTime() == (res.rows[i].createTime === undefined ? '' : res.rows[i]
|
||||
// .createTime.slice(0, 10))) {
|
||||
// this.dayAddedReport++;
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
this.getCardData();
|
||||
},
|
||||
getCardData() {
|
||||
//卡片赋值
|
||||
this.CardData = [{
|
||||
"kind": 4,
|
||||
"background": ["#0081ff", "#1cbbb4"],
|
||||
"content": [{
|
||||
"text": "当日新增生产订单",
|
||||
"value": "",
|
||||
"colortext": "#fff",
|
||||
"colorvalue": "",
|
||||
"size": "24rpx"
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"value": this.dayAddedPo,
|
||||
"colortext": "",
|
||||
"colorvalue": "#fff",
|
||||
"size": "44rpx"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": 4,
|
||||
"background": ["#0081ff", "#1cbbb4"],
|
||||
"content": [{
|
||||
"text": "当日新增生产工单",
|
||||
"value": "",
|
||||
"colortext": "#fff",
|
||||
"colorvalue": "",
|
||||
"size": "24rpx"
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"value": this.dayAddedPwo,
|
||||
"colortext": "",
|
||||
"colorvalue": "#fff",
|
||||
"size": "44rpx"
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": 4,
|
||||
"background": ["#0081ff", "#1cbbb4"],
|
||||
"content": [{
|
||||
"text": "当日报工次数",
|
||||
"value": "",
|
||||
"colortext": "#fff",
|
||||
"colorvalue": "",
|
||||
"size": "24rpx"
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"value": this.dayAddedReport,
|
||||
"colortext": "",
|
||||
"colorvalue": "#fff",
|
||||
"size": "44rpx"
|
||||
},
|
||||
]
|
||||
}, {
|
||||
"kind": 4,
|
||||
"background": ["#0081ff", "#1cbbb4"],
|
||||
"content": [{
|
||||
"text": "当日平均质量合格率",
|
||||
"value": "",
|
||||
"colortext": "#fff",
|
||||
"colorvalue": "",
|
||||
"size": "24rpx"
|
||||
},
|
||||
{
|
||||
"text": "",
|
||||
"value": this.dayAvgQltyRate,
|
||||
"colortext": "",
|
||||
"colorvalue": "#fff",
|
||||
"size": "44rpx"
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
async getRate() {
|
||||
this.finishValue = 0;
|
||||
this.defectValue = 0;
|
||||
//当前日期
|
||||
// const currentDate = this.getTime();
|
||||
let endTime = this.getTime();
|
||||
const oldDate = this.value;
|
||||
oldDate.setDate(this.value.getDate() - 30);
|
||||
const year = oldDate.getFullYear();
|
||||
const month = String(oldDate.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(oldDate.getDate()).padStart(2, '0');
|
||||
let startTime = `${year}-${month}-${day}`;
|
||||
|
||||
await reportRate({
|
||||
mesPwoReportType: '3',
|
||||
queryStartTime: startTime,
|
||||
queryEndTime: endTime,
|
||||
}).then((result) => {
|
||||
this.finishValue = result.data;
|
||||
});
|
||||
|
||||
await reportRate({
|
||||
mesPwoReportType: '2',
|
||||
queryStartTime: startTime,
|
||||
queryEndTime: endTime,
|
||||
}).then((result) => {
|
||||
this.defectValue = result.data;
|
||||
});
|
||||
|
||||
this.getCircleData();
|
||||
},
|
||||
getCircleData() {
|
||||
const data1 = this.finishValue.toFixed(0) * 0.01;
|
||||
const data2 = this.defectValue.toFixed(0) * 0.01;
|
||||
this.CircleData = [{
|
||||
"series": [{
|
||||
"color": "#fff",
|
||||
"data": data1,
|
||||
"precent": this.finishValue.toFixed(0) + "%",
|
||||
"index": 0,
|
||||
"legendShape": "circle",
|
||||
"name": "工单完成率",
|
||||
"pointShape": "circle",
|
||||
"show": true,
|
||||
"type": "arcbar",
|
||||
// "value": "12786",
|
||||
"backgroundColor": "#00AEF9"
|
||||
}]
|
||||
},
|
||||
{
|
||||
"series": [{
|
||||
"color": "#fff",
|
||||
"data": data2,
|
||||
"precent": this.defectValue.toFixed(0) + "%",
|
||||
"index": 0,
|
||||
"legendShape": "circle",
|
||||
"name": "工单良品率",
|
||||
"pointShape": "circle",
|
||||
"show": true,
|
||||
"type": "arcbar",
|
||||
// "value": "1096",
|
||||
"backgroundColor": "#F55676"
|
||||
}]
|
||||
}
|
||||
|
||||
]
|
||||
console.log(this.CircleData)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.content {
|
||||
padding-top: 10rpx;
|
||||
}
|
||||
|
||||
.data_body {
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
color: #333333;
|
||||
background-repeat: repeat;
|
||||
background-color: #ffffff;
|
||||
|
||||
.friend_operate {
|
||||
padding: 30rpx 20rpx;
|
||||
|
||||
.title {
|
||||
text-align: left;
|
||||
margin-bottom: 30rpx;
|
||||
font-size: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.view_item {
|
||||
padding: 30rpx 20rpx;
|
||||
padding-top: 30px;
|
||||
|
||||
.title {
|
||||
text-align: left;
|
||||
margin-bottom: 30rpx;
|
||||
font-size: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.progress_circle {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
// height: 450rpx;
|
||||
|
||||
.progress_block {
|
||||
width: 45%;
|
||||
border-radius: 20rpx;
|
||||
height: 180rpx;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
.name {
|
||||
color: #fff;
|
||||
font-size: 24rpx;
|
||||
position: absolute;
|
||||
top: 20rpx;
|
||||
left: 10rpx;
|
||||
max-width: 144rpx;
|
||||
}
|
||||
|
||||
.value {
|
||||
color: #fff;
|
||||
font-size: 40rpx;
|
||||
position: absolute;
|
||||
top: 64rpx;
|
||||
left: 10rpx;
|
||||
max-width: 144rpx;
|
||||
}
|
||||
|
||||
.circle {
|
||||
position: absolute;
|
||||
right: 8rpx;
|
||||
top: 16rpx;
|
||||
}
|
||||
|
||||
.arcbar {
|
||||
position: absolute;
|
||||
right: -4rpx;
|
||||
top: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.block_0 {
|
||||
background-color: #0FC3FF;
|
||||
}
|
||||
|
||||
.block_1 {
|
||||
background-color: #FF6B8B;
|
||||
}
|
||||
|
||||
.block_2 {
|
||||
background-color: #FFCB1D;
|
||||
}
|
||||
|
||||
.block_3 {
|
||||
background-color: #3BDCAA;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.planet {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
background: #333;
|
||||
position: absolute;
|
||||
left: -13px;
|
||||
bottom: -26px;
|
||||
overflow: hidden;
|
||||
opacity: 0.5;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.planet_shadow {
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: -40%;
|
||||
right: -10%;
|
||||
border: 35px solid rgba(0, 0, 0, .15);
|
||||
}
|
||||
|
||||
.crater1,
|
||||
.crater2,
|
||||
.crater3,
|
||||
.crater4 {
|
||||
position: absolute;
|
||||
border-radius: 50%;
|
||||
background: rgba(0, 0, 0, .3);
|
||||
box-shadow: inset 3px 3px 0 rgba(0, 0, 0, .2);
|
||||
}
|
||||
|
||||
.crater1 {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
left: 25%;
|
||||
top: 20%;
|
||||
}
|
||||
|
||||
.crater2 {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
left: 50%;
|
||||
top: 60%;
|
||||
}
|
||||
|
||||
.crater3 {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
left: 30%;
|
||||
top: 65%;
|
||||
}
|
||||
|
||||
.crater4 {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
left: 60%;
|
||||
top: 35%;
|
||||
}
|
||||
|
||||
.star {
|
||||
display: block;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
border-radius: 50%;
|
||||
background: #FFF;
|
||||
top: 10px;
|
||||
left: 50px;
|
||||
position: relative;
|
||||
transform-origin: 100% 0;
|
||||
box-shadow: 0 0 5px 5px rgba(255, 255, 255, .3);
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.star0 {
|
||||
animation: star-ani 4s infinite ease-out;
|
||||
}
|
||||
|
||||
.star1 {
|
||||
animation: star-ani 5s infinite ease-out;
|
||||
}
|
||||
|
||||
.star2 {
|
||||
animation: star-ani 6s infinite ease-out;
|
||||
}
|
||||
|
||||
.star3 {
|
||||
animation: star-ani 7s infinite ease-out;
|
||||
}
|
||||
|
||||
.star:after {
|
||||
content: '';
|
||||
display: block;
|
||||
top: 20px;
|
||||
left: 60px;
|
||||
border: 0px solid #fff;
|
||||
border-width: 0px 90px 2px 90px;
|
||||
border-color: transparent transparent transparent rgba(255, 255, 255, .3);
|
||||
transform: rotate(-45deg) translate3d(1px, 3px, 0);
|
||||
box-shadow: 0 0 1px 0 rgba(255, 255, 255, .1);
|
||||
transform-origin: 0% 100%;
|
||||
animation: shooting-ani 100s infinite ease-out;
|
||||
}
|
||||
|
||||
.pink {
|
||||
top: 10px;
|
||||
left: 60px;
|
||||
background: #ff5a99;
|
||||
animation-delay: 5s;
|
||||
-webkit-animation-delay: 5s;
|
||||
-moz-animation-delay: 5s;
|
||||
}
|
||||
|
||||
.pink:after {
|
||||
border-color: transparent transparent transparent #ff5a99;
|
||||
animation-delay: 5s;
|
||||
-webkit-animation-delay: 5s;
|
||||
-moz-animation-delay: 5s;
|
||||
}
|
||||
|
||||
.blue {
|
||||
top: 15px;
|
||||
left: 70px;
|
||||
background: cyan;
|
||||
animation-delay: 7s;
|
||||
-webkit-animation-delay: 7s;
|
||||
-moz-animation-delay: 7s;
|
||||
}
|
||||
|
||||
.blue:after {
|
||||
border-color: 'transpareanimation-delay: 12s';
|
||||
-webkit-animation-delay: 7s;
|
||||
-moz-animation-delay: 7s;
|
||||
animation-delay: 7s;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
top: 0px;
|
||||
left: 80px;
|
||||
background: #ffcd5c;
|
||||
animation-delay: 5.8s;
|
||||
}
|
||||
|
||||
.yellow:after {
|
||||
border-color: transparent transparent transparent #ffcd5c;
|
||||
animation-delay: 5.8s;
|
||||
}
|
||||
|
||||
@keyframes star-ani {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: scale(0) rotate(0) translate3d(0, 0, 0);
|
||||
-webkit-transform: scale(0) rotate(0) translate3d(0, 0, 0);
|
||||
-moz-transform: scale(0) rotate(0) translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
50% {
|
||||
opacity: 0.5;
|
||||
transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
|
||||
-webkit-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
|
||||
-moz-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
|
||||
-webkit-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
|
||||
-moz-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
68
pages/json/finance/1.json
Normal file
68
pages/json/finance/1.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"expend":{
|
||||
"categories": [
|
||||
"1月",
|
||||
"2月",
|
||||
"2月",
|
||||
"4月",
|
||||
"5月"
|
||||
],
|
||||
"series": [
|
||||
{
|
||||
"name": "支出情况",
|
||||
"data": [1201,2501.5,985,1760,2013.85],
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"color": "#4ECDB6",
|
||||
"unit":""
|
||||
}
|
||||
],
|
||||
"yAxis":[
|
||||
{"calibration":true,"position":"left","title":"单位/元","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
|
||||
]
|
||||
},
|
||||
"income":{
|
||||
"categories": [
|
||||
"1月",
|
||||
"2月",
|
||||
"2月",
|
||||
"4月",
|
||||
"5月"
|
||||
],
|
||||
"series": [
|
||||
{
|
||||
"name": "收入情况",
|
||||
"data": [1601,1840.5,1900,1760,1500.85],
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"color": "#4ECDB6",
|
||||
"unit":""
|
||||
}
|
||||
],
|
||||
"yAxis":[
|
||||
{"calibration":true,"position":"left","title":"单位/元","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
|
||||
]
|
||||
},
|
||||
"remaining":{
|
||||
"categories": [
|
||||
"1月",
|
||||
"2月",
|
||||
"2月",
|
||||
"4月",
|
||||
"5月"
|
||||
],
|
||||
"series": [
|
||||
{
|
||||
"name": "结余情况",
|
||||
"data": [815,712.5,378,450,600.85],
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"color": "#4ECDB6",
|
||||
"unit":""
|
||||
}
|
||||
],
|
||||
"yAxis":[
|
||||
{"calibration":true,"position":"left","title":"单位/元","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
|
||||
]
|
||||
}
|
||||
}
|
||||
33
pages/json/finance/2.json
Normal file
33
pages/json/finance/2.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"series": [
|
||||
{
|
||||
"data":[
|
||||
{
|
||||
"name": "住房相关",
|
||||
"value": 3200,
|
||||
"color":"#4DCCB3"
|
||||
},
|
||||
{
|
||||
"name": "食品酒水",
|
||||
"value": 1020,
|
||||
"color":"#5A77EC"
|
||||
},
|
||||
{
|
||||
"name": "娱乐休闲",
|
||||
"value": 500,
|
||||
"color":"#4E94EC"
|
||||
},
|
||||
{
|
||||
"name": "交流通讯",
|
||||
"value": 214.5,
|
||||
"color":"#4FD4EB"
|
||||
},
|
||||
{
|
||||
"name": "其他",
|
||||
"value": 320.13,
|
||||
"color":"#B5ED21"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
26
pages/json/school/1.json
Normal file
26
pages/json/school/1.json
Normal file
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"name":"课题研究",
|
||||
"num":500,
|
||||
"width":"",
|
||||
"background":"#FFBE68"
|
||||
},
|
||||
{
|
||||
"name":"论文发布",
|
||||
"num":300,
|
||||
"width":"",
|
||||
"background":"#0FEBE1"
|
||||
},
|
||||
{
|
||||
"name":"实践研究",
|
||||
"num":455,
|
||||
"width":"",
|
||||
"background":"#BF8DFC"
|
||||
},
|
||||
{
|
||||
"name":"评教",
|
||||
"num":601,
|
||||
"width":"",
|
||||
"background":"#FF859C"
|
||||
}
|
||||
]
|
||||
28
pages/json/school/2.json
Normal file
28
pages/json/school/2.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"series": [
|
||||
{
|
||||
"data":[
|
||||
{
|
||||
"name": "本科",
|
||||
"value": 168,
|
||||
"color":"#FFBF31"
|
||||
},
|
||||
{
|
||||
"name": "大专",
|
||||
"value": 144,
|
||||
"color":"#3CEFC4"
|
||||
},
|
||||
{
|
||||
"name": "博士",
|
||||
"value": 123,
|
||||
"color":"#FFA9B3"
|
||||
},
|
||||
{
|
||||
"name": "硕士",
|
||||
"value": 96,
|
||||
"color":"#3CBBFF"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
27
pages/json/school/3.json
Normal file
27
pages/json/school/3.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"categories":["语文","数学","英语","物理","化学","生物"],
|
||||
"series":[
|
||||
{
|
||||
"name":"一班",
|
||||
"area":[123.45,234,192.5,245],
|
||||
"color":"#1890ff",
|
||||
"data":[90,110,165,195,187,172],
|
||||
"index":0,
|
||||
"legendShape":"circle",
|
||||
"pointShape":"",
|
||||
"show": true,
|
||||
"type": "radar"
|
||||
},
|
||||
{
|
||||
"name":"二班",
|
||||
"area":[192.5,234,261.55,245],
|
||||
"color":"#2fc25b",
|
||||
"data":[190,210,105,35,27,102],
|
||||
"index":0,
|
||||
"legendShape":"circle",
|
||||
"pointShape":"",
|
||||
"show": true,
|
||||
"type": "radar"
|
||||
}
|
||||
]
|
||||
}
|
||||
29
pages/json/school/4.json
Normal file
29
pages/json/school/4.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"categories": [
|
||||
"1",
|
||||
"2",
|
||||
"2",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12"
|
||||
],
|
||||
"series": [
|
||||
{
|
||||
"name": "图书借阅人数",
|
||||
"data": [6,8,9,8.2,7.5,9,10.3,8,12,6.2,7.2,4.5],
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"color": "#A800FB",
|
||||
"unit":""
|
||||
}
|
||||
],
|
||||
"yAxis":[
|
||||
{"calibration":true,"position":"left","title":"单位/千","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":20,"disableGrid":true}
|
||||
]
|
||||
}
|
||||
80
pages/json/sport/1.json
Normal file
80
pages/json/sport/1.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"series": [{
|
||||
"name": "激活放松",
|
||||
"color": "#FDEC9F",
|
||||
"data": [
|
||||
["17:24", 75],
|
||||
["17:26", 83],
|
||||
["17:28", 88],
|
||||
["17:30", 92]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "动态热身",
|
||||
"color": "#FBCD2B",
|
||||
"data": [
|
||||
["17:30", 92],
|
||||
["17:32", 96],
|
||||
["17:34", 94],
|
||||
["17:36", 93.5],
|
||||
["17:38", 94.6],
|
||||
["17:40", 98]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "糖分消耗",
|
||||
"color": "#FC9E83",
|
||||
"data": [
|
||||
["17:40", 98],
|
||||
["17:42", 100],
|
||||
["17:44", 104],
|
||||
["17:46", 113],
|
||||
["17:48", 142]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "脂肪燃烧",
|
||||
"color": "#EF6DCF",
|
||||
"data": [
|
||||
["17:48", 142],
|
||||
["17:50", 130],
|
||||
["17:52", 134],
|
||||
["17:54", 150],
|
||||
["17:56", 148],
|
||||
["17:58", 142],
|
||||
["18:00", 132],
|
||||
["18:02", 136],
|
||||
["18:04", 136.5]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "心肺训练",
|
||||
"color": "#BC38E5",
|
||||
"data": [
|
||||
["18:04", 136.5],
|
||||
["18:06", 140],
|
||||
["18:08", 135],
|
||||
["18:10", 130],
|
||||
["18:12", 124],
|
||||
["18:14", 120],
|
||||
["18:16", 118],
|
||||
["18:18", 116.5],
|
||||
["18:20", 112]
|
||||
]
|
||||
}, {
|
||||
"name": "极限锻炼",
|
||||
"color": "#8908FA",
|
||||
"data": [
|
||||
["18:20", 112],
|
||||
["18:22", 123],
|
||||
["18:24", 130],
|
||||
["18:26", 138],
|
||||
["18:28", 116],
|
||||
["18:30", 123],
|
||||
["18:32", 128],
|
||||
["18:34", 126],
|
||||
["18:36", 137]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
38
pages/json/sport/2.json
Normal file
38
pages/json/sport/2.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"series": [
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"name": "激活放松",
|
||||
"value": 5,
|
||||
"color": "#FDEC9F"
|
||||
},
|
||||
{
|
||||
"name": "动态热身",
|
||||
"value": 13,
|
||||
"color": "#FBCD2B"
|
||||
},
|
||||
{
|
||||
"name": "糖分消耗",
|
||||
"value": 8,
|
||||
"color": "#FC9E83"
|
||||
},
|
||||
{
|
||||
"name": "脂肪燃烧",
|
||||
"value": 24,
|
||||
"color": "#EF6DCF"
|
||||
},
|
||||
{
|
||||
"name": "心肺训练",
|
||||
"value": 7,
|
||||
"color": "#BC38E5"
|
||||
},
|
||||
{
|
||||
"name": "极限锻炼",
|
||||
"value": 16,
|
||||
"color": "#8908FA"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
22
pages/json/sport/3.json
Normal file
22
pages/json/sport/3.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"categories": [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5"
|
||||
],
|
||||
"series": [
|
||||
{
|
||||
"name": "公里配速",
|
||||
"data": [
|
||||
5.09,
|
||||
6.18,
|
||||
6.38,
|
||||
7.15,
|
||||
9.05
|
||||
],
|
||||
"color":"#FFD597"
|
||||
}
|
||||
]
|
||||
}
|
||||
174
pages/json/sport/4.json
Normal file
174
pages/json/sport/4.json
Normal file
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"series": [
|
||||
{
|
||||
"name": "速度",
|
||||
"color": "#1C9862",
|
||||
"index":0,
|
||||
"data": [
|
||||
[
|
||||
"17:24",
|
||||
0
|
||||
],
|
||||
[
|
||||
"17:26",
|
||||
1
|
||||
],
|
||||
[
|
||||
"17:28",
|
||||
1.2
|
||||
],
|
||||
[
|
||||
"17:30",
|
||||
1.6
|
||||
],
|
||||
[
|
||||
"17:32",
|
||||
1.8
|
||||
],
|
||||
[
|
||||
"17:34",
|
||||
2
|
||||
],
|
||||
[
|
||||
"17:36",
|
||||
4
|
||||
],
|
||||
[
|
||||
"17:38",
|
||||
6.5
|
||||
],
|
||||
[
|
||||
"17:40",
|
||||
10
|
||||
],
|
||||
[
|
||||
"17:42",
|
||||
13.4
|
||||
],
|
||||
[
|
||||
"17:44",
|
||||
13
|
||||
],
|
||||
[
|
||||
"17:46",
|
||||
12.6
|
||||
],
|
||||
[
|
||||
"17:48",
|
||||
12.2
|
||||
],
|
||||
[
|
||||
"17:50",
|
||||
14
|
||||
],
|
||||
[
|
||||
"17:52",
|
||||
16.8
|
||||
],
|
||||
[
|
||||
"17:54",
|
||||
20
|
||||
],
|
||||
[
|
||||
"17:56",
|
||||
25
|
||||
],
|
||||
[
|
||||
"17:58",
|
||||
23
|
||||
],
|
||||
[
|
||||
"18:00",
|
||||
16
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "心率",
|
||||
"index":1,
|
||||
"color": "#FBCD2B",
|
||||
"data": [
|
||||
[
|
||||
"17:24",
|
||||
72
|
||||
],
|
||||
[
|
||||
"17:26",
|
||||
73
|
||||
],
|
||||
[
|
||||
"17:28",
|
||||
73.5
|
||||
],
|
||||
[
|
||||
"17:30",
|
||||
74
|
||||
],
|
||||
[
|
||||
"17:32",
|
||||
76.5
|
||||
],
|
||||
[
|
||||
"17:34",
|
||||
78
|
||||
],
|
||||
[
|
||||
"17:36",
|
||||
80
|
||||
],
|
||||
[
|
||||
"17:38",
|
||||
76.3
|
||||
],
|
||||
[
|
||||
"17:40",
|
||||
75
|
||||
],
|
||||
[
|
||||
"17:42",
|
||||
86
|
||||
],
|
||||
[
|
||||
"17:44",
|
||||
84
|
||||
],
|
||||
[
|
||||
"17:46",
|
||||
90
|
||||
],
|
||||
[
|
||||
"17:48",
|
||||
100
|
||||
],
|
||||
[
|
||||
"17:50",
|
||||
112
|
||||
],
|
||||
[
|
||||
"17:52",
|
||||
125
|
||||
],
|
||||
[
|
||||
"17:54",
|
||||
117
|
||||
],
|
||||
[
|
||||
"17:56",
|
||||
110
|
||||
],
|
||||
[
|
||||
"17:58",
|
||||
108
|
||||
],
|
||||
[
|
||||
"18:00",
|
||||
104
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"yAxis":[
|
||||
{"calibration":true,"position":"left","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":25,"disableGrid":true},
|
||||
{"calibration":true,"position":"right","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
|
||||
]
|
||||
}
|
||||
21
pages/json/user-healthy/1.json
Normal file
21
pages/json/user-healthy/1.json
Normal file
@@ -0,0 +1,21 @@
|
||||
[
|
||||
{
|
||||
"expect": "",
|
||||
"now": "",
|
||||
"name": "时间进度",
|
||||
"value": "60.12"
|
||||
},
|
||||
{
|
||||
"expect": "30000",
|
||||
"now": "36000",
|
||||
"dataType": "1",
|
||||
"name": "会员拉新",
|
||||
"value": "120"
|
||||
},
|
||||
{
|
||||
"expect": "",
|
||||
"now": "",
|
||||
"name": "扫码渗透率",
|
||||
"value": "35"
|
||||
}
|
||||
]
|
||||
34
pages/json/user-healthy/2.json
Normal file
34
pages/json/user-healthy/2.json
Normal file
@@ -0,0 +1,34 @@
|
||||
[
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"1800","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"日均新增目标","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"1960","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"当日新增会员","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"36050","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"本月新增会员","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"3%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"日均环比","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
}
|
||||
]
|
||||
74
pages/json/user-healthy/3.json
Normal file
74
pages/json/user-healthy/3.json
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"categories": [
|
||||
"1月11",
|
||||
"1月12",
|
||||
"1月11",
|
||||
"1月14",
|
||||
"1月15"
|
||||
],
|
||||
"series": [{
|
||||
"name": "新增会员数",
|
||||
"data": [{
|
||||
"value": 5,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": -3,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 3.5,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 10,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 2.8,
|
||||
"color": "#24ABFD"
|
||||
}
|
||||
],
|
||||
"type": "column",
|
||||
"color": "#24ABFD",
|
||||
"unit": "",
|
||||
"textNoShow": true
|
||||
},
|
||||
{
|
||||
"name": "当日达成率",
|
||||
"data": [
|
||||
101,
|
||||
91,
|
||||
97,
|
||||
131,
|
||||
109
|
||||
],
|
||||
"type": "line",
|
||||
"addPoint": true,
|
||||
"color": "#DF297D",
|
||||
"unit": "%",
|
||||
"index": 1
|
||||
},
|
||||
{
|
||||
"name": "日均达成率",
|
||||
"data": [
|
||||
102,
|
||||
92,
|
||||
96,
|
||||
115,
|
||||
105
|
||||
],
|
||||
"type": "line",
|
||||
"color": "#24ABFD",
|
||||
"unit": "%",
|
||||
"index": 1
|
||||
}
|
||||
],
|
||||
"yAxis": [{
|
||||
"max": 20,
|
||||
"min": 0
|
||||
}, {
|
||||
"max": 200,
|
||||
"min": 0
|
||||
}]
|
||||
}
|
||||
26
pages/json/user-healthy/4.json
Normal file
26
pages/json/user-healthy/4.json
Normal file
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"42%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"当日扫码率","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":1,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"37%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"累计扫码率","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":2,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"环比增长","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"},
|
||||
{"text":"同比增长","value":"1.1%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"}
|
||||
]
|
||||
}
|
||||
]
|
||||
57
pages/json/user-healthy/5.json
Normal file
57
pages/json/user-healthy/5.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"categories": [
|
||||
"1月11",
|
||||
"1月12",
|
||||
"1月13",
|
||||
"1月14",
|
||||
"1月15"
|
||||
],
|
||||
"series": [{
|
||||
"name": "当天扫码率",
|
||||
"data": [
|
||||
39,
|
||||
34,
|
||||
36,
|
||||
45,
|
||||
38
|
||||
],
|
||||
"type": "line",
|
||||
"addPoint": true,
|
||||
"color": "#24ABFD",
|
||||
"unit": "%"
|
||||
},
|
||||
{
|
||||
"name": "累计扫码率",
|
||||
"data": [
|
||||
32,
|
||||
30,
|
||||
31,
|
||||
37,
|
||||
35
|
||||
],
|
||||
"type": "line",
|
||||
"addPoint": true,
|
||||
"color": "#DF297D",
|
||||
"unit": "%"
|
||||
},
|
||||
{
|
||||
"name": "目标扫码率",
|
||||
"data": [
|
||||
40,
|
||||
40,
|
||||
40,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"type": "line",
|
||||
"color": "#FF9900",
|
||||
"textNoShow": true,
|
||||
"unit": ""
|
||||
}
|
||||
|
||||
],
|
||||
"yAxis": [{
|
||||
"max": 60,
|
||||
"min": 0
|
||||
}]
|
||||
}
|
||||
12
pages/json/user-healthy/6.json
Normal file
12
pages/json/user-healthy/6.json
Normal file
@@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"kind":3,
|
||||
"background":["#B678FD","#4A64F9"],
|
||||
"content":[
|
||||
{"text":"","value":"38%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"小程序购买活跃会员占比","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
|
||||
{"text":"同比","value":"2.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"环比","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
|
||||
]
|
||||
}
|
||||
]
|
||||
89
pages/json/user-healthy/7.json
Normal file
89
pages/json/user-healthy/7.json
Normal file
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"categories": [
|
||||
"1月11",
|
||||
"1月12",
|
||||
"1月11",
|
||||
"1月14",
|
||||
"1月15"
|
||||
],
|
||||
"series": [{
|
||||
"name": "新增会员数",
|
||||
"data": [{
|
||||
"value": 5,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": -3,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 3.5,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 10,
|
||||
"color": "#24ABFD"
|
||||
},
|
||||
{
|
||||
"value": 2.8,
|
||||
"color": "#24ABFD"
|
||||
}
|
||||
],
|
||||
"type": "column",
|
||||
"color": "#24ABFD",
|
||||
"unit": "",
|
||||
"textNoShow": true
|
||||
},
|
||||
{
|
||||
"name": "当日达成率",
|
||||
"data": [
|
||||
101,
|
||||
91,
|
||||
97,
|
||||
131,
|
||||
109
|
||||
],
|
||||
"type": "line",
|
||||
"addPoint": true,
|
||||
"color": "#DF297D",
|
||||
"unit": "%",
|
||||
"index": 1
|
||||
},
|
||||
{
|
||||
"name": "日均达成率",
|
||||
"data": [
|
||||
102,
|
||||
92,
|
||||
96,
|
||||
115,
|
||||
105
|
||||
],
|
||||
"type": "line",
|
||||
"style": "curve",
|
||||
"color": "#ff9900",
|
||||
"unit": "%",
|
||||
"index": 1
|
||||
},
|
||||
{
|
||||
"name": "日均达成率",
|
||||
"data": [
|
||||
102,
|
||||
92,
|
||||
96,
|
||||
115,
|
||||
105
|
||||
],
|
||||
"type": "area",
|
||||
"color": "#ff9900",
|
||||
"unit": "%",
|
||||
"index": 1
|
||||
}
|
||||
],
|
||||
"yAxis": [{
|
||||
"max": 20,
|
||||
"min": 0
|
||||
}, {
|
||||
"max": 200,
|
||||
"min": 0
|
||||
}]
|
||||
}
|
||||
22
pages/json/user-operate/1.json
Normal file
22
pages/json/user-operate/1.json
Normal file
@@ -0,0 +1,22 @@
|
||||
[
|
||||
{
|
||||
"expect": "",
|
||||
"now": "",
|
||||
"name": "时间进度",
|
||||
"value": "50.88"
|
||||
},
|
||||
{
|
||||
"expect": "54800",
|
||||
"now": "51000",
|
||||
"dataType": "1",
|
||||
"name": "新开会员",
|
||||
"value": "93.07"
|
||||
},
|
||||
{
|
||||
"expect": "30000",
|
||||
"now": "25600",
|
||||
"dataType": "1",
|
||||
"name": "新增消费会员",
|
||||
"value": "85.33"
|
||||
}
|
||||
]
|
||||
35
pages/json/user-operate/2.json
Normal file
35
pages/json/user-operate/2.json
Normal file
@@ -0,0 +1,35 @@
|
||||
[
|
||||
{
|
||||
"kind":5,
|
||||
"background":["#F77E89","#F7953B"],
|
||||
"content":[
|
||||
{"text":"扫一扫","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
|
||||
{"text":"","value":"63%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"环比","value":"81.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"同比","value":"-81.3%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"平均参考水平","value":"85%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":5,
|
||||
"background":["#F77E89","#F7953B"],
|
||||
"content":[
|
||||
{"text":"二维码识别","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
|
||||
{"text":"","value":"13%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"环比","value":"2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"同比","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"平均参考水平","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind":5,
|
||||
"background":["#F77E89","#F7953B"],
|
||||
"content":[
|
||||
{"text":"最近使用","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
|
||||
{"text":"","value":"21%","colortext":"","colorvalue":"#fff","size":"44rpx"},
|
||||
{"text":"环比","value":"1%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"同比","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
|
||||
{"text":"平均参考水平","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
|
||||
]
|
||||
}
|
||||
]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user