Commit 89d9ae7c by pangchong

feat: 加入数据权限

parent f1f05f00
import { http, post } from 'mocp/utils/http'
import { http } from 'mocp/utils/http'
//获取用户基本信息分页列表
export const getAdminListApi = (data, config) => {
......@@ -39,3 +39,23 @@ export const getSysSeatListApi = (data, config) => {
config
})
}
//获取操作权限
export const getSeatPermissionApi = (data, config) => {
return http({
method: 'POST',
url: '/system/getSeatPermission',
data,
config
})
}
//获取数据权限
export const getConfigDataApi = (data, config) => {
return http({
method: 'POST',
url: '/system/sysSeatPermissionData/getConfigData',
data,
config
})
}
......@@ -23,7 +23,7 @@
<view style="width: 100%; height: 100%" v-else>
<global-empty></global-empty>
</view>
<template #bottom>
<template #bottom v-if="multiple">
<view style="margin-top: 20rpx">
<global-button type="primary" :radius="5" @tap="confirmMultiple">确定</global-button>
</view>
......
import { ref } from 'vue'
//默认default最多显示15个,id唯一标识
export const menuList = ref([
// 生产保障
{
id: 'xxtb',
name: '信息通报',
icon: 'xxtb',
group: '生产保障',
default: true,
count: 0,
url: '/panel/inforDisclosure/search',
apiPath: '/informationAbout'
},
{
id: 'hbbz',
name: '航班保障',
icon: 'hbbz',
group: '生产保障',
default: true,
count: 0,
url: '/panel/flight-support/list',
apiPath: '/workbench'
},
{
id: 'AOG',
name: 'AOG任务',
icon: 'AOG',
group: '生产保障',
default: true,
count: 0,
url: '/panel/aog/search',
apiPath: '/AOGManagement'
},
{
id: 'wdgj',
name: '我的跟机',
icon: 'wdgj',
group: '生产保障',
default: true,
count: 0,
url: '/panel/supported-task/list'
},
{
id: 'sfd',
name: '收费单',
icon: 'sfd',
group: '生产保障',
default: true,
count: 0,
url: '/panel/electronicBill/list',
apiPath: '/ElectronBill'
},
// 维修控制
{
id: 'yxdc',
name: '运行调查',
icon: 'yxdc',
group: '维修控制',
default: false,
count: 0,
url: '/panel/operationalSurvey/list',
apiPath: '/operationalSurvey'
},
{
id: 'yxjc',
name: '运行决策',
icon: 'yxjc',
group: '维修控制',
default: false,
count: 0,
url: '/panel/move-decision/list',
apiPath: '/MoveDecision'
},
{
id: 'bzgz',
name: '布置工作',
icon: 'bzgz',
group: '维修控制',
default: false,
count: 0,
url: '/panel/assign-work/search',
apiPath: '/assignWork'
},
{
id: 'jxyw',
name: '机械延误',
icon: 'jxyw',
group: '维修控制',
default: false,
count: 0,
url: '/panel/mechanicalAbnormalEvents/list',
apiPath: '/mechanicalAbnormalEvents'
},
{
id: 'ffh',
name: '防风害',
icon: 'ffh',
group: '维修控制',
default: false,
count: 0,
url: '/panel/windDamageManagement/list',
apiPath: '/windDamageWorkInspection'
},
// 技术支援
{
id: 'jdzt',
name: '机队状态',
icon: 'jdzt',
group: '技术支援',
default: true,
count: 0,
url: '/panel/fleet/search',
apiPath: '/fleetStatusManagement'
},
{
id: 'zysq',
name: '支援申请',
icon: 'zysq',
group: '技术支援',
default: false,
count: 0,
url: '/panel/support-application/search',
apiPath: '/supportApplication'
},
// { id: 'gzzl', name: '工作指令', icon: 'gzzl', group: '技术支援', default: false, count: 0, url: '/panel/work-assignment/search',"apiPath":"/workAssignment" },
{
id: 'jspg',
name: '技术评估',
icon: 'jspg',
group: '技术支援',
default: false,
count: 0,
url: '/panel/technology-evaluation/list',
apiPath: '/technologyEvaluation'
},
{
id: 'jsfx',
name: '技术分析',
icon: 'jsfx',
group: '技术支援',
default: false,
count: 0,
url: '/panel/technicalAnalysis/list',
apiPath: '/technicalAnalysis'
},
{
id: 'MCO',
name: 'MCO',
icon: 'MCO',
group: '技术支援',
default: true,
count: 0,
url: '/panel/mco/search',
apiPath: '/mcoManagement'
},
{
id: 'wjll',
name: '文件浏览',
icon: 'wjll',
group: '技术支援',
default: false,
count: 0,
url: '/panel/fileList/index',
apiPath: '/ElectronBill'
},
// 运行品质
{
id: 'pzfx',
name: '品质分析',
icon: 'pzfx',
group: '运行品质',
default: false,
count: 0,
url: '/panel/qualityAnalysis/list',
apiPath: '/qualityAnalysis'
},
{
id: 'khjl',
name: '考核记录',
icon: 'khjl',
group: '运行品质',
default: false,
count: 0,
url: '/panel/appraisal-record/list',
apiPath: '/AppraisalRecord'
},
{
id: 'gcfx',
name: '工程分析',
icon: 'gcfx',
group: '运行品质',
default: false,
count: 0,
url: '/panel/engineeringEvaluation/list',
apiPath: '/engineeringEvaluation'
},
// 航站管理
{
id: 'bzcsj',
name: '不正常事件',
icon: 'bzcsj',
group: '航站管理',
default: false,
count: 0,
url: '/panel/abnormalEventManage/list',
apiPath: '/terminalQualityManagement'
},
{
id: 'xydw',
name: '协议单位',
icon: 'xydw',
group: '航站管理',
default: false,
count: 0,
url: '/panel/workSupervision/list',
apiPath: '/terminalQualityManagement'
},
// 定检管理
{
id: 'fjhyj',
name: '非计划预警',
icon: 'fjhyj',
group: '定检管理',
default: false,
count: 0,
url: '/panel/unplanWarning/list',
apiPath: '/noplan'
},
{
id: 'fjhsq',
name: '非计划申请',
icon: 'fjhsq',
group: '定检管理',
default: false,
count: 0,
url: '/panel/unplanApply/list',
apiPath: '/noplan'
}
])
import { checkPermi } from 'mocp/utils/permission'
// 操作权限指令
export const vHasPermi = (el, binding) => {
const { value } = binding
if (!checkPermi(value)) {
el.parentNode && el.parentNode.removeChild(el)
}
}
......@@ -55,27 +55,6 @@ const useBaseStore = defineStore('base', {
return q
}, {})
},
getTerminalSelect(state) {
return state.selectList.terminalList?.map((z) => ({
value: z.terminalCode,
label: z.terminalCity + '-' + z.terminalName + '-' + z.terminalCode
}))
},
//格式化航司数据
getAirlineSelect(state) {
return state.selectList.airlineCodeList.map((z) => ({
value: z.zOP3,
zOP2: z.value,
label: z.zOP3 + z.shortName
}))
},
//格式化机型数据
getTypeSelect(state) {
return state.selectList.typeList.map((a) => ({
label: a,
value: a
}))
},
//格式化章节下拉数据
getAllATASelect(state) {
return state.selectList.ATAList.map((q) => ({
......
import { menuList } from 'mocp/constants/menu'
import { defineStore } from 'pinia'
import { ref } from 'vue'
//默认default最多显示15个,id唯一标识
const menuList = ref([
// 生产保障
{ id: 'xxtb', name: '信息通报', icon: 'xxtb', group: '生产保障', default: true, count: 0, url: '/panel/inforDisclosure/search' },
{ id: 'hbbz', name: '航班保障', icon: 'hbbz', group: '生产保障', default: true, count: 0, url: '/panel/flight-support/list' },
{ id: 'AOG', name: 'AOG任务', icon: 'AOG', group: '生产保障', default: true, count: 0, url: '/panel/aog/search' },
{ id: 'wdgj', name: '我的跟机', icon: 'wdgj', group: '生产保障', default: true, count: 0, url: '/panel/supported-task/list' },
{ id: 'sfd', name: '收费单', icon: 'sfd', group: '生产保障', default: true, count: 0, url: '/panel/electronicBill/list' },
// 维修控制
{ id: 'yxdc', name: '运行调查', icon: 'yxdc', group: '维修控制', default: false, count: 0, url: '/panel/operationalSurvey/list' },
{ id: 'yxjc', name: '运行决策', icon: 'yxjc', group: '维修控制', default: false, count: 0, url: '/panel/move-decision/list' },
{ id: 'bzgz', name: '布置工作', icon: 'bzgz', group: '维修控制', default: false, count: 0, url: '/panel/assign-work/search' },
{ id: 'jxyw', name: '机械延误', icon: 'jxyw', group: '维修控制', default: false, count: 0, url: '/panel/mechanicalAbnormalEvents/list' },
{ id: 'ffh', name: '防风害', icon: 'ffh', group: '维修控制', default: false, count: 0, url: '/panel/windDamageManagement/list' },
// 技术支援
{ id: 'jdzt', name: '机队状态', icon: 'jdzt', group: '技术支援', default: true, count: 0, url: '/panel/fleet/search' },
{ id: 'zysq', name: '支援申请', icon: 'zysq', group: '技术支援', default: false, count: 0, url: '/panel/support-application/search' },
// { id: 'gzzl', name: '工作指令', icon: 'gzzl', group: '技术支援', default: false, count: 0, url: '/panel/work-assignment/search' },
{ id: 'jspg', name: '技术评估', icon: 'jspg', group: '技术支援', default: false, count: 0, url: '/panel/technology-evaluation/list' },
{ id: 'jsfx', name: '技术分析', icon: 'jsfx', group: '技术支援', default: false, count: 0, url: '/panel/technicalAnalysis/list' },
{ id: 'MCO', name: 'MCO', icon: 'MCO', group: '技术支援', default: true, count: 0, url: '/panel/mco/search' },
{ id: 'wjll', name: '文件浏览', icon: 'wjll', group: '技术支援', default: false, count: 0, url: '/panel/fileList/index' },
// 运行品质
{ id: 'pzfx', name: '品质分析', icon: 'pzfx', group: '运行品质', default: false, count: 0, url: '/panel/qualityAnalysis/list' },
{ id: 'khjl', name: '考核记录', icon: 'khjl', group: '运行品质', default: false, count: 0, url: '/panel/appraisal-record/list' },
{ id: 'gcfx', name: '工程分析', icon: 'gcfx', group: '运行品质', default: false, count: 0, url: '/panel/engineeringEvaluation/list' },
// 航站管理
{ id: 'bzcsj', name: '不正常事件', icon: 'bzcsj', group: '航站管理', default: false, count: 0, url: '/panel/abnormalEventManage/list' },
{ id: 'xydw', name: '协议单位', icon: 'xydw', group: '航站管理', default: false, count: 0, url: '/panel/workSupervision/list' },
// 定检管理
{ id: 'fjhyj', name: '非计划预警', icon: 'fjhyj', group: '定检管理', default: false, count: 0, url: '/panel/unplanWarning/list' },
{ id: 'fjhsq', name: '非计划申请', icon: 'fjhsq', group: '定检管理', default: false, count: 0, url: '/panel/unplanApply/list' }
])
const useUserStore = defineStore('mocpUser', {
state: () => {
return {
token: '',
userInfo: undefined, //用户信息
allMenuItem: { id: 999, name: '全部菜单', icon: 'all', group: '', count: 0 },
allUserList: [] //所有登录用户存储的信息
allUserList: [], //所有登录用户存储的信息
seatPermission: [], //操作权限
configData: [] //数据权限
}
},
getters: {
//获取操作权限相关
getApiPaths(state) {
return state.seatPermission.map((item) => item.apiPath)
},
//获取数据权限相关
getCommonConfigData(state) {
return state.configData.find((item) => item.permissionId == '0') || {}
},
//获取全部菜单
getMenuList() {
getMenuList(state) {
return menuList.value
return menuList.value.filter((item) => state.getApiPaths.includes(item.apiPath) || !item.apiPath)
},
//获取分组菜单
getGroupMenuList(state) {
......@@ -87,8 +65,14 @@ const useUserStore = defineStore('mocpUser', {
})
})
}
//跳转工作台
uni.$mocpJump.redirectTo('/tab/index')
},
//设置操作权限
setSeatPermission(data) {
this.seatPermission = data || []
},
//设置数据权限
setConfigData(data) {
this.configData = data || []
},
//退出登录
handleLogOut() {
......
import useBaseStore from 'mocp/store/base'
import useUserStore from 'mocp/store/user'
/**
* 操作权限校验
* @param {Array} value 校验值
* @returns {Boolean}
*/
export const checkPermi = (value) => {
const userStore = useUserStore()
if (value) {
if (Array.isArray(value)) {
return value.some((val) => userStore.getApiPaths.includes(val))
} else {
return userStore.getApiPaths.includes(value)
}
} else {
return false
}
}
/**
* 获取配置数据并过滤列表
* @param {String} permissionName 模块名
* @param {Array} list 原始列表
* @param {String} configKey 配置数据键名
* @returns {Array}
*/
export const getFilteredList = (permissionName, list, configKey) => {
const userStore = useUserStore()
const configData = userStore.configData.find((item) => item.permissionName === permissionName)
const commonConfig = userStore.getCommonConfigData[configKey] || ''
let configValue = ''
if (configData) {
configValue = configData.soleSettings === '1' ? configData[configKey] || '' : `${commonConfig},${configData[configKey]}`
}
//去掉末尾逗号
configValue = configValue.replace(/,$/, '')
const filteredList = list.filter((item) => new Set(configValue.split(',')).has(item.value))
return configValue ? filteredList : list
}
/**
* 权限航司下拉框数据
* @param {String} permissionName 模块名
* @returns {Array}
*/
export const getAirlineSelect = (permissionName) => {
const baseStore = useBaseStore()
const list = baseStore.selectList.airlineCodeList.map((z) => ({
value: z.zOP3,
label: z.zOP3 + z.shortName
}))
return getFilteredList(permissionName, list, 'airline')
}
/**
* 权限机型下拉框数据
* @param {String} permissionName 模块名
* @returns {Array}
*/
export const getTypeSelect = (permissionName) => {
const baseStore = useBaseStore()
const list = baseStore.selectList.typeList.map((a) => ({
label: a,
value: a
}))
return getFilteredList(permissionName, list, 'acType')
}
/**
* 权限航站下拉框数据
* @param {String} permissionName 模块名
* @returns {Array}
*/
export const getTerminalSelect = (permissionName) => {
const baseStore = useBaseStore()
const list = baseStore.selectList.terminalList?.map((z) => ({
value: z.terminalCode,
label: z.terminalCity + '-' + z.terminalName + '-' + z.terminalCode
}))
return getFilteredList(permissionName, list, 'airport')
}
......@@ -46,6 +46,7 @@ import { onLoad } from '@dcloudio/uni-app'
import { ref, toRaw, watch } from 'vue'
import useUserStore from 'mocp/store/user'
import { loginApi } from 'mocp/api/user'
import { getConfigDataApi, getSeatPermissionApi } from 'mocp/api/system'
watch(
() => loginForm.username,
......@@ -67,15 +68,50 @@ const loading = ref(false)
const userStore = useUserStore()
const handleLogin = async () => {
await loginFormRef.value?.validate()
loading.value = true
const res = await loginApi(toRaw(loginForm), { loading: '登陆中...' })
loading.value = false
try {
uni.showLoading({
title: '登陆中...',
mask: true
})
loading.value = true
await login()
await Promise.all([getSeatPermission(), getConfigData()])
//跳转工作台
uni.$mocpJump.redirectTo('/tab/index')
} catch (error) {
uni.$mocpMessage.error('登录失败')
} finally {
uni.hideLoading()
loading.value = false
}
}
//获取登录信息
const login = async () => {
const res = await loginApi(toRaw(loginForm))
if (res.code == 200) {
userStore.setUserInfo(res.data)
} else {
uni.$mocpMessage.error(res.message)
}
}
//获取操作权限
const getSeatPermission = async () => {
const res = await getSeatPermissionApi({ seatId: '1871742912739872770' })
if (res.code == 200) {
userStore.setSeatPermission(res.data)
} else {
uni.$mocpMessage.error(res.message)
}
}
//获取数据权限
const getConfigData = async () => {
const res = await getConfigDataApi({ seatId: '1871742912739872770' })
if (res.code == 200) {
userStore.setConfigData(res.data)
} else {
uni.$mocpMessage.error(res.message)
}
}
//接入amms
const loginAmms = () => {
const ammsToken = uni.getStorageSync('access_token')
......
......@@ -21,7 +21,7 @@
<up-cell title="责任人" :value="details.personLiable || '-'" />
<up-cell title="机号" :value="details.machineNumber || '-'" />
<up-cell title="机型" :value="details.model || '-'" />
<up-cell title="航司" :value="useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect })" />
<up-cell title="航司" :value="useGetDictByValue('', details.aviation, { data: getAirlineSelect() })" />
<up-cell title="事件描述" :label="details.eventDescription || '-'" />
<up-cell title="问题点" :value="details.problemPoints || '-'" />
<up-cell title="类别" :value="getParamNameByValue('EventCategory', details.category)" />
......@@ -88,14 +88,13 @@
import { storeToRefs } from 'pinia'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import useAbnormalEventManageStore from 'mocp/store/abnormalEventManage'
import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { computed, ref } from 'vue'
import { navigateTo } from 'mocp/utils/jump'
import { reviewedAdverseEventsApi } from 'mocp/api/abnormalEventManage'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const abnormalEventManageStore = useAbnormalEventManageStore()
const { details } = storeToRefs(abnormalEventManageStore)
const auditLabel = computed(() => {
......
......@@ -13,13 +13,7 @@
<global-picker v-model="formData.source" pickAlign="right" paramsType="EventResource" clearable></global-picker>
</up-form-item>
<up-form-item label="航站" prop="terminalCode" :borderBottom="true" required>
<global-picker
pickAlign="right"
v-model="formData.terminalCode"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.terminalCode" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="责任单位" prop="repairUnit" :borderBottom="true" required>
<global-picker v-model="formData.repairUnit" pickAlign="right" :options="repairUnitList" clearable filter></global-picker>
......@@ -58,7 +52,7 @@
:placeholder="formData.aviation ? '' : '请选择机号自动关联'"
>
<template #suffix>
{{ useGetDictByValue('', formData.aviation, { data: baseStore.getAirlineSelect }) || '-' }}
{{ useGetDictByValue('', formData.aviation, { data: getAirlineSelect() }) || '-' }}
</template>
</up-input>
</up-form-item>
......@@ -184,8 +178,8 @@ import { correctiveAttaFileVoList, formData, formRef, rules, surveyAttaFileVoLis
import useAbnormalEventManageStore from 'mocp/store/abnormalEventManage'
import { changeAc, getSurveyAttaFileVoList, getCorrectiveAtta, resetData } from './constants/edit.functionals'
import { updateAdverseEventsApi } from 'mocp/api/abnormalEventManage'
import { getAirlineSelect, getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//获取下拉框选项
const {
selectList: { deviceNumList, repairUnitList }
......
......@@ -23,7 +23,7 @@
<view class="right">
<text class="txt u-line-1" v-if="item.terminal">{{ item.terminal }}</text>
<text class="txt u-line-1" v-if="item.aviation">
{{ useGetDictByValue('', item.aviation, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', item.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
</view>
......@@ -55,10 +55,9 @@ import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app'
import useAbnormalEventManageStore from 'mocp/store/abnormalEventManage'
import { getAdverseEventsListApi } from 'mocp/api/abnormalEventManage'
import useBaseStore from 'mocp/store/base'
import { rowClassName } from './constants/list.functionals'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//跳转
const abnormalEventManageStore = useAbnormalEventManageStore()
const { searchData } = storeToRefs(abnormalEventManageStore)
......
......@@ -9,7 +9,7 @@
pickAlign="right"
v-model="formData.terminalCode"
clearable
:options="baseStore.getTerminalSelect"
:options="getTerminalSelect('航站管理-航站质量管理')"
filter
></global-picker>
</up-form-item>
......@@ -17,7 +17,13 @@
<global-picker v-model="formData.repairUnit" pickAlign="right" :options="repairUnitList" 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>
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="getAirlineSelect('航站管理-航站质量管理')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="接报日期" :borderBottom="true">
<global-calendar
......@@ -67,9 +73,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useAbnormalEventManageStore from 'mocp/store/abnormalEventManage'
import { getAirlineSelect, getTerminalSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { repairUnitList }
} = useBaseStore()
......
<template>
<global-page title="AOG施工详情" showFooterBtn footerBtnText="修改状态" @handleFooterClick="handleFooterClick">
<global-page
title="AOG施工详情"
:showFooterBtn="checkPermi('/AOGManagement/editStatus')"
footerBtnText="修改状态"
@handleFooterClick="handleFooterClick"
>
<view class="mocp-cell">
<up-cell-group v-if="getBbDetails">
<up-cell title="负责人" :value="getBbDetails.personLiable || '-'"></up-cell>
......@@ -41,6 +46,7 @@ import { storeToRefs } from 'pinia'
import useAogStore from 'mocp/store/aog'
import { ref } from 'vue'
import { updateAogConstructionApi } from 'mocp/api/aog'
import { checkPermi } from 'mocp/utils/permission'
const aogStore = useAogStore()
const { getBbDetails, details } = storeToRefs(aogStore)
......
......@@ -16,7 +16,7 @@
<text class="txt u-line-1" v-if="details.machineNumber">{{ details.machineNumber }}</text>
<text class="txt u-line-1" v-if="details.model">{{ details.model }}</text>
<text class="txt u-line-1" v-if="details.aviation">
{{ useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', details.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
<view class="right">
......@@ -73,11 +73,10 @@ import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useAogStore from 'mocp/store/aog'
import useBaseStore from 'mocp/store/base'
import { onLoad } from '@dcloudio/uni-app'
import { nextTick } from 'vue'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const aogStore = useAogStore()
const { getWorkBenchList, getAogDisposalPlan, getAogMaterialList, getAogSupBase, getAogConstruction, getAogOtherSup } = aogStore
const { details, disposalPlan, workBench, materialType } = storeToRefs(aogStore)
......
......@@ -30,7 +30,7 @@
<text class="txt u-line-1" v-if="item.machineNumber">{{ item.machineNumber }}</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 }) }}
{{ useGetDictByValue('', item.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
<view class="right">
......@@ -49,9 +49,8 @@ import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app'
import useAogStore from 'mocp/store/aog'
import { getAogListApi } from 'mocp/api/aog'
import useBaseStore from 'mocp/store/base'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//跳转
const aogStore = useAogStore()
const { searchData } = storeToRefs(aogStore)
......
......@@ -8,19 +8,46 @@
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.model"
pickAlign="right"
:options="getTypeSelect('AOG管理-AOG列表')"
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>
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="getAirlineSelect('AOG管理-AOG列表')"
clearable
filter
></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>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="getTerminalSelect('AOG管理-AOG列表')"
filter
></global-picker>
</up-form-item>
<up-form-item label="专业类别" prop="major" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.major" clearable paramsType="MajorCategory"></global-picker>
</up-form-item>
<up-form-item label="AOG级别" prop="aogLevel" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.aogLevel" clearable :options="baseStore.getTerminalSelect" filter></global-picker>
<global-picker
pickAlign="right"
v-model="formData.aogLevel"
clearable
:options="[
{ value: 0, label: '红' },
{ value: 1, label: '黄' },
{ value: 2, label: '绿' }
]"
></global-picker>
</up-form-item>
<up-form-item label="发生日期" :borderBottom="true">
<global-calendar
......@@ -39,13 +66,7 @@
></global-calendar>
</up-form-item>
<up-form-item label="发生地点" prop="happenAddr" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.happenAddr"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.happenAddr" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="故障描述" prop="faultDesc" :borderBottom="true">
<up-input v-model="formData.faultDesc" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
......@@ -60,9 +81,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useAogStore from 'mocp/store/aog'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -37,7 +37,7 @@
{{ details.acType }}
</view>
<view class="txt u-line-1" v-if="details.acOwn">
{{ useGetDictByValue('', details.acOwn, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', details.acOwn, { data: getAirlineSelect() }) }}
</view>
</view>
<view class="right">{{ timeStampFormat(details.eventTime, { format: 'YYYY/MM/DD' }) }}</view>
......@@ -120,10 +120,9 @@ 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'
import { getAirlineSelect } from 'mocp/utils/permission'
const query = defineProps(['id'])
const baseStore = useBaseStore()
const appraisalRecordStore = useAppraisalRecordStore()
const { details, getFileList } = storeToRefs(appraisalRecordStore)
onLoad(() => {
......
......@@ -55,7 +55,11 @@ const goTo = (url) => {
}
//跳转应用中心
const goAppCenter = () => {
uni.$mocpJump.navigateTo('/panel/app-center/index')
if (userStore.getMenuList.length > 0) {
uni.$mocpJump.navigateTo('/panel/app-center/index')
} else {
uni.$mocpMessage.warning('暂无权限!')
}
}
</script>
<style lang="scss" scoped>
......
......@@ -12,13 +12,7 @@
<view class="mocp-title">基本信息</view>
<view class="mocp-form">
<up-form-item label="航站" prop="station" :borderBottom="true" required>
<global-picker
pickAlign="right"
v-model="formData.station"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.station" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="日期" prop="date" :borderBottom="true" required>
<global-date pickAlign="right" clearable v-model="formData.date" defaultToday></global-date>
......@@ -452,7 +446,6 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import useElectronicBillStore from 'mocp/store/electronicBill'
import {
formData,
......@@ -478,8 +471,8 @@ import {
getAntiicingFile
} from './constants/add.functionals'
import { watch, watchEffect } from 'vue'
import { getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const electronicBillStore = useElectronicBillStore()
const {
selectList: { allAc, allAcType, allAirline }
......
......@@ -12,13 +12,7 @@
<view class="mocp-title">基本信息</view>
<view class="mocp-form">
<up-form-item label="航站" prop="station" :borderBottom="true" required>
<global-picker
pickAlign="right"
v-model="formData.station"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.station" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="日期" prop="date" :borderBottom="true" required>
<global-date pickAlign="right" clearable v-model="formData.date" defaultToday></global-date>
......@@ -191,15 +185,14 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import useElectronicBillStore from 'mocp/store/electronicBill'
import { formData, rules } from './constants/add.compositions'
import { navigateTo } from 'mocp/utils/jump'
import { ref } from 'vue'
import { changeAcreg } from './constants/add.functionals'
import { validateParameters } from 'mocp/utils/tool'
import { getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const electronicBillStore = useElectronicBillStore()
const {
selectList: { allAc, allAcType, allAirline }
......
......@@ -12,13 +12,7 @@
<view class="mocp-title">基本信息</view>
<view class="mocp-form">
<up-form-item label="航站" prop="station" :borderBottom="true" required>
<global-picker
pickAlign="right"
v-model="formData.station"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.station" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="日期" prop="date" :borderBottom="true" required>
<global-date pickAlign="right" clearable v-model="formData.date" defaultToday></global-date>
......@@ -110,14 +104,13 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import useElectronicBillStore from 'mocp/store/electronicBill'
import { formData, rules } from './constants/add.compositions'
import { navigateTo } from 'mocp/utils/jump'
import { ref } from 'vue'
import { changeAcreg } from './constants/add.functionals'
import { getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const electronicBillStore = useElectronicBillStore()
const {
selectList: { allAc, allAcType, allAirline }
......
......@@ -8,17 +8,29 @@
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('机械不正常事件-工程分析')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acOwn"
pickAlign="right"
:options="getAirlineSelect('机械不正常事件-工程分析')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航站" prop="acTerminal" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.acTerminal"
clearable
:options="baseStore.getTerminalSelect"
:options="getTerminalSelect('机械不正常事件-工程分析')"
filter
></global-picker>
</up-form-item>
......@@ -38,6 +50,7 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useEngineeringEvaluationStore from 'mocp/store/engineeringEvaluation'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -5,13 +5,13 @@
<global-picker v-model="formData.state" pickAlign="right" clearable dictkey="fleet_state" />
</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 v-model="formData.aviation" pickAlign="right" :options="getAirlineSelect('技术支援-机队状态管理')" clearable filter />
</up-form-item>
<up-form-item label="机号" prop="machineNumber" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter />
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter />
<global-picker v-model="formData.model" pickAlign="right" :options="getTypeSelect('技术支援-机队状态管理')" clearable filter />
</up-form-item>
<up-form-item label="ATA章节" prop="ata" :borderBottom="true">
<global-picker
......@@ -41,12 +41,7 @@
<global-calendar pickAlign="right" v-model:startTime="formData.startTime" v-model:endTime="formData.stopTime" clearable />
</up-form-item>
<up-form-item label="专业类别" prop="professionalType" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.professionalType"
clearable
paramsType="MajorCategory"
></global-picker>
<global-picker pickAlign="right" v-model="formData.professionalType" clearable paramsType="MajorCategory"></global-picker>
</up-form-item>
</up-form>
</global-page-search>
......@@ -59,6 +54,7 @@ import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useFleetStore from 'mocp/store/fleet'
import { selectFaultTagByATAApi } from 'mocp/api/fleet'
import { getAirlineSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -6,15 +6,15 @@
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter />
<global-picker v-model="formData.acType" pickAlign="right" :options="getTypeSelect()" clearable filter />
</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 pickAlign="right" v-model="formData.terminal" clearable :options="getTerminalSelect()" filter />
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter />
<global-picker v-model="formData.acOwn" pickAlign="right" :options="getAirlineSelect()" clearable filter />
</up-form-item>
<up-form-item label="航班号" prop="flightNo" :borderBottom="true">
......@@ -30,6 +30,7 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import useBaseStore from 'mocp/store/base'
import useFlightSupportStore from 'mocp/store/flight-support'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -6,15 +6,15 @@
</up-form-item>
<up-form-item label="机型" prop="planeModel" :borderBottom="true">
<global-picker v-model="formData.planeModel" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter />
<global-picker v-model="formData.planeModel" pickAlign="right" :options="getTypeSelect('信息通报')" clearable filter />
</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 v-model="formData.aviation" pickAlign="right" :options="getAirlineSelect('信息通报')" clearable filter />
</up-form-item>
<up-form-item label="航站" prop="termin" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.termin" clearable :options="baseStore.getTerminalSelect" filter></global-picker>
<global-picker pickAlign="right" v-model="formData.termin" clearable :options="getTerminalSelect('信息通报')" filter></global-picker>
</up-form-item>
<up-form-item label="填报日期" :borderBottom="true">
......@@ -57,9 +57,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useInforDisclosureStore from 'mocp/store/inforDisclosure'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -25,7 +25,7 @@
<text class="txt u-line-1" v-if="details.machineNumber">{{ details.machineNumber }}</text>
<text class="txt u-line-1" v-if="details.model">{{ details.model }}</text>
<text class="txt u-line-1" v-if="details.aviation">
{{ useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', details.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
<view class="right">
......@@ -86,13 +86,12 @@
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useBaseStore from 'mocp/store/base'
import useMcoStore from 'mocp/store/mco'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { getAirlineSelect } from 'mocp/utils/permission'
const query = defineProps(['id'])
const baseStore = useBaseStore()
const mcoStore = useMcoStore()
const { details, getStepList } = storeToRefs(mcoStore)
onLoad(() => {
......
......@@ -8,10 +8,22 @@
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.model"
pickAlign="right"
:options="getTypeSelect('技术支援-MCO管理')"
clearable
filter
></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>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="getTerminalSelect('技术支援-MCO管理')"
filter
></global-picker>
</up-form-item>
<up-form-item label="专业类别" prop="majorCategory" :borderBottom="true">
<global-picker v-model="formData.majorCategory" pickAlign="right" paramsType="MajorCategory" clearable></global-picker>
......@@ -44,9 +56,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useMcoStore from 'mocp/store/mco'
import { getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -8,10 +8,22 @@
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acOwn"
pickAlign="right"
:options="getAirlineSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="事件分类" prop="eventType" :borderBottom="true">
<global-picker v-model="formData.eventType" pickAlign="right" dictkey="mae_eventType" clearable></global-picker>
......@@ -20,7 +32,7 @@
<global-picker v-model="formData.runEvent" pickAlign="right" dictkey="mae_runEvent" clearable></global-picker>
</up-form-item>
<up-form-item label="发生航站" prop="happenStn" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.happenStn" clearable :options="baseStore.getTerminalSelect" filter></global-picker>
<global-picker pickAlign="right" v-model="formData.happenStn" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="延误定性" prop="delayNature" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.delayNature" clearable :options="delayNature"></global-picker>
......@@ -52,9 +64,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useMechanicalAbnormalEventsStore from 'mocp/store/mechanicalAbnormalEvents'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList, flightNumList },
rcOptions: { delayNature, delayProperty }
......
......@@ -26,7 +26,7 @@
<view class="details-body-field">
<global-field
label="航司:"
:value="useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect }) || '-'"
:value="useGetDictByValue('', details.aviation, { data: getAirlineSelect() }) || '-'"
></global-field>
<global-field label="航站:" :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
</view>
......@@ -119,6 +119,7 @@ import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const moveDecisionStore = useMoveDecisionStore()
......
......@@ -43,18 +43,12 @@
:placeholder="formData.aviation ? '' : '请选择机号自动关联'"
>
<template #suffix>
{{ useGetDictByValue('', formData.aviation, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', formData.aviation, { data: getAirlineSelect() }) }}
</template>
</up-input>
</up-form-item>
<up-form-item label="航站" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.terminal" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="日期" :borderBottom="true">
<global-date
......@@ -139,6 +133,7 @@ import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { getAcReduceListApi } from 'mocp/api/system'
import { updateDecisionApi } from 'mocp/api/move-decision'
import { getAirlineSelect, getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//获取下拉框选项
......
......@@ -5,7 +5,13 @@
<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>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="getTerminalSelect('维修控制-运行决策')"
filter
></global-picker>
</up-form-item>
<up-form-item label="是否有效" prop="valid" :borderBottom="true">
<global-picker
......@@ -30,7 +36,13 @@
></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>
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="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>
......@@ -53,9 +65,9 @@ import useMoveDecisionStore from 'mocp/store/move-decision'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import { getAirlineSelect, getTerminalSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -22,7 +22,7 @@
<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 }) }}
{{ useGetDictByValue('', item.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
</view>
......@@ -44,18 +44,17 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import Day from 'mocp/utils/dayjs'
import useTechnologyEvaluationStore from 'mocp/store/technology-evaluation'
import { getTechnicalEvaluationToDoApi } from 'mocp/api/my-toDo'
import useMyToDoStore from 'mocp/store/my-toDo'
import { storeToRefs } from 'pinia'
import { getAirlineSelect } from 'mocp/utils/permission'
const myToDoStore = useMyToDoStore()
const { getTechnologyEvaluationNum } = storeToRefs(myToDoStore)
const baseStore = useBaseStore()
const ps = defineProps({
height: {
type: String,
......
......@@ -9,15 +9,27 @@
pickAlign="right"
v-model="formData.acTerminal"
clearable
:options="baseStore.getTerminalSelect"
:options="getTerminalSelect('机械不正常事件')"
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acOwn"
pickAlign="right"
:options="getAirlineSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="机号" prop="ac" :borderBottom="true">
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
......@@ -51,9 +63,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useOperationalSurveyStore from 'mocp/store/operationalSurvey'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -8,17 +8,29 @@
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('维修控制-品质分析')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acOwn"
pickAlign="right"
:options="getAirlineSelect('维修控制-品质分析')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航站" prop="acTerminal" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.acTerminal"
clearable
:options="baseStore.getTerminalSelect"
:options="getTerminalSelect('维修控制-品质分析')"
filter
></global-picker>
</up-form-item>
......@@ -28,9 +40,6 @@
<up-form-item label="责任单位" prop="liabilityBelong" :borderBottom="true">
<global-picker v-model="formData.liabilityBelong" pickAlign="right" paramsType="RcQaLiabilityBelong" clearable filter></global-picker>
</up-form-item>
<!-- <up-form-item label="事件描述" prop="eventMsg" :borderBottom="true">
<up-input v-model="formData.eventMsg" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
</up-form-item> -->
</up-form>
</global-page-search>
</template>
......@@ -41,9 +50,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useQualityAnalysisStore from 'mocp/store/qualityAnalysis'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
......@@ -33,18 +33,12 @@
:placeholder="formData.aviation ? '' : '请选择机号自动关联'"
>
<template #suffix>
{{ useGetDictByValue('', formData.aviation, { data: baseStore.getAirlineSelect }) }}
{{ useGetDictByValue('', formData.aviation, { data: getAirlineSelect() }) }}
</template>
</up-input>
</up-form-item>
<up-form-item label="航站" prop="terminal" :borderBottom="true" required>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker pickAlign="right" v-model="formData.terminal" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="ATA章节" prop="ata" :borderBottom="true" required>
<global-picker v-model="formData.ata" pickAlign="right" :options="baseStore.getATASelect" clearable filter></global-picker>
......@@ -104,6 +98,7 @@ import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { formData, formRef, relatedSeatSet, rules } from './constants/add.compositions'
import { onBeforeOpen, changeAc, handleSubmit } from './constants/add.functionals'
import useUserStore from 'mocp/store/user'
import { getAirlineSelect, getTerminalSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const userStore = useUserStore()
......
......@@ -20,7 +20,7 @@
<up-cell title="机号" :value="details.machineNumber || '-'"></up-cell>
<up-cell title="机型" :value="details.model || '-'"></up-cell>
<up-cell title="相关席位" :value="details.relevantSeatsName || '-'"></up-cell>
<up-cell title="航司" :value="useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect }) || '-'"></up-cell>
<up-cell title="航司" :value="useGetDictByValue('', details.aviation, { data: getAirlineSelect() }) || '-'"></up-cell>
<up-cell title="航站" :value="details.terminal || '-'"></up-cell>
<up-cell title="ATA章节" :value="details.ata || '-'"></up-cell>
<up-cell title="专业" :value="getParamNameByValue('MajorCategory', details.specialty) || '-'"></up-cell>
......@@ -35,10 +35,9 @@
import { storeToRefs } from 'pinia'
import useSupportApplicationStore from 'mocp/store/support-application'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import useBaseStore from 'mocp/store/base'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
const supportApplicationStore = useSupportApplicationStore()
const { details } = storeToRefs(supportApplicationStore)
</script>
......
......@@ -33,7 +33,7 @@
<text class="txt u-line-1" v-if="item.machineNumber">{{ item.machineNumber }}</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 }) }}
{{ useGetDictByValue('', item.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
<view class="label">
......@@ -52,9 +52,8 @@ import { storeToRefs } from 'pinia'
import { onUnload } from '@dcloudio/uni-app'
import { getSupportRequestListApi } from 'mocp/api/support-application'
import useSupportApplicationStore from 'mocp/store/support-application'
import useBaseStore from 'mocp/store/base'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//跳转
const supportApplicationStore = useSupportApplicationStore()
const { searchData } = storeToRefs(supportApplicationStore)
......
......@@ -8,13 +8,31 @@
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.model"
pickAlign="right"
:options="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>
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="getAirlineSelect('技术支援-支援申请')"
clearable
filter
></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>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="getTerminalSelect('技术支援-支援申请')"
filter
></global-picker>
</up-form-item>
<up-form-item label="专业" prop="specialty" :borderBottom="true">
<global-picker v-model="formData.specialty" pickAlign="right" paramsType="MajorCategory" clearable></global-picker>
......@@ -32,6 +50,7 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useSupportApplicationStore from 'mocp/store/support-application'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -8,17 +8,29 @@
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="acOwn" :borderBottom="true">
<global-picker v-model="formData.acOwn" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acOwn"
pickAlign="right"
:options="getAirlineSelect('机械不正常事件')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航站" prop="acTerminal" :borderBottom="true">
<global-picker
pickAlign="right"
v-model="formData.acTerminal"
clearable
:options="baseStore.getTerminalSelect"
:options="getTerminalSelect('机械不正常事件')"
filter
></global-picker>
</up-form-item>
......@@ -38,6 +50,7 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useTechnicalAnalysisStore from 'mocp/store/technicalAnalysis'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -25,7 +25,7 @@
<view class="details-body-item">
<global-field
label="航司:"
:value="useGetDictByValue('', details.aviation, { data: baseStore.getAirlineSelect }) || '-'"
:value="useGetDictByValue('', details.aviation, { data: getAirlineSelect() }) || '-'"
></global-field>
<global-field label="航站:" :value="baseStore.getTerminalObject[details.terminal] || '-'"></global-field>
</view>
......@@ -213,6 +213,7 @@ import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { computed } from 'vue'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
import { getAirlineSelect } from 'mocp/utils/permission'
const technologyEvaluationStore = useTechnologyEvaluationStore()
const { details } = storeToRefs(technologyEvaluationStore)
......
......@@ -24,7 +24,7 @@
<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 }) }}
{{ useGetDictByValue('', item.aviation, { data: getAirlineSelect() }) }}
</text>
</view>
</view>
......@@ -49,12 +49,11 @@ 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'
import { getAirlineSelect } from 'mocp/utils/permission'
const baseStore = useBaseStore()
//跳转
const technologyEvaluationStore = useTechnologyEvaluationStore()
const { searchData } = storeToRefs(technologyEvaluationStore)
......
......@@ -8,10 +8,22 @@
<global-picker pickAlign="right" v-model="formData.ac" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.model"
pickAlign="right"
:options="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>
<global-picker
v-model="formData.aviation"
pickAlign="right"
:options="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>
......@@ -34,6 +46,7 @@ import useTechnologyEvaluationStore from 'mocp/store/technology-evaluation'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import { getAirlineSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
......
......@@ -20,7 +20,7 @@
<template #default="{ item }">
<view class="item" :class="{ 'wrong-class': item.applyStatus == '0' }" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<view class="left" style="min-width: 100rpx">
<global-text-status :value="item.applyStatus" dictkey="unPlan_applyStatus"></global-text-status>
</view>
<view class="right">
......
......@@ -17,10 +17,22 @@
<global-picker pickAlign="right" v-model="formData.checkLevel" dictkey="np_checkLevel" clearable></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('定检管理-非计划管理')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="airline" :borderBottom="true">
<global-picker v-model="formData.airline" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.airline"
pickAlign="right"
:options="getAirlineSelect('定检管理-非计划管理')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="计划开工时间" :borderBottom="true">
<global-calendar
......@@ -43,14 +55,13 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useUnplanApplyStore from 'mocp/store/unplanApply'
import { getAirlineSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const unplanApplyStore = useUnplanApplyStore()
//获取查询表单数据
const { searchData } = storeToRefs(unplanApplyStore)
......
......@@ -20,7 +20,7 @@
<template #default="{ item }">
<view class="item" :class="{ 'wrong-class': item.applyStatus == '0' }" @tap="goDetails(item)">
<view class="item-title">
<view class="left">
<view class="left" style="min-width: 100rpx">
<global-text-status :value="item.applyStatus" dictkey="unPlan_applyStatus"></global-text-status>
</view>
<view class="right">
......
......@@ -14,10 +14,22 @@
<global-picker pickAlign="right" v-model="formData.checkLevel" dictkey="np_checkLevel" clearable></global-picker>
</up-form-item>
<up-form-item label="机型" prop="acType" :borderBottom="true">
<global-picker v-model="formData.acType" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker
v-model="formData.acType"
pickAlign="right"
:options="getTypeSelect('定检管理-非计划管理')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="航司" prop="airline" :borderBottom="true">
<global-picker v-model="formData.airline" pickAlign="right" :options="baseStore.getAirlineSelect" clearable filter></global-picker>
<global-picker
v-model="formData.airline"
pickAlign="right"
:options="getAirlineSelect('定检管理-非计划管理')"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item label="计划开工时间" :borderBottom="true">
<global-calendar
......@@ -40,14 +52,13 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useUnplanWarningStore from 'mocp/store/unplanWarning'
import { getAirlineSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const unplanWarningStore = useUnplanWarningStore()
//获取查询表单数据
const { searchData } = storeToRefs(unplanWarningStore)
......
......@@ -8,7 +8,13 @@
<global-picker v-model="formData.rxStatus" pickAlign="right" clearable dictkey="wdm_rxStatus"></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>
<global-picker
pickAlign="right"
v-model="formData.terminal"
clearable
:options="getTerminalSelect('防风害管理')"
filter
></global-picker>
</up-form-item>
<up-form-item label="开始日期" :borderBottom="true">
<global-calendar
......@@ -23,14 +29,13 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useWindDamageManagementStore from 'mocp/store/windDamageManagement'
import { getTerminalSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const windDamageManagementStore = useWindDamageManagementStore()
//获取查询表单数据
const { getSearchData } = storeToRefs(windDamageManagementStore)
......
......@@ -8,13 +8,13 @@
<global-picker pickAlign="right" v-model="formData.machineNumber" :options="deviceNumList" clearable filter></global-picker>
</up-form-item>
<up-form-item label="机型" prop="model" :borderBottom="true">
<global-picker v-model="formData.model" pickAlign="right" :options="baseStore.getTypeSelect" clearable filter></global-picker>
<global-picker v-model="formData.model" pickAlign="right" :options="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>
<global-picker v-model="formData.aviation" pickAlign="right" :options="getAirlineSelect()" clearable filter></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>
<global-picker pickAlign="right" v-model="formData.terminal" clearable :options="getTerminalSelect()" filter></global-picker>
</up-form-item>
<up-form-item label="发起人" prop="sponsor" :borderBottom="true">
<up-input v-model="formData.sponsor" inputAlign="right" border="none" placeholder="请输入" clearable></up-input>
......@@ -32,9 +32,9 @@ import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import useWorkAssignmentStore from 'mocp/store/work-assignment'
import { getAirlineSelect, getTerminalSelect, getTypeSelect } from 'mocp/utils/permission'
//获取下拉框选项
const baseStore = useBaseStore()
const {
selectList: { deviceNumList }
} = useBaseStore()
......
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