任务、指令管理
This commit is contained in:
@@ -190,28 +190,25 @@ uni-button:after {
|
|||||||
box-shadow: 0 4rpx 10rpx 2rpx rgba(0,0,0,.1);
|
box-shadow: 0 4rpx 10rpx 2rpx rgba(0,0,0,.1);
|
||||||
}
|
}
|
||||||
.item-font-1
|
.item-font-1
|
||||||
_font(30rpx,28rpx,#000,,)
|
_font(30rpx,52rpx,#000,,)
|
||||||
.item-font-2
|
.item-font-2
|
||||||
_font(24rpx,40rpx,$red,,)
|
_font(26rpx,52rpx,$red,,)
|
||||||
.item-font-3
|
.item-font-3
|
||||||
width 110rpx
|
_font(26rpx,38rpx,#333,,)
|
||||||
_font(24rpx,26rpx,#333,,)
|
|
||||||
text-align:justify;
|
text-align:justify;
|
||||||
text-align-last: justify;
|
text-align-last: justify;
|
||||||
text-justify: inter-ideograph;
|
text-justify: inter-ideograph;
|
||||||
.item-font-4
|
.item-font-4
|
||||||
width calc(100% - 110rpx)
|
_font(26rpx,38rpx,#999,,)
|
||||||
_font(26rpx,26rpx,#999,,)
|
|
||||||
.item-font-5
|
.item-font-5
|
||||||
_font(44rpx,60rpx,$green,,center)
|
_font(44rpx,60rpx,$green,,center)
|
||||||
background-color #f6f6f6
|
background-color #f6f6f6
|
||||||
.item-font-6
|
.item-font-6
|
||||||
width calc(50% - 110rpx)
|
height 52rpx
|
||||||
_font(24rpx,52rpx,#666,,center)
|
_font(26rpx,52rpx,#666,,center)
|
||||||
background-color #e5e5e5
|
background-color #e5e5e5
|
||||||
border-radius 26rpx
|
border-radius 10rpx
|
||||||
.item-font-7
|
.item-font-7
|
||||||
width 110rpx
|
|
||||||
_font(24rpx,52rpx,#666,,center)
|
_font(24rpx,52rpx,#666,,center)
|
||||||
.item-font-8
|
.item-font-8
|
||||||
_font(24rpx,52rpx,#666,,center)
|
_font(24rpx,52rpx,#666,,center)
|
||||||
|
|||||||
@@ -1,19 +1,189 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view class="zd_container">
|
||||||
|
<nav-bar :title="title" :searchActive="true" @toSearch="toSearch"></nav-bar>
|
||||||
|
<view class="zd_content pdt0">
|
||||||
|
<view class="filter_wrapper">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-8 font-style-1" v-for="e in state" :key="e.id" @tap="changeTab(e)">
|
||||||
|
<view class="font-style-1" :class="{'font-style-2': e.id === tab}">{{e.text}}</view>
|
||||||
|
<view class="tab-line" :class="{'tab-line_active': e.id === tab}"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-wrapper">
|
||||||
|
<view class="item-wrap" v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{isChecked: pkId === e.inst_uuid}">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-10 item-font-1">{{e.task_no}} | {{['就绪', '执行中', '完成','取消'][Number(e.inst_status)]}}</view>
|
||||||
|
<view class="zd-col-10 item-font-2" style="text-align:right">{{e.create_time}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-16">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-6 item-font-3">指令号:</view>
|
||||||
|
<view class="zd-col-18 item-font-4">{{e.instruction_code}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-10 item-font-3">指令执行步骤:</view>
|
||||||
|
<view class="zd-col-14 item-font-4">{{e.inst_step}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-6 item-font-3">载具号:</view>
|
||||||
|
<view class="zd-col-18 item-font-4">{{e.carrier}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-6 item-font-3">车号:</view>
|
||||||
|
<view class="zd-col-18 item-font-4">{{e.carno}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-8">
|
||||||
|
<view class="item-font-5">{{e.priority}}</view>
|
||||||
|
<view class="item-font-7">优先级</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-10 item-font-6">起始设备:{{e.start_devicecode}}</view>
|
||||||
|
<view class="zd-col-2 item-font-7">––</view>
|
||||||
|
<view class="zd-col-10 item-font-6">目标设备:{{e.next_devicecode}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submit-bar">
|
||||||
|
<button class="zd-col-7 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="_handInst('1')">指令撤销</button>
|
||||||
|
<button class="zd-col-7 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="_handInst('2')">重新下发</button>
|
||||||
|
<button class="zd-col-7 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="_handInst('3')">强制完成</button>
|
||||||
|
</view>
|
||||||
|
<view class="zd_content msg_wrapper" :class="show ? 'popshow' : 'pophide'">
|
||||||
|
<view class="msg_content">
|
||||||
|
<view class="zd-row border-bottom">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">关键字</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19">
|
||||||
|
<input type="text" class="filter_input" v-model="val1">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row border-bottom">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">起始设备</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19">
|
||||||
|
<search-box
|
||||||
|
v-model="val2"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">目标设备</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19 filter_select">
|
||||||
|
<search-box
|
||||||
|
v-model="val3"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submit-bar">
|
||||||
|
<button class="zd-col-7 button-default" @tap.stop="show = false">取消</button>
|
||||||
|
<button class="zd-col-7 button-default" @tap.stop="clearUp">清空</button>
|
||||||
|
<button class="zd-col-7 button-primary" @tap="_handInsts">查询</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="show" class="msg_mask"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
|
import {handInsts, handInst} from '@/utils/getData2.js'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
SearchBox
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
show: false,
|
||||||
|
state: [{id:'-1', text: '全部'}, {id:'0', text: '就绪'}, {id:'1', text: '执行中'}, {id:'2', text: '完成'}, {id:'3', text: '取消'}],
|
||||||
|
tab: '-1',
|
||||||
|
title: '',
|
||||||
|
val1: '',
|
||||||
|
val2: '',
|
||||||
|
val3: '',
|
||||||
|
data: [],
|
||||||
|
dataList: [],
|
||||||
|
pkId: '',
|
||||||
|
disabled: false
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this._handInsts()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toSearch () {
|
||||||
|
this.show = true
|
||||||
|
this.tab = '-1'
|
||||||
|
},
|
||||||
|
async _handInsts () {
|
||||||
|
this.show = false
|
||||||
|
try {
|
||||||
|
let res = await handInsts(this.val1, this.val2, this.val3)
|
||||||
|
this.data = [...res.data]
|
||||||
|
this.dataList = [...this.data]
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeTab (e) {
|
||||||
|
this.tab = e.id
|
||||||
|
if (e.id !== '-1') {
|
||||||
|
let arr = this.data.filter(el => {return el.inst_status === e.id})
|
||||||
|
this.dataList = [...arr]
|
||||||
|
} else {
|
||||||
|
this.dataList = [...this.data]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async _handInst (type) {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.pkId) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let res = await handInst(type, this.pkId)
|
||||||
|
this.disabled = false
|
||||||
|
this.tab = '-1'
|
||||||
|
this._handInsts()
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clearUp () {
|
||||||
|
this.val1 = ''
|
||||||
|
this.val2 = ''
|
||||||
|
this.val3 = ''
|
||||||
|
this.pkId = ''
|
||||||
|
this.disabled = false
|
||||||
|
},
|
||||||
|
toCheck (e) {
|
||||||
|
this.pkId = this.pkId === e.inst_uuid ? '' : e.inst_uuid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus">
|
<style lang="stylus">
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,19 +1,180 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view class="zd_container">
|
||||||
|
<nav-bar :title="title" :searchActive="true" @toSearch="toSearch"></nav-bar>
|
||||||
|
<view class="zd_content pdt0">
|
||||||
|
<view class="filter_wrapper">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-8 font-style-1" v-for="e in state" :key="e.id" @tap="changeTab(e)">
|
||||||
|
<view class="font-style-1" :class="{'font-style-2': e.id === tab}">{{e.text}}</view>
|
||||||
|
<view class="tab-line" :class="{'tab-line_active': e.id === tab}"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-wrapper">
|
||||||
|
<view class="item-wrap" v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{isChecked: pkId === e.task_uuid}">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-10 item-font-1">{{e.task_no}}</view>
|
||||||
|
<view class="zd-col-10 item-font-2" style="text-align:right">{{e.create_time}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-16">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-7 item-font-3">任务状态:</view>
|
||||||
|
<view class="zd-col-17 item-font-4">{{['就绪', '执行中', '完成'][Number(e.task_status)]}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-7 item-font-3">载具号:</view>
|
||||||
|
<view class="zd-col-17 item-font-4">{{e.carrier}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-8">
|
||||||
|
<view class="item-font-5">{{e.priority}}</view>
|
||||||
|
<view class="item-font-7">优先级</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-10 item-font-6">起始设备:{{e.start_devicecode}}</view>
|
||||||
|
<view class="zd-col-2 item-font-7">––</view>
|
||||||
|
<view class="zd-col-10 item-font-6">目标设备:{{e.next_devicecode}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submit-bar">
|
||||||
|
<button class="zd-col-11 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="_handTaskoperation('1')">重新生成</button>
|
||||||
|
<button class="zd-col-11 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="_handTaskoperation('2')">强制完成</button>
|
||||||
|
</view>
|
||||||
|
<view class="zd_content msg_wrapper" :class="show ? 'popshow' : 'pophide'">
|
||||||
|
<view class="msg_content">
|
||||||
|
<view class="zd-row border-bottom">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">关键字</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19">
|
||||||
|
<input type="text" class="filter_input" v-model="val1">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row border-bottom">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">起始设备</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19">
|
||||||
|
<search-box
|
||||||
|
v-model="val2"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-5">
|
||||||
|
<span class="filter_label">目标设备</span>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-19 filter_select">
|
||||||
|
<search-box
|
||||||
|
v-model="val3"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-row submit-bar">
|
||||||
|
<button class="zd-col-7 button-default" @tap.stop="show = false">取消</button>
|
||||||
|
<button class="zd-col-7 button-default" @tap.stop="clearUp">清空</button>
|
||||||
|
<button class="zd-col-7 button-primary" @tap="_handTasks">查询</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="show" class="msg_mask"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
|
import {handTasks, handTaskoperation} from '@/utils/getData2.js'
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
SearchBox
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
show: false,
|
||||||
|
state: [{id:'-1', text: '全部'}, {id:'0', text: '就绪'}, {id:'1', text: '执行中'}, {id:'2', text: '完成'}],
|
||||||
|
tab: '-1',
|
||||||
|
title: '',
|
||||||
|
val1: '',
|
||||||
|
val2: '',
|
||||||
|
val3: '',
|
||||||
|
data: [],
|
||||||
|
dataList: [],
|
||||||
|
pkId: '',
|
||||||
|
disabled: false
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this._handTasks()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toSearch () {
|
||||||
|
this.show = true
|
||||||
|
this.tab = '-1'
|
||||||
|
},
|
||||||
|
async _handTasks () {
|
||||||
|
this.show = false
|
||||||
|
try {
|
||||||
|
let res = await handTasks(this.val1, this.val2, this.val3)
|
||||||
|
this.data = [...res.data]
|
||||||
|
this.dataList = [...this.data]
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeTab (e) {
|
||||||
|
this.tab = e.id
|
||||||
|
if (e.id !== '-1') {
|
||||||
|
let arr = this.data.filter(el => {return el.task_status === e.id})
|
||||||
|
this.dataList = [...arr]
|
||||||
|
} else {
|
||||||
|
this.dataList = [...this.data]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async _handTaskoperation (type) {
|
||||||
|
this.disabled = true
|
||||||
|
if (!this.pkId) {
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
let res = await handTaskoperation(type, this.pkId)
|
||||||
|
this.disabled = false
|
||||||
|
this.tab = '-1'
|
||||||
|
this._handTasks()
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clearUp () {
|
||||||
|
this.val1 = ''
|
||||||
|
this.val2 = ''
|
||||||
|
this.val3 = ''
|
||||||
|
this.pkId = ''
|
||||||
|
this.disabled = false
|
||||||
|
},
|
||||||
|
toCheck (e) {
|
||||||
|
this.pkId = this.pkId === e.task_uuid ? '' : e.task_uuid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus">
|
<style lang="stylus">
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -121,3 +121,45 @@ export const rgfjskTask = (code) => request({
|
|||||||
url:'api/pda/rgfjskTask',
|
url:'api/pda/rgfjskTask',
|
||||||
data: {deviceCode: code}
|
data: {deviceCode: code}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务管理
|
||||||
|
*/
|
||||||
|
// 1.1 1.1 查询无指令的任务(任务号为-开头)
|
||||||
|
export const handTasks = (key, scode, ncode) => request({
|
||||||
|
url:'api/hand/tasks',
|
||||||
|
data: {
|
||||||
|
keyword: key,
|
||||||
|
start_devicecode: scode,
|
||||||
|
next_devicecode: ncode
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 1.2 任务操作
|
||||||
|
export const handTaskoperation = (type, id) => request({
|
||||||
|
url:'api/hand/taskoperation',
|
||||||
|
data: {
|
||||||
|
type: type,
|
||||||
|
task_uuid: id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指令管理
|
||||||
|
*/
|
||||||
|
// 1.1 查询未完成指令(生成任务号为-开头)
|
||||||
|
export const handInsts = (key, scode, ncode) => request({
|
||||||
|
url:'api/hand/insts',
|
||||||
|
data: {
|
||||||
|
keyword: key,
|
||||||
|
start_devicecode: scode,
|
||||||
|
next_devicecode: ncode
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 1.2 指令操作
|
||||||
|
export const handInst = (type, id) => request({
|
||||||
|
url:'api/hand/inst',
|
||||||
|
data: {
|
||||||
|
type: type,
|
||||||
|
inst_uuid: id
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -500,3 +500,60 @@ export const rgfjskTask = (code) => {
|
|||||||
let res = {"message":"人工分拣送空请求成功"}
|
let res = {"message":"人工分拣送空请求成功"}
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
// 任务管理
|
||||||
|
export const handTasks = (key, scode, ncode) => {
|
||||||
|
let res = {
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"task_no": "-087",
|
||||||
|
"task_status": "2",
|
||||||
|
"create_time": "2024-03-28 10:54:39",
|
||||||
|
"carrier": '001',
|
||||||
|
"task_uuid": "012bc5e653ce48949020f1147333aa7f",
|
||||||
|
"inst_step": "7",
|
||||||
|
"next_devicecode": "L1",
|
||||||
|
"start_devicecode": "RKSSX2",
|
||||||
|
"instruction_code": "163",
|
||||||
|
"priority": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"message": "操作成功"
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
// 1.2 任务操作
|
||||||
|
export const handTaskoperation = (type, id) => {
|
||||||
|
let res = {
|
||||||
|
"message": "001"
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
// 指令管理
|
||||||
|
export const handInsts = () => {
|
||||||
|
let res = {
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"task_no": "-087",
|
||||||
|
"inst_status": "2",
|
||||||
|
"create_time": "2024-03-28 10:54:39",
|
||||||
|
"carrier": '001',
|
||||||
|
"carno": '1号车',
|
||||||
|
"inst_uuid": "012bc5e653ce48949020f1147333aa7f",
|
||||||
|
"inst_step": "3",
|
||||||
|
"instruction_code": '11100',
|
||||||
|
"next_devicecode": "L1",
|
||||||
|
"start_devicecode": "RKSSX2",
|
||||||
|
"instruction_code": "163",
|
||||||
|
"priority": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"message": "操作成功"
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
export const handInst = (code) => {
|
||||||
|
let res = {
|
||||||
|
"message": "001"
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user