Commit 65168c2e by liujinbo

Merge branch 'refs/heads/master' into master_ljb

parents 42e9496e d7b186f0
......@@ -157,9 +157,11 @@ const confirm = (e) => {
if (ps.mode == 'range') {
const { after, before } = e.range
labelValue.value = Day(before).format(ps.format) + ps.rangeSeparator + Day(after).format(ps.format)
es('update:startTime', Day(before).valueOf())
es('update:endTime', Day(after).valueOf())
es('change', [Day(before).valueOf(), Day(after).valueOf()])
const beforeTime = Day(before).hour(0).minute(0).second(0).valueOf()
const afterTime = Day(after).hour(23).minute(59).second(59).valueOf()
es('update:startTime', beforeTime)
es('update:endTime', afterTime)
es('change', [beforeTime, afterTime])
}
}
//点击清空按钮
......
......@@ -26,3 +26,13 @@ export const mocMaterial_isValid = [
{ text: '无效', class: 'mocp-color-danger-6', value: '0' },
{ text: '-', class: 'mocp-color-text-4', value: '' }
]
export const ar_isValid = [
{ text: '有效', class: 'mocp-color-success-6', value: '1' },
{ text: '无效', class: 'mocp-color-danger-6', value: '0' }
]
export const md_isValid = [
{ text: '有效', class: 'mocp-color-success-6', value: '1' },
{ text: '无效', class: 'mocp-color-danger-6', value: '0' }
]
<template>
<text :class="getStatus.class">{{ getStatus.text }}</text>
<text :class="getClass" :style="getStyle">{{ getStatus.text }}</text>
</template>
<script setup>
......@@ -7,6 +7,16 @@ import { computed } from 'vue'
import * as dictData from './dictData'
import { cloneDeep } from 'lodash'
const ps = defineProps({
style: {
type: Object,
default: () => {
return {}
}
},
class: {
type: String,
default: ''
},
dictkey: {
type: String,
default: ''
......@@ -24,6 +34,10 @@ const ps = defineProps({
valueField: {
type: String,
default: 'value'
},
size: {
type: Number,
default: 28
}
})
const getData = computed(() => {
......@@ -41,5 +55,21 @@ const getStatus = computed(() => {
const data = getData.value.find((item) => item[ps.valueField] == ps.value)
return data || {}
})
const getStyle = computed(() => {
return {
fontSize: ps.size + 'rpx',
...ps.style
}
})
const getClass = computed(() => {
const _class = []
if (ps.class) {
_class.push(ps.class)
}
if (getStatus.value.class) {
_class.push(getStatus.value.class)
}
return _class
})
</script>
<style lang="scss" scoped></style>
......@@ -240,16 +240,6 @@ const useAogStore = defineStore('aog', {
}
},
// 配置持久化
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
persist: false
})
export default useAogStore
......@@ -70,16 +70,6 @@ const useAppraisalRecordStore = defineStore('appraisalRecord', {
}
},
// 配置持久化
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
persist: false
})
export default useAppraisalRecordStore
import {
getATAApi,
getAdminListApi,
getAirLinesListApi,
getAircraftNumbersApi,
getAircraftTerminalsApi,
......
......@@ -76,16 +76,6 @@ const useMcoStore = defineStore('mco', {
}
},
// 配置持久化
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
persist: false
})
export default useMcoStore
......@@ -62,7 +62,7 @@ const goDetails = (data) => {
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/aog/search')
uni.$mocpJump.navigateBack()
}
//刷新
const paging = ref()
......
......@@ -9,6 +9,13 @@
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
.left {
display: flex;
align-items: center;
.txt {
margin-left: 16rpx;
}
}
}
&-bottom {
display: flex;
......@@ -21,6 +28,14 @@
.left-icon {
margin-right: 16rpx;
}
.txt {
margin-left: 16rpx;
display: flex;
align-items: center;
&:first-child {
margin-left: 0;
}
}
}
}
}
......
......@@ -4,7 +4,22 @@
<view class="details">
<view class="details-header">
<view class="details-header-top">
<view class="left">
<custom-state :value="details.status == 1 ? 'OPEN' : 'CLOSE'" :size="32"></custom-state>
<global-text-status
class="txt"
dictkey="ar_isValid"
:value="
(details.qualityOpinionType == 2 && details.opinionType == 2) ||
(details.qualityOpinionType == 0 && details.opinionType == 2) ||
(details.qualityOpinionType == 2 && details.opinionType == 0) ||
(details.qualityOpinionType == 0 && details.opinionType == 0)
? '1'
: '0'
"
:size="32"
></global-text-status>
</view>
<custom-score
v-if="details.score != -1"
:type="details.eventType == 1 ? 'success' : 'warning'"
......@@ -13,8 +28,16 @@
</view>
<view class="details-header-bottom">
<view class="left">
<view class="txt u-line-1" v-if="details.ac">
<global-icon class="left-icon" icon="Vector" size="24" color="#DD4012"></global-icon>
<view class="txt">{{ details.ac }} {{ details.acType }}</view>
{{ details.ac }}
</view>
<view class="txt u-line-1" v-if="details.acType">
{{ details.acType }}
</view>
<view class="txt u-line-1" v-if="details.acOwn">
{{ useGetDictByValue('', details.acOwn, { data: baseStore.getAirlineSelect }) }}
</view>
</view>
<view class="right">{{ timeStampFormat(details.eventTime, { format: 'YYYY/MM/DD' }) }}</view>
</view>
......@@ -96,8 +119,10 @@ import useAppraisalRecordStore from 'mocp/store/appraisal-record'
import { storeToRefs } from 'pinia'
import { onLoad } from '@dcloudio/uni-app'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useBaseStore from 'mocp/store/base'
const query = defineProps(['id'])
const baseStore = useBaseStore()
const appraisalRecordStore = useAppraisalRecordStore()
const { details, getFileList } = storeToRefs(appraisalRecordStore)
onLoad(() => {
......
......@@ -32,12 +32,7 @@
:borderBottom="true"
labelPosition="top"
>
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.msg"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.msg"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -13,12 +13,7 @@
<global-picker pickAlign="right" v-model="formData.leaderApprovalComments" clearable dictkey="aw_leaderState"></global-picker>
</up-form-item>
<up-form-item label="批示要点" :borderBottom="true" labelPosition="top" prop="approvalContent" required>
<up-textarea
v-model.trim="formData.approvalContent"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model.trim="formData.approvalContent" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -22,12 +22,7 @@
<view class="delete" v-if="formData.length > 1" @tap="handleDelete(index)">
<global-icon icon="delete-01" color="#F53F3F"></global-icon>
</view>
<up-textarea
v-model="item.plan"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="item.plan" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item label="完成时限" :borderBottom="true">
<global-date pickAlign="right" clearable v-model="item.time" :emptyValue="null"></global-date>
......
......@@ -10,12 +10,7 @@
<view class="mocp-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef">
<up-form-item label="反馈内容" :borderBottom="true" labelPosition="top" prop="followUpFeedbackContent" required>
<up-textarea
v-model="formData.followUpFeedbackContent"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.followUpFeedbackContent" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item label="验证材料" labelPosition="top" :borderBottom="true">
<view style="margin-top: 24rpx">
......
......@@ -6,12 +6,7 @@
<global-picker pickAlign="right" v-model="formData.gzApprovalComments" clearable dictkey="aw_leaderState"></global-picker>
</up-form-item>
<up-form-item label="批示要点" :borderBottom="true" labelPosition="top" prop="gzApprovalContent" required>
<up-textarea
v-model.trim="formData.gzApprovalContent"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model.trim="formData.gzApprovalContent" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -3,12 +3,7 @@
<view class="mocp-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef">
<up-form-item label="跟踪反馈" :borderBottom="true" labelPosition="top" prop="gzFeedbackContent" required>
<up-textarea
v-model="formData.gzFeedbackContent"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.gzFeedbackContent" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -3,12 +3,7 @@
<view class="mocp-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef">
<up-form-item label="跟踪要点" :borderBottom="true" labelPosition="top" prop="trackingPoints" required>
<up-textarea
v-model="formData.trackingPoints"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.trackingPoints" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item label="事件类型" :borderBottom="true" prop="eventType" required>
<global-picker
......
......@@ -15,12 +15,7 @@
<global-picker v-model="formData.feedbackState" pickAlign="right" clearable dictkey="aw_feedbackState"></global-picker>
</up-form-item>
<up-form-item label="问题分析" :borderBottom="true" labelPosition="top" prop="problem" required>
<up-textarea
v-model="formData.problem"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.problem" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
</view>
</view>
......@@ -28,12 +23,7 @@
<view class="form-title">解决措施</view>
<view class="form-item">
<up-form-item label="工作目标" :borderBottom="true" labelPosition="top" prop="workTarget" required>
<up-textarea
v-model="formData.workTarget"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.workTarget" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<view class="plan">
<view class="plan-title">
......@@ -58,12 +48,7 @@
</template>
</view>
<up-form-item label="当前进展" :borderBottom="true" labelPosition="top" prop="current" required>
<up-textarea
v-model="formData.current"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model="formData.current" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item :borderBottom="true">
<global-upload :fileList="arrangeWorkExtend.fileVoList" v-model="formData.file" mapFieldName="id"></global-upload>
......
......@@ -68,7 +68,7 @@ const goDetails = (data) => {
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.redirectTo('/panel/assign-work/search')
uni.$mocpJump.navigateBack()
}
//刷新
const paging = ref()
......
......@@ -70,12 +70,12 @@ const { searchData } = storeToRefs(assignWorkStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
assignWorkStore.resetForm()
uni.$mocpJump.redirectTo('/panel/assign-work/list')
uni.$mocpJump.navigateTo('/panel/assign-work/list')
uni.$emit('assignWorkReload')
}
const handleConfirm = () => {
assignWorkStore.setState('searchData', formData.value)
uni.$mocpJump.redirectTo('/panel/assign-work/list')
uni.$mocpJump.navigateTo('/panel/assign-work/list')
uni.$emit('assignWorkReload')
}
</script>
......
......@@ -34,12 +34,7 @@
</up-input>
</up-form-item>
<up-form-item label="反馈内容" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.content"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.content"></up-textarea>
</up-form-item>
<up-form-item label="附件" :borderBottom="true" labelPosition="top">
<view style="margin-top: 24rpx">
......
......@@ -2,9 +2,16 @@
background: #fff;
padding: 24rpx;
&-header {
&-left {
display: flex;
align-items: center;
justify-content: space-between;
.txt {
margin-left: 16rpx;
}
}
&-right {
margin-top: 16rpx;
}
}
&-body {
&-box {
......
......@@ -4,7 +4,13 @@
<view class="details">
<view class="details-header">
<view class="details-header-left">
<custom-state :value="useGetDictByValue('md_state', details.state)" :size="48"></custom-state>
<custom-state :value="useGetDictByValue('md_state', details.state)" :size="32"></custom-state>
<global-text-status
class="txt"
dictkey="md_isValid"
:value="details.mcoDirectorDecisionState == '1' && details.decisionState == '1' ? '1' : '0'"
:size="32"
></global-text-status>
</view>
<view class="details-header-right">
<global-icon icon="mind-mapping"></global-icon>
......
......@@ -22,12 +22,7 @@
<global-radio radioAlign="right" clearable v-model="formData.decisionState" dictkey="md_decisionState"></global-radio>
</up-form-item>
<up-form-item label="公司值班经理意见描述" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.decisionOpinion"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.decisionOpinion"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -15,12 +15,7 @@
<global-radio radioAlign="right" clearable v-model="formData.mcoDirectorDecisionState" dictkey="md_decisionState"></global-radio>
</up-form-item>
<up-form-item label="MCP主任意见描述" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.mcoDirectorOpinion"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.mcoDirectorOpinion"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -95,20 +95,10 @@
></global-picker>
</up-form-item>
<up-form-item label="故障描述" :borderBottom="true" labelPosition="top">
<up-textarea
v-model.trim="formData.faultDescription"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model.trim="formData.faultDescription" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item label="邮件/电话记录" :borderBottom="true" labelPosition="top">
<up-textarea
v-model.trim="formData.phone"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model.trim="formData.phone" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
<up-form-item label="附件" :borderBottom="true" labelPosition="top">
<global-upload
......@@ -138,12 +128,7 @@
></global-picker>
</up-form-item>
<up-form-item label="详情" :borderBottom="true" labelPosition="top" v-if="formData.decisionState == '0'">
<up-textarea
v-model.trim="formData.remark"
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
></up-textarea>
<up-textarea v-model.trim="formData.remark" placeholder="请输入" :height="40" border="none"></up-textarea>
</up-form-item>
</up-form>
</view>
......
......@@ -67,36 +67,16 @@
></global-picker>
</up-form-item>
<up-form-item label="故障描述及处理方案简要描述" prop="faultDescription" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.faultDescription"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.faultDescription"></up-textarea>
</up-form-item>
<up-form-item label="飞机当前状态/下一段航班计划" prop="airplaneState" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.airplaneState"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.airplaneState"></up-textarea>
</up-form-item>
<up-form-item label="手册要求描述" prop="manualDescription" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.manualDescription"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.manualDescription"></up-textarea>
</up-form-item>
<up-form-item label="支援申请描述" prop="supportNeeds" :borderBottom="true" labelPosition="top" required>
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.supportNeeds"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.supportNeeds"></up-textarea>
</up-form-item>
<up-form-item label="上传故障描述附件" :borderBottom="true" labelPosition="top">
<view style="margin-top: 24rpx">
......@@ -104,12 +84,7 @@
</view>
</up-form-item>
<up-form-item label="执管评估意见" prop="suggestion" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.suggestion"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.suggestion"></up-textarea>
</up-form-item>
<up-form-item label="相关席位" prop="relevantSeats" :borderBottom="true" required>
<global-picker
......
......@@ -65,7 +65,7 @@ const goDetails = (data) => {
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.navigateBack('/panel/support-application/search')
uni.$mocpJump.navigateBack()
}
//刷新
const paging = ref()
......
......@@ -22,32 +22,17 @@
<global-date pickAlign="right" v-model="formData.engineerTime" clearable :timestamp="false"></global-date>
</up-form-item>
<up-form-item label="缺陷对飞机重要系统/结构的影响" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
v-model="formData.estimateEffect"
border="none"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" v-model="formData.estimateEffect" border="none"></up-textarea>
</up-form-item>
<up-form-item label="缺陷的扩展可能造成的潜在影响" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
v-model="formData.estimatePotential"
border="none"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" v-model="formData.estimatePotential" border="none"></up-textarea>
</up-form-item>
<up-form-item
label="历史上对类似缺陷的处理经验, 包括厂家已发布的超出持续适航文件范围的技术支援类文件"
:borderBottom="true"
labelPosition="top"
>
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.estimateHandle"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.estimateHandle"></up-textarea>
</up-form-item>
<up-form-item label="评估结论" :borderBottom="true">
<global-picker
......
......@@ -20,12 +20,7 @@
></global-checkbox>
</up-form-item>
<up-form-item label="非持续适航文件描述" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.nonName"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.nonName"></up-textarea>
</up-form-item>
</view>
</view>
......@@ -40,12 +35,7 @@
></global-checkbox>
</up-form-item>
<up-form-item label="持续适航文件描述" :borderBottom="true" labelPosition="top">
<up-textarea
placeholder="一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容"
:height="40"
border="none"
v-model="formData.fileTypeName"
></up-textarea>
<up-textarea placeholder="请输入" :height="40" border="none" v-model="formData.fileTypeName"></up-textarea>
</up-form-item>
</view>
</view>
......
......@@ -11,7 +11,7 @@
</view>
<view class="details-header-bottom">
<global-field label="关闭人:" :value="details.closeBy || '-'"></global-field>
<global-field label="关闭时间:" :value="timeStampFormat(details.closeTime, { format: 'YYYY/MM/DD HH:mm' }) || '-'"></global-field>
<global-field label="关闭时间:" :value="details.closeTime || '-'"></global-field>
</view>
</view>
<up-collapse :value="getDefaultCollapse">
......
......@@ -62,7 +62,7 @@ const goDetails = (data) => {
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.redirectTo('/panel/work-assignment/search')
uni.$mocpJump.navigateBack()
}
//刷新
const paging = ref()
......
......@@ -68,12 +68,12 @@ const { searchData } = storeToRefs(workAssignmentStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
workAssignmentStore.resetForm()
uni.$mocpJump.redirectTo('/panel/work-assignment/list')
uni.$mocpJump.navigateTo('/panel/work-assignment/list')
uni.$emit('workAssignmentReload')
}
const handleConfirm = () => {
workAssignmentStore.setState('searchData', formData.value)
uni.$mocpJump.redirectTo('/panel/work-assignment/list')
uni.$mocpJump.navigateTo('/panel/work-assignment/list')
uni.$emit('workAssignmentReload')
}
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment