Compare commits

...

2 Commits

Author SHA1 Message Date
kkk-ops 9327f284dd Merge branch 'main' of https://git.ngsk.tech/linweidong/besure_web 5 hours ago
kkk-ops 08de236dd5 bug 5 hours ago

@ -47,8 +47,13 @@ export const ProductUnitApi = {
return await request.download({ url: `/erp/product-unit/export-excel`, params })
},
// 获得产品单位列表
getProductUnitList: async () => {
return await request.get({ url: `/erp/product-unit/list`})
},
// 获得产品单位列表
getProductUnitList: async () => {
return await request.get({ url: `/erp/product-unit/list`})
},
// 获得产品主单位列表
getProductUnitListByFlag: async () => {
return await request.get({ url: `/erp/product-unit/flag-list`})
},
}

@ -12,7 +12,7 @@ interface shortcutsType {
const props = defineProps({
modelValue: {
type: String,
default: '* * * * * ?'
default: ''
},
shortcuts: { type: Array as PropType<shortcutsType[]>, default: () => [] }
})
@ -512,7 +512,7 @@ const inputChange = () => {
<el-input v-model="defaultValue" class="input-with-select" v-bind="$attrs" @input="inputChange">
<template #append>
<el-select v-model="select" placeholder="生成器" style="width: 115px">
<el-option label="每分钟" value="0 * * * * ?" />
<!-- <el-option label="每分钟" value="0 * * * * ?" /> -->
<el-option label="每小时" value="0 0 * * * ?" />
<el-option label="每天零点" value="0 0 0 * * ?" />
<el-option label="每月一号零点" value="0 0 0 1 * ?" />

@ -64,6 +64,7 @@
<el-input
v-model="formData.remark"
:placeholder="t('FactoryModeling.AutocodeRule.dialogRemarkPlaceholder')"
type="textarea"
/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.AutocodeRule.dialogIsEnableLabel')" prop="isEnable">
@ -191,7 +192,7 @@ const resetForm = () => {
paddedChar: undefined,
paddedMethod: undefined,
remark: undefined,
isEnable: undefined
isEnable: true
}
formRef.value?.resetFields()
}

@ -78,9 +78,9 @@
</template>
<script setup lang="ts">
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter, formatDate } from '@/utils/formatTime'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { MoldBrandApi, type MoldVO } from '@/api/erp/mold'
import { MoldBrandApi } from '@/api/erp/mold'
import MoldForm from './MoldForm.vue'
import MoldRecordForm from "@/views/erp/mold/components/MoldRecordForm.vue";

@ -24,7 +24,7 @@
<el-input v-model="formData.name" :placeholder="t('FactoryModeling.ProductCategory.dialogNamePlaceholder')" />
</el-form-item>
<el-form-item :label="t('FactoryModeling.ProductCategory.dialogSortLabel')" prop="sort">
<el-input v-model="formData.sort" :placeholder="t('FactoryModeling.ProductCategory.dialogSortPlaceholder')" />
<el-input-number v-model="formData.sort" :placeholder="t('FactoryModeling.ProductCategory.dialogSortPlaceholder')" class="!w-full" :min="0"/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.ProductCategory.dialogStatusLabel')" prop="status">
<el-radio-group v-model="formData.status">

@ -1,6 +1,4 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
@ -8,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="120px"
label-width="68px"
>
<el-form-item :label="t('FactoryModeling.ProductCategory.searchNameLabel')" prop="name">
<el-input

@ -60,7 +60,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item :label="t('FactoryModeling.ProductInformation.dialogWeightLabel')" prop="weight">
<el-input-number
v-model="formData.weight"
@ -69,7 +69,7 @@
class="!w-1/1"
/>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="12">
<el-form-item :label="t('FactoryModeling.ProductInformation.dialogPurchasePriceLabel')" prop="purchasePrice">
<el-input-number

@ -51,10 +51,10 @@
>
<el-input-number
v-model="formData.changeRate"
controls-position="right"
:step="0.1"
:min="0.00"
:placeholder="t('FactoryModeling.ProductUnit.dialogChangeRatePlaceholder')"
class="!w-1000px"
class="!w-full"
/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.ProductUnit.dialogStatusLabel')" prop="status">
@ -154,7 +154,7 @@ const submitForm = async () => {
//
formLoading.value = true
try {
const data = formData.value as unknown as ProductUnitApi.ProductUnitVO
const data = formData.value as unknown as ProductUnitVO
if (formType.value === 'create') {
await ProductUnitApi.createProductUnit(data)
message.success(t('common.createSuccess'))
@ -167,6 +167,7 @@ const submitForm = async () => {
emit('success')
} finally {
formLoading.value = false
unitList.value = await ProductUnitApi.getProductUnitListByFlag()
}
}
@ -185,6 +186,6 @@ const resetForm = () => {
/** 初始化 **/
onMounted(async () => {
unitList.value = await ProductUnitApi.getProductUnitList()
unitList.value = await ProductUnitApi.getProductUnitListByFlag()
})
</script>

@ -6,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="120px"
label-width="68px"
>
<el-form-item :label="t('FactoryModeling.ProductUnit.searchNameLabel')" prop="name">
<el-input

@ -7,7 +7,7 @@
v-if="formType === 'setting' && formData.deviceName"
class="text-12px leading-16px text-[var(--el-text-color-secondary)]"
>
{{ t('DataCollection.Device.deviceName') + t('common.colon') + formData.deviceName }}
<!-- {{ t('DataCollection.Device.deviceName') + formData.deviceName }} -->
</div>
</div>
</template>

@ -52,24 +52,30 @@
/>
</el-form-item>
<el-form-item :label="t('DataCollection.Device.dataUnit')" prop="dataUnit">
<el-input
v-model="formData.dataUnit"
:placeholder="t('DataCollection.Device.placeholderDataUnit')"
/>
<el-select v-model="formData.dataUnit" clearable :placeholder="t('DataCollection.DeviceModel.placeholderDataUnit')" class="w-1/1">
<el-option
v-for="unit in unitList"
:key="unit.id"
:label="unit.name"
:value="unit.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="t('DataCollection.Device.ratio')" prop="ratio">
<el-input
v-model="formData.ratio"
:placeholder="t('DataCollection.Device.placeholderRatio')"
:disabled="!ratioEnabled"
:min="0.00"
:decision="2"
:step="0.01"
class="!w-full"
/>
</el-form-item>
<el-form-item :label="t('DataCollection.Device.remark')" prop="remark">
<el-input
v-model="formData.remark"
:placeholder="t('DataCollection.Device.placeholderRemark')"
maxlength="100"
show-word-limit
type="textarea"
/>
</el-form-item>
</el-form>
@ -85,6 +91,7 @@
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { DeviceApi } from '@/api/iot/device'
import { DeviceAttributeTypeApi, DeviceAttributeTypeVO } from '@/api/iot/deviceattributetype'
import { ProductUnitApi, ProductUnitVO } from '@/api/erp/product/unit'
const { t } = useI18n() //
const message = useMessage() //
@ -93,7 +100,7 @@ const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const unitList = ref<ProductUnitVO[]>([]) //
const typeList = ref<DeviceAttributeTypeVO[]>([])
const loadTypeList = async () => {
if (typeList.value.length > 0) {
@ -233,6 +240,8 @@ const open = async (type: string, id?: number, deviceId: number) => {
dialogTitle.value = t('action.' + type)
formType.value = type
resetForm()
//
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
formData.value.deviceId = deviceId
await loadTypeList()
//

@ -723,6 +723,8 @@ const handleBatchDelete = async () => {
}
const handleCopy = async (id: number) => {
//
await message.confirm('是否复制设备?')
try {
await DeviceApi.copyDevice(id)
message.success(t('common.copySuccess'))

@ -14,10 +14,10 @@
<el-input v-model="formData.name" :placeholder="t('DataCollection.DeviceAttributeType.placeholderName')" />
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceAttributeType.sort')" prop="sort">
<el-input v-model="formData.sort" :placeholder="t('DataCollection.DeviceAttributeType.placeholderSort')" />
<el-input-number v-model="formData.sort" :placeholder="t('DataCollection.DeviceAttributeType.placeholderSort')" :min="0" class="!w-full"/>
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceAttributeType.remark')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('DataCollection.DeviceAttributeType.placeholderRemark')" />
<el-input v-model="formData.remark" :placeholder="t('DataCollection.DeviceAttributeType.placeholderRemark')" type="textarea"/>
</el-form-item>
</el-form>
<template #footer>

@ -5,7 +5,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="120px"
label-width="80px"
>
<el-form-item :label="t('DataCollection.DeviceAttributeType.code')" prop="code">
<el-input

@ -33,7 +33,8 @@
<el-form-item :label="t('DataCollection.DeviceModel.remark')" prop="remark">
<el-input
v-model="formData.remark"
:placeholder="t('DataCollection.DeviceModel.placeholderRemark')" />
:placeholder="t('DataCollection.DeviceModel.placeholderRemark')"
type="textarea" />
</el-form-item>
</el-form>
<template #footer>

@ -24,7 +24,6 @@
clearable
filterable
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeType')"
class="!w-180px"
@change="handleAttributeTypeChange"
>
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
@ -47,28 +46,31 @@
v-model="formData.address"
:placeholder="t('DataCollection.DeviceModel.placeholderAddress')" />
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceModel.dataUnit')" prop="dataUnit">
<el-select
v-model="formData.dataUnit"
:placeholder="t('DataCollection.DeviceModel.placeholderDataUnit')">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.IOT_DEVICE_ATTRIBUTE_UNIT)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-select v-model="formData.dataUnit" clearable :placeholder="t('DataCollection.DeviceModel.placeholderDataUnit')" class="w-1/1">
<el-option
v-for="unit in unitList"
:key="unit.id"
:label="unit.name"
:value="unit.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceModel.ratio')" prop="ratio">
<el-input
<el-input-number
v-model="formData.ratio"
:placeholder="t('DataCollection.DeviceModel.placeholderRatio')" />
:placeholder="t('DataCollection.DeviceModel.placeholderRatio')"
:min="0.00"
:decision="2"
:step="0.01"
class="!w-full"/>
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceModel.remark')" prop="remark">
<el-input
v-model="formData.remark"
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeRemark')" />
:placeholder="t('DataCollection.DeviceModel.placeholderAttributeRemark')"
type="textarea"
/>
</el-form-item>
</el-form>
<template #footer>
@ -81,6 +83,7 @@
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { DeviceModelAttributeApi } from '@/api/iot/devicemodelattribute'
import { DeviceAttributeTypeApi, DeviceAttributeTypeVO } from '@/api/iot/deviceattributetype'
import { ProductUnitApi, ProductUnitVO } from '@/api/erp/product/unit'
/** 采集设备模型-点位管理 表单 */
defineOptions({ name: 'DeviceModelAttributeForm' })
@ -125,6 +128,7 @@ const formRules = reactive({
attributeName: [{ required: true, message: t('DataCollection.DeviceModel.validatorAttributeNameRequired'), trigger: 'blur' }],
})
const formRef = ref() // Ref
const unitList = ref<ProductUnitVO[]>([]) //
/** 打开弹窗 */
const open = async (type: string, id: number, modelId: number) => {
@ -133,8 +137,9 @@ const open = async (type: string, id: number, modelId: number) => {
formType.value = type
resetForm()
await loadTypeList()
//
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
formData.value.deviceModelId = modelId
//
if (id) {
formLoading.value = true
try {

@ -1,7 +1,7 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('DataCollection.DeviceModel.attributeCode')" prop="attributeCode">
<el-input
v-model="queryParams.attributeCode"
@ -79,7 +79,7 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to
<el-table-column :label="t('DataCollection.DeviceModel.attributeType')" align="center" prop="typeName" />
<el-table-column :label="t('DataCollection.DeviceModel.dataType')" align="center" prop="dataType" />
<el-table-column :label="t('DataCollection.DeviceModel.address')" align="center" prop="address" />
<el-table-column :label="t('DataCollection.DeviceModel.dataUnit')" align="center" prop="dataUnit" />
<el-table-column :label="t('DataCollection.DeviceModel.dataUnit')" align="center" prop="dataUnitName" />
<el-table-column :label="t('DataCollection.DeviceModel.ratio')" align="center" prop="ratio" />
<el-table-column :label="t('DataCollection.DeviceModel.remark')" align="center" prop="remark" />
<!-- <el-table-column label="采集设备模型id" align="center" prop="deviceModelId" /> -->

@ -1,7 +1,7 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('DataCollection.DeviceModel.code')" prop="code">
<el-input
v-model="queryParams.code"
@ -72,7 +72,6 @@ type="success" plain @click="handleExport" :loading="exportLoading"
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap>
<el-table
@ -354,7 +353,6 @@ link type="primary" @click="openForm('update', scope.row.id)"
</span>
</template>
</el-dialog>
<el-dialog v-model="createRuleDialogVisible" :title="t('DataCollection.DeviceModel.ruleCreateButton')" width="520px" draggable>
<el-form :model="createRuleForm" ref="createRuleFormRef" label-width="120px">
<el-form-item :label="t('DataCollection.DeviceModel.ruleDialogIdentifier')">
@ -384,7 +382,7 @@ link type="primary" @click="openForm('update', scope.row.id)"
</template>
<el-empty
v-else
:description="t('DataCollection.DeviceModel.moduleName') + t('common.colon') + t('DataCollection.DeviceModel.attributeModuleName') + t('DataCollection.DeviceModel.ruleTabLabel')"
:description="t('DataCollection.DeviceModel.moduleName') + t('-') + t('DataCollection.DeviceModel.attributeModuleName')"
/>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
@ -870,6 +868,8 @@ const handleShowAttribute = (row: any) => {
const handleCopy = async (id: number) => {
try {
//
await message.confirm('是否复制模型?')
await DeviceModelApi.copyDeviceModel(id)
message.success('复制成功')
await getList()

@ -50,7 +50,7 @@
/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.ProductBOM.dialogRemarkLabel')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('FactoryModeling.ProductBOM.dialogRemarkPlaceholder')" />
<el-input type="textarea" v-model="formData.remark" :placeholder="t('FactoryModeling.ProductBOM.dialogRemarkPlaceholder')" />
</el-form-item>
<el-form-item :label="t('FactoryModeling.ProductBOM.dialogEnableLabel')" prop="isEnable">
<el-radio-group v-model="formData.isEnable">

@ -6,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="120px"
label-width="80px"
>
<el-form-item :label="t('FactoryModeling.ProductBOM.searchCodeLabel')" prop="code">
<el-input

@ -64,7 +64,7 @@
</el-form-item>
<el-form-item :label="t('ProductionPlan.Task.dialogRemarkLabel')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('ProductionPlan.Task.dialogRemarkPlaceholder')" />
<el-input v-model="formData.remark" :placeholder="t('ProductionPlan.Task.dialogRemarkPlaceholder')" type="textarea"/>
</el-form-item>
</el-form>

@ -6,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="auto"
label-width="68px"
>
<el-form-item :label="t('ProductionPlan.Task.searchCodeLabel')" prop="code">
<el-input

@ -59,7 +59,7 @@
/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.WorkTeam.dialogRemarkLabel')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('FactoryModeling.WorkTeam.dialogRemarkPlaceholder')" />
<el-input v-model="formData.remark" :placeholder="t('FactoryModeling.WorkTeam.dialogRemarkPlaceholder')" type="textarea"/>
</el-form-item>
<el-form-item :label="t('FactoryModeling.WorkTeam.dialogEnableLabel')" prop="isEnable">
<el-radio-group v-model="formData.isEnable">

@ -45,6 +45,7 @@
<el-input
v-model="formData.remark"
:placeholder="t('FactoryModeling.WorkTeam.detailDialogRemarkPlaceholder')"
type="textarea"
/>
</el-form-item>
</el-form>

@ -6,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="120px"
label-width="68px"
>
<el-form-item :label="t('FactoryModeling.WorkTeam.searchTeamNameLabel')" prop="teamName">
<el-input

Loading…
Cancel
Save