From 5b189017d143be6366f56ffcdd3c3699a381e034 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 12:43:55 +0800
Subject: [PATCH] 22
---
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/type/type.d.ts | 45
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs | 82 +
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTask.ts | 30
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.tsx | 409 ++++++
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskQueryDrawer.ts | 35
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/enum.ts | 15
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskQueryDrawer.ts | 44
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/index.ts | 14
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.module.scss | 7
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.tsx | 80 +
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskQueryDrawer.tsx | 879 +++++++++++++
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskDrawer.tsx | 655 ++++++++++
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.module.scss | 3
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs | 305 ++++
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTask.ts | 41
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/Config.ts | 217 +++
Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityModeQueryDrawer模板.txt | 42
HIAWms/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj | 2
/dev/null | 297 ----
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.tsx | 61
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.tsx | 71 +
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.module.scss | 3
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat | 2
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTask.ts | 275 ++++
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskDrawer.ts | 44
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskDrawer.ts | 34
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/config/WorkTask.json | 3
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/File.ts | 31
PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.module.scss | 113 +
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs | 1
30 files changed, 3,505 insertions(+), 335 deletions(-)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj b/HIAWms/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj
index 69a13a5..37ba0cf 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/CMS.Plugin.HIAWms.csproj
@@ -11,7 +11,7 @@
</PropertyGroup>
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
- <CMSRootPath>D:\syc\CMS Editor</CMSRootPath>
+ <CMSRootPath>D:\Program Files\CMS Editor</CMSRootPath>
<OutputPath>$(CMSRootPath)\plugins\cms.plugin.hiawms</OutputPath>
</PropertyGroup>
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/File.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/File.ts
new file mode 100644
index 0000000..9162fef
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/File.ts
@@ -0,0 +1,31 @@
+import { importFileToService, exportFileToClient } from '@/api/file'
+import { ElMessage } from 'element-plus'
+import { downloadFile } from '@/utils'
+import dayjs from 'dayjs'
+
+export const useFile = () => {
+ /**
+ * 瀵煎叆鏂囦欢
+ * @param url
+ */
+ const importFile = async (url: string, file: File) => {
+ const formData = new FormData()
+ formData.append('file', file)
+ await importFileToService(url, formData)
+ ElMessage('瀵煎叆鎴愬姛')
+ }
+ /**
+ * 瀵煎嚭鏂囦欢
+ * @param url
+ */
+ const exportFile = async (url: string, params: any, name: string) => {
+ const res = await exportFileToClient(url, params)
+ downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.xlsx`)
+ ElMessage.success('瀵煎嚭鎴愬姛')
+ }
+
+ return {
+ importFile,
+ exportFile,
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTask.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTask.ts
new file mode 100644
index 0000000..a3f1c4d
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTask.ts
@@ -0,0 +1,275 @@
+import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WorkTask } from '../Models/WorkTask'
+import { ElMessage } from 'element-plus'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { useFile } from './File'
+
+interface CurrentType {
+ row: any
+ index: number
+}
+export const useWorkTask = (props: any, ctx?: any) => {
+ const workTask = injectModel<WorkTask>('workTask')
+ const { exportFile } = useFile()
+ /**
+ * 澶撮儴閰嶇疆
+ */
+ const headers = ref({})
+ /**
+ * 鍔ㄦ�佸垪閰嶇疆
+ */
+ const workTaskColumns = ref<Record<string, any>>([])
+ /**
+ * 鎼滅储鍊�
+ */
+ const search = ref('')
+
+ /**
+ * 鎺掑簭
+ */
+ const sort = ref(0)
+ /**
+ * 閫夋嫨椤�
+ */
+ const selection = ref([])
+ /**
+ * 褰撳墠閫変腑鐨勮
+ */
+ const current = ref<any>(null)
+ /**
+ * 鏁版嵁婧�
+ */
+ const dataSource: Ref<any[]> = ref([])
+
+ /**
+ * 琛ㄦ牸
+ */
+ const tableRef = ref()
+ const dialogConfig = reactive({
+ visible: false,
+ title: '',
+ isAdd: false,
+ })
+ const dialogConfigForQuery = reactive({
+ visible: false,
+ title: '',
+ isAdd: false,
+ })
+
+
+ const dialogSettingConfig = reactive({
+ visible: false,
+ title: '',
+ })
+
+ /**
+ * 鍒嗛〉鏁版嵁
+ */
+ const paginationParams = ref({})
+
+ /**
+ * 鎵撳紑璇︽儏
+ * @param row
+ */
+ const openDetail = (row: any) => {
+ current.value = row
+ dialogConfig.visible = true
+ dialogConfig.title = row.name
+ dialogConfig.isAdd = false
+ sort.value = row.sort
+ }
+
+ const contextMenu = [
+ {
+ label: '灞曞紑璇︽儏',
+ fn: (c: CurrentType) => {
+ current.value = null
+ sort.value = c.row.sort
+ nextTick(() => openDetail(c.row))
+ },
+ divided: true,
+ icon: 'o',
+ },
+ // {
+ // label: '鍚戜笂娣诲姞',
+ // fn: (c: CurrentType, pageNum: number) => {
+ // current.value = null
+ // sort.value = c.index + 1 + (pageNum - 1) * 50
+ // dialogConfig.visible = true
+ // dialogConfig.title = '娣诲姞'
+ // dialogConfig.isAdd = false
+ // },
+ // divided: true,
+ // icon: 'up',
+ // },
+ // {
+ // label: '鍚戜笅娣诲姞',
+ // fn: (c: CurrentType, pageNum: number) => {
+ // current.value = null
+ // sort.value = c.index + 2 + (pageNum - 1) * 50
+ // dialogConfig.visible = true
+ // dialogConfig.title = '娣诲姞'
+ // dialogConfig.isAdd = false
+ // },
+ // divided: true,
+ // icon: 'down',
+ // },
+ // {
+ // label: '鍒涘缓鍓湰',
+ // fn: async ({ row }: CurrentType) => {
+ // await workTask.cloneData([row.id])
+ // ElMessage.success('鍒涘缓鍓湰鎴愬姛')
+ // tableRef.value?.getList()
+ // },
+ // divided: true,
+ // icon: 'copy',
+ // },
+ {
+ label: '鍒犻櫎',
+ fn: async (c: CurrentType) => {
+ const names = selection.value.map((item: { son_TaskCode: string }) => item.son_TaskCode)
+ ConfirmBox(
+ `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.son_TaskCode}`
+ ).then(async () => {
+ const ids = selection.value.map((item: { id: string }) => item.id)
+ await workTask.deleteWorkTasks(ids.length ? ids : [c.row.id])
+ ElMessage.success('鍒犻櫎鎴愬姛')
+ tableRef.value.getList()
+ })
+ },
+ icon: 'close',
+ },
+ ]
+
+ const onCheck = (records: any) => {
+ selection.value = records
+ }
+
+ const onAddWorkTask = () => {
+ const params = tableRef.value?.getPaginationParams()
+ current.value = null
+ dialogConfig.visible = true
+ dialogConfig.isAdd = true
+ dialogConfig.title = '娣诲姞'
+ sort.value = params.totalCount + 1
+ }
+
+ //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€��
+ const onAdvancedQuery = () => {
+ const params = tableRef.value?.getPaginationParams()
+ current.value = null
+ dialogConfigForQuery.visible = true
+ dialogConfigForQuery.isAdd = true
+ dialogConfigForQuery.title = '楂樼骇鏌ヨ'
+ }
+
+ const onConfirmWorkTask = async () => {
+ dialogConfig.visible = false
+ if (dialogConfig.isAdd) {
+ tableRef.value?.scrollToRow({
+ skip: true,
+ })
+ } else {
+ await tableRef.value?.getList()
+ }
+ }
+ /**
+ * 琛岀偣鍑绘椂鏇存柊current
+ */
+ const onRowClick = ({ row }: any) => {
+ if (dialogConfig.visible && current.value) {
+ current.value = row
+ }
+ }
+ /**
+ * 瀵煎嚭
+ */
+ const onExport = (data={}) => {
+ //const params = tableRef.value?.getParams()
+ exportFile('/api/v1/PipeLineLems/workTask/export', data, '浣滀笟浠诲姟')
+ }
+
+ /**
+ * 鍏抽敭瀛楁悳绱�
+ */
+ const onSearch = () => {
+ tableRef.value?.getList({
+ Filter: search.value,
+ })
+ }
+
+ /**
+ * 閲嶇疆琛ㄦ牸鏁版嵁
+ */
+ const reloadList = () => {
+ tableRef.value?.getList()
+ }
+ /**
+ * 涓婁紶鎴愬姛
+ */
+ const onSuccess = () => {
+ tableRef.value?.getList()
+ ElMessage.success('瀵煎叆鎴愬姛')
+ }
+ /**
+ * 澶辫触
+ * @param err
+ */
+ const onError = (err: any) => {
+ try {
+ const message = JSON.parse(err.message)
+ ElMessage.error(message.msg)
+ } catch (error) {
+ ElMessage.error('瀵煎叆澶辫触')
+ }
+ }
+ /**
+ * 涓婁紶閽╁瓙
+ */
+ const onBeforeUpload = (file: File) => {
+ const format = ['xlsx', 'xls', 'csv']
+ if (!format.includes(file.name.split('.')[1])) {
+ ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�')
+ return false
+ }
+ return true
+ }
+
+ onMounted(() => {
+ headers.value = {
+ Authorization: `Bearer ${sessionStorage.getItem('Token')}`,
+ 'X-Project': sessionStorage.getItem('X-Project'),
+ }
+ })
+
+ ctx.expose({
+ reloadList,
+ })
+
+ return {
+ dataSource,
+ contextMenu,
+ dialogConfig,
+ dialogConfigForQuery,
+ dialogSettingConfig,
+ tableRef,
+ current,
+ search,
+ sort,
+ workTaskColumns,
+ paginationParams,
+ headers,
+ onBeforeUpload,
+ onError,
+ onSuccess,
+ openDetail,
+ onSearch,
+ onExport,
+ onRowClick,
+ onConfirmWorkTask,
+ onCheck,
+ onAddWorkTask,
+ onAdvancedQuery
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskDrawer.tsx
new file mode 100644
index 0000000..77fb5f5
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskDrawer.tsx
@@ -0,0 +1,655 @@
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WorkTaskDrawer } from '../Models/WorkTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+ BOOLEAN_OPTIONS_AddEdit
+} from '@/utils/commonOptionConstants';
+
+export const useWorkTaskDrawer = (props: any, ctx?: any) => {
+ const workTaskDrawer = injectModel<WorkTaskDrawer>('workTaskDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ const initiateData: Ref<Record<string, any>> = ref({})
+ const formData = ref<Record<string, any>>({})
+ // ref
+ const formRef = ref()
+
+ const disabled = ref(false)
+
+ const current = computed(() => {
+ return props.row || null
+ })
+
+
+ const datePicker = (attrs) => {
+ return (
+ <el-date-picker
+ type="date"
+ format="YYYY-MM-DD HH:mm:ss"
+ formatValue="YYYY-MM-DD HH:mm:ss"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+ const inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const dateTimePicker = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetime"
+ format="YYYY-MM-DD HH:mm:ss"
+ formatValue="YYYY-MM-DD HH:mm:ss"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 娣诲姞鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '瀛愪换鍔$紪鐮�',
+ prop: 'son_TaskCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ瓙浠诲姟缂栫爜',
+ rules: [{required: true, message: '瀛愪换鍔$紪鐮佷笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '浠诲姟缂栫爜',
+ prop: 'taskCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔$紪鐮�',
+ rules: [{required: true, message: '浠诲姟缂栫爜涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '璁″垝鐘舵��',
+ prop: 'workPlanStatus',
+ el: 'select',
+ clearable:true,
+ options: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掔姸鎬�',
+ rules: [{required: true, message: '璁″垝鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '鍙枡鐘舵��',
+ prop: 'callMaterialStatus',
+ el: 'select',
+ clearable:true,
+ options: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�',
+ rules: [{required: true, message: '鍙枡鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }],
+ },
+ {
+ label: '鍘熸枡鏍囪瘑',
+ prop: 'dataIdentifier',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欐爣璇�',
+ },
+ {
+ label: '鍘熸枡鍨嬪彿',
+ prop: 'materialMode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�',
+ },
+ {
+ label: '闀垮害(mm)',
+ prop: 'length',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ暱搴�(mm)',
+ rules: [{required: true, message: '闀垮害(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鎵撶爜鍐呭',
+ prop: 'markingContent',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墦鐮佸唴瀹�',
+ },
+ {
+ label: '鎵撶爜浣嶇疆',
+ prop: 'markingPosition',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墦鐮佷綅缃�',
+ rules: [{required: true, message: '鎵撶爜浣嶇疆涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鍒囧壊浣嶇疆',
+ prop: 'cuttingPosition',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垏鍓蹭綅缃�',
+ rules: [{required: true, message: '鍒囧壊浣嶇疆涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '绠℃鏁伴噺',
+ prop: 'quantity',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 1,
+ precision: 0,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈垫暟閲�',
+ rules: [{required: true, message: '绠℃鏁伴噺涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '娉曞叞鍘氬害(mm)',
+ prop: 'flangeThickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板帤搴�(mm)',
+ rules: [{required: true, message: '娉曞叞鍘氬害(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '娉曞叞鐩村緞(mm)',
+ prop: 'flangeInnerDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏扮洿寰�(mm)',
+ rules: [{required: true, message: '娉曞叞鐩村緞(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '娉曞叞鍏О鍘嬪姏',
+ prop: 'weldingHeatInput',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板叕绉板帇鍔�',
+ },
+ {
+ label: '娉曞叞鍐茬爜鍐呭',
+ prop: 'pipeAllowableStress',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板啿鐮佸唴瀹�',
+ },
+ {
+ label: '濂楃闀垮害(mm)',
+ prop: 'pipeDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ绠¢暱搴�(mm)',
+ rules: [{required: true, message: '濂楃闀垮害(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '濂楃鐩村緞(mm)',
+ prop: 'pipeWallThickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ绠$洿寰�(mm)',
+ rules: [{required: true, message: '濂楃鐩村緞(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '宸ュ巶浠g爜',
+ prop: 'factoryCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐鍘備唬鐮�',
+ },
+ {
+ label: '浜у搧浠g爜',
+ prop: 'productCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ骇鍝佷唬鐮�',
+ },
+ {
+ label: '宸ヤ綅浠g爜',
+ prop: 'workstationCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐浣嶄唬鐮�',
+ },
+ {
+ label: '璁惧浠g爜',
+ prop: 'equipmentCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ澶囦唬鐮�',
+ },
+ {
+ label: '浜х嚎缂栫爜',
+ prop: 'prodLineCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ骇绾跨紪鐮�',
+ },
+ {
+ label: '鑸瑰彿',
+ prop: 'shipNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ埞鍙�',
+ },
+ {
+ label: '椤圭洰鍙�',
+ prop: 'projectNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ」鐩彿',
+ },
+ {
+ label: '宸ュ簭鍚嶇О',
+ prop: 'processName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐搴忓悕绉�',
+ },
+ {
+ label: '绠′欢缂栫爜',
+ prop: 'pipeFittingCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ浠剁紪鐮�',
+ },
+ {
+ label: '椤哄簭鍙�',
+ prop: 'preSerialNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ『搴忓彿',
+ },
+ {
+ label: '绠℃缂栫爜',
+ prop: 'pipeSpecCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈电紪鐮�',
+ },
+ {
+ label: '绠℃鍚嶇О',
+ prop: 'pipeSectionName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈靛悕绉�',
+ },
+ {
+ label: '澶栧緞(mm)',
+ prop: 'outerDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ寰�(mm)',
+ rules: [{required: true, message: '澶栧緞(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '澹佸帤(mm)',
+ prop: 'thickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ鍘�(mm)',
+ rules: [{required: true, message: '澹佸帤(mm)涓嶈兘涓虹┖', trigger: 'blur' }],
+ },
+ {
+ label: '鏉愯川',
+ prop: 'material',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ潗璐�',
+ },
+ {
+ label: '宸ヨ壓娴佸悜缂栧彿',
+ prop: 'processRouteNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�',
+ },
+ {
+ label: '璁″垝寮�濮嬫椂闂�',
+ prop: 'plannedStartTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(datePicker, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�',
+ },
+ {
+ label: '璁″垝瀹屾垚鏃堕棿',
+ prop: 'plannedEndTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(datePicker, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掑畬鎴愭椂闂�',
+ },
+ {
+ label: '鐝粍淇℃伅',
+ prop: 'teamInfo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ彮缁勪俊鎭�',
+ },
+ {
+ label: '鏃堕棿鎴�',
+ prop: 'timestamp',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ椂闂存埑',
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ if (checkIsEqualObject()) {
+ visible.value = false
+ done && done()
+ } else {
+ ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+ .then(() => {
+ onConfirm()
+ })
+ .catch(() => {
+ visible.value = false
+ done && done()
+ })
+ }
+ }
+ }
+ /**
+ * 淇濆瓨
+ */
+ const onConfirm = async () => {
+ await formRef.value?.validate()
+ const data = {
+ son_TaskCode: formData.value.son_TaskCode,
+taskCode: formData.value.taskCode,
+workPlanStatus: formData.value.workPlanStatus,
+callMaterialStatus: formData.value.callMaterialStatus,
+dataIdentifier: formData.value.dataIdentifier,
+materialMode: formData.value.materialMode,
+length: formData.value.length,
+markingContent: formData.value.markingContent,
+markingPosition: formData.value.markingPosition,
+cuttingPosition: formData.value.cuttingPosition,
+quantity: formData.value.quantity,
+flangeThickness: formData.value.flangeThickness,
+flangeInnerDiameter: formData.value.flangeInnerDiameter,
+weldingHeatInput: formData.value.weldingHeatInput,
+pipeAllowableStress: formData.value.pipeAllowableStress,
+pipeDiameter: formData.value.pipeDiameter,
+pipeWallThickness: formData.value.pipeWallThickness,
+factoryCode: formData.value.factoryCode,
+productCode: formData.value.productCode,
+workstationCode: formData.value.workstationCode,
+equipmentCode: formData.value.equipmentCode,
+prodLineCode: formData.value.prodLineCode,
+shipNumber: formData.value.shipNumber,
+projectNumber: formData.value.projectNumber,
+processName: formData.value.processName,
+pipeFittingCode: formData.value.pipeFittingCode,
+preSerialNumber: formData.value.preSerialNumber,
+pipeSpecCode: formData.value.pipeSpecCode,
+pipeSectionName: formData.value.pipeSectionName,
+outerDiameter: formData.value.outerDiameter,
+thickness: formData.value.thickness,
+material: formData.value.material,
+processRouteNumber: formData.value.processRouteNumber,
+plannedStartTime: formData.value.plannedStartTime,
+plannedEndTime: formData.value.plannedEndTime,
+teamInfo: formData.value.teamInfo,
+timestamp: formData.value.timestamp,
+remark: formData.value.remark,
+ }
+ if (!current.value) {
+ await workTaskDrawer.addWorkTask(data)
+ } else {
+ const id = current.value.id
+ await workTaskDrawer.updateWorkTask(id, data)
+ }
+ ElMessage.success('淇濆瓨鎴愬姛')
+ ctx.emit('confirm')
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ const updateFormItemOptions = (propName: string, enumData: any[]) => {
+ const item = formItems.find((item) => item.prop === propName)
+ if (item && enumData) {
+ item.options = enumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ }
+ }
+ /**
+ * 閫氱敤鏌ヨ鏋氫妇
+ */
+ const commonQueryEnumForFrom = async () => {
+ const workPlanStatusEnumEnum = await workTaskDrawer.getWmsEnumData({
+ EnumName: 'WorkPlanStatusEnum',
+})
+updateFormItemOptions('workPlanStatus', workPlanStatusEnumEnum)
+const callMaterialStatusEnumEnum = await workTaskDrawer.getWmsEnumData({
+ EnumName: 'CallMaterialStatusEnum',
+})
+updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum)
+
+ }
+ commonQueryEnumForFrom()
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ if (current.value) {
+ const res = await workTaskDrawer.getWorkTaskDetail(current.value)
+
+ formData.value = {
+ son_TaskCode: res.son_TaskCode,
+taskCode: res.taskCode,
+workPlanStatus: res.workPlanStatus,
+callMaterialStatus: res.callMaterialStatus,
+dataIdentifier: res.dataIdentifier,
+materialMode: res.materialMode,
+length: res.length,
+markingContent: res.markingContent,
+markingPosition: res.markingPosition,
+cuttingPosition: res.cuttingPosition,
+quantity: res.quantity,
+flangeThickness: res.flangeThickness,
+flangeInnerDiameter: res.flangeInnerDiameter,
+weldingHeatInput: res.weldingHeatInput,
+pipeAllowableStress: res.pipeAllowableStress,
+pipeDiameter: res.pipeDiameter,
+pipeWallThickness: res.pipeWallThickness,
+factoryCode: res.factoryCode,
+productCode: res.productCode,
+workstationCode: res.workstationCode,
+equipmentCode: res.equipmentCode,
+prodLineCode: res.prodLineCode,
+shipNumber: res.shipNumber,
+projectNumber: res.projectNumber,
+processName: res.processName,
+pipeFittingCode: res.pipeFittingCode,
+preSerialNumber: res.preSerialNumber,
+pipeSpecCode: res.pipeSpecCode,
+pipeSectionName: res.pipeSectionName,
+outerDiameter: res.outerDiameter,
+thickness: res.thickness,
+material: res.material,
+processRouteNumber: res.processRouteNumber,
+plannedStartTime: res.plannedStartTime,
+plannedEndTime: res.plannedEndTime,
+teamInfo: res.teamInfo,
+timestamp: res.timestamp,
+remark: res.remark,
+ id: res.id,
+ }
+ disabled.value = true
+ updateCheckData()
+ } else {
+ formData.value = {}
+
+ disabled.value = false
+ updateCheckData()
+ }
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirm,
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskQueryDrawer.tsx
new file mode 100644
index 0000000..a745033
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Controllers/WorkTaskQueryDrawer.tsx
@@ -0,0 +1,879 @@
+import {
+ ref,
+ onMounted,
+ reactive,
+ computed,
+ Ref,
+ watch,
+ SetupContext,
+ h,
+} from 'vue'
+import { injectModel } from '@/libs/Provider/Provider'
+import { WorkTaskDrawer } from '../Models/WorkTaskDrawer'
+import { ElMessage } from 'element-plus'
+import isEqual from 'lodash/isEqual'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
+import { cloneDeep } from 'lodash'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+ FILTER_MODE_OPTIONS_STRING,
+ FILTER_MODE_OPTIONS_NUM,
+ FILTER_MODE_OPTIONS_BOOL
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
+// 寮曞叆鍏叡琛ㄥ崟宸ュ叿鏂囦欢
+import { collectFormDataForHighQuery,onResetForHighSelect,onResetForHighQuery } from '@/utils/myformUtils';
+import {
+ BOOLEAN_OPTIONS
+} from '@/utils/commonOptionConstants';
+
+export const useWorkTaskQueryDrawer = (props: any, ctx?: any) => {
+ const workTaskDrawer = injectModel<WorkTaskDrawer>('WorkTaskDrawer')
+ /**
+ * 鐢ㄦ潵瀵规瘮鐨勫垵濮嬪寲鏁版嵁
+ */
+ const initiateData: Ref<Record<string, any>> = ref({})
+ const formData = ref<Record<string, any>>({})
+ // ref
+ const formRef = ref()
+
+ const disabled = ref(false)
+
+ const current = computed(() => {
+ return props.row || null
+ })
+
+ const inputNumber = (attrs) => {
+ return (
+ <el-input-number
+ min="1"
+ step="1"
+ precision="0"
+ {...attrs}
+ ></el-input-number>
+ )
+ }
+
+ const datePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="daterange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const dateTimePickerRange = (attrs) => {
+ return (
+ <el-date-picker
+ type="datetimerange"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ {...attrs}
+ ></el-date-picker>
+ )
+ }
+
+ const visible = computed({
+ get() {
+ return props.modelValue
+ },
+ set(val) {
+ ctx.emit('update:modelValue', val)
+ },
+ })
+ /**
+ * 楂樼骇鏌ヨ鐨刦orm瀛楁
+ */
+ const formItems = reactive([
+ {
+ label: '瀛愪换鍔$紪鐮�',
+ prop: 'son_TaskCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ瓙浠诲姟缂栫爜',
+ highSelectAttrs:{
+ prop: 'son_TaskCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '浠诲姟缂栫爜',
+ prop: 'taskCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ换鍔$紪鐮�',
+ highSelectAttrs:{
+ prop: 'taskCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '璁″垝鐘舵��',
+ prop: 'workPlanStatus',
+ el: 'select',
+ clearable:true,
+ option: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掔姸鎬�',
+ highSelectAttrs:{
+ prop: 'workPlanStatus_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_BOOL
+ }
+ },
+ {
+ label: '鍙枡鐘舵��',
+ prop: 'callMaterialStatus',
+ el: 'select',
+ clearable:true,
+ option: [],
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ彨鏂欑姸鎬�',
+ highSelectAttrs:{
+ prop: 'callMaterialStatus_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_BOOL
+ }
+ },
+ {
+ label: '鍘熸枡鏍囪瘑',
+ prop: 'dataIdentifier',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欐爣璇�',
+ highSelectAttrs:{
+ prop: 'dataIdentifier_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鍘熸枡鍨嬪彿',
+ prop: 'materialMode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ師鏂欏瀷鍙�',
+ highSelectAttrs:{
+ prop: 'materialMode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '闀垮害(mm)',
+ prop: 'length',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ暱搴�(mm)',
+ highSelectAttrs:{
+ prop: 'length_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '鎵撶爜鍐呭',
+ prop: 'markingContent',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墦鐮佸唴瀹�',
+ highSelectAttrs:{
+ prop: 'markingContent_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鎵撶爜浣嶇疆',
+ prop: 'markingPosition',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ墦鐮佷綅缃�',
+ highSelectAttrs:{
+ prop: 'markingPosition_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '鍒囧壊浣嶇疆',
+ prop: 'cuttingPosition',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垏鍓蹭綅缃�',
+ highSelectAttrs:{
+ prop: 'cuttingPosition_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '绠℃鏁伴噺',
+ prop: 'quantity',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 1,
+ precision: 0,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈垫暟閲�',
+ highSelectAttrs:{
+ prop: 'quantity_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '娉曞叞鍘氬害(mm)',
+ prop: 'flangeThickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板帤搴�(mm)',
+ highSelectAttrs:{
+ prop: 'flangeThickness_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '娉曞叞鐩村緞(mm)',
+ prop: 'flangeInnerDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏扮洿寰�(mm)',
+ highSelectAttrs:{
+ prop: 'flangeInnerDiameter_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '娉曞叞鍏О鍘嬪姏',
+ prop: 'weldingHeatInput',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板叕绉板帇鍔�',
+ highSelectAttrs:{
+ prop: 'weldingHeatInput_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '娉曞叞鍐茬爜鍐呭',
+ prop: 'pipeAllowableStress',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ硶鍏板啿鐮佸唴瀹�',
+ highSelectAttrs:{
+ prop: 'pipeAllowableStress_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '濂楃闀垮害(mm)',
+ prop: 'pipeDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ绠¢暱搴�(mm)',
+ highSelectAttrs:{
+ prop: 'pipeDiameter_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '濂楃鐩村緞(mm)',
+ prop: 'pipeWallThickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ绠$洿寰�(mm)',
+ highSelectAttrs:{
+ prop: 'pipeWallThickness_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '宸ュ巶浠g爜',
+ prop: 'factoryCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐鍘備唬鐮�',
+ highSelectAttrs:{
+ prop: 'factoryCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '浜у搧浠g爜',
+ prop: 'productCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ骇鍝佷唬鐮�',
+ highSelectAttrs:{
+ prop: 'productCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '宸ヤ綅浠g爜',
+ prop: 'workstationCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐浣嶄唬鐮�',
+ highSelectAttrs:{
+ prop: 'workstationCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '璁惧浠g爜',
+ prop: 'equipmentCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ澶囦唬鐮�',
+ highSelectAttrs:{
+ prop: 'equipmentCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '浜х嚎缂栫爜',
+ prop: 'prodLineCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ骇绾跨紪鐮�',
+ highSelectAttrs:{
+ prop: 'prodLineCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鑸瑰彿',
+ prop: 'shipNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ埞鍙�',
+ highSelectAttrs:{
+ prop: 'shipNumber_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '椤圭洰鍙�',
+ prop: 'projectNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ」鐩彿',
+ highSelectAttrs:{
+ prop: 'projectNumber_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '宸ュ簭鍚嶇О',
+ prop: 'processName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐搴忓悕绉�',
+ highSelectAttrs:{
+ prop: 'processName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '绠′欢缂栫爜',
+ prop: 'pipeFittingCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ浠剁紪鐮�',
+ highSelectAttrs:{
+ prop: 'pipeFittingCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '椤哄簭鍙�',
+ prop: 'preSerialNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ラ『搴忓彿',
+ highSelectAttrs:{
+ prop: 'preSerialNumber_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '绠℃缂栫爜',
+ prop: 'pipeSpecCode',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈电紪鐮�',
+ highSelectAttrs:{
+ prop: 'pipeSpecCode_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '绠℃鍚嶇О',
+ prop: 'pipeSectionName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ娈靛悕绉�',
+ highSelectAttrs:{
+ prop: 'pipeSectionName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '澶栧緞(mm)',
+ prop: 'outerDiameter',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ寰�(mm)',
+ highSelectAttrs:{
+ prop: 'outerDiameter_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '澹佸帤(mm)',
+ prop: 'thickness',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(inputNumber, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ step: 0.01,
+ precision: 2,
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ鍘�(mm)',
+ highSelectAttrs:{
+ prop: 'thickness_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_NUM
+ }
+ },
+ {
+ label: '鏉愯川',
+ prop: 'material',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ潗璐�',
+ highSelectAttrs:{
+ prop: 'material_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '宸ヨ壓娴佸悜缂栧彿',
+ prop: 'processRouteNumber',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ伐鑹烘祦鍚戠紪鍙�',
+ highSelectAttrs:{
+ prop: 'processRouteNumber_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '璁″垝寮�濮嬫椂闂�',
+ prop: 'plannedStartTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掑紑濮嬫椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '璁″垝瀹屾垚鏃堕棿',
+ prop: 'plannedEndTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヨ鍒掑畬鎴愭椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '鐝粍淇℃伅',
+ prop: 'teamInfo',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ョ彮缁勪俊鎭�',
+ highSelectAttrs:{
+ prop: 'teamInfo_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鏃堕棿鎴�',
+ prop: 'timestamp',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ユ椂闂存埑',
+ highSelectAttrs:{
+ prop: 'timestamp_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '鍒涘缓鏃堕棿',
+ prop: 'creationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤烘椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '淇敼鏃堕棿',
+ prop: 'lastModificationTime',
+ el: (props: any, { attrs }: SetupContext) => {
+ return h(dateTimePickerRange, {
+ ...props,
+ clearable: true,
+ ...attrs,
+ })
+ },
+ width: '100%',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀规椂闂�',
+ isDateControl: true, // 鏄惧紡鏍囪涓烘棩鏈熸帶浠�
+ },
+ {
+ label: '鍒涘缓浜�',
+ prop: 'creatorName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ垱寤轰汉',
+ highSelectAttrs:{
+ prop: 'creatorName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '淇敼浜�',
+ prop: 'lastModifierName',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ヤ慨鏀逛汉',
+ highSelectAttrs:{
+ prop: 'lastModifierName_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ {
+ label: '澶囨敞',
+ prop: 'remark',
+ el: 'input',
+ //disabled: disabled,
+ placeholder: '璇疯緭鍏ュ娉�',
+ highSelectAttrs:{
+ prop: 'remark_FilterMode',
+ el: 'select',
+ placeholder: '璇烽�夋嫨',
+ options:FILTER_MODE_OPTIONS_STRING
+ }
+ },
+ ])
+ /**
+ * 鏍¢獙鏄惁鏈夋暟鎹彉鍖�
+ */
+ const checkIsEqualObject = () => {
+ const data = {
+ formData: formData.value,
+ }
+ const check = isEqual(initiateData.value, data)
+ return check
+ }
+// /**
+// * 鑾峰彇琛ㄥ崟鏁版嵁 - 浼樺寲鐗�
+// */
+// const commonGetFormData = () => {
+// const data = {};
+
+// // 閬嶅巻琛ㄥ崟閰嶇疆鏀堕泦鏁版嵁
+// formItems.forEach(item => {
+// // 鏀堕泦鍩虹瀛楁
+// data[item.prop] = formData.value[item.prop] || '';
+
+// // 鏀堕泦杩囨护妯″紡瀛楁
+// if (item.highSelectAttrs && item.highSelectAttrs.prop) {
+// const filterModeProp = item.highSelectAttrs.prop;
+// data[filterModeProp] = formData.value[filterModeProp] || '';
+// }
+// });
+
+// return data;
+// }
+ const onClose = (done: () => void) => {
+ if (visible.value) {
+ visible.value = false
+ const data =collectFormDataForHighQuery(formItems,formData);
+ ctx.emit('close', data)
+ }
+ }
+ /**
+ * 纭鏌ヨ
+ */
+ const onConfirmQuery = async () => {
+ const data =collectFormDataForHighQuery(formItems,formData);
+ ctx.emit('confirmQuery', data)
+ }
+ // /**
+ // * 閲嶇疆鍏叡select鏌ヨ
+ // */
+ // const onResetForHighSelect = () => {
+ // // 閬嶅巻鎵�鏈夎〃鍗曞瓧娈�
+ // formItems.forEach(item => {
+ // // 妫�鏌ュ瓧娈垫槸鍚︽湁楂樼骇鏌ヨ鐨勮繃婊ゆā寮忛厤缃�
+ // if (item.highSelectAttrs && item.highSelectAttrs.prop) {
+ // const filterModeProp = item.highSelectAttrs.prop;
+ // const options = item.highSelectAttrs.options || [];
+
+ // // 濡傛灉瀛樺湪閫夐」锛屽垯璁剧疆涓虹涓�涓�夐」鐨勫��
+ // if (options.length > 0) {
+ // // 鍋囪閫夐」鏍煎紡涓� { value, label } 鎴栫被浼肩粨鏋�
+ // const firstValue = options[0].value !== undefined ? options[0].value : options[0];
+ // formData.value[filterModeProp] = firstValue;
+ // }
+ // }
+ // });
+ // }
+ /**
+ * 閲嶇疆鏌ヨ - 浼樺寲鐗�
+ */
+ const onReset = async () => {
+ // // 1. 娓呯┖鎵�鏈夊熀纭�瀛楁锛堜笉鍖呭惈杩囨护妯″紡瀛楁锛�
+ // const baseFields = formItems.reduce((acc, item) => {
+ // acc[item.prop] = '';
+ // return acc;
+ // }, {});
+
+ // // 2. 搴旂敤鍩虹瀛楁鍒濆鍊�
+ // formData.value = { ...baseFields };
+
+ onResetForHighQuery(formItems,formData);
+
+ // 3. 浣跨敤鍘熸湁鏂规硶閲嶇疆杩囨护妯″紡瀛楁
+ onResetForHighSelect(formItems,formData); // 淇濈暀鍘熸湁鏂规硶璋冪敤
+
+ // 4. 鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+ ctx.emit('restQuery');
+ }
+
+ const updateCheckData = () => {
+ initiateData.value = {
+ formData: {
+ ...formData.value,
+ },
+ }
+ }
+ const updateFormItemOptions = (propName: string, enumData: any[]) => {
+ const item = formItems.find((item) => item.prop === propName)
+ if (item && enumData) {
+ item.options = enumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ }
+ }
+ /**
+ * 閫氱敤鏌ヨ鏋氫妇
+ */
+ const commonQueryEnumForFrom = async () => {
+ const workPlanStatusEnumEnum = await workTaskDrawer.getWmsEnumData({
+ EnumName: 'WorkPlanStatusEnum',
+})
+updateFormItemOptions('workPlanStatus', workPlanStatusEnumEnum)
+const callMaterialStatusEnumEnum = await workTaskDrawer.getWmsEnumData({
+ EnumName: 'CallMaterialStatusEnum',
+})
+updateFormItemOptions('callMaterialStatus', callMaterialStatusEnumEnum)
+
+ }
+ commonQueryEnumForFrom()
+ onResetForHighSelect(formItems,formData);//閲嶇疆鍏叡select鏌ヨ
+ /**
+ * 寮圭獥鎵撳紑鑾峰彇璇︽儏
+ */
+ const onOpen = async () => {
+ disabled.value = false
+ updateCheckData()
+ }
+
+ watch(() => current.value, onOpen)
+
+ return {
+ formItems,
+ formData,
+ visible,
+ formRef,
+ onOpen,
+ onClose,
+ onConfirmQuery,
+ onReset,
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTask.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTask.ts
new file mode 100644
index 0000000..e797eba
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTask.ts
@@ -0,0 +1,30 @@
+import { Base } from '@/libs/Base/Base'
+const request = Base.request
+
+/**
+ * 娣诲姞
+ * @returns
+ */
+export const addWorkTask = (data: any) => {
+ return request.post('/api/v1/PipeLineLems/workTask', data)
+}
+
+/**
+ * 鎵归噺鍒犻櫎
+ * @returns
+ */
+export const deleteWorkTasks = (ids: string[]) => {
+ return request({
+ data: ids,
+ url: '/api/v1/PipeLineLems/workTask',
+ method: 'delete',
+ })
+}
+
+/**
+ * 鍏嬮殕
+ * @returns
+ */
+export const cloneData = (data: any) => {
+ return request.post('/api/v1/PipeLineLems/workTask/clone', data)
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskDrawer.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskDrawer.ts
new file mode 100644
index 0000000..1fd7d98
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskDrawer.ts
@@ -0,0 +1,34 @@
+import { Base } from '@/libs/Base/Base'
+const request = Base.request
+
+/**
+ * 娣诲姞
+ * @returns
+ */
+export const addWorkTask = (data: any) => {
+ return request.post('/api/v1/PipeLineLems/workTask', data)
+}
+
+/**
+ * 鑾峰彇璇︽儏
+ * @returns
+ */
+export const getWorkTask = (id: string) => {
+ return request.get(`/api/v1/PipeLineLems/workTask/${id}`)
+}
+
+/**
+ * 鏇存柊
+ * @returns
+ */
+export const updateWorkTask = (id: string, data: Record<string, any>) => {
+ return request.put(`/api/v1/PipeLineLems/workTask/${id}`, data)
+}
+
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+ return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data)
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskQueryDrawer.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskQueryDrawer.ts
new file mode 100644
index 0000000..ec2326e
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/Service/WorkTaskQueryDrawer.ts
@@ -0,0 +1,35 @@
+import { Base } from '@/libs/Base/Base'
+const request = Base.request
+
+/**
+ * 娣诲姞
+ * @returns
+ */
+export const addWorkTask = (data: any) => {
+ return request.post('/api/v1/PipeLineLems/workTask', data)
+}
+
+/**
+ * 鑾峰彇璇︽儏
+ * @returns
+ */
+export const getWorkTask = (id: string) => {
+ return request.get(`/api/v1/PipeLineLems/workTask/${id}`)
+}
+
+/**
+ * 鏇存柊
+ * @returns
+ */
+export const updateWorkTask = (id: string, data: Record<string, any>) => {
+ return request.put(`/api/v1/PipeLineLems/workTask/${id}`, data)
+}
+
+/**
+ * 鑾峰彇鏋氫妇
+ * @returns
+ */
+export const getWmsEnumData = (data: any) => {
+ return request.post('/api/v1/WareCmsUtilityApi/WmsEnum', data)
+}
+
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTask.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTask.ts
new file mode 100644
index 0000000..afa7a0c
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTask.ts
@@ -0,0 +1,41 @@
+import { Base } from '@/libs/Base/Base'
+import {
+ deleteWorkTasks,
+ addWorkTask,
+ cloneData,
+} from './Service/WorkTask'
+
+export class WorkTask extends Base<{ [key: string]: any }> {
+ constructor() {
+ super({
+ data: [],
+ })
+ }
+ onMounted() {}
+ /**
+ * 鍒犻櫎
+ * @param id
+ * @returns
+ */
+ async deleteWorkTasks(ids: string[]) {
+ return deleteWorkTasks(ids)
+ }
+
+ /**
+ * 娣诲姞鏁版嵁
+ * @param data
+ * @returns
+ */
+ addWorkTask(data: Record<string, any>) {
+ return addWorkTask(data)
+ }
+
+ /**
+ * 鍏嬮殕
+ * @param ids
+ * @returns
+ */
+ cloneData(ids: string[]) {
+ return cloneData(ids)
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskDrawer.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskDrawer.ts
new file mode 100644
index 0000000..68b4a01
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+ addWorkTask,
+ getWorkTask,
+ updateWorkTask,
+ getWmsEnumData,
+} from './Service/WorkTaskDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WorkTaskDrawer extends Base<{ [key: string]: any }> {
+ constructor() {
+ super({
+ data: [],
+ workTask: {},
+ })
+ }
+
+ /**
+ * 娣诲姞
+ * @param data
+ */
+ async addWorkTask(data: Record<string, any>) {
+ return addWorkTask(data)
+ }
+ /**
+ * 鏇存柊
+ * @param data
+ */
+ async updateWorkTask(id: string, data: Record<string, any>) {
+ return updateWorkTask(id, data)
+ }
+
+ /**
+ * 鑾峰彇璇︽儏
+ */
+ async getWorkTaskDetail(current: any, id?: string) {
+ return getWorkTask(id || current?.id)
+ }
+
+ // 鑾峰彇鏋氫妇鍊�
+ async getWmsEnumData(data: Record<string, any>) {
+ return getWmsEnumData(data)
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskQueryDrawer.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskQueryDrawer.ts
new file mode 100644
index 0000000..84d2e80
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Models/WorkTaskQueryDrawer.ts
@@ -0,0 +1,44 @@
+import { Base } from '@/libs/Base/Base'
+import {
+ addWorkTask,
+ getWorkTask,
+ updateWorkTask,
+ getWmsEnumData,
+} from './Service/WorkTaskQueryDrawer'
+import { useGlobalState } from '@/libs/Store/Store'
+
+export class WorkTaskQueryDrawer extends Base<{ [key: string]: any }> {
+ constructor() {
+ super({
+ data: [],
+ workTask: {},
+ })
+ }
+
+ /**
+ * 娣诲姞
+ * @param data
+ */
+ async addWorkTask(data: Record<string, any>) {
+ return addWorkTask(data)
+ }
+ /**
+ * 鏇存柊
+ * @param data
+ */
+ async updateWorkTask(id: string, data: Record<string, any>) {
+ return updateWorkTask(id, data)
+ }
+
+ /**
+ * 鑾峰彇璇︽儏
+ */
+ async getWorkTaskDetail(current: any, id?: string) {
+ return getWorkTask(id || current?.id)
+ }
+
+ // 鑾峰彇鏋氫妇鍊�
+ async getWmsEnumData(data: Record<string, any>) {
+ return getWmsEnumData(data)
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.module.scss b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer {
+ width: 800px;
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.tsx
new file mode 100644
index 0000000..ad6e44f
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskDrawer/WorkTaskDrawer.tsx
@@ -0,0 +1,61 @@
+import { SetupContext, defineComponent } from 'vue'
+import BaseDrawer from '@/components/BaseDrawer/BaseDrawer'
+import styles from './WorkTaskDrawer.module.scss'
+import { useWorkTaskDrawer } from '../../../../Controllers/WorkTaskDrawer.tsx'
+import DyForm from '@/components/DyForm/DyForm'
+
+// @ts-ignore
+export default defineComponent<{
+ [key: string]: any
+}>({
+ name: '寮圭獥',
+ props: {
+ modelValue: {
+ type: Boolean,
+ default: false,
+ },
+ title: {
+ type: String,
+ default: '',
+ },
+ row: {
+ type: Object,
+ },
+ sort: {
+ type: Number,
+ default: 0,
+ },
+ },
+ emits: ['update:modelValue', 'close', 'submit', 'confirm'],
+ setup(props: Record<string, any>, ctx: SetupContext) {
+ const {
+ onClose,
+ onConfirm,
+ onOpen,
+ formRef,
+ visible,
+ formItems,
+ formData,
+ } = useWorkTaskDrawer(props, ctx)
+ return () => (
+ <BaseDrawer
+ class={styles.drawer}
+ size="800px"
+ title={props.title || '娣诲姞'}
+ v-model={visible.value}
+ close-on-click-modal={true}
+ onConfirm={onConfirm}
+ onOpen={onOpen}
+ before-close={onClose}
+ onClose={onClose}
+ >
+ <DyForm
+ ref={formRef}
+ formData={formData.value}
+ labelWidth="106px"
+ formItemProps={formItems}
+ ></DyForm>
+ </BaseDrawer>
+ )
+ },
+})
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.module.scss b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.module.scss
new file mode 100644
index 0000000..177adca
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.module.scss
@@ -0,0 +1,3 @@
+.drawer {
+ width: 800px;
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.tsx
new file mode 100644
index 0000000..a60ac04
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer.tsx
@@ -0,0 +1,71 @@
+/*
+ * 鐗╂枡鍩虹淇℃伅鏌ヨ寮瑰嚭妗�
+*/
+import { SetupContext, defineComponent } from 'vue'
+import BaseQueryDrawer from '@/components/BaseQueryDrawer/BaseQueryDrawer'
+import styles from './WorkTaskQueryDrawer.module.scss'
+import { useWorkTaskQueryDrawer } from '../../../../Controllers/WorkTaskQueryDrawer.tsx'
+import DyFormForHighQuery from '@/components/DyFormForHighQuery/DyFormForHighQuery'
+
+// @ts-ignore
+export default defineComponent<{
+ [key: string]: any
+}>({
+ name: '寮圭獥',
+ props: {
+ //鏋氫妇绫诲瀷瀛楀吀
+ enumListDict:{
+ type: Array as () => Array<{ key: string; value: object }>, // 瀹氫箟鏁扮粍鍏冪礌绫诲瀷
+ default: () => [] // 榛樿鍊�
+ },
+ modelValue: {
+ type: Boolean,
+ default: false,
+ },
+ title: {
+ type: String,
+ default: '',
+ },
+ row: {
+ type: Object,
+ },
+ sort: {
+ type: Number,
+ default: 0,
+ },
+ },
+ emits: ['update:modelValue', 'close', 'submit', 'confirmquery1'],
+ setup(props: Record<string, any>, ctx: SetupContext) {
+ const {
+ onClose,
+ onConfirmQuery,
+ onOpen,
+ onReset,
+ formRef,
+ visible,
+ formItems,
+ formData,
+ } = useWorkTaskQueryDrawer(props, ctx)
+ return () => (
+ <BaseQueryDrawer
+ class={styles.drawer}
+ size="800px"
+ title={props.title || '楂樼骇鏌ヨ'}
+ v-model={visible.value}
+ close-on-click-modal={true}
+ onReset={onReset}
+ onConfirmQueryForBase={onConfirmQuery}
+ onOpen={onOpen}
+ before-close={onClose}
+ onClose={onClose}
+ >
+ <DyFormForHighQuery
+ ref={formRef}
+ formData={formData.value}
+ labelWidth="106px"
+ formItemProps={formItems}
+ ></DyFormForHighQuery>
+ </BaseQueryDrawer>
+ )
+ },
+})
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/Config.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/Config.ts
new file mode 100644
index 0000000..30f5152
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/Config.ts
@@ -0,0 +1,217 @@
+export const columns = [
+ {
+ type: 'seq',
+ width: 60,
+ title: '搴忓彿',
+ },
+ {
+ field: 'son_TaskCode',
+ title: '瀛愪换鍔$紪鐮�',
+ width:160,
+},
+{
+ field: 'taskCode',
+ title: '浠诲姟缂栫爜',
+ width:160,
+},
+{
+ field: 'workPlanStatusDesc',
+ title: '璁″垝鐘舵��',
+ width:160,
+},
+{
+ field: 'callMaterialStatusDesc',
+ title: '鍙枡鐘舵��',
+ width:160,
+},
+{
+ field: 'dataIdentifier',
+ title: '鍘熸枡鏍囪瘑',
+ width:160,
+},
+{
+ field: 'materialMode',
+ title: '鍘熸枡鍨嬪彿',
+ width:160,
+},
+{
+ field: 'length',
+ title: '闀垮害(mm)',
+ width:160,
+},
+{
+ field: 'markingContent',
+ title: '鎵撶爜鍐呭',
+ width:160,
+},
+{
+ field: 'markingPosition',
+ title: '鎵撶爜浣嶇疆',
+ width:160,
+},
+{
+ field: 'cuttingPosition',
+ title: '鍒囧壊浣嶇疆',
+ width:160,
+},
+{
+ field: 'quantity',
+ title: '绠℃鏁伴噺',
+ width:160,
+},
+{
+ field: 'flangeThickness',
+ title: '娉曞叞鍘氬害(mm)',
+ width:160,
+},
+{
+ field: 'flangeInnerDiameter',
+ title: '娉曞叞鐩村緞(mm)',
+ width:160,
+},
+{
+ field: 'weldingHeatInput',
+ title: '娉曞叞鍏О鍘嬪姏',
+ width:160,
+},
+{
+ field: 'pipeAllowableStress',
+ title: '娉曞叞鍐茬爜鍐呭',
+ width:160,
+},
+{
+ field: 'pipeDiameter',
+ title: '濂楃闀垮害(mm)',
+ width:160,
+},
+{
+ field: 'pipeWallThickness',
+ title: '濂楃鐩村緞(mm)',
+ width:160,
+},
+{
+ field: 'factoryCode',
+ title: '宸ュ巶浠g爜',
+ width:160,
+},
+{
+ field: 'productCode',
+ title: '浜у搧浠g爜',
+ width:160,
+},
+{
+ field: 'workstationCode',
+ title: '宸ヤ綅浠g爜',
+ width:160,
+},
+{
+ field: 'equipmentCode',
+ title: '璁惧浠g爜',
+ width:160,
+},
+{
+ field: 'prodLineCode',
+ title: '浜х嚎缂栫爜',
+ width:160,
+},
+{
+ field: 'shipNumber',
+ title: '鑸瑰彿',
+ width:160,
+},
+{
+ field: 'projectNumber',
+ title: '椤圭洰鍙�',
+ width:160,
+},
+{
+ field: 'processName',
+ title: '宸ュ簭鍚嶇О',
+ width:160,
+},
+{
+ field: 'pipeFittingCode',
+ title: '绠′欢缂栫爜',
+ width:160,
+},
+{
+ field: 'preSerialNumber',
+ title: '椤哄簭鍙�',
+ width:160,
+},
+{
+ field: 'pipeSpecCode',
+ title: '绠℃缂栫爜',
+ width:160,
+},
+{
+ field: 'pipeSectionName',
+ title: '绠℃鍚嶇О',
+ width:160,
+},
+{
+ field: 'outerDiameter',
+ title: '澶栧緞(mm)',
+ width:160,
+},
+{
+ field: 'thickness',
+ title: '澹佸帤(mm)',
+ width:160,
+},
+{
+ field: 'material',
+ title: '鏉愯川',
+ width:160,
+},
+{
+ field: 'processRouteNumber',
+ title: '宸ヨ壓娴佸悜缂栧彿',
+ width:160,
+},
+{
+ field: 'plannedStartTime',
+ title: '璁″垝寮�濮嬫椂闂�',
+ width:180,
+},
+{
+ field: 'plannedEndTime',
+ title: '璁″垝瀹屾垚鏃堕棿',
+ width:180,
+},
+{
+ field: 'teamInfo',
+ title: '鐝粍淇℃伅',
+ width:160,
+},
+{
+ field: 'timestamp',
+ title: '鏃堕棿鎴�',
+ width:160,
+},
+{
+ field: 'creationTime',
+ title: '鍒涘缓鏃堕棿',
+ width:180,
+},
+{
+ field: 'lastModificationTime',
+ title: '淇敼鏃堕棿',
+ width:180,
+},
+{
+ field: 'creatorName',
+ title: '鍒涘缓浜�',
+ width:160,
+},
+{
+ field: 'lastModifierName',
+ title: '淇敼浜�',
+ width:160,
+},
+{
+ field: 'remark',
+ title: '澶囨敞',
+ width:160,
+},
+]
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.module.scss b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.module.scss
new file mode 100644
index 0000000..fdf4260
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.module.scss
@@ -0,0 +1,113 @@
+.workTaskContent {
+ width: 100%;
+ height: 100%;
+
+ .workTaskList {
+ width: 100%;
+ height: calc(100% - 70px);
+ }
+ .headerContent {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 43px;
+ }
+ .header {
+ margin-bottom: 12px;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+ }
+}
+
+.tagBox {
+ width: auto;
+ min-width: 80px;
+ height: 24px;
+ background: #ffffff;
+ border-radius: 19px 19px 19px 19px;
+ opacity: 1;
+ border: 1px dashed #bcc4cc;
+ width: 50px;
+ height: 20px;
+ font-size: 14px;
+ font-family: PingFang SC, PingFang SC;
+ font-weight: 400;
+ color: #5a84ff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ // cursor: pointer;
+}
+
+.group {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.groupTable {
+ width: 100%;
+}
+
+.overBox {
+ width: 100%;
+ height: calc(100% - 20px);
+ overflow: auto;
+ :global(.cs-collapse-item__header) {
+ background-color: #f1f1f1;
+ padding: 0 20px;
+ height: 35px;
+ font-size: 16px;
+ font-family: PingFang SC, PingFang SC;
+ font-weight: 500;
+ }
+ :global(.cs-collapse-item__content) {
+ padding-bottom: 0px;
+ }
+}
+.groupHeader {
+ width: 100%;
+ height: 30px;
+ background: #ccc;
+}
+
+.hideBlock {
+ display: none;
+}
+.queryForm {
+ padding: 10px;
+ background: #f5f7fa;
+ margin-bottom: 0px;
+ border-radius: 4px;
+
+ .el-form-item {
+ margin-right: 20px;
+ margin-bottom: 0;
+
+ // 缁熶竴杈撳叆妗嗗拰閫夋嫨妗嗙殑瀹藉害
+ .el-input, .el-select {
+ width: 200px; // 璁剧疆缁熶竴鐨勫搴�
+ }
+
+ // 閫夋嫨妗嗗唴閮ㄨ緭鍏ユ鏍峰紡
+ .el-select .el-input__wrapper {
+ height: 32px; // 涓庤緭鍏ユ楂樺害涓�鑷�
+ padding: 1px 11px; // 涓庤緭鍏ユ鍐呰竟璺濅竴鑷�
+ }
+
+ // 鏃ユ湡閫夋嫨鍣ㄥ搴�
+ .el-date-editor {
+ width: 220px;
+ }
+ }
+}
+
+// 濡傛灉闇�瑕佹洿绮剧‘鐨勬帶鍒讹紝鍙互鍗曠嫭璁剧疆
+.formItem {
+ width: 200px;
+
+ &.el-input, &.el-select {
+ width: 100%;
+ }
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.tsx
new file mode 100644
index 0000000..8045a4e
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/Pages/WorkTask/WorkTask.tsx
@@ -0,0 +1,409 @@
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
+import type { Ref } from 'vue'
+import BaseTable from '@/components/Table/Table'
+import styles from './WorkTask.module.scss'
+import { useWorkTask } from '../../../Controllers/WorkTask'
+import IconButton from '@/components/IconButton/IconButton'
+import WorkTaskDrawer from '../Dialog/WorkTaskDrawer/WorkTaskDrawer'
+import WorkTaskQueryDrawer from '../Dialog/WorkTaskQueryDrawer/WorkTaskQueryDrawer'
+import Search from '@/components/Search/Search'
+import { columns } from './Config'
+import TdButton from '@/components/TdButton/TdButton'
+import { vPermission } from '@/libs/Permission/Permission'
+import dayjs from 'dayjs'
+import {
+ getWmsEnumData
+} from '@/widgets/WorkTask/Models/Service/WorkTaskDrawer'
+import {
+ ElInput,
+ ElSelect,
+ ElOption,
+ ElDatePicker,
+ ElForm,
+ ElFormItem,
+} from 'element-plus'
+import { injectModel } from '@/libs/Provider/Provider'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import {
+ FILTER_MODE_OPTIONS_STRING
+} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
+
+interface RenderTableType {
+ url?: string
+ dataSource: Ref<any[]>
+ isDrag?: boolean
+ isChecked?: boolean
+ isHidePagination?: boolean
+ params?: Record<string, any>
+ autoHeight?: boolean
+}
+
+export default defineComponent({
+ name: 'WorkTask',
+ directives: {
+ permission: vPermission,
+ },
+ setup(props, ctx) {
+ const {
+ dataSource,
+ contextMenu,
+ dialogConfig,
+ dialogConfigForQuery,
+ tableRef,
+ current,
+ search,
+ sort,
+ headers,
+ onError,
+ onSearch,
+ onRowClick,
+ onConfirmWorkTask,
+ onCheck,
+ onAddWorkTask,
+ onAdvancedQuery,
+ onExport,
+ openDetail,
+ onSuccess,
+ onBeforeUpload,
+ } = useWorkTask(props, ctx)
+
+ //瀹氫箟楂樼骇鏌ヨ寮曠敤
+ const workTaskQueryDrawerRef=ref(null);
+ // 鏂板鐨勬煡璇㈡潯浠�
+ const queryForm = ref({
+ searchVal: '',
+ str_searchFormInputAttrs:[],
+ searchVal_FilterMode:''
+ })
+ //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+ const _searchFormInputAttrs = ref([
+ 'Son_TaskCode','TaskCode','DataIdentifier','MaterialMode','MarkingContent','WeldingHeatInput','PipeAllowableStress','FactoryCode','ProductCode','WorkstationCode','EquipmentCode','ProdLineCode','ShipNumber','ProjectNumber','ProcessName','PipeFittingCode','PreSerialNumber','PipeSpecCode','PipeSectionName','Material','ProcessRouteNumber','TeamInfo','Timestamp','CreatorName','LastModifierName','Remark'
+ ]);
+ const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ瓙浠诲姟缂栫爜/浠诲姟缂栫爜/鍘熸枡鏍囪瘑/鍘熸枡鍨嬪彿/鎵撶爜鍐呭/娉曞叞鍏О鍘嬪姏/娉曞叞鍐茬爜鍐呭/宸ュ巶浠g爜/浜у搧浠g爜/宸ヤ綅浠g爜/璁惧浠g爜/浜х嚎缂栫爜/鑸瑰彿/椤圭洰鍙�/宸ュ簭鍚嶇О/绠′欢缂栫爜/椤哄簭鍙�/绠℃缂栫爜/绠℃鍚嶇О/鏉愯川/宸ヨ壓娴佸悜缂栧彿/鐝粍淇℃伅/鏃堕棿鎴�/鍒涘缓浜�/淇敼浜�/澶囨敞');
+
+
+ // 鍔ㄦ�佹灇涓鹃�夐」
+ const enumOptions = reactive({
+ workPlanStatus: [] as Array<{label: string; value: any }>,
+callMaterialStatus: [] as Array<{label: string; value: any }>,
+ })
+
+ // 鑾峰彇鏋氫妇鏁版嵁
+ const fetchEnumData = async () => {
+ try {
+ const workPlanStatusEnumData = await getWmsEnumData({
+ EnumName: 'WorkPlanStatusEnum',
+})
+enumOptions.workPlanStatus = workPlanStatusEnumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+}))
+const callMaterialStatusEnumData = await getWmsEnumData({
+ EnumName: 'CallMaterialStatusEnum',
+})
+enumOptions.callMaterialStatus = callMaterialStatusEnumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+}))
+
+ } catch (error) {
+ console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
+ }
+ }
+
+ // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+ const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[],searchVal_FilterMode:'' });
+ // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+ onMounted(() => {
+ fetchEnumData()
+ queryForm.value.searchVal_FilterMode = FILTER_MODE_OPTIONS_STRING[0]?.value || '';
+ _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode;
+ _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+ })
+
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+ const handleQueryForMain = async () => {
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal;
+ _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode;
+ _curHighQueryData.value.str_searchFormInputAttrs = _searchFormInputAttrs.value;
+ tableRef.value.getList(_curHighQueryData.value)
+ }
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
+ const handleQuery = async (extraParams = {}) => {
+ let filteredData = commonGetHighQueryForm(extraParams);
+ commonSaveCurHighQueryData(filteredData);
+ tableRef.value.getList(filteredData)
+ }
+ // 鏂扮増鐨勬煡璇㈤噸缃�
+ const resetQuery = () => {
+ queryForm.value.searchVal = ''
+ queryForm.value.searchVal_FilterMode = FILTER_MODE_OPTIONS_STRING[0]?.value || '';
+ queryForm.value.str_searchFormInputAttrs=_searchFormInputAttrs.value;
+ }
+ //鏂扮増鐨勫鍑烘柟娉�
+ const handleExport=()=>{
+ onExport(_curHighQueryData.value);
+ }
+ // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
+ const closeQuery = (extraParams={}) => {
+ let filteredData = commonGetHighQueryForm(extraParams);
+ console.log("closeQuery鏂规硶");
+ console.log(filteredData);
+ commonSaveCurHighQueryData(filteredData);
+ }
+ //淇濆瓨鏌ヨ鍊�
+ const commonSaveCurHighQueryData=(filteredData={})=>{
+ _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData };
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal
+ _curHighQueryData.value.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+ _curHighQueryData.value.str_searchFormInputAttrs =_searchFormInputAttrs.value;
+ }
+ //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
+ const commonGetHighQueryForm=(extraParams={})=>{
+ // 杩囨护鎺� undefined 鐨勫��
+ let filteredData = Object.assign(
+ {},
+ ...Object.entries(extraParams).map(([key, value]) =>
+ value !== undefined ? { [key]: value } : {}
+ )
+ )
+ //缁勫悎妯$硦鏌ヨ
+ filteredData.searchVal = queryForm.value.searchVal
+ filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+ filteredData.str_searchFormInputAttrs =_searchFormInputAttrs.value;
+ return filteredData;
+ }
+
+
+ /**
+ * @returns 琛ㄦ牸
+ */
+ const RenderBaseTable = (props: RenderTableType) => {
+ const {
+ url,
+ dataSource,
+ isDrag,
+ isChecked,
+ isHidePagination,
+ params,
+ autoHeight,
+ } = props
+
+ return (
+ <div
+ class={{
+ [styles.workTaskList]: true,
+ }}
+ >
+ <BaseTable
+ ref={tableRef}
+ url={url}
+ sortUrlTpl="/api/v1/PipeLineLems/workTask/{id}/adjustsort/{sort}"
+ v-model:dataSource={dataSource.value}
+ columns={columns}
+ contextMenu={contextMenu}
+ params={params}
+ isDrag={isDrag}
+ isChecked={isChecked}
+ autoHeight={autoHeight}
+ onCheck={onCheck}
+ onRowClick={onRowClick}
+ isHidePagination={isHidePagination}
+ pageSize={20}
+ v-slots={{
+ plannedStartTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.plannedStartTime != null
+ ? dayjs(row.plannedStartTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+plannedEndTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.plannedEndTime != null
+ ? dayjs(row.plannedEndTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+creationTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.creationTime != null
+ ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+lastModificationTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.lastModificationTime != null
+ ? dayjs(row.lastModificationTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+isDeleted: ({ row }: any) => {
+ return (
+ <div>
+ {row.isDeleted != null ? (row.isDeleted ? '鏄�' : '鍚�') : '-'}
+ </div>
+ )
+},
+deletionTime: ({ row }: any) => {
+ return (
+ <div>
+ {row.deletionTime != null
+ ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss')
+ : '-'}
+ </div>
+ )
+},
+isDisabled: ({ row }: any) => {
+ return (
+ <div>
+ {row.isDisabled != null ? (row.isDisabled ? '鏄�' : '鍚�') : '-'}
+ </div>
+ )
+},
+ name: ({ row }: any) => {
+ return row?.name ? (
+ <TdButton
+ onClick={() => openDetail(row)}
+ text={<span style="color:#5a84ff">璇︽儏</span>}
+ icon="scale"
+ tip={row?.name}
+ hover
+ >
+ {row?.name}
+ </TdButton>
+ ) : (
+ '-'
+ )
+ },
+ }}
+ ></BaseTable>
+ </div>
+ )
+ }
+
+ return () => {
+ return (
+ <div class={styles.workTaskContent}>
+ {/* 娣诲姞/缂栬緫 */}
+ <WorkTaskDrawer
+ v-model={dialogConfig.visible}
+ title={dialogConfig.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirm={onConfirmWorkTask}
+ />
+ {/* 楂樼骇鏌ヨ */}
+ <WorkTaskQueryDrawer
+ ref="workTaskQueryDrawerRef"
+ v-model={dialogConfigForQuery.visible}
+ title={dialogConfigForQuery.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirmQuery={handleQuery}
+ onRestQuery={resetQuery}
+ onClose={closeQuery}
+ />
+
+ <div class={styles.headerContent}>
+ <div class={styles.header}>
+ <IconButton
+ v-permission="workTask-add"
+ icon="add-p"
+ onClick={onAddWorkTask}
+ type="primary"
+ >
+ 娣诲姞
+ </IconButton>
+ <el-divider direction="vertical" />
+
+ <el-upload
+ v-permission="workTask-import"
+ name="file"
+ accept=".xlsx,.xls,.csv"
+ show-file-list={false}
+ onError={onError}
+ onSuccess={onSuccess}
+ before-upload={onBeforeUpload}
+ headers={headers.value}
+ action="/api/v1/PipeLineLems/workTask/import"
+ >
+ <IconButton icon="in">瀵煎叆</IconButton>
+ </el-upload>
+
+ <IconButton
+ v-permission="workTask-output"
+ icon="out"
+ onClick={handleExport}
+ >
+ 瀵煎嚭
+ </IconButton>
+ </div>
+ <ElFormItem style={{ marginTop: '15px' }}>
+ <ElFormItem label="鍏抽敭瀛�">
+ <el-tooltip
+ class="box-item"
+ effect="dark"
+ content={searchFormInputAttrs_Placeholder.value}
+ placement="top-start"
+ >
+ <ElInput
+ v-model={queryForm.value.searchVal}
+ placeholder={searchFormInputAttrs_Placeholder.value}
+ clearable
+ class={styles.formItem}
+ />
+ </el-tooltip>
+ </ElFormItem>
+ <ElFormItem label="" style="width:100px;">
+ <ElSelect
+ v-model={queryForm.value.searchVal_FilterMode}
+ placeholder="璇烽�夋嫨"
+ class={styles.formItem}
+ >
+ {FILTER_MODE_OPTIONS_STRING.map((option) => (
+ <ElOption
+ key={option.value}
+ label={option.label}
+ value={option.value}
+ />
+ ))}
+ </ElSelect>
+ </ElFormItem>
+ <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
+ 鏌ヨ
+ </IconButton>
+ {/* <IconButton style="" icon="refresh" onClick={resetQuery}>
+ 閲嶇疆
+ </IconButton> */}
+ <IconButton
+ v-permission="workTask-add"
+ icon="search"
+ onClick={onAdvancedQuery}
+ type="primary"
+ >
+ 楂樼骇鏌ヨ
+ </IconButton>
+ </ElFormItem>
+ </div>
+
+ <RenderBaseTable
+ url="/api/v1/PipeLineLems/workTask/page"
+ dataSource={dataSource}
+ isChecked={true}
+ isDrag={true}
+ />
+ </div>
+ )
+ }
+ },
+})
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.module.scss b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.module.scss
new file mode 100644
index 0000000..ad4cde7
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.module.scss
@@ -0,0 +1,7 @@
+.WorkTask {
+ background-color: #fff;
+ border-radius: 5px 5px 0 0;
+ width: 100%;
+ height: 100%;
+ border: 1px solid #dbdbdb;
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.tsx b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.tsx
new file mode 100644
index 0000000..036696a
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/WorkTask.tsx
@@ -0,0 +1,80 @@
+import {
+ Component,
+ DefineComponent,
+ defineComponent,
+ markRaw,
+ ref,
+ SetupContext,
+ onMounted,
+} from 'vue'
+import styles from './WorkTask.module.scss'
+import Tab from '@/components/Tab/Tab'
+import { useProvideModels } from '@/libs/Provider/app'
+import { usePermission } from '@/libs/Permission/Permission'
+import { permissionCodes } from '../enum'
+import { ModuleType, TabItem } from '../type/Type'
+import { getEntityNames } from '@/hooks/hook'
+import TabPane from '@/components/Tab/TabPane'
+
+const Models: ModuleType = import.meta.glob('./config/*.json', {
+ eager: true,
+})
+
+const entityNames = getEntityNames(Models)
+
+const nameToLabelMap = [{ name: 'WorkTask', label: '浣滀笟浠诲姟' }]
+
+export default defineComponent({
+ name: 'WorkTask',
+
+ setup(props, ctx: SetupContext) {
+ useProvideModels()
+ usePermission(props, permissionCodes)
+
+ const rf = ref<{
+ [key: string]: any
+ }>({})
+
+ const tabData = ref<TabItem[]>([])
+
+ const onTabChange = (v: string) => {
+ rf.value?.[v]?.reloadList()
+ }
+
+ const initTableData = async () => {
+ for (const i in entityNames) {
+ const name = entityNames[i]
+ const module = await import(`./Pages/${name}/${name}.tsx`)
+ const WorkTask = markRaw(module.default)
+ const foundLabel =
+ nameToLabelMap.find((item) => item.name === name)?.label || name
+ tabData.value.push({
+ label: foundLabel,
+ name,
+ component: WorkTask,
+ })
+ }
+ }
+
+ initTableData()
+
+ return () => {
+ return (
+ <div class={styles.WorkTask}>
+ <Tab data={tabData.value} type="list" onTab={onTabChange}>
+ {tabData.value.map((widgetInfo) => {
+ const Widget: any = widgetInfo.component
+ return (
+ <TabPane label={widgetInfo.label} name={widgetInfo.name}>
+ <Widget
+ ref={(r: any) => (rf.value['WorkTask'] = r)}
+ ></Widget>
+ </TabPane>
+ )
+ })}
+ </Tab>
+ </div>
+ )
+ }
+ },
+})
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/config/WorkTask.json b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/config/WorkTask.json
new file mode 100644
index 0000000..a9b211b
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/Views/config/WorkTask.json
@@ -0,0 +1,3 @@
+{
+ "name": "WorkTask"
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/enum.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/enum.ts
new file mode 100644
index 0000000..154e8db
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/enum.ts
@@ -0,0 +1,15 @@
+export interface TabType {
+ label: string
+ name: string
+ columns?: any[]
+ data?: any[]
+ isFooter: boolean
+ [key: string]: any
+}
+
+export const permissionCodes = {
+ 'workTask-list': '鍒楄〃-鍒楄〃',
+ 'workTask-add': '鍒楄〃-娣诲姞',
+ 'workTask-import': '鍒楄〃-瀵煎叆',
+ 'workTask-output': '鍒楄〃-杈撳嚭',
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/index.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/index.ts
new file mode 100644
index 0000000..62f5587
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/index.ts
@@ -0,0 +1,14 @@
+import WorkTask from './Views/WorkTask'
+import Setting from '@/components/Setting/Setting'
+import { provider } from '@/provider/index'
+import p from '../../assets/svg/p.svg'
+
+export default {
+ is: 'WorkTask',
+ name: '浣滀笟浠诲姟',
+ category: 'run',
+ icon: p,
+ authorizationRequired: false,
+ canvasView: provider(WorkTask),
+ settingsView: Setting,
+}
diff --git a/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/type/type.d.ts b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/type/type.d.ts
new file mode 100644
index 0000000..10b93d4
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/WorkTask/type/type.d.ts
@@ -0,0 +1,45 @@
+import { Component } from 'vue'
+
+export interface DataItemType {
+ id?: string
+ name?: string
+ code?: string
+ description?: string
+ label?: string
+ value?: string | number
+}
+
+export interface WorkTaskBaseType {
+ id?: string
+ name?: string
+ code?: string
+ value?: number
+ description?: string
+ options?: Array<DataItemType>
+ abilityValue?: number | string
+ data?: DataItemType
+ defaultValue?: string | number
+ flow: string
+}
+
+export interface FlowDefinitionType {
+ id?: string
+ name?: string
+ code?: string
+ description?: string
+}
+
+export type ModuleType = Record<
+ string,
+ {
+ default: Record<string, string>
+ name: string
+ }
+>
+
+export interface TabItem {
+ name: string
+ label: string
+ component: Component
+ hidden?: boolean
+}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
index 7b61b13..f681023 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
@@ -8,6 +8,7 @@
using CMS.Plugin.OrderManagement.Abstractions.Models;
using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrder;
using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan;
+using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkTask;
using CMS.Plugin.PipeLineLems.Application.Contracts.Services;
using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder;
using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord;
@@ -23,6 +24,7 @@
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json;
using Volo.Abp;
+using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
namespace CMS.Plugin.PipeLineLems.Application.Implements;
@@ -112,6 +114,14 @@
//TODO:杩欓噷璋冪敤wms鐨勫彨鏂欐帴鍙�
try
{
+ //棣栧厛鍒ゆ柇搴撳瓨鏄惁瀛樺湪
+ var dto = await IsExistInWms(input.PipeSpecCode);
+ if (dto != null)
+ {
+ throw new UserFriendlyException($"宸茬粡鍒嗘嫞杩囷紝搴撳瓨鍦ㄥ簱浣峽dto.PlaceNo},鎵樼洏鍙穥dto.ContainerNo}");
+ }
+
+
WmsMaterialStockCreateDto param = new WmsMaterialStockCreateDto()
{
ContainerNo = input.ContinerNo,
@@ -258,6 +268,7 @@
};
return response;
}
+
/// <summary>
/// 鍒涘缓浣滀笟璁″垝
/// </summary>
@@ -266,7 +277,6 @@
/// <param name="workPlanAppService"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
-
public async Task<MesOrderResponse> CommonCreatebyApsAsync(List<WorkPlanInput> input, IServiceProvider _serviceProvider,
WorkPlanAppService workPlanAppService,
string userId, string userAccount
@@ -306,6 +316,8 @@
var orderManager = _serviceProvider.GetRequiredService<IOrderManager>();
var productProvider = _serviceProvider.GetRequiredService<IProductProvider>();
var formulaProvider = _serviceProvider.GetRequiredService<IFormulaProvider>();
+
+ var workTaskAppService = _serviceProvider.GetRequiredService<IWorkTaskAppService>();
List<OrderModel> orderModels = new List<OrderModel>();
@@ -443,16 +455,36 @@
insertObj.CreatorName = userAccount;
insertObj.Remark = "绯荤粺瀵煎叆";
await workPlanAppService.CreateAsync(insertObj);
+
+ //澧炲姞鏂板璁″垝浠诲姟琛ㄦ暟鎹� 銆怑ditby shaocx,2025-05-20銆�
+ var org_insertTaskObj = ObjectMapper.Map<WorkPlanCreateDto, WorkTaskCreateDto>(insertObj);
+ org_insertTaskObj.Son_TaskCode = insertObj.TaskCode;
+ await workTaskAppService.CreateAsync(org_insertTaskObj);
+ if (insertObj.ProcessName == "鍒囧壊宸ュ簭")
+ {//鏂板缓 鍒嗘嫞宸ュ簭
+ var insertTaskObj = ObjectMapper.Map<WorkPlanCreateDto, WorkTaskCreateDto>(insertObj);
+ insertTaskObj.Son_TaskCode = insertObj.TaskCode + "_1";
+ insertTaskObj.ProcessName = "鍒嗘嫞宸ュ簭";
+ await workTaskAppService.CreateAsync(insertTaskObj);
+ }
+ else if (insertObj.ProcessName == "瑁呴厤宸ュ簭")
+ {//鏂板缓 娉曞叞鍐茬爜宸ュ簭(澶氫釜)
+ //鐩墠鏆傛椂鎼炴垚涓�涓硶鍏�
+ var insertTaskObj = ObjectMapper.Map<WorkPlanCreateDto, WorkTaskCreateDto>(insertObj);
+ insertTaskObj.Son_TaskCode = insertObj.TaskCode + "_1";
+ insertTaskObj.ProcessName = "娉曞叞鍐茬爜宸ュ簭";
+ await workTaskAppService.CreateAsync(insertTaskObj);
+ }
}
#endregion
await uow.CompleteAsync();
}
- catch (Exception)
+ catch (Exception ex)
{
await uow.RollbackAsync();
- throw;
+ throw ex;
}
finally
{
@@ -1150,6 +1182,50 @@
}
/// <summary>
+ /// 绠℃缂栫爜鏄惁瀛樺湪搴撳瓨涓�
+ /// </summary>
+ /// <param name="pipeSpecCode"></param>
+ /// <returns></returns>
+ /// <exception cref="UserFriendlyException"></exception>
+ public async Task<WmsMaterialStockDto> IsExistInWms(string pipeSpecCode)
+ {
+ //TODO:杩欓噷璋冪敤wms鐨勫簱瀛樻煡璇㈡帴鍙�
+ try
+ {
+ GetWmsMaterialStockInput param = new GetWmsMaterialStockInput()
+ {
+ RedundantField2 = pipeSpecCode,
+ RedundantField2_FilterMode = SearchFilterModeEnum.绮惧噯鏌ヨ
+ };
+
+ string baseUrl = @"http://127.0.0.1:18000/api/v1/HIAWms/";
+ string url = baseUrl + "LMesOperate/FindListByFilter";
+ string json = JsonConvert.SerializeObject(param);
+ var result = HttpApiRequest.HttpPost(url, json);
+ var res = JsonConvert.DeserializeObject<CmsApiResponse<List<WmsMaterialStockDto>>>(result);
+ if (res.Code == 200)
+ {
+ var retData = res.Data as List<WmsMaterialStockDto>;
+ if (retData?.Count > 0)
+ {
+ return retData.First();
+ }
+ return null;
+
+ }
+ else
+ {
+ throw new UserFriendlyException(res.Message);
+ };
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ }
+
+ /// <summary>
/// 鐢熸垚闅忔満鐨刉msTaskNo
/// </summary>
/// <returns>闅忔満鐢熸垚鐨勪换鍔$紪鍙�</returns>
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs
index 5273088..fd98c04 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/CMSPluginDbContext.cs
@@ -34,6 +34,7 @@
builder.ConfigureMyTestEntityName();
builder.ConfigureWorkPlan();
+ builder.ConfigureWorkTask();
builder.ConfigureCallMaterialOrder();
builder.ConfigureCallMaterialOrderRecord();
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.Designer.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.Designer.cs
deleted file mode 100644
index 688e61d..0000000
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.Designer.cs
+++ /dev/null
@@ -1,673 +0,0 @@
-锘�// <auto-generated />
-using System;
-using CMS.Plugin.PipeLineLems.MySQL;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Volo.Abp.EntityFrameworkCore;
-
-#nullable disable
-
-namespace CMS.Plugin.PipeLineLems.MySQL.Migrations
-{
- [DbContext(typeof(CMSPluginDbContext))]
- [Migration("20250515064954_Update1")]
- partial class Update1
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
- .HasAnnotation("ProductVersion", "6.0.16")
- .HasAnnotation("Relational:MaxIdentifierLength", 64);
-
- modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder.CallMaterialOrder", b =>
- {
- b.Property<Guid>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property<int>("CallMaterialStatus")
- .HasColumnType("int")
- .HasComment("鍙枡鐘舵��");
-
- b.Property<string>("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("varchar(40)")
- .HasColumnName("ConcurrencyStamp")
- .HasComment("骞跺彂鎴�");
-
- b.Property<DateTime>("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime")
- .HasComment("鍒涘缓鏃堕棿");
-
- b.Property<Guid?>("CreatorId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId")
- .HasComment("鍒涘缓浜篒D");
-
- b.Property<string>("CreatorName")
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("鍒涘缓浜�");
-
- b.Property<string>("DataIdentifier")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鏍囪瘑");
-
- b.Property<string>("DeleteRemark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍒犻櫎澶囨敞");
-
- b.Property<Guid?>("DeleterId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("DeleterId")
- .HasComment("鍒犻櫎浜篒D");
-
- b.Property<DateTime?>("DeletionTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("DeletionTime")
- .HasComment("鍒犻櫎鏃堕棿");
-
- b.Property<string>("ExtraField1")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁1");
-
- b.Property<string>("ExtraField2")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁2");
-
- b.Property<string>("ExtraField3")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁3");
-
- b.Property<string>("ExtraProperties")
- .HasColumnType("longtext")
- .HasColumnName("ExtraProperties")
- .HasComment("鎵╁睍灞炴��");
-
- b.Property<bool>("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted")
- .HasComment("鏄惁鍒犻櫎");
-
- b.Property<bool?>("IsDisabled")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasComment("鏄惁绂佺敤");
-
- b.Property<DateTime?>("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime")
- .HasComment("淇敼鏃堕棿");
-
- b.Property<Guid?>("LastModifierId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId")
- .HasComment("淇敼浜篒D");
-
- b.Property<string>("LastModifierName")
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("淇敼浜�");
-
- b.Property<string>("MaterialMode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鍨嬪彿");
-
- b.Property<string>("OperationRemark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎿嶄綔澶囨敞");
-
- b.Property<int>("Quantity")
- .HasColumnType("int")
- .HasComment("鍙枡鏁伴噺");
-
- b.Property<string>("Remark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("澶囨敞");
-
- b.Property<int>("Sort")
- .ValueGeneratedOnAdd()
- .HasColumnType("int")
- .HasDefaultValue(0)
- .HasComment("鎺掑簭");
-
- b.Property<string>("WmsRetResult")
- .HasColumnType("longtext")
- .HasComment("WMS杩斿洖缁撴灉");
-
- b.Property<string>("WmsTaskNo")
- .HasColumnType("longtext")
- .HasComment("WMS浠诲姟鍙�");
-
- b.HasKey("Id");
-
- b.HasIndex("DataIdentifier")
- .IsUnique();
-
- b.ToTable("scms_callmaterialorders", (string)null);
-
- b.HasComment("鍙枡鍗曡〃");
- });
-
- modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord.CallMaterialOrderRecord", b =>
- {
- b.Property<Guid>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property<int>("CallMaterialStatus")
- .HasColumnType("int")
- .HasComment("鍙枡鐘舵��");
-
- b.Property<string>("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("varchar(40)")
- .HasColumnName("ConcurrencyStamp")
- .HasComment("骞跺彂鎴�");
-
- b.Property<DateTime>("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime")
- .HasComment("鍒涘缓鏃堕棿");
-
- b.Property<Guid?>("CreatorId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId")
- .HasComment("鍒涘缓浜篒D");
-
- b.Property<string>("CreatorName")
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("鍒涘缓浜�");
-
- b.Property<string>("DataIdentifier")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鏍囪瘑");
-
- b.Property<Guid?>("DeleterId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("DeleterId")
- .HasComment("鍒犻櫎浜篒D");
-
- b.Property<DateTime?>("DeletionTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("DeletionTime")
- .HasComment("鍒犻櫎鏃堕棿");
-
- b.Property<string>("ExtraField1")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁1");
-
- b.Property<string>("ExtraField2")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁2");
-
- b.Property<string>("ExtraField3")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁3");
-
- b.Property<string>("ExtraProperties")
- .HasColumnType("longtext")
- .HasColumnName("ExtraProperties")
- .HasComment("鎵╁睍灞炴��");
-
- b.Property<bool>("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted")
- .HasComment("鏄惁鍒犻櫎");
-
- b.Property<DateTime?>("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime")
- .HasComment("淇敼鏃堕棿");
-
- b.Property<Guid?>("LastModifierId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId")
- .HasComment("淇敼浜篒D");
-
- b.Property<string>("MaterialMode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鍨嬪彿");
-
- b.Property<int>("Quantity")
- .HasColumnType("int")
- .HasComment("鍙枡鏁伴噺");
-
- b.Property<string>("Remark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("澶囨敞");
-
- b.Property<int>("Sort")
- .ValueGeneratedOnAdd()
- .HasColumnType("int")
- .HasDefaultValue(0)
- .HasComment("鎺掑簭");
-
- b.Property<string>("WmsRetResult")
- .HasColumnType("longtext")
- .HasComment("WMS杩斿洖缁撴灉");
-
- b.Property<string>("WmsTaskNo")
- .HasColumnType("longtext")
- .HasComment("WMS浠诲姟鍙�");
-
- b.HasKey("Id");
-
- b.HasIndex("DataIdentifier");
-
- b.ToTable("scms_callmaterialorderrecords", (string)null);
-
- b.HasComment("鍙枡璁板綍琛�");
- });
-
- modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.MyTestEntityNames.MyTestEntityName", b =>
- {
- b.Property<Guid>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property<string>("Code")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("缂栫爜");
-
- b.Property<string>("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("varchar(40)")
- .HasColumnName("ConcurrencyStamp");
-
- b.Property<DateTime>("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime");
-
- b.Property<Guid?>("CreatorId")
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId");
-
- b.Property<Guid?>("DeleterId")
- .HasColumnType("char(36)")
- .HasColumnName("DeleterId");
-
- b.Property<DateTime?>("DeletionTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("DeletionTime");
-
- b.Property<string>("ExtraProperties")
- .HasColumnType("longtext")
- .HasColumnName("ExtraProperties");
-
- b.Property<bool>("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted");
-
- b.Property<bool?>("IsDisabled")
- .HasColumnType("tinyint(1)")
- .HasComment("鏄惁绂佺敤");
-
- b.Property<DateTime?>("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime");
-
- b.Property<Guid?>("LastModifierId")
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId");
-
- b.Property<string>("Name")
- .IsRequired()
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("鍚嶇О");
-
- b.Property<string>("Remark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("澶囨敞");
-
- b.Property<int>("Sort")
- .HasColumnType("int")
- .HasComment("鎺掑簭");
-
- b.HasKey("Id");
-
- b.HasIndex("Name");
-
- b.ToTable("scms_mytestentitynames", (string)null);
-
- b.HasComment("MyTestEntityName");
- });
-
- modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.WorkPlan.WorkPlan", b =>
- {
- b.Property<Guid>("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("char(36)");
-
- b.Property<int>("CallMaterialStatus")
- .HasColumnType("int")
- .HasComment("鍙枡鐘舵��");
-
- b.Property<string>("ConcurrencyStamp")
- .IsConcurrencyToken()
- .HasMaxLength(40)
- .HasColumnType("varchar(40)")
- .HasColumnName("ConcurrencyStamp")
- .HasComment("骞跺彂鎴�");
-
- b.Property<DateTime>("CreationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("CreationTime")
- .HasComment("鍒涘缓鏃堕棿");
-
- b.Property<Guid?>("CreatorId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("CreatorId")
- .HasComment("鍒涘缓浜篒D");
-
- b.Property<string>("CreatorName")
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("鍒涘缓浜�");
-
- b.Property<decimal>("CuttingPosition")
- .HasColumnType("decimal(18,2)")
- .HasComment("鍒囧壊浣嶇疆");
-
- b.Property<string>("DataIdentifier")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鏍囪瘑");
-
- b.Property<string>("DeleteRemark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍒犻櫎澶囨敞");
-
- b.Property<Guid?>("DeleterId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("DeleterId")
- .HasComment("鍒犻櫎浜篒D");
-
- b.Property<DateTime?>("DeletionTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("DeletionTime")
- .HasComment("鍒犻櫎鏃堕棿");
-
- b.Property<string>("EquipmentCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("璁惧浠g爜");
-
- b.Property<string>("ExtraField1")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁1");
-
- b.Property<string>("ExtraField2")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁2");
-
- b.Property<string>("ExtraField3")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎵╁睍瀛楁3");
-
- b.Property<string>("ExtraProperties")
- .HasColumnType("longtext")
- .HasColumnName("ExtraProperties")
- .HasComment("鎵╁睍灞炴��");
-
- b.Property<string>("FactoryCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("宸ュ巶浠g爜");
-
- b.Property<decimal>("FlangeInnerDiameter")
- .HasColumnType("decimal(18,2)")
- .HasComment("娉曞叞鐩村緞(mm)");
-
- b.Property<decimal>("FlangeThickness")
- .HasColumnType("decimal(18,2)")
- .HasComment("娉曞叞鍘氬害(mm)");
-
- b.Property<bool>("IsDeleted")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasColumnName("IsDeleted")
- .HasComment("鏄惁鍒犻櫎");
-
- b.Property<bool?>("IsDisabled")
- .ValueGeneratedOnAdd()
- .HasColumnType("tinyint(1)")
- .HasDefaultValue(false)
- .HasComment("鏄惁绂佺敤");
-
- b.Property<DateTime?>("LastModificationTime")
- .HasColumnType("datetime(6)")
- .HasColumnName("LastModificationTime")
- .HasComment("淇敼鏃堕棿");
-
- b.Property<Guid?>("LastModifierId")
- .HasMaxLength(36)
- .HasColumnType("char(36)")
- .HasColumnName("LastModifierId")
- .HasComment("淇敼浜篒D");
-
- b.Property<string>("LastModifierName")
- .HasMaxLength(64)
- .HasColumnType("varchar(64)")
- .HasComment("淇敼浜�");
-
- b.Property<decimal>("Length")
- .HasColumnType("decimal(18,2)")
- .HasComment("闀垮害(mm)");
-
- b.Property<string>("MarkingContent")
- .HasMaxLength(1024)
- .HasColumnType("varchar(1024)")
- .HasComment("鎵撶爜鍐呭");
-
- b.Property<decimal>("MarkingPosition")
- .HasColumnType("decimal(18,2)")
- .HasComment("鎵撶爜浣嶇疆");
-
- b.Property<string>("Material")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鏉愯川");
-
- b.Property<string>("MaterialMode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鍘熸枡鍨嬪彿");
-
- b.Property<string>("OperationRemark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鎿嶄綔澶囨敞");
-
- b.Property<decimal>("OuterDiameter")
- .HasColumnType("decimal(18,2)")
- .HasComment("澶栧緞(mm)");
-
- b.Property<string>("PipeAllowableStress")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("娉曞叞鍐茬爜鍐呭");
-
- b.Property<decimal>("PipeDiameter")
- .HasColumnType("decimal(18,2)")
- .HasComment("濂楃闀垮害(mm)");
-
- b.Property<string>("PipeFittingCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("绠′欢缂栫爜");
-
- b.Property<string>("PipeSectionName")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("绠℃鍚嶇О");
-
- b.Property<string>("PipeSpecCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("绠℃缂栫爜");
-
- b.Property<decimal>("PipeWallThickness")
- .HasColumnType("decimal(18,2)")
- .HasComment("濂楃鐩村緞(mm)");
-
- b.Property<DateTime?>("PlannedEndTime")
- .HasColumnType("datetime(6)")
- .HasComment("璁″垝瀹屾垚鏃堕棿");
-
- b.Property<DateTime?>("PlannedStartTime")
- .HasColumnType("datetime(6)")
- .HasComment("璁″垝寮�濮嬫椂闂�");
-
- b.Property<string>("PreSerialNumber")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("椤哄簭鍙�");
-
- b.Property<string>("ProcessName")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("宸ュ簭鍚嶇О");
-
- b.Property<string>("ProcessRouteNumber")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("宸ヨ壓娴佸悜缂栧彿");
-
- b.Property<string>("ProdLineCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("浜х嚎缂栫爜");
-
- b.Property<string>("ProductCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("浜у搧浠g爜");
-
- b.Property<string>("ProjectNumber")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("椤圭洰鍙�");
-
- b.Property<int>("Quantity")
- .HasColumnType("int")
- .HasComment("绠℃鏁伴噺");
-
- b.Property<string>("Remark")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("澶囨敞");
-
- b.Property<string>("ShipNumber")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鑸瑰彿");
-
- b.Property<int>("Sort")
- .ValueGeneratedOnAdd()
- .HasColumnType("int")
- .HasDefaultValue(0)
- .HasComment("鎺掑簭");
-
- b.Property<string>("TaskCode")
- .IsRequired()
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("浠诲姟缂栫爜");
-
- b.Property<string>("TeamInfo")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鐝粍淇℃伅");
-
- b.Property<decimal>("Thickness")
- .HasColumnType("decimal(18,2)")
- .HasComment("澹佸帤(mm)");
-
- b.Property<string>("Timestamp")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("鏃堕棿鎴�");
-
- b.Property<string>("WeldingHeatInput")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("娉曞叞鍏О鍘嬪姏");
-
- b.Property<int>("WorkPlanStatus")
- .HasColumnType("int")
- .HasComment("璁″垝鐘舵��");
-
- b.Property<string>("WorkstationCode")
- .HasMaxLength(256)
- .HasColumnType("varchar(256)")
- .HasComment("宸ヤ綅浠g爜");
-
- b.HasKey("Id");
-
- b.HasIndex("DataIdentifier");
-
- b.HasIndex("PlannedEndTime");
-
- b.HasIndex("PlannedStartTime");
-
- b.HasIndex("TaskCode")
- .IsUnique();
-
- b.ToTable("scms_workplans", (string)null);
-
- b.HasComment("浣滀笟璁″垝琛�");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.cs
deleted file mode 100644
index 2c578b0..0000000
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/20250515064954_Update1.cs
+++ /dev/null
@@ -1,297 +0,0 @@
-锘縰sing System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace CMS.Plugin.PipeLineLems.MySQL.Migrations
-{
- public partial class Update1 : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AlterDatabase()
- .Annotation("MySql:CharSet", "utf8mb4");
-
- migrationBuilder.CreateTable(
- name: "scms_callmaterialorderrecords",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
- DataIdentifier = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false, comment: "鍘熸枡鏍囪瘑")
- .Annotation("MySql:CharSet", "utf8mb4"),
- MaterialMode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍘熸枡鍨嬪彿")
- .Annotation("MySql:CharSet", "utf8mb4"),
- CallMaterialStatus = table.Column<int>(type: "int", nullable: false, comment: "鍙枡鐘舵��"),
- Quantity = table.Column<int>(type: "int", nullable: false, comment: "鍙枡鏁伴噺"),
- WmsRetResult = table.Column<string>(type: "longtext", nullable: true, comment: "WMS杩斿洖缁撴灉")
- .Annotation("MySql:CharSet", "utf8mb4"),
- WmsTaskNo = table.Column<string>(type: "longtext", nullable: true, comment: "WMS浠诲姟鍙�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraProperties = table.Column<string>(type: "longtext", nullable: true, comment: "鎵╁睍灞炴��")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true, comment: "骞跺彂鎴�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "鍒涘缓鏃堕棿"),
- CreatorId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒涘缓浜篒D", collation: "ascii_general_ci"),
- LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "淇敼鏃堕棿"),
- LastModifierId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "淇敼浜篒D", collation: "ascii_general_ci"),
- IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false, comment: "鏄惁鍒犻櫎"),
- DeleterId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒犻櫎浜篒D", collation: "ascii_general_ci"),
- DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "鍒犻櫎鏃堕棿"),
- CreatorName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "鍒涘缓浜�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Sort = table.Column<int>(type: "int", nullable: false, defaultValue: 0, comment: "鎺掑簭"),
- Remark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField1 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁1")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField2 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁2")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField3 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁3")
- .Annotation("MySql:CharSet", "utf8mb4")
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_scms_callmaterialorderrecords", x => x.Id);
- },
- comment: "鍙枡璁板綍琛�")
- .Annotation("MySql:CharSet", "utf8mb4");
-
- migrationBuilder.CreateTable(
- name: "scms_callmaterialorders",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
- DataIdentifier = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false, comment: "鍘熸枡鏍囪瘑")
- .Annotation("MySql:CharSet", "utf8mb4"),
- MaterialMode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍘熸枡鍨嬪彿")
- .Annotation("MySql:CharSet", "utf8mb4"),
- CallMaterialStatus = table.Column<int>(type: "int", nullable: false, comment: "鍙枡鐘舵��"),
- Quantity = table.Column<int>(type: "int", nullable: false, comment: "鍙枡鏁伴噺"),
- WmsRetResult = table.Column<string>(type: "longtext", nullable: true, comment: "WMS杩斿洖缁撴灉")
- .Annotation("MySql:CharSet", "utf8mb4"),
- WmsTaskNo = table.Column<string>(type: "longtext", nullable: true, comment: "WMS浠诲姟鍙�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraProperties = table.Column<string>(type: "longtext", nullable: true, comment: "鎵╁睍灞炴��")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true, comment: "骞跺彂鎴�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "鍒涘缓鏃堕棿"),
- CreatorId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒涘缓浜篒D", collation: "ascii_general_ci"),
- LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "淇敼鏃堕棿"),
- LastModifierId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "淇敼浜篒D", collation: "ascii_general_ci"),
- IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false, comment: "鏄惁鍒犻櫎"),
- DeleterId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒犻櫎浜篒D", collation: "ascii_general_ci"),
- DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "鍒犻櫎鏃堕棿"),
- CreatorName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "鍒涘缓浜�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- LastModifierName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "淇敼浜�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- OperationRemark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎿嶄綔澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- DeleteRemark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍒犻櫎澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Sort = table.Column<int>(type: "int", nullable: false, defaultValue: 0, comment: "鎺掑簭"),
- Remark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- IsDisabled = table.Column<bool>(type: "tinyint(1)", nullable: true, defaultValue: false, comment: "鏄惁绂佺敤"),
- ExtraField1 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁1")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField2 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁2")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField3 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁3")
- .Annotation("MySql:CharSet", "utf8mb4")
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_scms_callmaterialorders", x => x.Id);
- },
- comment: "鍙枡鍗曡〃")
- .Annotation("MySql:CharSet", "utf8mb4");
-
- migrationBuilder.CreateTable(
- name: "scms_mytestentitynames",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
- Code = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false, comment: "缂栫爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Name = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false, comment: "鍚嶇О")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Sort = table.Column<int>(type: "int", nullable: false, comment: "鎺掑簭"),
- Remark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- IsDisabled = table.Column<bool>(type: "tinyint(1)", nullable: true, comment: "鏄惁绂佺敤"),
- ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
- .Annotation("MySql:CharSet", "utf8mb4"),
- ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
- .Annotation("MySql:CharSet", "utf8mb4"),
- CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
- CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
- LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
- LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
- IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
- DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
- DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_scms_mytestentitynames", x => x.Id);
- },
- comment: "MyTestEntityName")
- .Annotation("MySql:CharSet", "utf8mb4");
-
- migrationBuilder.CreateTable(
- name: "scms_workplans",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
- TaskCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false, comment: "浠诲姟缂栫爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- WorkPlanStatus = table.Column<int>(type: "int", nullable: false, comment: "璁″垝鐘舵��"),
- CallMaterialStatus = table.Column<int>(type: "int", nullable: false, comment: "鍙枡鐘舵��"),
- DataIdentifier = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍘熸枡鏍囪瘑")
- .Annotation("MySql:CharSet", "utf8mb4"),
- MaterialMode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍘熸枡鍨嬪彿")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Length = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "闀垮害(mm)"),
- MarkingContent = table.Column<string>(type: "varchar(1024)", maxLength: 1024, nullable: true, comment: "鎵撶爜鍐呭")
- .Annotation("MySql:CharSet", "utf8mb4"),
- MarkingPosition = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "鎵撶爜浣嶇疆"),
- CuttingPosition = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "鍒囧壊浣嶇疆"),
- Quantity = table.Column<int>(type: "int", nullable: false, comment: "绠℃鏁伴噺"),
- FlangeThickness = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "娉曞叞鍘氬害(mm)"),
- FlangeInnerDiameter = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "娉曞叞鐩村緞(mm)"),
- WeldingHeatInput = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "娉曞叞鍏О鍘嬪姏")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PipeAllowableStress = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "娉曞叞鍐茬爜鍐呭")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PipeDiameter = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "濂楃闀垮害(mm)"),
- PipeWallThickness = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "濂楃鐩村緞(mm)"),
- FactoryCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "宸ュ巶浠g爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ProductCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "浜у搧浠g爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- WorkstationCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "宸ヤ綅浠g爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- EquipmentCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "璁惧浠g爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ProdLineCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "浜х嚎缂栫爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ShipNumber = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鑸瑰彿")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ProjectNumber = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "椤圭洰鍙�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ProcessName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "宸ュ簭鍚嶇О")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PipeFittingCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "绠′欢缂栫爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PreSerialNumber = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "椤哄簭鍙�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PipeSpecCode = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "绠℃缂栫爜")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PipeSectionName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "绠℃鍚嶇О")
- .Annotation("MySql:CharSet", "utf8mb4"),
- OuterDiameter = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "澶栧緞(mm)"),
- Thickness = table.Column<decimal>(type: "decimal(18,2)", nullable: false, comment: "澹佸帤(mm)"),
- Material = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鏉愯川")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ProcessRouteNumber = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "宸ヨ壓娴佸悜缂栧彿")
- .Annotation("MySql:CharSet", "utf8mb4"),
- PlannedStartTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "璁″垝寮�濮嬫椂闂�"),
- PlannedEndTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "璁″垝瀹屾垚鏃堕棿"),
- TeamInfo = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鐝粍淇℃伅")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Timestamp = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鏃堕棿鎴�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraProperties = table.Column<string>(type: "longtext", nullable: true, comment: "鎵╁睍灞炴��")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true, comment: "骞跺彂鎴�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false, comment: "鍒涘缓鏃堕棿"),
- CreatorId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒涘缓浜篒D", collation: "ascii_general_ci"),
- LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "淇敼鏃堕棿"),
- LastModifierId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "淇敼浜篒D", collation: "ascii_general_ci"),
- IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false, comment: "鏄惁鍒犻櫎"),
- DeleterId = table.Column<Guid>(type: "char(36)", maxLength: 36, nullable: true, comment: "鍒犻櫎浜篒D", collation: "ascii_general_ci"),
- DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true, comment: "鍒犻櫎鏃堕棿"),
- CreatorName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "鍒涘缓浜�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- LastModifierName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true, comment: "淇敼浜�")
- .Annotation("MySql:CharSet", "utf8mb4"),
- OperationRemark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎿嶄綔澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- DeleteRemark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鍒犻櫎澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- Sort = table.Column<int>(type: "int", nullable: false, defaultValue: 0, comment: "鎺掑簭"),
- Remark = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "澶囨敞")
- .Annotation("MySql:CharSet", "utf8mb4"),
- IsDisabled = table.Column<bool>(type: "tinyint(1)", nullable: true, defaultValue: false, comment: "鏄惁绂佺敤"),
- ExtraField1 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁1")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField2 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁2")
- .Annotation("MySql:CharSet", "utf8mb4"),
- ExtraField3 = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true, comment: "鎵╁睍瀛楁3")
- .Annotation("MySql:CharSet", "utf8mb4")
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_scms_workplans", x => x.Id);
- },
- comment: "浣滀笟璁″垝琛�")
- .Annotation("MySql:CharSet", "utf8mb4");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_callmaterialorderrecords_DataIdentifier",
- table: "scms_callmaterialorderrecords",
- column: "DataIdentifier");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_callmaterialorders_DataIdentifier",
- table: "scms_callmaterialorders",
- column: "DataIdentifier",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_mytestentitynames_Name",
- table: "scms_mytestentitynames",
- column: "Name");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_workplans_DataIdentifier",
- table: "scms_workplans",
- column: "DataIdentifier");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_workplans_PlannedEndTime",
- table: "scms_workplans",
- column: "PlannedEndTime");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_workplans_PlannedStartTime",
- table: "scms_workplans",
- column: "PlannedStartTime");
-
- migrationBuilder.CreateIndex(
- name: "IX_scms_workplans_TaskCode",
- table: "scms_workplans",
- column: "TaskCode",
- unique: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "scms_callmaterialorderrecords");
-
- migrationBuilder.DropTable(
- name: "scms_callmaterialorders");
-
- migrationBuilder.DropTable(
- name: "scms_mytestentitynames");
-
- migrationBuilder.DropTable(
- name: "scms_workplans");
- }
- }
-}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
index 5f49a49..6135f3c 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -125,6 +125,9 @@
.HasColumnType("varchar(64)")
.HasComment("淇敼浜�");
+ b.Property<string>("MaterialBatch")
+ .HasColumnType("longtext");
+
b.Property<string>("MaterialMode")
.HasMaxLength(256)
.HasColumnType("varchar(256)")
@@ -255,6 +258,9 @@
.HasColumnType("char(36)")
.HasColumnName("LastModifierId")
.HasComment("淇敼浜篒D");
+
+ b.Property<string>("MaterialBatch")
+ .HasColumnType("longtext");
b.Property<string>("MaterialMode")
.HasMaxLength(256)
@@ -665,6 +671,305 @@
b.HasComment("浣滀笟璁″垝琛�");
});
+
+ modelBuilder.Entity("CMS.Plugin.PipeLineLems.Domain.WorkTask.WorkTask", b =>
+ {
+ b.Property<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("char(36)");
+
+ b.Property<int>("CallMaterialStatus")
+ .HasColumnType("int")
+ .HasComment("鍙枡鐘舵��");
+
+ b.Property<string>("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp")
+ .HasComment("骞跺彂鎴�");
+
+ b.Property<DateTime>("CreationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("CreationTime")
+ .HasComment("鍒涘缓鏃堕棿");
+
+ b.Property<Guid?>("CreatorId")
+ .HasMaxLength(36)
+ .HasColumnType("char(36)")
+ .HasColumnName("CreatorId")
+ .HasComment("鍒涘缓浜篒D");
+
+ b.Property<string>("CreatorName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasComment("鍒涘缓浜�");
+
+ b.Property<decimal>("CuttingPosition")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("鍒囧壊浣嶇疆");
+
+ b.Property<string>("DataIdentifier")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鍘熸枡鏍囪瘑");
+
+ b.Property<string>("DeleteRemark")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鍒犻櫎澶囨敞");
+
+ b.Property<Guid?>("DeleterId")
+ .HasMaxLength(36)
+ .HasColumnType("char(36)")
+ .HasColumnName("DeleterId")
+ .HasComment("鍒犻櫎浜篒D");
+
+ b.Property<DateTime?>("DeletionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("DeletionTime")
+ .HasComment("鍒犻櫎鏃堕棿");
+
+ b.Property<string>("EquipmentCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("璁惧浠g爜");
+
+ b.Property<string>("ExtraField1")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鎵╁睍瀛楁1");
+
+ b.Property<string>("ExtraField2")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鎵╁睍瀛楁2");
+
+ b.Property<string>("ExtraField3")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鎵╁睍瀛楁3");
+
+ b.Property<string>("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties")
+ .HasComment("鎵╁睍灞炴��");
+
+ b.Property<string>("FactoryCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("宸ュ巶浠g爜");
+
+ b.Property<decimal>("FlangeInnerDiameter")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("娉曞叞鐩村緞(mm)");
+
+ b.Property<decimal>("FlangeThickness")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("娉曞叞鍘氬害(mm)");
+
+ b.Property<bool>("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted")
+ .HasComment("鏄惁鍒犻櫎");
+
+ b.Property<bool?>("IsDisabled")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("tinyint(1)")
+ .HasDefaultValue(false)
+ .HasComment("鏄惁绂佺敤");
+
+ b.Property<DateTime?>("LastModificationTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("LastModificationTime")
+ .HasComment("淇敼鏃堕棿");
+
+ b.Property<Guid?>("LastModifierId")
+ .HasMaxLength(36)
+ .HasColumnType("char(36)")
+ .HasColumnName("LastModifierId")
+ .HasComment("淇敼浜篒D");
+
+ b.Property<string>("LastModifierName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasComment("淇敼浜�");
+
+ b.Property<decimal>("Length")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("闀垮害(mm)");
+
+ b.Property<string>("MarkingContent")
+ .HasMaxLength(1024)
+ .HasColumnType("varchar(1024)")
+ .HasComment("鎵撶爜鍐呭");
+
+ b.Property<decimal>("MarkingPosition")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("鎵撶爜浣嶇疆");
+
+ b.Property<string>("Material")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鏉愯川");
+
+ b.Property<string>("MaterialMode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鍘熸枡鍨嬪彿");
+
+ b.Property<string>("OperationRemark")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鎿嶄綔澶囨敞");
+
+ b.Property<decimal>("OuterDiameter")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("澶栧緞(mm)");
+
+ b.Property<string>("PipeAllowableStress")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("娉曞叞鍐茬爜鍐呭");
+
+ b.Property<decimal>("PipeDiameter")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("濂楃闀垮害(mm)");
+
+ b.Property<string>("PipeFittingCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("绠′欢缂栫爜");
+
+ b.Property<string>("PipeSectionName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("绠℃鍚嶇О");
+
+ b.Property<string>("PipeSpecCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("绠℃缂栫爜");
+
+ b.Property<decimal>("PipeWallThickness")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("濂楃鐩村緞(mm)");
+
+ b.Property<DateTime?>("PlannedEndTime")
+ .HasColumnType("datetime(6)")
+ .HasComment("璁″垝瀹屾垚鏃堕棿");
+
+ b.Property<DateTime?>("PlannedStartTime")
+ .HasColumnType("datetime(6)")
+ .HasComment("璁″垝寮�濮嬫椂闂�");
+
+ b.Property<string>("PreSerialNumber")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("椤哄簭鍙�");
+
+ b.Property<string>("ProcessName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("宸ュ簭鍚嶇О");
+
+ b.Property<string>("ProcessRouteNumber")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("宸ヨ壓娴佸悜缂栧彿");
+
+ b.Property<string>("ProdLineCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("浜х嚎缂栫爜");
+
+ b.Property<string>("ProductCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("浜у搧浠g爜");
+
+ b.Property<string>("ProjectNumber")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("椤圭洰鍙�");
+
+ b.Property<int>("Quantity")
+ .HasColumnType("int")
+ .HasComment("绠℃鏁伴噺");
+
+ b.Property<string>("Remark")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("澶囨敞");
+
+ b.Property<string>("ShipNumber")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鑸瑰彿");
+
+ b.Property<string>("Son_TaskCode")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("瀛愪换鍔$紪鐮�");
+
+ b.Property<int>("Sort")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0)
+ .HasComment("鎺掑簭");
+
+ b.Property<string>("TaskCode")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("浠诲姟缂栫爜");
+
+ b.Property<string>("TeamInfo")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鐝粍淇℃伅");
+
+ b.Property<decimal>("Thickness")
+ .HasColumnType("decimal(18,2)")
+ .HasComment("澹佸帤(mm)");
+
+ b.Property<string>("Timestamp")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("鏃堕棿鎴�");
+
+ b.Property<string>("WeldingHeatInput")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("娉曞叞鍏О鍘嬪姏");
+
+ b.Property<int>("WorkPlanStatus")
+ .HasColumnType("int")
+ .HasComment("璁″垝鐘舵��");
+
+ b.Property<string>("WorkstationCode")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasComment("宸ヤ綅浠g爜");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DataIdentifier");
+
+ b.HasIndex("PlannedEndTime");
+
+ b.HasIndex("PlannedStartTime");
+
+ b.HasIndex("Son_TaskCode")
+ .IsUnique();
+
+ b.ToTable("scms_worktasks", (string)null);
+
+ b.HasComment("浣滀笟浠诲姟琛�");
+ });
#pragma warning restore 612, 618
}
}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat
index b3d587a..4a1c743 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.MySQL/Scripts/UpdateMigrations.bat
@@ -1,6 +1,6 @@
cd ../
::dotnet ef migrations add InitialCreate -c CMSPluginDbContext -o Migrations
-dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations
+dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations
cmd
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt"
index d00e438..eb5cd46 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Templete/Web/Controllers/EntityModeQueryDrawer\346\250\241\346\235\277.txt"
@@ -20,6 +20,8 @@
FILTER_MODE_OPTIONS_NUM,
FILTER_MODE_OPTIONS_BOOL
} from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions';
+// 引入公共表单工具文件
+import { collectFormDataForHighQuery,onResetForHighSelect,onResetForHighQuery } from '@/utils/myformUtils';
import {
BOOLEAN_OPTIONS
} from '@/utils/commonOptionConstants';
@@ -122,7 +124,7 @@
const onClose = (done: () => void) => {
if (visible.value) {
visible.value = false
- const data =commonGetFormData();
+ const data =collectFormDataForHighQuery(formItems,formData);
ctx.emit('close', data)
}
}
@@ -130,46 +132,20 @@
* 确认查询
*/
const onConfirmQuery = async () => {
- const data =commonGetFormData();
+ const data =collectFormDataForHighQuery(formItems,formData);
ctx.emit('confirmQuery', data)
}
- /**
- * 重置公共select查询
- */
- const onResetForHighSelect = () => {
- // 遍历所有表单字段
- formItems.forEach(item => {
- // 检查字段是否有高级查询的过滤模式配置
- if (item.highSelectAttrs && item.highSelectAttrs.prop) {
- const filterModeProp = item.highSelectAttrs.prop;
- const options = item.highSelectAttrs.options || [];
-
- // 如果存在选项,则设置为第一个选项的值
- if (options.length > 0) {
- // 假设选项格式为 { value, label } 或类似结构
- const firstValue = options[0].value !== undefined ? options[0].value : options[0];
- formData.value[filterModeProp] = firstValue;
- }
- }
- });
- }
/**
* 重置查询 - 优化版
*/
const onReset = async () => {
- // 1. 清空所有基础字段(不包含过滤模式字段)
- const baseFields = formItems.reduce((acc, item) => {
- acc[item.prop] = '';
- return acc;
- }, {});
+ // 1. 清空所有基础字段(不包含过滤模式字段),应用基础字段初始值
+ onResetForHighQuery(formItems,formData);
- // 2. 应用基础字段初始值
- formData.value = { ...baseFields };
+ // 2. 使用原有方法重置过滤模式字段
+ onResetForHighSelect();
- // 3. 使用原有方法重置过滤模式字段
- onResetForHighSelect(); // 保留原有方法调用
-
- // 4. 向父组件发送自定义事件
+ // 3. 向父组件发送自定义事件
ctx.emit('restQuery');
}
--
Gitblit v1.9.3