Commit 75e09545 by pangchong

feat: 代码提示

parent 2cdf10ee
...@@ -4,7 +4,10 @@ ...@@ -4,7 +4,10 @@
// Generated by unplugin-vue-components // Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399 // Read more: https://github.com/vuejs/core/pull/3399
export {} export {}
import '@dcloudio/types'
import '@uni-helper/uni-app-types'
import '@uni-helper/uni-ui-types'
import 'uview-plus/types'
declare module 'vue' { declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
// 全局组件 // 全局组件
......
import { http } from 'mocp/utils/http'
export const getDecisionApi = (data, config) => {
return http({
method: 'POST',
url: '/workbench/getDecision',
data,
config
})
}
export const updateDecisionApi = (data, config) => {
return http({
method: 'POST',
url: '/workbench/updateDecision',
data,
config
})
}
export const updateMcoDirectorInfoApi = (data, config) => {
return http({
method: 'POST',
url: '/workbench/updateMcoDirectorInfo',
data,
config
})
}
export const updateApproverInfoApi = (data, config) => {
return http({
method: 'POST',
url: '/workbench/updateApproverInfo',
data,
config
})
}
...@@ -4,7 +4,7 @@ const menuList = ref([ ...@@ -4,7 +4,7 @@ const menuList = ref([
{ id: 1, name: '信息通报', icon: 'xxtb', group: '技术支援', count: 12 }, { id: 1, name: '信息通报', icon: 'xxtb', group: '技术支援', count: 12 },
{ id: 2, name: '机队状态', icon: 'jdzt', group: '技术支援', count: 0 }, { id: 2, name: '机队状态', icon: 'jdzt', group: '技术支援', count: 0 },
{ id: 3, name: '支援申请', icon: 'zysq', group: '技术支援', count: 0 }, { id: 3, name: '支援申请', icon: 'zysq', group: '技术支援', count: 0 },
{ id: 4, name: '工作指令', icon: 'gzzl', group: '技术支援', count: 0 }, { id: 4, name: '工作指令', icon: 'gzzl', group: '技术支援', count: 0, url: '/panel/work-assignment/search' },
{ id: 5, name: '技术评估', icon: 'jspg', group: '技术支援', count: 0, url: '/panel/technology-evaluation/list' }, { id: 5, name: '技术评估', icon: 'jspg', group: '技术支援', count: 0, url: '/panel/technology-evaluation/list' },
{ id: 6, name: '运行调查', icon: 'yxdc', group: '维修控制', count: 0 }, { id: 6, name: '运行调查', icon: 'yxdc', group: '维修控制', count: 0 },
{ id: 7, name: '运行决策', icon: 'yxjc', group: '维修控制', count: 0, url: '/panel/move-decision/list' }, { id: 7, name: '运行决策', icon: 'yxjc', group: '维修控制', count: 0, url: '/panel/move-decision/list' },
......
import { defineStore } from 'pinia'
const useWorkAssignmentStore = defineStore('workAssignment', {
state: () => {
return {
searchData: {
state: 1,
presenter: '',
seat: '',
workType: null,
startDateTime: null,
endDateTime: null
},
details: undefined
}
},
getters: {},
actions: {
resetForm() {
this.searchData = {
state: 1,
presenter: '',
seat: '',
workType: null,
startDateTime: null,
endDateTime: null
}
},
setState(...args) {
this.$patch({ [args[0]]: args[1] })
}
},
// 配置持久化
persist: false
})
export default useWorkAssignmentStore
{ {
// 组件自动导入 // 组件自动导入
"easycom": { "easycom": {
"autoscan": true, "autoscan": true,
"custom": { "custom": {
// uni-ui 规则如下配置 // uni-ui 规则如下配置
"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue", "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue",
// uview-plus 规则如下配置 // uview-plus 规则如下配置
"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue", "^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",
"^up-(.*)": "uview-plus/components/u-$1/u-$1.vue", "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
"^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue", "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue",
// mocp全局组件 规则如下配置 // mocp全局组件 规则如下配置
"^global-(.*)": "mocp/components/global-$1/global-$1.vue", "^global-(.*)": "mocp/components/global-$1/global-$1.vue",
// mocp自定义组件 规则如下配置 // mocp自定义组件 规则如下配置
"^custom-(.*)": "mocp/components/widget/custom-$1.vue" "^custom-(.*)": "mocp/components/widget/custom-$1.vue"
} }
}, },
"pages": [ "pages": [
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{ {
"path": "pages/modules/mocp/login/index", "path": "pages/modules/mocp/login/index",
"style": { "style": {
"navigationBarTitleText": "登录" "navigationBarTitleText": "登录"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/index", "path": "pages/modules/mocp/panel/index",
"style": { "style": {
"navigationBarTitleText": "工作台" "navigationBarTitleText": "工作台"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/app-center/index", "path": "pages/modules/mocp/panel/app-center/index",
"style": { "style": {
"navigationBarTitleText": "应用中心" "navigationBarTitleText": "应用中心"
} }
}, },
{ {
"path": "pages/modules/mocp/chat/index", "path": "pages/modules/mocp/chat/index",
"style": { "style": {
"navigationBarTitleText": "沟通" "navigationBarTitleText": "沟通"
} }
}, },
{ {
"path": "pages/modules/mocp/home/index", "path": "pages/modules/mocp/home/index",
"style": { "style": {
"navigationBarTitleText": "首页" "navigationBarTitleText": "首页"
} }
}, },
{ {
"path": "pages/modules/mocp/tab/index", "path": "pages/modules/mocp/tab/index",
"style": { "style": {
"navigationBarTitleText": "tab页面", "navigationBarTitleText": "tab页面",
"app-plus": { "app-plus": {
"bounce": "none" //关闭窗口回弹效果 "bounce": "none" //关闭窗口回弹效果
} }
} }
}, },
{ {
"path": "pages/modules/mocp/panel/appraisal-record/list", "path": "pages/modules/mocp/panel/appraisal-record/list",
"style": { "style": {
"navigationBarTitleText": "考核记录" "navigationBarTitleText": "考核记录"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/appraisal-record/search", "path": "pages/modules/mocp/panel/appraisal-record/search",
"style": { "style": {
"navigationBarTitleText": "筛选" "navigationBarTitleText": "筛选"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/appraisal-record/details", "path": "pages/modules/mocp/panel/appraisal-record/details",
"style": { "style": {
"navigationBarTitleText": "考核记录详情" "navigationBarTitleText": "考核记录详情"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-opinion", "path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-opinion",
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": ""
} }
}, },
{ {
"path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-data", "path": "pages/modules/mocp/panel/appraisal-record/edit-rqm-data",
"style": { "style": {
"navigationBarTitleText": "申诉状态" "navigationBarTitleText": "申诉状态"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/list", "path": "pages/modules/mocp/panel/assign-work/list",
"style": { "style": {
"navigationBarTitleText": "布置工作" "navigationBarTitleText": "布置工作"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/search", "path": "pages/modules/mocp/panel/assign-work/search",
"style": { "style": {
"navigationBarTitleText": "筛选" "navigationBarTitleText": "筛选"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/details", "path": "pages/modules/mocp/panel/assign-work/details",
"style": { "style": {
"navigationBarTitleText": "布置工作详情" "navigationBarTitleText": "布置工作详情"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-work", "path": "pages/modules/mocp/panel/assign-work/edit-work",
"style": { "style": {
"navigationBarTitleText": "添加工作反馈" "navigationBarTitleText": "添加工作反馈"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-decompose", "path": "pages/modules/mocp/panel/assign-work/edit-decompose",
"style": { "style": {
"navigationBarTitleText": "添加分解计划" "navigationBarTitleText": "添加分解计划"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-approval", "path": "pages/modules/mocp/panel/assign-work/edit-approval",
"style": { "style": {
"navigationBarTitleText": "添加领导批示" "navigationBarTitleText": "添加领导批示"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-gzFeedback", "path": "pages/modules/mocp/panel/assign-work/edit-gzFeedback",
"style": { "style": {
"navigationBarTitleText": "跟踪反馈" "navigationBarTitleText": "跟踪反馈"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-followUpFeedback", "path": "pages/modules/mocp/panel/assign-work/edit-followUpFeedback",
"style": { "style": {
"navigationBarTitleText": "后续措施反馈" "navigationBarTitleText": "后续措施反馈"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-validate", "path": "pages/modules/mocp/panel/assign-work/edit-validate",
"style": { "style": {
"navigationBarTitleText": "工作验证" "navigationBarTitleText": "工作验证"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/assign-work/edit-gzApproval", "path": "pages/modules/mocp/panel/assign-work/edit-gzApproval",
"style": { "style": {
"navigationBarTitleText": "跟踪批示" "navigationBarTitleText": "跟踪批示"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/move-decision/list", "path": "pages/modules/mocp/panel/move-decision/list",
"style": { "style": {
"navigationBarTitleText": "运行决策" "navigationBarTitleText": "运行决策"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/move-decision/search", "path": "pages/modules/mocp/panel/move-decision/search",
"style": { "style": {
"navigationBarTitleText": "筛选" "navigationBarTitleText": "筛选"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/move-decision/details", "path": "pages/modules/mocp/panel/move-decision/details",
"style": { "style": {
"navigationBarTitleText": "查看运行决策" "navigationBarTitleText": "查看运行决策"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/move-decision/edit-mco-director", "path": "pages/modules/mocp/panel/move-decision/edit-mco-director",
"style": { "style": {
"navigationBarTitleText": "MCO主任意见" "navigationBarTitleText": "MCO主任意见"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/move-decision/edit-approver", "path": "pages/modules/mocp/panel/move-decision/edit-approver",
"style": { "style": {
"navigationBarTitleText": "公司值班经理意见" "navigationBarTitleText": "公司值班经理意见"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/technology-evaluation/list", "path": "pages/modules/mocp/panel/technology-evaluation/list",
"style": { "style": {
"navigationBarTitleText": "技术评估" "navigationBarTitleText": "技术评估"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/technology-evaluation/search", "path": "pages/modules/mocp/panel/technology-evaluation/search",
"style": { "style": {
"navigationBarTitleText": "筛选" "navigationBarTitleText": "筛选"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/technology-evaluation/details", "path": "pages/modules/mocp/panel/technology-evaluation/details",
"style": { "style": {
"navigationBarTitleText": "技术评估详情" "navigationBarTitleText": "技术评估详情"
} }
}, },
{ {
"path": "pages/modules/mocp/panel/technology-evaluation/add-engineering", "path": "pages/modules/mocp/panel/technology-evaluation/add-engineering",
"style": { "style": {
"navigationBarTitleText": "第二类超出持续适航文件的缺陷,需完成工程评估" "navigationBarTitleText": "第二类超出持续适航文件的缺陷,需完成工程评估"
} }
},{ },
"path": "pages/modules/mocp/panel/technology-evaluation/add-opinion", {
"style": { "path": "pages/modules/mocp/panel/technology-evaluation/add-opinion",
"navigationBarTitleText": "经理或授权人意见" "style": {
} "navigationBarTitleText": "经理或授权人意见"
}, }
{ },
"path": "pages/modules/mocp/panel/technology-evaluation/add-support-file", {
"style": { "path": "pages/modules/mocp/panel/technology-evaluation/add-support-file",
"navigationBarTitleText": "厂家提供技术支援文件" "style": {
} "navigationBarTitleText": "厂家提供技术支援文件"
}, }
{ },
"path": "pages/modules/mocp/panel/technology-evaluation/add-ratify", {
"style": { "path": "pages/modules/mocp/panel/technology-evaluation/add-ratify",
"navigationBarTitleText": "客户工程授权人意见" "style": {
} "navigationBarTitleText": "客户工程授权人意见"
}, }
{ },
"path": "pages/modules/mocp/panel/my-toDo/index", {
"style": { "path": "pages/modules/mocp/panel/my-toDo/index",
"navigationBarTitleText": "我的待办" "style": {
} "navigationBarTitleText": "我的待办"
} }
], },
"globalStyle": { {
"navigationBarTextStyle": "white", "path": "pages/modules/mocp/panel/work-assignment/search",
"navigationBarTitleText": "uni-app", "style": {
"navigationStyle": "custom", "navigationBarTitleText": "筛选"
"navigationBarBackgroundColor": "#F8F8F8", }
"backgroundColor": "#F8F8F8", },
"navigationBarRightButton": { {
"hide": true "path": "pages/modules/mocp/panel/work-assignment/list",
} "style": {
}, "navigationBarTitleText": "工作任务指令"
"condition": { }
//模式配置,仅开发期间生效 }
"current": 1, //当前激活的模式(list 的索引项) ],
"list": [ "globalStyle": {
{ "navigationBarTextStyle": "white",
"name": "test", //模式名称 "navigationBarTitleText": "uni-app",
"path": "pages/modules/mocp/tab/index" //启动页面,必选 "navigationStyle": "custom",
}, "navigationBarBackgroundColor": "#F8F8F8",
{ "backgroundColor": "#F8F8F8",
"name": "login", //模式名称 "navigationBarRightButton": {
"path": "pages/modules/mocp/login/index" //启动页面,必选 "hide": true
} }
] },
} "condition": {
} //模式配置,仅开发期间生效
\ No newline at end of file "current": 1, //当前激活的模式(list 的索引项)
"list": [
{
"name": "test", //模式名称
"path": "pages/modules/mocp/tab/index" //启动页面,必选
},
{
"name": "login", //模式名称
"path": "pages/modules/mocp/login/index" //启动页面,必选
}
]
}
}
<template>
<global-page
title="工作任务指令"
isDataList
refresherEnabled
loadingMoreEnabled
auto
ref="paging"
:params="searchData"
showNavRight
navRightType="icon"
navRightIcon="saixuan-01"
@handleRightClick="handleRightClick"
:api="getDecisionApi"
:padding="24"
>
<template #="{ dataList }">
<view class="item" v-for="item in dataList" :key="item.id" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<custom-state :value="useGetDictByValue('md_state', item.state)"></custom-state>
</view>
<view class="right">
<text class="txt u-line-1" v-if="item.machineNumber">{{ item.machineNumber }}</text>
<text class="txt u-line-1" v-if="item.aviation">{{ item.aviation }}</text>
</view>
</view>
<view class="item-content u-line-3">
{{ item.faultDescription || '无' }}
</view>
<view class="item-footer">
<view class="label">
<global-icon icon="calendar"></global-icon>
<text class="txt">
{{ timeStampFormat(item.filledTime, { format: 'YYYY/MM/DD HH:mm' }) }}
</text>
</view>
</view>
</view>
</template>
</global-page>
</template>
<script setup>
import { ref } from 'vue'
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/work-assignment/details', { id: data.id }).then(() => {
moveDecisionStore.setState('details', data)
})
}
//筛选
const handleRightClick = () => {
uni.$mocpJump.redirectTo('/panel/work-assignment/search')
}
//刷新
const paging = ref()
uni.$on('workAssignmentReload', () => {
paging.value?.reload()
})
onUnload(() => {
uni.$off('workAssignmentReload')
})
</script>
<style lang="scss" scoped>
@import 'mocpStatic/css/list.scss';
</style>
<template>
<global-page title="筛选">
<view class="search-form">
<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>
<up-form-item label="航站" prop="terminal" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
</up-form-item>
<up-form-item label="是否有效" prop="valid" :borderBottom="true">
<global-picker
v-model="formData.valid"
pickAlign="right"
:options="[
{ label: '有效', value: '1' },
{ label: '无效', value: '0' }
]"
clearable
></global-picker>
</up-form-item>
<up-form-item label="决策结果" prop="decisionState" :borderBottom="true">
<global-picker
v-model="formData.decisionState"
pickAlign="right"
:options="[
{ label: '同意', value: '1' },
{ label: '不同意', value: '0' }
]"
clearable
></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="机号" prop="machineNumber" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="日期" :borderBottom="true">
<global-calendar
pickAlign="right"
v-model:startTime="formData.startDateTime"
v-model:endTime="formData.endDateTime"
clearable
></global-calendar>
</up-form-item>
</up-form>
</view>
<template #bottom>
<view class="footer-btn">
<up-row gutter="10">
<up-col span="6">
<global-button type="light" size="large" :radius="5" @tap="handleReset">重置</global-button>
</up-col>
<up-col span="6"><global-button type="primary" size="large" :radius="5" @tap="handleConfirm">确定</global-button></up-col>
</up-row>
</view>
</template>
</global-page>
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
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.redirectTo('/panel/work-assignment/list')
uni.$emit('workAssignmentReload')
}
const handleConfirm = () => {
moveDecisionStore.setState('searchData', formData.value)
uni.$mocpJump.redirectTo('/panel/work-assignment/list')
uni.$emit('workAssignmentReload')
}
</script>
<style lang="scss" scoped>
.search-form {
padding: 24rpx 24rpx 0 24rpx;
background: #fff;
}
.footer-btn {
padding: 24rpx 32rpx;
background-color: #fff;
}
</style>
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