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