|
@@ -186,114 +186,147 @@ import { getTaskList, startTask, transferTask, completeTask, checkTask, damageTa
|
|
|
import { workTypeMasterList } from '@/api/worktype'
|
|
|
import template from '../warehouse/template.vue'
|
|
|
import { downloadUrl } from '@/api/file'
|
|
|
- export default {
|
|
|
+export default {
|
|
|
components: { template },
|
|
|
- name: 'work',
|
|
|
- data () {
|
|
|
- return {
|
|
|
- addOrUpdateVisible: false,
|
|
|
- dataForm: {
|
|
|
- state: '1'
|
|
|
- },
|
|
|
- dataList: [],
|
|
|
- pageIndex: 1,
|
|
|
- pageSize: 10,
|
|
|
- totalPage: 0,
|
|
|
- dataListLoading: false,
|
|
|
- dataListSelections: [],
|
|
|
- optionsState: [
|
|
|
- {
|
|
|
- code: '1', value: '未完成'
|
|
|
- },
|
|
|
- {
|
|
|
- code: '2', value: '待操作'
|
|
|
- },
|
|
|
- {
|
|
|
- code: '3', value: '已完成'
|
|
|
- }
|
|
|
- ],
|
|
|
- transferDialogFormVisible: false,
|
|
|
- transferDialogForm: {},
|
|
|
- transferUserList: [],
|
|
|
- transferDialogFormRules: {
|
|
|
- transferType: [{required: true, message: '请选择移交类型', trigger: 'blur'}],
|
|
|
- transferUserId: [{required: true, message: '请选择移交用户', trigger: 'blur'}]
|
|
|
- },
|
|
|
- checkDialogFormVisible: false,
|
|
|
- checkDialogForm: {},
|
|
|
- checkDialogFormRules: {
|
|
|
- checkType: [{required: true, message: '请选择', trigger: 'blur'}]
|
|
|
+ name: 'work',
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ addOrUpdateVisible: false,
|
|
|
+ dataForm: {
|
|
|
+ state: '1'
|
|
|
+ },
|
|
|
+ dataList: [],
|
|
|
+ pageIndex: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ totalPage: 0,
|
|
|
+ dataListLoading: false,
|
|
|
+ dataListSelections: [],
|
|
|
+ optionsState: [
|
|
|
+ {
|
|
|
+ code: '1', value: '未完成'
|
|
|
},
|
|
|
- damageDialogFormVisible: false,
|
|
|
- damageDialogForm: {},
|
|
|
- damageDialogFormRules: {
|
|
|
- damageReason: [{required: true, message: '请输入', trigger: 'blur'}]
|
|
|
+ {
|
|
|
+ code: '2', value: '待操作'
|
|
|
},
|
|
|
+ {
|
|
|
+ code: '3', value: '已完成'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ transferDialogFormVisible: false,
|
|
|
+ transferDialogForm: {},
|
|
|
+ transferUserList: [],
|
|
|
+ transferDialogFormRules: {
|
|
|
+ transferType: [{required: true, message: '请选择移交类型', trigger: 'blur'}],
|
|
|
+ transferUserId: [{required: true, message: '请选择移交用户', trigger: 'blur'}]
|
|
|
+ },
|
|
|
+ checkDialogFormVisible: false,
|
|
|
+ checkDialogForm: {},
|
|
|
+ checkDialogFormRules: {
|
|
|
+ checkType: [{required: true, message: '请选择', trigger: 'blur'}]
|
|
|
+ },
|
|
|
+ damageDialogFormVisible: false,
|
|
|
+ damageDialogForm: {},
|
|
|
+ damageDialogFormRules: {
|
|
|
+ damageReason: [{required: true, message: '请输入', trigger: 'blur'}]
|
|
|
+ },
|
|
|
// 是否显示进度条列
|
|
|
- showProgress: true
|
|
|
- }
|
|
|
- },
|
|
|
- created () {
|
|
|
+ showProgress: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 查询
|
|
|
+ queryData () {
|
|
|
+ this.pageIndex = 1
|
|
|
+ this.showProgress = this.dataForm.state !== '2'
|
|
|
this.getDataList()
|
|
|
},
|
|
|
- methods: {
|
|
|
- // 查询
|
|
|
- queryData () {
|
|
|
- this.pageIndex = 1
|
|
|
- if(this.dataForm.state === '2'){
|
|
|
- this.showProgress = false
|
|
|
- } else {
|
|
|
- this.showProgress = true
|
|
|
- }
|
|
|
- this.getDataList()
|
|
|
- },
|
|
|
// 获取数据列表
|
|
|
- getDataList () {
|
|
|
- this.dataListLoading = true
|
|
|
- let params = {
|
|
|
- 'current': this.pageIndex,
|
|
|
- 'size': this.pageSize,
|
|
|
- 'state': this.dataForm.state
|
|
|
+ getDataList () {
|
|
|
+ this.dataListLoading = true
|
|
|
+ let params = {
|
|
|
+ 'current': this.pageIndex,
|
|
|
+ 'size': this.pageSize,
|
|
|
+ 'state': this.dataForm.state
|
|
|
+ }
|
|
|
+ getTaskList(params).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.dataList = data.data.records
|
|
|
+ this.totalPage = Number(data.data.total)
|
|
|
+ } else {
|
|
|
+ this.dataList = []
|
|
|
+ this.totalPage = 0
|
|
|
}
|
|
|
- getTaskList(params).then(({data}) => {
|
|
|
- if (data && data.code === '200') {
|
|
|
- this.dataList = data.data.records
|
|
|
- this.totalPage = Number(data.data.total)
|
|
|
- } else {
|
|
|
- this.dataList = []
|
|
|
- this.totalPage = 0
|
|
|
- }
|
|
|
- this.dataListLoading = false
|
|
|
- })
|
|
|
- },
|
|
|
+ this.dataListLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
// 每页数
|
|
|
- sizeChangeHandle (val) {
|
|
|
- this.pageSize = val
|
|
|
- this.pageIndex = 1
|
|
|
- this.getDataList()
|
|
|
- },
|
|
|
+ sizeChangeHandle (val) {
|
|
|
+ this.pageSize = val
|
|
|
+ this.pageIndex = 1
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
// 当前页
|
|
|
- currentChangeHandle (val) {
|
|
|
- this.pageIndex = val
|
|
|
- this.getDataList()
|
|
|
- },
|
|
|
+ currentChangeHandle (val) {
|
|
|
+ this.pageIndex = val
|
|
|
+ this.getDataList()
|
|
|
+ },
|
|
|
// 多选
|
|
|
- selectionChangeHandle (val) {
|
|
|
- this.dataListSelections = val
|
|
|
- },
|
|
|
+ selectionChangeHandle (val) {
|
|
|
+ this.dataListSelections = val
|
|
|
+ },
|
|
|
// 开始
|
|
|
- startTask (taskId) {
|
|
|
- this.$confirm('是否开始任务?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- startTask({taskId}).then(({data}) => {
|
|
|
+ startTask (taskId) {
|
|
|
+ this.$confirm('是否开始任务?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ startTask({taskId}).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '操作成功!'
|
|
|
+ })
|
|
|
+ this.getDataList()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: data.msg
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 移交
|
|
|
+ transferTask (taskId, workTypeId) {
|
|
|
+ this.transferDialogFormVisible = true
|
|
|
+ this.transferDialogForm.taskId = taskId
|
|
|
+
|
|
|
+ workTypeMasterList(workTypeId).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.transferUserList = data.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 确认移交
|
|
|
+ transferSubmit () {
|
|
|
+ this.$refs['transferDialogForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ transferTask(this.transferDialogForm).then(({data}) => {
|
|
|
if (data && data.code === '200') {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
- message: '操作成功!'
|
|
|
+ message: '移交成功!'
|
|
|
})
|
|
|
+ this.transferDialogFormVisible = false
|
|
|
this.getDataList()
|
|
|
} else {
|
|
|
this.$message({
|
|
@@ -302,59 +335,94 @@ import { downloadUrl } from '@/api/file'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '已取消'
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- // 移交
|
|
|
- transferTask (taskId, workTypeId) {
|
|
|
- this.transferDialogFormVisible = true
|
|
|
- this.transferDialogForm.taskId = taskId
|
|
|
-
|
|
|
- workTypeMasterList(workTypeId).then(({data}) => {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 完成
|
|
|
+ completeTask (taskId) {
|
|
|
+ this.$confirm('是否完成任务?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ completeTask({taskId}).then(({data}) => {
|
|
|
if (data && data.code === '200') {
|
|
|
- this.transferUserList = data.data
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '操作成功!'
|
|
|
+ })
|
|
|
+ this.getDataList()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: data.msg
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
- },
|
|
|
- // 确认移交
|
|
|
- transferSubmit () {
|
|
|
- this.$refs['transferDialogForm'].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- transferTask(this.transferDialogForm).then(({data}) => {
|
|
|
- if (data && data.code === '200') {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '移交成功!'
|
|
|
- })
|
|
|
- this.transferDialogFormVisible = false
|
|
|
- this.getDataList()
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- type: 'error',
|
|
|
- message: data.msg
|
|
|
- })
|
|
|
- }
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 检验
|
|
|
+ checkTask (taskId, checkType) {
|
|
|
+ this.checkDialogForm.taskId = taskId
|
|
|
+ if (checkType === 1) {
|
|
|
+ this.checkDialogForm.checkType = checkType
|
|
|
+ this.passTask()
|
|
|
+ } else {
|
|
|
+ this.checkDialogForm.checkType = null
|
|
|
+ this.refuseTask()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 通过
|
|
|
+ passTask () {
|
|
|
+ this.$confirm('是否完成任务?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ let submitData = this.checkDialogForm
|
|
|
+ checkTask(submitData).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '移交成功!'
|
|
|
+ })
|
|
|
+ this.checkDialogFormVisible = false
|
|
|
+ this.getDataList()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: data.msg
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- },
|
|
|
- // 完成
|
|
|
- completeTask (taskId) {
|
|
|
- this.$confirm('是否完成任务?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- completeTask({taskId}).then(({data}) => {
|
|
|
+ }).catch(() => {
|
|
|
+ this.$message({
|
|
|
+ type: 'info',
|
|
|
+ message: '已取消'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ refuseTask () {
|
|
|
+ this.checkDialogFormVisible = true
|
|
|
+ },
|
|
|
+ // 不通过
|
|
|
+ // 确认检验
|
|
|
+ checkSubmit () {
|
|
|
+ this.$refs['checkDialogForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let submitData = this.checkDialogForm
|
|
|
+ checkTask(submitData).then(({data}) => {
|
|
|
if (data && data.code === '200') {
|
|
|
this.$message({
|
|
|
type: 'success',
|
|
|
- message: '操作成功!'
|
|
|
+ message: '移交成功!'
|
|
|
})
|
|
|
+ this.checkDialogFormVisible = false
|
|
|
this.getDataList()
|
|
|
} else {
|
|
|
this.$message({
|
|
@@ -363,127 +431,55 @@ import { downloadUrl } from '@/api/file'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '已取消'
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- // 检验
|
|
|
- checkTask (taskId, checkType) {
|
|
|
- this.checkDialogForm.taskId = taskId
|
|
|
- if(checkType === 1){
|
|
|
- this.checkDialogForm.checkType = checkType
|
|
|
- this.passTask()
|
|
|
- } else {
|
|
|
- this.checkDialogForm.checkType = null
|
|
|
- this.refuseTask()
|
|
|
}
|
|
|
- },
|
|
|
- // 通过
|
|
|
- passTask(){
|
|
|
- this.$confirm('是否完成任务?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- let submitData = this.checkDialogForm
|
|
|
- checkTask(submitData).then(({data}) => {
|
|
|
- if (data && data.code === '200') {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '移交成功!'
|
|
|
- })
|
|
|
- this.checkDialogFormVisible = false
|
|
|
- this.getDataList()
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- type: 'error',
|
|
|
- message: data.msg
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '已取消'
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
- refuseTask(){
|
|
|
- this.checkDialogFormVisible = true
|
|
|
- },
|
|
|
- // 不通过
|
|
|
- // 确认检验
|
|
|
- checkSubmit () {
|
|
|
- this.$refs['checkDialogForm'].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- let submitData = this.checkDialogForm
|
|
|
- checkTask(submitData).then(({data}) => {
|
|
|
- if (data && data.code === '200') {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '移交成功!'
|
|
|
- })
|
|
|
- this.checkDialogFormVisible = false
|
|
|
- this.getDataList()
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- type: 'error',
|
|
|
- message: data.msg
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
+ })
|
|
|
+ },
|
|
|
// 操作损坏
|
|
|
- damageTask(taskId, productionId){
|
|
|
- this.damageDialogFormVisible = true
|
|
|
- this.damageDialogForm.taskId = taskId
|
|
|
- this.damageDialogForm.productionId = productionId
|
|
|
- },
|
|
|
+ damageTask (taskId, productionId) {
|
|
|
+ this.damageDialogFormVisible = true
|
|
|
+ this.damageDialogForm.taskId = taskId
|
|
|
+ this.damageDialogForm.productionId = productionId
|
|
|
+ },
|
|
|
// 确认操作损坏
|
|
|
- damageSubmit(){
|
|
|
- this.$refs['damageDialogForm'].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- let submitData = this.checkDialogForm
|
|
|
- damageTask(submitData).then(({data}) => {
|
|
|
- if (data && data.code === '200') {
|
|
|
- this.$message({
|
|
|
- type: 'success',
|
|
|
- message: '操作成功!'
|
|
|
- })
|
|
|
- this.checkDialogFormVisible = false
|
|
|
- this.getDataList()
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- type: 'error',
|
|
|
- message: data.msg
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
+ damageSubmit () {
|
|
|
+ this.$refs['damageDialogForm'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let submitData = this.checkDialogForm
|
|
|
+ damageTask(submitData).then(({data}) => {
|
|
|
+ if (data && data.code === '200') {
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '操作成功!'
|
|
|
+ })
|
|
|
+ this.checkDialogFormVisible = false
|
|
|
+ this.getDataList()
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: 'error',
|
|
|
+ message: data.msg
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
// 预览
|
|
|
- previewFile (url) {
|
|
|
+ previewFile (url) {
|
|
|
// 弹出新页面显示下载文件
|
|
|
- window.open(downloadUrl + url, '_blank')
|
|
|
- },
|
|
|
+ window.open(downloadUrl + url, '_blank')
|
|
|
+ },
|
|
|
// 计算进度百分比,返回0到100的整数
|
|
|
- getPercentage(completeNum, totalNum){
|
|
|
- completeNum = completeNum == null ? 0 : parseInt(completeNum)
|
|
|
- totalNum = totalNum == null ? 100 : parseInt(totalNum)
|
|
|
- if(totalNum === 0){
|
|
|
- return 100
|
|
|
- }
|
|
|
-
|
|
|
- return (completeNum/totalNum).toFixed(2) * 100
|
|
|
+ getPercentage (completeNum, totalNum) {
|
|
|
+ completeNum = completeNum == null ? 0 : parseInt(completeNum)
|
|
|
+ totalNum = totalNum == null ? 100 : parseInt(totalNum)
|
|
|
+ if (totalNum === 0) {
|
|
|
+ return 100
|
|
|
}
|
|
|
+
|
|
|
+ return (completeNum / totalNum).toFixed(2) * 100
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|