Commit c8706357 by pangchong

feat: 代码功能完善

parent e6b4a02d
......@@ -4,6 +4,20 @@ import { defineStore } from 'pinia'
const useAppraisalRecordStore = defineStore('appraisalRecord', {
state: () => {
return {
searchData: {
status: 1,
valid: null,
department: '',
appraisee: '',
ac: null,
acOwn: '',
acType: '',
startTime: null,
stopTime: null,
eventType: null,
examineType: '',
appealInfo: null
},
selectList: {
appraisee: [],
department: [],
......@@ -35,6 +49,22 @@ const useAppraisalRecordStore = defineStore('appraisalRecord', {
uni.$mocpMessage.error(res.message)
}
},
resetForm() {
this.searchData = {
status: 1,
valid: null,
department: '',
appraisee: '',
ac: null,
acOwn: '',
acType: '',
startTime: null,
stopTime: null,
eventType: null,
examineType: '',
appealInfo: null
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
......
......@@ -13,6 +13,14 @@ const arrangeWorkExtendRouter = [
const useAssignWorkStore = defineStore('assignWork', {
state: () => {
return {
searchData: {
state: null,
presenter: '',
seat: '',
workType: 1,
startTime: null,
stopTime: null
},
id: '',
details: undefined,
arrangeWorkExtendList: [], //责任单位列表
......@@ -111,11 +119,31 @@ const useAssignWorkStore = defineStore('assignWork', {
uni.$mocpMessage.error(res.message)
}
},
resetForm() {
this.searchData = {
state: null,
presenter: '',
seat: '',
workType: 1,
startTime: null,
stopTime: null
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
},
// 配置持久化
persist: false
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
})
export default useAssignWorkStore
......@@ -3,6 +3,14 @@ import { defineStore } from 'pinia'
const useMoveDecisionStore = defineStore('moveDecision', {
state: () => {
return {
searchData: {
state: 1,
presenter: '',
seat: '',
workType: null,
startDateTime: null,
endDateTime: null
},
details: undefined
}
},
......@@ -12,21 +20,21 @@ const useMoveDecisionStore = defineStore('moveDecision', {
}
},
actions: {
resetForm() {
this.searchData = {
state: 1,
presenter: '',
seat: '',
workType: null,
startDateTime: null,
endDateTime: null
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
},
// 配置持久化
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
persist: false
})
export default useMoveDecisionStore
......@@ -3,26 +3,35 @@ import { defineStore } from 'pinia'
const useTechnologyEvaluationStore = defineStore('technologyEvaluation', {
state: () => {
return {
searchData: {
state: 1,
ac: '',
model: '',
ata: '',
startDateTime: null,
endDateTime: null
},
details: undefined
}
},
getters: {},
actions: {
resetForm() {
this.searchData = {
state: 1,
ac: '',
model: '',
aviation: '',
ata: '',
startDateTime: null,
endDateTime: null
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
},
// 配置持久化
persist: {
// 调整为兼容多端的API
storage: {
setItem(key, value) {
uni.setStorageSync(key, value)
},
getItem(key) {
return uni.getStorageSync(key)
}
}
}
persist: false
})
export default useTechnologyEvaluationStore
......@@ -8,7 +8,7 @@ const menuList = ref([
{ id: 5, name: '技术评估', icon: 'jspg', group: '技术支援', count: 0, url: '/panel/technology-evaluation/list' },
{ id: 6, name: '运行调查', icon: 'yxdc', group: '维修控制', count: 0 },
{ id: 7, name: '运行决策', icon: 'yxjc', group: '维修控制', count: 0, url: '/panel/move-decision/list' },
{ id: 8, name: '布置工作', icon: 'bzgz', group: '维修控制', count: 0, url: '/panel/assign-work/list' },
{ id: 8, name: '布置工作', icon: 'bzgz', group: '维修控制', count: 0, url: '/panel/assign-work/search' },
{ id: 9, name: '航站管理', icon: 'hzgl', group: '航站管理', count: 0 },
{ id: 10, name: '协议单位', icon: 'xydw', group: '航站管理', count: 0 },
{ id: 11, name: '不正常事件', icon: 'bzcsj', group: '运行品质', count: 0 },
......
......@@ -75,12 +75,18 @@
}
},
{
"path": "pages/modules/mocp/panel/appraisal-record/edit",
"path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-opinion",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-data",
"style": {
"navigationBarTitleText": "申诉状态"
}
},
{
"path": "pages/modules/mocp/panel/assign-work/list",
"style": {
"navigationBarTitleText": "布置工作"
......
import { reactive, ref } from 'vue'
export const formRef = ref()
export const fileList = ref([])
// 校验规则
export const rules = reactive({
eventTime: [
{
type: 'number',
required: true,
message: '请选择日期',
trigger: ['blur', 'change']
}
]
})
// 表单数据
export const formData = reactive({
id: '',
ac: '',
acOwn: '',
acType: '',
appealInfo: '-1',
appraisee: '-1',
department: '-1',
dmUid: '-1',
eventMsg: '',
eventSource: '',
eventTime: -1,
eventType: -1,
examineBasis: '',
examineType: '-1',
onDutyUser: '',
opinionMsg: '',
opinionType: -1,
score: null,
qmUid: '',
qualityOpinionMsg: '',
qualityOpinionType: -1,
status: '',
emailSendTime: -1,
file: []
})
import { getAcReduceListApi } from 'mocp/api/base'
import { formData } from './edit.compositions'
//切换机号
export const changeAc = async () => {
const res = await getAcReduceListApi({ ac: formData.ac }, { loading: true })
if (res.code == 200) {
formData.acOwn = res.data[0]?.zop3
formData.acType = res.data[0]?.zstortgc
} else {
uni.$mocpMessage.error(res.message)
}
}
import { ref } from 'vue'
export const formRef = ref()
// 表单数据
export const formData = ref({
status: 1,
valid: null,
department: '',
appraisee: '',
ac: null,
acOwn: '',
acType: '',
startTime: null,
stopTime: null,
eventType: null,
examineType: '',
appealInfo: null
})
import { toRaw } from 'vue'
import { formData, formRef } from './search.compositions'
export const handleReset = () => {
formData.value = {
status: 1,
valid: null,
department: '',
appraisee: '',
ac: null,
acOwn: '',
acType: '',
startTime: null,
stopTime: null,
eventType: null,
examineType: '',
appealInfo: null
}
formRef.value?.resetFields()
handleConfirm()
}
export const handleConfirm = () => {
uni.$mocpJump.navigateBack()
uni.$emit('appraisalRecordReload', { params: toRaw(formData.value) })
}
......@@ -53,7 +53,7 @@
</view>
</view>
<custom-card-details
title="公司值班信息"
title="公司值班经理意见"
showfooter
:idcard="details.dmName"
:calendar="details.optionSaveTime"
......@@ -68,7 +68,7 @@
<custom-card-details-item label="公司值班经理意见描述" :value="details.dmMsg || '-'"></custom-card-details-item>
</custom-card-details>
<custom-card-details
title="品质中心信息"
title="品质中心经理意见"
showfooter
:idcard="details.qmName"
:calendar="details.qualitySaveTime"
......@@ -82,7 +82,7 @@
></custom-card-details-item>
<custom-card-details-item label="品质中心经理意见描述" :value="details.qmMsg || '-'"></custom-card-details-item>
</custom-card-details>
<custom-card-details title="申诉状态" titleIcon="email">
<custom-card-details title="申诉状态" titleIcon="email" edit @handleAdd="editRqmData()">
<view class="appeal-status">{{ useGetDictByValue('ar_appealInfo', details.appealInfo) }}</view>
<global-upload :fileList="getFileList" :showUpload="false"></global-upload>
</custom-card-details>
......@@ -110,15 +110,16 @@ const handleAdd = (isDuty) => {
let realName = ''
if (isDuty == 0) {
params = { id: details.value.id, isDuty, mid: details.value.dmUid, opinionType: details.value.opinionType, msg: details.value.dmMsg }
realName = details.value.dmName
} else {
params = { id: details.value.id, isDuty, mid: details.value.qmUid, opinionType: details.value.qualityOpinionType, msg: details.value.qmMsg }
realName = details.value.qmName
}
uni.$mocpJump.navigateTo('/panel/appraisal-record/edit').then(() => {
uni.$emit('appraisalRecordEdit', params, realName)
uni.$mocpJump.navigateTo('/panel/appraisal-record/edit-rqm-opinion').then(() => {
uni.$emit('appraisalRecordOpinionEdit', params, realName)
})
}
const editRqmData = () => {
uni.$mocpJump.navigateTo('/panel/appraisal-record/edit-rqm-data')
}
</script>
<style lang="scss" scoped>
@import './constants/details.scss';
......
<template>
<global-page title="申诉状态" showFooterBtn @handleFooterClick="handleSubmit">
<view class="mocp-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" :rules="rules" ref="formRef">
<up-form-item label="申诉情况" :borderBottom="true">
<global-picker pickAlign="right" dictkey="ar_appealInfo" v-model="formData.appealInfo" clearable :emptyValue="-1"></global-picker>
</up-form-item>
<up-form-item label="申诉附件" :borderBottom="true" labelPosition="top">
<view style="margin-top: 24rpx">
<global-upload :fileList="getFileList" v-model="formData.file"></global-upload>
</view>
</up-form-item>
</up-form>
</view>
</global-page>
</template>
<script setup>
import { onShow } from '@dcloudio/uni-app'
import useAppraisalRecordStore from 'mocp/store/appraisal-record'
import { storeToRefs } from 'pinia'
import { updateRqmDataApi } from 'mocp/api/appraisal-record'
import { reactive } from 'vue'
import { cloneDeep } from 'lodash'
const appraisalRecordStore = useAppraisalRecordStore()
const { details, getFileList } = storeToRefs(appraisalRecordStore)
// 表单数据
const formData = reactive({
id: '',
ac: '',
acOwn: '',
acType: '',
appealInfo: '-1',
appraisee: '-1',
department: '-1',
dmUid: '-1',
eventMsg: '',
eventSource: '',
eventTime: -1,
eventType: -1,
examineBasis: '',
examineType: '-1',
onDutyUser: '',
opinionMsg: '',
opinionType: -1,
score: null,
qmUid: '',
qualityOpinionMsg: '',
qualityOpinionType: -1,
status: '',
emailSendTime: -1,
file: []
})
// 页面初始化
onShow(() => {
Object.assign(formData, cloneDeep(details.value))
})
//提交表单
const handleSubmit = async () => {
const params = { ...formData, file: JSON.stringify(formData.file) }
const res = await updateRqmDataApi(params, { loading: true })
if (res.code == 200) {
uni.$mocpJump.navigateBack()
appraisalRecordStore.getRqmDetails()
uni.$mocpMessage.success(res.message)
} else {
uni.$mocpMessage.error(res.message)
}
}
</script>
<style lang="scss" scoped>
.mocp-form {
background: #fff;
padding: 0 32rpx;
}
</style>
......@@ -58,7 +58,7 @@ const formData = reactive({
//获取下拉框列表
const selectList = ref([])
onLoad(() => {
uni.$once('appraisalRecordEdit', (data, realName) => {
uni.$once('appraisalRecordOpinionEdit', (data) => {
Object.assign(formData, data)
baseStore.getAdminList().then((res) => {
selectList.value = res
......
......@@ -4,7 +4,7 @@
isDataList
refresherEnabled
loadingMoreEnabled
:params="searchParams"
:params="searchData"
:api="getRqmListApi"
auto
ref="paging"
......@@ -37,6 +37,7 @@ import { ref } from 'vue'
import { getRqmListApi } from 'mocp/api/appraisal-record'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import useAppraisalRecordStore from 'mocp/store/appraisal-record'
import { storeToRefs } from 'pinia'
//跳转
const goDetails = (data) => {
......@@ -46,6 +47,7 @@ const goDetails = (data) => {
}
//加载下拉框数据
const appraisalRecordStore = useAppraisalRecordStore()
const { searchData } = storeToRefs(appraisalRecordStore)
onLoad(() => {
appraisalRecordStore.getRqmOptions()
})
......@@ -53,15 +55,8 @@ onLoad(() => {
const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/appraisal-record/search')
}
//刷新
const searchParams = ref({
status: 1
})
const paging = ref()
uni.$on('appraisalRecordReload', ({ params }) => {
if (params) {
searchParams.value = params
}
uni.$on('appraisalRecordReload', () => {
paging.value?.reload()
})
onUnload(() => {
......
<template>
<global-page title="筛选">
<view class="search-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" ref="formRef">
<up-form labelPosition="left" labelWidth="auto" :model="formData">
<up-form-item label="状态" prop="status" :borderBottom="true">
<global-picker
v-model="formData.status"
......@@ -60,17 +60,33 @@
</template>
<script setup>
import { formData, formRef } from './constants/search.compositions'
import useBaseStore from 'mocp/store/base'
import useAppraisalRecordStore from 'mocp/store/appraisal-record'
import { handleConfirm, handleReset } from './constants/search.functionals'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
//获取下拉框选项
const {
selectList: { deviceNumList }
} = useBaseStore()
const appraisalRecordStore = useAppraisalRecordStore()
const {
selectList: { appraisee, department }
} = useAppraisalRecordStore()
} = appraisalRecordStore
//获取查询表单数据
const { searchData } = storeToRefs(appraisalRecordStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
appraisalRecordStore.resetForm()
uni.$mocpJump.navigateBack()
uni.$emit('appraisalRecordReload')
}
const handleConfirm = () => {
appraisalRecordStore.setState('searchData', formData.value)
uni.$mocpJump.navigateBack()
uni.$emit('appraisalRecordReload')
}
</script>
<style lang="scss" scoped>
.search-form {
......
......@@ -19,10 +19,6 @@
</view>
</view>
<view class="details-header-center">
<view class="left">
<global-icon icon="mind-mapping"></global-icon>
<global-field class="txt" label="工作台编号:" :value="details.workbench || '-'"></global-field>
</view>
<view class="right">
<text>{{ details.seat }}</text>
<text class="txt">{{ baseStore.getParamNameByValue('LayoutWorkType', details.workType) }}</text>
......
......@@ -6,7 +6,7 @@
loadingMoreEnabled
auto
ref="paging"
:params="searchParams"
:params="searchData"
:api="getArrangeWorkListApi"
:padding="24"
showNavRight
......@@ -52,6 +52,7 @@ import { getArrangeWorkListApi } from 'mocp/api/assign-work'
import useAssignWorkStore from 'mocp/store/assign-work'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
const baseStore = useBaseStore()
//加载下拉框数据
......@@ -60,20 +61,17 @@ onLoad(() => {
assignWorkStore.getSeatUnit()
})
//跳转
const { searchData } = storeToRefs(assignWorkStore)
const goDetails = (data) => {
uni.$mocpJump.navigateTo('/panel/assign-work/details', { id: data.id })
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/assign-work/search')
uni.$mocpJump.redirectTo('/panel/assign-work/search')
}
//刷新
const searchParams = ref()
const paging = ref()
uni.$on('assignWorkReload', ({ params }) => {
if (params) {
searchParams.value = params
}
uni.$on('assignWorkReload', () => {
paging.value?.reload()
})
onUnload(() => {
......
......@@ -31,7 +31,6 @@
pickAlign="right"
:options="baseStore.getParamsByType('LayoutWorkType')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="开始日期" :borderBottom="true">
......@@ -58,14 +57,28 @@
</template>
<script setup>
import { formData, formRef } from './constants/search.compositions'
import useBaseStore from 'mocp/store/base'
import useAssignWorkStore from 'mocp/store/assign-work'
import { handleConfirm, handleReset } from './constants/search.functionals'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
//获取下拉框选项
const assignWorkStore = useAssignWorkStore()
const baseStore = useBaseStore()
//获取查询表单数据
const { searchData } = storeToRefs(assignWorkStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
assignWorkStore.resetForm()
uni.$mocpJump.redirectTo('/panel/assign-work/list')
uni.$emit('assignWorkReload')
}
const handleConfirm = () => {
assignWorkStore.setState('searchData', formData.value)
uni.$mocpJump.redirectTo('/panel/assign-work/list')
uni.$emit('assignWorkReload')
}
</script>
<style lang="scss" scoped>
.search-form {
......
import { ref } from 'vue'
export const formRef = ref()
// 表单数据
export const formData = ref({
state: null,
presenter: '',
seat: '',
workType: null,
startDateTime: null,
endDateTime: null
})
import { toRaw } from 'vue'
import { formData, formRef } from './search.compositions'
export const handleReset = () => {
formData.value = {
state: null,
presenter: '',
seat: '',
workType: null,
startTime: null,
stopTime: null
}
formRef.value?.resetFields()
handleConfirm()
}
export const handleConfirm = () => {
uni.$mocpJump.navigateBack()
uni.$emit('moveDecisionReload', { params: toRaw(formData.value) })
}
......@@ -63,21 +63,6 @@
</view>
</view>
<custom-card-details
title="公司值班经理意见"
showfooter
:idcard="details.approverUpdateName"
:calendar="details.approverUpdateTime"
edit
@handleAdd="handleAdd('edit-approver')"
>
<custom-card-details-item label="公司值班经理" :value="details.approverName || '-'"></custom-card-details-item>
<custom-card-details-item
label="公司值班经理意见"
:value="useGetDictByValue('md_decisionState', details.decisionState) || '-'"
></custom-card-details-item>
<custom-card-details-item label="公司值班经理意见描述" :value="details.decisionOpinion || '-'"></custom-card-details-item>
</custom-card-details>
<custom-card-details
title="MCO主任意见"
showfooter
:idcard="details.mcoDirectorUpdateName"
......@@ -92,6 +77,21 @@
></custom-card-details-item>
<custom-card-details-item label="MCO主任意见描述" :value="details.mcoDirectorOpinion || '-'"></custom-card-details-item>
</custom-card-details>
<custom-card-details
title="公司值班经理意见"
showfooter
:idcard="details.approverUpdateName"
:calendar="details.approverUpdateTime"
edit
@handleAdd="handleAdd('edit-approver')"
>
<custom-card-details-item label="公司值班经理" :value="details.approverName || '-'"></custom-card-details-item>
<custom-card-details-item
label="公司值班经理意见"
:value="useGetDictByValue('md_decisionState', details.decisionState) || '-'"
></custom-card-details-item>
<custom-card-details-item label="公司值班经理意见描述" :value="details.decisionOpinion || '-'"></custom-card-details-item>
</custom-card-details>
<view class="time-list">
<view class="time-item">
<global-field label="填报人:" :value="details.filledBy"></global-field>
......
......@@ -6,7 +6,7 @@
loadingMoreEnabled
auto
ref="paging"
:params="searchParams"
:params="searchData"
showNavRight
navRightType="icon"
navRightIcon="saixuan-01"
......@@ -47,10 +47,12 @@ import { timeStampFormat } from 'mocp/utils/tool'
import { getDecisionApi } from 'mocp/api/move-decision'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useMoveDecisionStore from 'mocp/store/move-decision'
import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app'
//跳转
const moveDecisionStore = useMoveDecisionStore()
const { searchData } = storeToRefs(moveDecisionStore)
const goDetails = (data) => {
uni.$mocpJump.navigateTo('/panel/move-decision/details', { id: data.id }).then(() => {
moveDecisionStore.setState('details', data)
......@@ -61,12 +63,8 @@ const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/move-decision/search')
}
//刷新
const searchParams = ref()
const paging = ref()
uni.$on('moveDecisionReload', ({ params }) => {
if (params) {
searchParams.value = params
}
uni.$on('moveDecisionReload', () => {
paging.value?.reload()
})
onUnload(() => {
......
<template>
<global-page title="筛选">
<view class="search-form">
<up-form labelPosition="left" labelWidth="auto" :model="formData" ref="formRef">
<up-form labelPosition="left" labelWidth="auto">
<up-form-item label="状态" prop="state" :borderBottom="true">
<global-picker v-model="formData.state" pickAlign="right" clearable dictkey="md_state"></global-picker>
</up-form-item>
......@@ -72,15 +72,31 @@
</template>
<script setup>
import { formData, formRef } from './constants/search.compositions'
import useBaseStore from 'mocp/store/base'
import { handleConfirm, handleReset } from './constants/search.functionals'
import useMoveDecisionStore from 'mocp/store/move-decision'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
const moveDecisionStore = useMoveDecisionStore()
//获取查询表单数据
const { searchData } = storeToRefs(moveDecisionStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
moveDecisionStore.resetForm()
uni.$mocpJump.navigateBack()
uni.$emit('moveDecisionReload')
}
const handleConfirm = () => {
moveDecisionStore.setState('searchData', formData.value)
uni.$mocpJump.navigateBack()
uni.$emit('moveDecisionReload')
}
</script>
<style lang="scss" scoped>
.search-form {
......
......@@ -22,14 +22,10 @@
display: flex;
align-items: center;
justify-content: space-between;
.label {
margin-right: 32rpx;
.txt {
margin-left: 16rpx;
}
&:last-child {
margin-right: 0;
}
.txt {
color: $mocp-text-5;
font-size: 28rpx;
margin-left: 16rpx;
}
}
}
......
import { ref } from 'vue'
export const formRef = ref()
// 表单数据
export const formData = ref({
state: null,
ac: '',
model: '',
ata: '',
startDateTime: null,
endDateTime: null
})
import { toRaw } from 'vue'
import { formData, formRef } from './search.compositions'
export const handleReset = () => {
formData.value = {
state: null,
presenter: '',
seat: '',
workType: null,
startTime: null,
stopTime: null
}
formRef.value?.resetFields()
handleConfirm()
}
export const handleConfirm = () => {
uni.$mocpJump.navigateBack()
uni.$emit('technologyEvaluationReload', { params: toRaw(formData.value) })
}
......@@ -6,7 +6,7 @@
loadingMoreEnabled
auto
ref="paging"
:params="searchParams"
:params="searchData"
showNavRight
navRightType="icon"
navRightIcon="saixuan-01"
......@@ -21,12 +21,11 @@
<custom-state :value="useGetDictByValue('te_state', item.state)"></custom-state>
</view>
<view class="right">
<view class="label">
<global-field class="txt" label="机号:" :value="item.ac || '-'"></global-field>
</view>
<view class="label">
<global-field class="txt" label="机型:" :value="item.model || '-'"></global-field>
</view>
<text class="txt u-line-1" v-if="item.ac">{{ item.ac }}</text>
<text class="txt u-line-1" v-if="item.model">{{ item.model }}</text>
<text class="txt u-line-1" v-if="item.aviation">
{{ useGetDictByValue('', item.aviation, { data: baseStore.getAirlineSelect }) }}
</text>
</view>
</view>
<view class="item-content u-line-3">
......@@ -50,11 +49,15 @@ import { ref } from 'vue'
import Day from 'mocp/utils/dayjs'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useTechnologyEvaluationStore from 'mocp/store/technology-evaluation'
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app'
import { getTechnicalEvaluationApi } from 'mocp/api/technology-evaluation'
const baseStore = useBaseStore()
//跳转
const technologyEvaluationStore = useTechnologyEvaluationStore()
const { searchData } = storeToRefs(technologyEvaluationStore)
const goDetails = (data) => {
uni.$mocpJump.navigateTo('/panel/technology-evaluation/details', { id: data.id }).then(() => {
technologyEvaluationStore.setState('details', data)
......@@ -65,12 +68,8 @@ const handleRightClick = () => {
uni.$mocpJump.navigateTo('/panel/technology-evaluation/search')
}
//刷新
const searchParams = ref()
const paging = ref()
uni.$on('technologyEvaluationReload', ({ params }) => {
if (params) {
searchParams.value = params
}
uni.$on('technologyEvaluationReload', () => {
paging.value?.reload()
})
onUnload(() => {
......
......@@ -11,6 +11,15 @@
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
</up-form-item>
<up-form-item label="航司" prop="aviation" :borderBottom="true">
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="baseStore.getAirlineSelect"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="ATA章节" prop="ata" :borderBottom="true">
<global-picker v-model="formData.ata" pickAlign="right" :options="baseStore.getATASelect" clearable filter></global-picker>
</up-form-item>
......@@ -38,15 +47,31 @@
</template>
<script setup>
import { formData, formRef } from './constants/search.compositions'
import useBaseStore from 'mocp/store/base'
import { handleConfirm, handleReset } from './constants/search.functionals'
import useTechnologyEvaluationStore from 'mocp/store/technology-evaluation'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
const technologyEvaluationStore = useTechnologyEvaluationStore()
//获取查询表单数据
const { searchData } = storeToRefs(technologyEvaluationStore)
const formData = ref(cloneDeep(searchData.value))
const handleReset = () => {
technologyEvaluationStore.resetForm()
uni.$mocpJump.navigateBack()
uni.$emit('technologyEvaluationReload')
}
const handleConfirm = () => {
technologyEvaluationStore.setState('searchData', formData.value)
uni.$mocpJump.navigateBack()
uni.$emit('technologyEvaluationReload')
}
</script>
<style lang="scss" scoped>
.search-form {
......
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