Browse Source

Merge branch 'master_hella' of http://dev.ccwin-in.com:3000/sfms3.0/sfms3.0-ui into master_hella

master_hella_20240701
陈薪名 8 months ago
parent
commit
1613ac1331
  1. 8
      src/api/infra/config/index.ts
  2. 22
      src/api/mes/workstation/index.ts
  3. 7
      src/api/system/dict/dict.data.ts
  4. 5
      src/components/workstationBind/index.ts
  5. 200
      src/components/workstationBind/src/Detail.vue
  6. 26
      src/views/infra/config/ConfigForm.vue
  7. 29
      src/views/infra/config/index.vue
  8. 72
      src/views/mes/workstation/index.vue
  9. 18
      src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts
  10. 13
      src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts

8
src/api/infra/config/index.ts

@ -6,6 +6,9 @@ export interface ConfigVO {
name: string name: string
key: string key: string
value: string value: string
itemType: string
areaType: string
inventoryStatus: string
type: number type: number
visible: boolean visible: boolean
remark: string remark: string
@ -27,6 +30,11 @@ export const getConfigKey = (configKey: string) => {
return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey }) return request.get({ url: '/infra/config/get-value-by-key?key=' + configKey })
} }
// 根据参数键名查询参数值
export const queryByKey = (configKey: string) => {
return request.get({ url: '/infra/config/queryByKey?key=' + configKey })
}
// 新增参数 // 新增参数
export const createConfig = (data: ConfigVO) => { export const createConfig = (data: ConfigVO) => {
return request.post({ url: '/infra/config/create', data }) return request.post({ url: '/infra/config/create', data })

22
src/api/mes/workstation/index.ts

@ -6,7 +6,9 @@ export interface WorkstationVO {
expireTime: Date expireTime: Date
name: string name: string
} }
export const goalParams = {
workstationCode:null
}
// 查询工位列表 // 查询工位列表
export const getWorkstationPage = async (params) => { export const getWorkstationPage = async (params) => {
if (params.isSearch) { if (params.isSearch) {
@ -49,38 +51,42 @@ export const importTemplate = () => {
} }
// 查询班组列表 // 查询班组列表
export const getTeamPage = async (params) => { export const getTeamPage = async (params) => {
console.log(goalParams.workstationCode)
params.workstationCode = goalParams.workstationCode
if (params.isSearch) { if (params.isSearch) {
delete params.isSearch delete params.isSearch
const data = {...params} const data = {...params}
return await request.post({ url: '/wms/team/senior', data }) return await request.post({ url: '/mes/team/senior', data })
} else { } else {
return await request.get({ url: `/wms/team/page`, params }) return await request.get({ url: `/mes/team/pageListByWorkstationCode`, params })
} }
} }
export const getEquipmentPage = async (params) => { export const getEquipmentPage = async (params) => {
console.log(goalParams.workstationCode)
params.workstationCode = goalParams.workstationCode
if (params.isSearch) { if (params.isSearch) {
delete params.isSearch delete params.isSearch
const data = {...params} const data = {...params}
return await request.post({ url: '/mes/equipment/senior', data }) return await request.post({ url: '/mes/equipment/senior', data })
} else { } else {
return await request.get({ url: `/mes/equipment/page`, params }) return await request.get({ url: `/mes/equipment/pageListByWorkstationCode`, params })
} }
} }
export const getProcessPage = async (params) => { export const getProcessPage = async (params) => {
if (params.isSearch) { if (params.isSearch) {
delete params.isSearch delete params.isSearch
const data = {...params} const data = {...params}
return await request.post({ url: '/wms/process/senior', data }) return await request.post({ url: '/mes/production-process/senior', data })
} else { } else {
return await request.get({ url: `/wms/process/page`, params }) return await request.get({ url: `/mes/production-process/pageListByWorkstationCode`, params })
} }
} }
export const getProductionPage = async (params) => { export const getProductionPage = async (params) => {
if (params.isSearch) { if (params.isSearch) {
delete params.isSearch delete params.isSearch
const data = {...params} const data = {...params}
return await request.post({ url: '/wms/production/senior', data }) return await request.post({ url: '/mes/production-process/senior', data })
} else { } else {
return await request.get({ url: `/wms/production/page`, params }) return await request.get({ url: `/mes/production-process/pageListByWorkstationCode`, params })
} }
} }

7
src/api/system/dict/dict.data.ts

@ -23,8 +23,13 @@ export const getDictDataPage = (params: PageParam) => {
return request.get({ url: '/system/dict-data/page', params }) return request.get({ url: '/system/dict-data/page', params })
} }
// 查询字典数据列表根据类型
export const queryByDictType = (dictType: number) => {
return request.get({ url: '/system/dict-data/queryByDictType?dictType=' + dictType })
}
// 查询字典数据详情 // 查询字典数据详情
export const getDictData = (id: number) => { export const getDictData = (id: string) => {
return request.get({ url: '/system/dict-data/get?id=' + id }) return request.get({ url: '/system/dict-data/get?id=' + id })
} }

5
src/components/workstationBind/index.ts

@ -1,2 +1,3 @@
import detail from './src/Detail.vue' import Detail from './src/Detail.vue'
export {detail }
export { Detail }

200
src/components/workstationBind/src/Detail.vue

@ -12,72 +12,109 @@
{{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span> {{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span>
</div> </div>
</template> </template>
<ContentWrap> <ContentWrap v-if="!isBasic">
<!-- 默认单表展现 -->
<Descriptions <Descriptions
:data="detailData" :data="detailData"
labelClassName="label-class-name"
label-align="left"
direction="vertical"
:column="8"
:schema="allSchemas.detailSchema" :schema="allSchemas.detailSchema"
:columns="2" :columns="2"
width="200px"
/> />
</ContentWrap> </ContentWrap>
<Tabs :tabsList="TabsList" :current="current" @change="change" /> <Tabs :tabsList="tabsList" :current="current" @change="change" />
<div class="flex"> <div class="flex">
<!-- 详情 --> <!-- 详情 -->
<ContentWrap class="w-[100%]"> <ContentWrap class="w-[73%]">
<!-- 列表头部 -->
<TableHead
v-if="!isBasic"
:HeadButttondata="HeadButttondata"
:masterId="masterParmas.masterId"
@button-base-click="buttonBaseClick"
:routeName="routeName"
@searchFormClick="searchFormClick"
:allSchemas="detailAllSchemas"
/>
<!-- 默认单表展现 -->
<Descriptions
v-if="isBasic && !tabsExtend"
:data="detailData"
:schema="allSchemas.detailSchema"
:columns="2"
/>
<!-- 单表切换tabs 展现table --> <!-- 单表切换tabs 展现table -->
<Table <Table
v-if="isBasic && tabsExtend" v-if="isBasic && tabsExtend"
:columns="teamSchemasRef.tableColumns" :columns="detailAllSchemasRef.tableColumns"
:data="teamObjectRef.tableList" :data="tableObjectRef.tableList"
:loading="teamObjectRef.loading" :loading="tableObjectRef.loading"
:pagination="{ total: teamObjectRef.total }" :pagination="{ total: tableObjectRef.total }"
v-model:pageSize="teamObjectRef.pageSize" v-model:pageSize="tableObjectRef.pageSize"
v-model:currentPage="teamObjectRef.currentPage" v-model:currentPage="tableObjectRef.currentPage"
> >
<template> <!-- <template #action="{ row }">
<div>1</div> <ButtonBase
</template> :Butttondata="buttondata"
@button-base-click="buttonTableClick($event, row)"
/>
</template> -->
</Table> </Table>
<Table <Table
v-if="!isBasic && fromeWhere != 'Equipment'" v-if="!isBasic && fromeWhere != 'countPlan'"
:columns="teamSchemasRef.tableColumns" :columns="detailAllSchemasRef.tableColumns"
:data="teamObjectRef.tableList" :data="tableObjectRef.tableList"
:loading="teamObjectRef.loading" :loading="tableObjectRef.loading"
:pagination="{ total: teamObjectRef.total }" :pagination="{ total: tableObjectRef.total }"
v-model:pageSize="teamObjectRef.pageSize" v-model:pageSize="tableObjectRef.pageSize"
v-model:currentPage="teamObjectRef.currentPage" v-model:currentPage="tableObjectRef.currentPage"
> >
<template> <template #photos="{ row }">
<div>1</div> <div v-for="(item,index) in row.photos.split(',')" :key="index" style="color:#409eff ; cursor: pointer;" @click="openImage(item)">{{ item }}</div>
</template> </template>
</Table> <template #action="{ row }">
<Table <ButtonBase
v-if="!isBasic && fromeWhere != 'Process'" :Butttondata="buttondata"
:columns="teamSchemasRef.tableColumns" @button-base-click="buttonTableClick($event, row)"
:data="teamObjectRef.tableList" />
:loading="teamObjectRef.loading"
:pagination="{ total: teamObjectRef.total }"
v-model:pageSize="teamObjectRef.pageSize"
v-model:currentPage="teamObjectRef.currentPage"
>
<template>
<div>1</div>
</template> </template>
</Table> </Table>
<DetailTable <DetailTable
v-if="!isBasic && fromeWhere == 'Production' && isShowDrawer" v-if="!isBasic && fromeWhere == 'countPlan' && isShowDrawer"
:columns="teamSchemasRef.tableColumns" :columns="detailAllSchemasRef.tableColumns"
:data="teamObjectRef.tableList" :data="tableObjectRef.tableList"
:allList="allList" :allList="allList"
:countScopeType="countScopeType" :countScopeType="countScopeType"
:key="updateKey" :key="updateKey"
> >
<template> <template #action="{ row }">
<div>1</div> <ButtonBase
:Butttondata="buttondata"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</DetailTable> </DetailTable>
</ContentWrap> </ContentWrap>
<ContentWrap class="w-[27%] ml-16px">
<!-- 附件组件 -->
<Annex
:annexData="annexData"
@handleAnnexSuccess="handleAnnexSuccess"
@deleteAnnexSuccess="deleteAnnexSuccess"
:upData="remarksData.data"
/>
<!-- 备注组件 -->
<Remarks
:remarksData="remarksData"
class="mt-20px"
@remarksSubmitScuess="remarksSubmitScuess"
/>
<!-- 变更记录组件 -->
<ChangeRecord :changeRecordData="changeRecordData" class="mt-20px" />
</ContentWrap>
</div> </div>
</el-drawer> </el-drawer>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -105,19 +142,16 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import Annex from '@/components/Annex/src/Annex.vue'
import Remarks from '@/components/Remarks/src/Remarks.vue'
import ChangeRecord from '@/components/ChangeRecord/src/ChangeRecord.vue'
import Tabs from '@/components/Tabs/src/Tabs.vue'
import * as RemarkApi from '@/api/wms/remark' import * as RemarkApi from '@/api/wms/remark'
import * as FileApi from '@/api/wms/file' import * as FileApi from '@/api/wms/file'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import Detail from "@/components/workstationBind/src/Detail.vue"; import BasicForm from '@/components/BasicForm/src/BasicForm.vue'
import {TabsList} from "@/views/mes/workstation/workstation.data"; import TableHead from '@/components/TableHead/src/TableHead.vue'
import DetailTable from "@/components/DetailTable/src/DetailTable.vue"; import DetailTable from '@/components/DetailTable/src/DetailTable.vue'
import Tabs from "@/components/Tabs/src/Tabs.vue";
import Annex from "@/components/Annex/src/Annex.vue";
import Remarks from "@/components/Remarks/src/Remarks.vue";
import BasicForm from "@/components/BasicForm/src/BasicForm.vue";
import TableHead from "@/components/TableHead/src/TableHead.vue";
import ChangeRecord from "@/components/ChangeRecord/src/ChangeRecord.vue";
import {Team} from "@/utils/disposition/formFields";
defineOptions({ name: 'Detail' }) defineOptions({ name: 'Detail' })
@ -143,12 +177,6 @@ const props = defineProps({
required: false, required: false,
default: false default: false
}, },
//
tableAllSchemas: {
type: Array,
required: true,
default: null
},
// //
allSchemas: { allSchemas: {
type: Object, type: Object,
@ -270,11 +298,6 @@ const props = defineProps({
type: Boolean, type: Boolean,
required: false, required: false,
default: true default: true
},
teamSchemas:{
type: Boolean,
required: false,
default: true
} }
}) })
const isShowDrawer = ref(false) const isShowDrawer = ref(false)
@ -374,7 +397,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
masterParmas.value.masterId = row.id masterParmas.value.masterId = row.id
masterParmas.value.number = row.number masterParmas.value.number = row.number
masterParmas.value.status = row.status masterParmas.value.status = row.status
teamObjectRef.value.params = { tableObjectRef.value.params = {
masterId: row.id masterId: row.id
} }
await getList() await getList()
@ -439,10 +462,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
} }
} }
defineExpose({ openDetail, formRef }) // open defineExpose({ openDetail, formRef }) // open
// tabs
const changeTabs = (item) => {
alert(item.value)
}
// //
const getRemarkList = async () => { const getRemarkList = async () => {
detailLoading.value = true detailLoading.value = true
@ -462,19 +482,18 @@ const remarksSubmitScuess = async (remark) => {
const getChangeRecordList = async () => { const getChangeRecordList = async () => {
changeRecordData.changeRecordList = await RemarkApi.getChangeRecordPage(remarksData.data) changeRecordData.changeRecordList = await RemarkApi.getChangeRecordPage(remarksData.data)
} }
const tableObjectRef = ref()
const tableMethodsRef = ref()
const detailAllSchemasRef = ref() const detailAllSchemasRef = ref()
detailAllSchemasRef.value = props.detailAllSchemas
const teamObjectRef = ref()
const teamMethodsRef = ref()
const teamSchemasRef = ref()
const { tableObject, tableMethods } = useTable({ const { tableObject, tableMethods } = useTable({
getListApi: props.apiPage // getListApi: props.apiPage //
}) })
teamObjectRef.value = tableObject tableObjectRef.value = tableObject
teamMethodsRef.value = tableMethods tableMethodsRef.value = tableMethods
teamSchemasRef.value = props.teamSchemas detailAllSchemasRef.value = props.detailAllSchemas
// //
const isShowMainButton = (row, val) => { const isShowMainButton = (row, val) => {
@ -486,8 +505,29 @@ const isShowMainButton = (row, val) => {
} }
// //
const { getList } = teamMethodsRef.value const { getList } = tableMethodsRef.value
//
const buttonBaseClick = (val, item) => {
if (val == 'add') {
//
openForm('create')
} else if (val == 'import') {
//
handleImport()
} else if (val == 'export') {
//
handleExport()
} else if (val == 'refresh') {
//
getList()
} else if (val == 'filtrate') {
//
} else {
//
console.log('其他按钮', item)
}
}
// //
// const updataTableColumns = (val) => { // const updataTableColumns = (val) => {
@ -576,9 +616,9 @@ const searchFormClick = async (searchData) => {
: [{ column: 'masterId', action: '==', value: masterParmas.value.masterId }] : [{ column: 'masterId', action: '==', value: masterParmas.value.masterId }]
} }
detailAllSchemasRef.value = props.detailAllSchemas detailAllSchemasRef.value = props.detailAllSchemas
teamObjectRef.value = tableObject tableObjectRef.value = tableObject
teamMethodsRef.value = tableMethods tableMethodsRef.value = tableMethods
teamObjectRef.value.tableList = [] tableObjectRef.value.tableList = []
const { getList } = tableMethods const { getList } = tableMethods
await getList() await getList()
updateKey.value += 1 updateKey.value += 1
@ -603,7 +643,7 @@ const openImage=(item)=>{
* @param field 当前操作字段 * @param field 当前操作字段
* @param cur 改变后值 * @param cur 改变后值
*/ */
const detailBasicFormOnChange = (field, cur) => { const detailBasicFormOnChange = (field, cur) => {
emit('detailBasicFormOnChange', field, cur) emit('detailBasicFormOnChange', field, cur)
} }
@ -612,7 +652,7 @@ const detailBasicFormOnChange = (field, cur) => {
* @param field 当前操作字段 * @param field 当前操作字段
* @param e * @param e
*/ */
const onBlur = (field, e) => { const onBlur = (field, e) => {
emit('onBlur', field, e) emit('onBlur', field, e)
} }
@ -634,8 +674,8 @@ watch(
tableObject.params[item.key] = item.value tableObject.params[item.key] = item.value
}) })
} }
teamObjectRef.value = tableObject tableObjectRef.value = tableObject
teamMethodsRef.value = tableMethods tableMethodsRef.value = tableMethods
const { getList } = tableMethods const { getList } = tableMethods
getList() getList()
} }

26
src/views/infra/config/ConfigForm.vue

@ -19,6 +19,21 @@
<el-form-item label="参数键值" prop="value"> <el-form-item label="参数键值" prop="value">
<el-input v-model="formData.value" placeholder="请输入参数键值" /> <el-input v-model="formData.value" placeholder="请输入参数键值" />
</el-form-item> </el-form-item>
<el-form-item label="物料类型">
<el-select v-model="formData.itemTypeList" multiple placeholder="配置物料类型">
<el-option v-for="item in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="库区类型">
<el-select v-model="formData.areaTypeList" multiple placeholder="库区类型">
<el-option v-for="item in getStrDictOptions(DICT_TYPE.AREA_TYPE)" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="库存状态">
<el-select v-model="formData.inventoryStatusList" multiple placeholder="库存状态">
<el-option v-for="item in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="是否可见" prop="visible"> <el-form-item label="是否可见" prop="visible">
<el-radio-group v-model="formData.visible"> <el-radio-group v-model="formData.visible">
<el-radio <el-radio
@ -41,7 +56,7 @@
</Dialog> </Dialog>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { DICT_TYPE, getBoolDictOptions } from '@/utils/dict' import { DICT_TYPE, getBoolDictOptions,getStrDictOptions } from '@/utils/dict'
import * as ConfigApi from '@/api/infra/config' import * as ConfigApi from '@/api/infra/config'
defineOptions({ name: 'InfraConfigForm' }) defineOptions({ name: 'InfraConfigForm' })
@ -59,6 +74,9 @@ const formData = ref({
name: '', name: '',
key: '', key: '',
value: '', value: '',
itemTypeList:'',
areaTypeList:'',
inventoryStatusList:'',
visible: true, visible: true,
remark: '' remark: ''
}) })
@ -70,6 +88,9 @@ const formRules = reactive({
visible: [{ required: true, message: '是否可见不能为空', trigger: 'blur' }] visible: [{ required: true, message: '是否可见不能为空', trigger: 'blur' }]
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
// const itemTypeList = ref([]) //
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, id?: number) => { const open = async (type: string, id?: number) => {
@ -123,6 +144,9 @@ const resetForm = () => {
name: '', name: '',
key: '', key: '',
value: '', value: '',
itemTypeList:'',
areaTypeList:'',
inventoryStatusList:'',
visible: true, visible: true,
remark: '' remark: ''
} }

29
src/views/infra/config/index.vue

@ -40,22 +40,37 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="参数主键" align="center" prop="id" /> <el-table-column label="参数主键" align="left" prop="id" :width="100"/>
<el-table-column label="参数分类" align="center" prop="category" /> <el-table-column label="参数分类" align="left" prop="category" :width="150"/>
<el-table-column label="参数名称" align="center" prop="name" :show-overflow-tooltip="true" /> <el-table-column label="参数名称" align="left" prop="name" :show-overflow-tooltip="true" :width="200"/>
<el-table-column label="参数键名" align="center" prop="key" :show-overflow-tooltip="true" /> <el-table-column label="参数键名" align="left" prop="key" :show-overflow-tooltip="true" :width="250"/>
<el-table-column label="参数键值" align="center" prop="value" /> <el-table-column label="参数键值" align="left" prop="value" :width="200"/>
<el-table-column label="物料类型" align="left" prop="itemType" :width="250">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ITEM_TYPE" :value="scope.row.itemType" />
</template>
</el-table-column>
<el-table-column label="库区类型" align="left" prop="areaType" :width="250">
<template #default="scope">
<dict-tag :type="DICT_TYPE.AREA_TYPE" :value="scope.row.areaType" />
</template>
</el-table-column>
<el-table-column label="库存状态" align="left" prop="inventoryStatus" :width="250">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INVENTORY_STATUS" :value="scope.row.inventoryStatus" />
</template>
</el-table-column>
<el-table-column label="是否可见" align="center" prop="visible"> <el-table-column label="是否可见" align="center" prop="visible">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.visible" /> <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.visible" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="系统内置" align="center" prop="type"> <el-table-column label="系统内置" align="center" prop="type" :width="150">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_CONFIG_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.INFRA_CONFIG_TYPE" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" :width="150"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" /> <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
<el-table-column label="操作" align="center" fixed="right" width="180"> <el-table-column label="操作" align="center" fixed="right" width="180">
<template #default="scope"> <template #default="scope">

72
src/views/mes/workstation/index.vue

@ -4,15 +4,15 @@
<Search :schema="Workstation.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> <Search :schema="Workstation.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" />
</ContentWrap> </ContentWrap>
<!-- 列表头部 --> <!-- 列表头部 -->
<TableHead <TableHead
:HeadButttondata="HeadButttondata" :HeadButttondata="HeadButttondata"
@button-base-click="buttonBaseClick" @button-base-click="buttonBaseClick"
:routeName="routeName" :routeName="routeName"
@updataTableColumns="updataTableColumns" @updataTableColumns="updataTableColumns"
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="Workstation.allSchemas" :allSchemas="Workstation.allSchemas"
/> />
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
@ -58,27 +58,36 @@
:detailAllSchemasRules="WorkstationRules" :detailAllSchemasRules="WorkstationRules"
:apiPage="apiPage" :apiPage="apiPage"
:tabs="TabsList" :tabs="TabsList"
:detailButtonIsShowAdd = "true"
:detailButtonIsShowDelete="true"
@changeTabs="changeTabs" @changeTabs="changeTabs"
/> />
<!-- 导入 --> <!-- 导入 -->
<ImportForm ref="importFormRef" url="/mes/workstation/import" :importTemplateData="importTemplateData" @success="importSuccess" /> <ImportForm ref="importFormRef" url="/mes/workstation/import" :importTemplateData="importTemplateData" @success="importSuccess" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import {TabsList, Team, Workstation, WorkstationRules} from './workstation.data' import {
Equipment,
Process,
Production,
TabsList,
Team,
Workstation,
WorkstationRules
} from './workstation.data'
import * as WorkstationApi from '@/api/mes/workstation' import * as WorkstationApi from '@/api/mes/workstation'
import * as defaultButtons from '@/utils/disposition/defaultButtons' import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue' import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import { import {
PurchasereceiptRecordDetail, getEquipmentPage,
PurchasereceiptRecordDetailRules, getProcessPage,
PurchasereceiptRecordMain getProductionPage,
} from "@/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data"; goalParams,
import {PurchasereceiptRequestTabsList} from "@/utils/disposition/tabsList"; params
import * as PurchasereceiptRecordDetailApi from "@/api/wms/purchasereceiptRecordDetail"; } from "@/api/mes/workstation";
import {getEquipmentPage, getProcessPage, getProductionPage} from "@/api/mes/workstation";
defineOptions({ name: 'Workstation' }) defineOptions({ name: 'Workstation' })
const message = useMessage() // const message = useMessage() //
@ -188,11 +197,6 @@ const formsSuccess = async (formType,data) => {
getList() getList()
} }
/** 绑定操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicWorkstation')
}
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {
@ -252,31 +256,31 @@ onMounted(async () => {
getList() getList()
importTemplateData.templateUrl = await WorkstationApi.importTemplate() importTemplateData.templateUrl = await WorkstationApi.importTemplate()
}) })
/** 详情操作 */
const detailRef = ref()
const openDetail = (row: any, titleName: any, titleValue: any) => {
goalParams.workstationCode = row.code
detailRef.value.openDetail(row, titleName, titleValue, 'basicWorkstation')
}
// //
const teamRef = ref()
const { tableObject: teamData, tableMethods: teamMethods } = useTable({
getListApi: WorkstationApi.getTeamPage
})
const { getList:teamList } = teamMethods
const detailAllSchemas = ref(Team.allSchemas) const detailAllSchemas = ref(Team.allSchemas)
const apiPage = ref(WorkstationApi.getTeamPage) const apiPage = ref(WorkstationApi.getTeamPage)
const tabeKey = ref("workstationDetail"); const tableKey = ref("workstationDetail");
// tabs // tabs
const changeTabs = (data) =>{ const changeTabs = (data) =>{
tableKey.value = data.prop
if(data.prop == 'Team'){ if(data.prop == 'Team'){
console.log(data)
apiPage.value = WorkstationApi.getTeamPage apiPage.value = WorkstationApi.getTeamPage
detailAllSchemas.value = Team.allSchemas detailAllSchemas.value = Team.allSchemas
}else if(data.prop == 'Equipment'){ }else if(data.prop == 'Equipment'){
apiPage.value = WorkstationApi.getEquipmentPage apiPage.value = WorkstationApi.getEquipmentPage
detailAllSchemas.value = PurchasereceiptRecordDetail.allSchemas detailAllSchemas.value = Equipment.allSchemas
}else if(data.prop == 'Process'){ }else if(data.prop == 'Process'){
apiPage.value = WorkstationApi.getProcessPage apiPage.value = WorkstationApi.getProcessPage
detailAllSchemas.value = PurchasereceiptRecordDetail.allSchemas detailAllSchemas.value = Process.allSchemas
}else if(data.prop == 'Production'){ }else if(data.prop == 'Production'){
apiPage.value = WorkstationApi.getProductionPage apiPage.value = WorkstationApi.getProductionPage
detailAllSchemas.value = PurchasereceiptRecordDetail.allSchemas detailAllSchemas.value = Production.allSchemas
} }
tabeKey.value = data.prop
} }
</script> </script>

18
src/views/wms/basicDataManage/factoryModeling/workstation/workstation.data.ts

@ -1,7 +1,6 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime' import { dateFormatter } from '@/utils/formatTime'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import * as ProductionlineApi from '@/api/wms/productionline' import * as ProductionlineApi from '@/api/wms/productionline'
@ -10,20 +9,17 @@ import { Productionline } from '@/views/wms/basicDataManage/factoryModeling/prod
import * as WorkshopApi from '@/api/wms/workshop' import * as WorkshopApi from '@/api/wms/workshop'
import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data'
import * as getBusinesstypeApi from '@/api/wms/businesstype/index' import * as confgiApi from '@/api/infra/config'
import * as WorkstationApi from '@/api/wms/workstation' import * as WorkstationApi from '@/api/wms/workstation'
import { validateYS } from '@/utils/validator' import { validateYS } from '@/utils/validator'
const queryParams = {
pageSize:10,
pageNo:1,
code:'WorkStation'
}
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
const data = await getBusinesstypeApi.getBusinesstypePage(queryParams) const confgiDataOne = await confgiApi.queryByKey("WorkStation-IN")
const businesstypeData =data?.list[0]||{} const confgiDataTwo = await confgiApi.queryByKey("WorkStation-OUT")
/** /**
* @returns {Array} * @returns {Array}
*/ */
@ -137,7 +133,7 @@ export const Workstation = useCrudSchemas(reactive<CrudSchema[]>([
}, },
{ {
key: 'areaType', key: 'areaType',
value: businesstypeData.outAreaTypes, value: confgiDataOne.areaType,
isMainValue: false isMainValue: false
}] }]
} }
@ -166,7 +162,7 @@ export const Workstation = useCrudSchemas(reactive<CrudSchema[]>([
}, },
{ {
key: 'areaType', key: 'areaType',
value: businesstypeData.outAreaTypes, value: confgiDataTwo.areaType,
isMainValue: false isMainValue: false
}] }]
} }

13
src/views/wms/basicDataManage/itemManage/productionlineitem/productionlineitem.data.ts

@ -5,16 +5,11 @@ import { Productionline } from './../../factoryModeling/productionline/productio
import * as ItembasicApi from '@/api/wms/itembasic' import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from './../itembasic/itembasic.data' import { Itembasic } from './../itembasic/itembasic.data'
import * as getBusinesstypeApi from '@/api/wms/businesstype/index' import * as confgiApi from '@/api/infra/config'
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
const queryParams = {
pageSize:10, const confgiData = await confgiApi.queryByKey("Productionlineitem")
pageNo:1,
code:'Productionlineitem'
}
const data = await getBusinesstypeApi.getBusinesstypePage(queryParams)
const businesstypeData =data?.list[0]||{}
/** /**
* @returns {Array} 线 * @returns {Array} 线
@ -115,7 +110,7 @@ export const Productionlineitem = useCrudSchemas(reactive<CrudSchema[]>([
}, },
{ {
key:'type', key:'type',
value:businesstypeData.itemTypes, value:confgiData.itemType,
action: 'notin', action: 'notin',
isSearch: true, isSearch: true,
isMainValue: false isMainValue: false

Loading…
Cancel
Save