Commit 57e5e4ae by pangchong

fix: 优化全局字典项的调用

parent 5947aaa7
import useBaseStore from 'mocp/store/base'
export const getParamsByType = (paramType) => {
const baseStore = useBaseStore()
return baseStore.allBasicParams[paramType]
?.filter((item) => item.isDel == 0)
?.map((item) => {
return { label: item.paramName, value: item.paramCode }
})
}
export const getParamNameByValue = (paramType, paramName, extend = {}) => {
if (extend && extend.isArray) {
const paramNameArray = paramName.split(',')
return paramNameArray
.reduce((q, w) => {
if (getParamNameByValue(paramType, w)) {
q.push(getParamNameByValue(paramType, w))
}
return q
}, [])
.join(',')
}
return getParamsByType(paramType).find((item) => item.value == paramName)?.label || ''
}
......@@ -174,27 +174,6 @@ const useBaseStore = defineStore('base', {
}
})
})
},
getParamsByType(paramType) {
return this.allBasicParams[paramType]
?.filter((item) => item.isDel == 0)
?.map((item) => {
return { label: item.paramName, value: item.paramCode }
})
},
getParamNameByValue(paramType, paramName, extend = {}) {
if (extend && extend.isArray) {
const paramNameArray = paramName.split(',')
return paramNameArray
.reduce((q, w) => {
if (this.getParamNameByValue(paramType, w)) {
q.push(this.getParamNameByValue(paramType, w))
}
return q
}, [])
.join(',')
}
return this.getParamsByType(paramType).find((item) => item.value == paramName)?.label || ''
}
},
// 配置持久化
......
......@@ -11,7 +11,7 @@
>
<view class="details" v-if="details">
<view class="details-header">
<view class="details-header-title">{{ baseStore.getParamNameByValue('LayoutWorkType', details.workType) }}详情</view>
<view class="details-header-title">{{ getParamNameByValue('LayoutWorkType', details.workType) }}详情</view>
<view class="details-header-top">
<custom-state :value="details.state == 1 ? 'OPEN' : 'CLOSE'" :size="48"></custom-state>
<view class="right">
......@@ -21,7 +21,7 @@
<view class="details-header-center">
<view class="right">
<text>{{ details.seat }}</text>
<text class="txt">{{ baseStore.getParamNameByValue('LayoutWorkType', details.workType) }}</text>
<text class="txt">{{ getParamNameByValue('LayoutWorkType', details.workType) }}</text>
</view>
</view>
<view class="details-header-footer">
......@@ -141,7 +141,7 @@
<card-details-item
:borderBottom="false"
title="应用分类"
:content="baseStore.getParamNameByValue('ApplicationType', arrangeWorkExtend.appType)"
:content="getParamNameByValue('ApplicationType', arrangeWorkExtend.appType)"
></card-details-item>
<card-details-item label="验证材料">
<global-upload :fileList="arrangeWorkExtend.followUpFeedbackFileVoList" :showUpload="false"></global-upload>
......@@ -159,7 +159,7 @@
<global-upload :fileList="arrangeWorkExtend.validateFileVoList" :showUpload="false"></global-upload>
<card-details-footer
leftLabel="事件类型:"
:leftValue="baseStore.getParamNameByValue('LayoutEventType', arrangeWorkExtend.eventType)"
:leftValue="getParamNameByValue('LayoutEventType', arrangeWorkExtend.eventType)"
rightLabel="重复/同类事件:"
:rightValue="useGetDictByValue('aw_validateType', arrangeWorkExtend.validateType)"
></card-details-footer>
......@@ -192,11 +192,10 @@ import CompanyPopup from './components/company-popup.vue'
import useAssignWorkStore from 'mocp/store/assign-work'
import { storeToRefs } from 'pinia'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const query = defineProps(['id'])
const assignWorkStore = useAssignWorkStore()
const { details, arrangeWorkExtendList, arrangeWorkExtend } = storeToRefs(assignWorkStore)
......
......@@ -31,7 +31,7 @@
pickAlign="right"
v-model="formData.appType"
clearable
:options="baseStore.getParamsByType('ApplicationType')"
:options="getParamsByType('ApplicationType')"
></global-picker>
</up-form-item>
</up-form>
......@@ -44,10 +44,9 @@ import { reactive, ref } from 'vue'
import useAssignWorkStore from 'mocp/store/assign-work'
import { storeToRefs } from 'pinia'
import { onLoad } from '@dcloudio/uni-app'
import useBaseStore from 'mocp/store/base'
import { savaFollowUpFeedbackApi } from 'mocp/api/assign-work'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const assignWorkStore = useAssignWorkStore()
const { arrangeWorkExtend } = storeToRefs(assignWorkStore)
const formData = reactive({
......
......@@ -15,7 +15,7 @@
pickAlign="right"
v-model="formData.eventType"
clearable
:options="baseStore.getParamsByType('LayoutEventType')"
:options="getParamsByType('LayoutEventType')"
></global-picker>
</up-form-item>
<up-form-item label="重复/同类事件" :borderBottom="true" prop="validateType" required>
......@@ -43,10 +43,9 @@ import { reactive, ref } from 'vue'
import useAssignWorkStore from 'mocp/store/assign-work'
import { storeToRefs } from 'pinia'
import { onLoad } from '@dcloudio/uni-app'
import useBaseStore from 'mocp/store/base'
import { savaWorkValidateApi } from 'mocp/api/assign-work'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const assignWorkStore = useAssignWorkStore()
const { arrangeWorkExtend } = storeToRefs(assignWorkStore)
const formData = reactive({
......
......@@ -21,7 +21,7 @@
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt u-line-1">{{ item.seat }}</view>
</view>
<view class="right u-line-1">{{ baseStore.getParamNameByValue('LayoutWorkType', item.workType) }}</view>
<view class="right u-line-1">{{ getParamNameByValue('LayoutWorkType', item.workType) }}</view>
</view>
<view class="item-content u-line-3">
{{ item.taskDescribe }}
......@@ -53,6 +53,7 @@ import useAssignWorkStore from 'mocp/store/assign-work'
import { onShow, onUnload } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { storeToRefs } from 'pinia'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
//加载下拉框数据
......
......@@ -29,7 +29,7 @@
<global-picker
v-model="formData.workType"
pickAlign="right"
:options="baseStore.getParamsByType('LayoutWorkType')"
:options="getParamsByType('LayoutWorkType')"
clearable
></global-picker>
</up-form-item>
......@@ -57,15 +57,14 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import useAssignWorkStore from 'mocp/store/assign-work'
import { storeToRefs } from 'pinia'
import { cloneDeep } from 'lodash'
import { ref } from 'vue'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
//获取下拉框选项
const assignWorkStore = useAssignWorkStore()
const baseStore = useBaseStore()
//获取查询表单数据
const { searchData } = storeToRefs(assignWorkStore)
const formData = ref(cloneDeep(searchData.value))
......
......@@ -38,7 +38,7 @@
></global-field>
<global-field
label="运行决策类型:"
:value="baseStore.getParamNameByValue('OperationalDecisionType', details.technicalType) || '-'"
:value="getParamNameByValue('OperationalDecisionType', details.technicalType) || '-'"
></global-field>
</view>
</view>
......@@ -112,6 +112,7 @@ import useMoveDecisionStore from 'mocp/store/move-decision'
import useBaseStore from 'mocp/store/base'
import { storeToRefs } from 'pinia'
import { timeStampFormat } from 'mocp/utils/tool'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const moveDecisionStore = useMoveDecisionStore()
......
......@@ -69,7 +69,7 @@
pickAlign="right"
v-model="formData.technicalType"
clearable
:options="baseStore.getParamsByType('OperationalDecisionType')"
:options="getParamsByType('OperationalDecisionType')"
></global-picker>
</up-form-item>
<up-form-item label="故障描述" :borderBottom="true" labelPosition="top">
......@@ -137,6 +137,7 @@ import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { getAcReduceListApi } from 'mocp/api/base'
import { updateDecisionApi } from 'mocp/api/move-decision'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
//获取下拉框选项
......
......@@ -18,7 +18,7 @@
<custom-state :value="item.state == 1 ? 'OPEN' : 'CLOSE'"></custom-state>
<view class="txt u-line-1">{{ item.seat }}</view>
</view>
<view class="right u-line-1">{{ baseStore.getParamNameByValue('LayoutWorkType', item.workType) }}</view>
<view class="right u-line-1">{{ getParamNameByValue('LayoutWorkType', item.workType) }}</view>
</view>
<view class="item-content u-line-3">
{{ item.taskDescribe }}
......@@ -44,11 +44,10 @@
</template>
<script setup>
import useBaseStore from 'mocp/store/base'
import { timeStampFormat } from 'mocp/utils/tool'
import { getArrangeWorkListApi } from 'mocp/api/assign-work'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const ps = defineProps({
height: {
type: String,
......
......@@ -48,7 +48,7 @@
pickAlign="right"
v-model="formData.estimateType"
clearable
:options="baseStore.getParamsByType('EvaluateEstimateType')"
:options="getParamsByType('EvaluateEstimateType')"
emptyValue="0"
></global-picker>
</up-form-item>
......@@ -64,6 +64,7 @@ import { storeToRefs } from 'pinia'
import { reactive, ref } from 'vue'
import useBaseStore from 'mocp/store/base'
import { addEngineeringApi } from 'mocp/api/technology-evaluation'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const technologyEvaluationStore = useTechnologyEvaluationStore()
......
......@@ -16,7 +16,7 @@
<global-checkbox
v-model="formData.nonFileType"
placement="column"
:options="baseStore.getParamsByType('EvaluateNonFileType')"
:options="getParamsByType('EvaluateNonFileType')"
></global-checkbox>
</up-form-item>
<up-form-item label="非持续适航文件描述" :borderBottom="true" labelPosition="top">
......@@ -36,7 +36,7 @@
<global-checkbox
v-model="formData.fileType"
placement="column"
:options="baseStore.getParamsByType('EvaluateFileType')"
:options="getParamsByType('EvaluateFileType')"
></global-checkbox>
</up-form-item>
<up-form-item label="持续适航文件描述" :borderBottom="true" labelPosition="top">
......@@ -56,7 +56,7 @@
<global-checkbox
v-model="formData.ratifyType"
placement="column"
:options="baseStore.getParamsByType('EvaluateRatifyType')"
:options="getParamsByType('EvaluateRatifyType')"
></global-checkbox>
</up-form-item>
</view>
......@@ -71,10 +71,9 @@ import { onLoad } from '@dcloudio/uni-app'
import useTechnologyEvaluationStore from 'mocp/store/technology-evaluation'
import { storeToRefs } from 'pinia'
import { reactive } from 'vue'
import useBaseStore from 'mocp/store/base'
import { addSupportFileApi } from 'mocp/api/technology-evaluation'
import { getParamsByType } from 'mocp/hooks/use-params/useParams'
const baseStore = useBaseStore()
const technologyEvaluationStore = useTechnologyEvaluationStore()
const { details } = storeToRefs(technologyEvaluationStore)
const formData = reactive({
......
......@@ -105,7 +105,7 @@
</view>
<view class="details-body-cell">
<view class="title">评估结论</view>
<view class="label">{{ baseStore.getParamNameByValue('EvaluateEstimateType', details.estimateType) || '无' }}</view>
<view class="label">{{ getParamNameByValue('EvaluateEstimateType', details.estimateType) || '无' }}</view>
</view>
</view>
<view class="details-body-footer" style="margin-top: 16rpx">
......@@ -142,7 +142,7 @@
<view class="details-body-cell">
<view class="title">非持续适航文件</view>
<view class="label">
{{ baseStore.getParamNameByValue('EvaluateNonFileType', details.nonFileType, { isArray: true }) || '无' }}
{{ getParamNameByValue('EvaluateNonFileType', details.nonFileType, { isArray: true }) || '无' }}
</view>
</view>
<view class="details-body-cell">
......@@ -154,7 +154,7 @@
<view class="details-body-cell">
<view class="title">持续适航文件</view>
<view class="label">
{{ baseStore.getParamNameByValue('EvaluateFileType', details.fileType, { isArray: true }) || '无' }}
{{ getParamNameByValue('EvaluateFileType', details.fileType, { isArray: true }) || '无' }}
</view>
</view>
<view class="details-body-cell">
......@@ -166,7 +166,7 @@
<view class="details-body-item">
<global-field
label="批准类别:"
:value="baseStore.getParamNameByValue('EvaluateRatifyType', details.ratifyType, { isArray: true }) || '无'"
:value="getParamNameByValue('EvaluateRatifyType', details.ratifyType, { isArray: true }) || '无'"
></global-field>
</view>
</view>
......@@ -207,6 +207,7 @@ import useBaseStore from 'mocp/store/base'
import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import { timeStampFormat } from 'mocp/utils/tool'
import { computed } from 'vue'
import { getParamNameByValue } from 'mocp/hooks/use-params/useParams'
const technologyEvaluationStore = useTechnologyEvaluationStore()
const { details } = storeToRefs(technologyEvaluationStore)
......
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