From 16257dd099d9811fb5caf78047ffc2425c401e0e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 05 八月 2024 03:11:20 +0800 Subject: [PATCH] 工单工艺路线更新 --- src/views/tigerprojects/mes/eng/route/components/PostProps.vue | 304 ++++++++++++++++++++++++++++---------------------- 1 files changed, 172 insertions(+), 132 deletions(-) diff --git a/src/views/tigerprojects/mes/eng/route/components/PostProps.vue b/src/views/tigerprojects/mes/eng/route/components/PostProps.vue index 9596681..b9c0b19 100644 --- a/src/views/tigerprojects/mes/eng/route/components/PostProps.vue +++ b/src/views/tigerprojects/mes/eng/route/components/PostProps.vue @@ -1,161 +1,201 @@ <!-- * @Description: file content - * @Author: your name + * @Author: Ben Lin * @version: * @Date: 2024-06-11 21:07:04 - * @LastEditors: your name - * @LastEditTime: 2024-06-12 23:51:52 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-08-04 18:34:26 --> <!-- * @Description: 鍙充晶灞炴�ч潰鏉挎帶浠� 琛ㄥ崟灞炴�ч潰鏉� --> <template> - <div class="mt-3"> + <div class="m-1"> <BasicTable @register="registerTable"> <template #toolbar> - <a-button type="primary" @click="handleCreate" preIcon="add_02|svg" :size="size"> 鏂板 </a-button> + <a-button type="primary" @click="handleCreate" preIcon="add_02|svg" :size="size"> + 鏂板 + </a-button> </template> <template #action="{ record }"> - <TableAction :actions="[ - { - icon: 'ant-design:delete-outlined', - color: 'error', - popConfirm: { - title: '鏄惁纭鍒犻櫎?', - placement: 'left', - confirm: handleDelete.bind(null, record), + <TableAction + :actions="[ + { + icon: 'ant-design:delete-outlined', + color: 'error', + popConfirm: { + title: '鏄惁纭鍒犻櫎?', + placement: 'left', + confirm: handleDelete.bind(null, record), + }, + name: '', }, - }, - ]" /> + ]" + /> </template> </BasicTable> </div> - <NormalModal @register="register" @success="handleSuccess"></NormalModal> + <GeneralModal @register="register" @success="handleSuccess"></GeneralModal> </template> <script lang="ts" setup> -import { notification } from 'ant-design-vue'; -import { BasicTable, TableAction, useTable } from '/@/components/Table'; -import { SizeType } from 'ant-design-vue/es/config-provider'; -import { onMounted, ref, unref, watch } from 'vue'; -import { useModal } from '/@/components/Modal'; -import NormalModal from '/@/views/components/NormalModal.vue'; -import { useI18n } from '/@/hooks/web/useI18n'; -import { DeleteEntity, DeleteWhere, SaveEntity, getEntity, getListByPage } from '/@/api/tigerapi/system'; -import { useRouteDesignState } from '../hooks/useRouteDesignState'; -import { SaveRouteNodePost } from '/@/api/tigerapi/mes/router'; + import { notification } from 'ant-design-vue'; + import { BasicTable, TableAction, useTable } from '/@/components/Table'; + import { SizeType } from 'ant-design-vue/es/config-provider'; + import { nextTick, onMounted, ref, unref, watch } from 'vue'; + import { useModal } from '/@/components/Modal'; + import GeneralModal from '/@/views/components/GeneralModal.vue'; + import { useI18n } from '/@/hooks/web/useI18n'; + import { DeleteWhere, getListByPage } from '/@/api/tigerapi/system'; + import { useRouteDesignState } from '../hooks/useRouteDesignState'; + import { SaveRouteNodePost, SaveWoRouteNodePost } from '/@/api/tigerapi/mes/router'; -const { t } = useI18n(); -const { routeConfig, mesRoute } = useRouteDesignState(); -const size = ref<SizeType>('small'); -const columns = [ - { - title: '宀椾綅鍚嶇О', - dataIndex: 'POST_NAME', - key: 'POST_NAME', - slots: { customRender: 'POST_NAME' }, - }, - { - title: '宀椾綅缂栫爜', - dataIndex: 'POST_CODE', - key: 'POST_CODE', - }, -]; + const { t } = useI18n(); + const { routeConfig, mesRoute } = useRouteDesignState(); + const size = ref<SizeType>('small'); + const columns = [ + { + title: '宀椾綅鍚嶇О', + dataIndex: 'POST_NAME', + key: 'POST_NAME', + slots: { customRender: 'POST_NAME' }, + }, + { + title: '宀椾綅缂栫爜', + dataIndex: 'POST_CODE', + key: 'POST_CODE', + }, + { + title: t('浜х嚎缂栫爜'), + dataIndex: 'LINE_CODE', + key: 'LINE_CODE', + }, + ]; -const [register, { openModal }] = useModal(); -const [registerTable, { reload }] = useTable({ - title: '鍒楄〃', - api: getListByPage, - searchInfo: { TABLE_NAME: 'V_MES_ROUTE_NODE_POST', NODE_ID: routeConfig.currentItem.ID }, - columns, - useSearchForm: false, - showTableSetting: false, - bordered: true, - showIndexColumn: false, - actionColumn: { - width: 80, - title: '鎿嶄綔', - dataIndex: 'action', - slots: { customRender: 'action' }, - }, -}); -// watch( -// () => routeConfig.currentItem.ID, -// (newVal, oldVal) => { -// if (newVal != oldVal) { -// reload(); -// } -// }, -// { deep: true, immediate: true }, -// ); - -onMounted(() => { -}); - -/** - * @description: 鏂板鏂规硶 - * @return {*} - */ -function handleCreate() { - openModal(true, { - title: '宀椾綅璧勬簮鍒楄〃', - schemas: [ - { - field: 'POST_CODE', - component: 'Input', - label: '宀椾綅璧勬簮缂栫爜', - colProps: { - span: 12, - }, - }, - ], - ItemColumns: [ - { - title: t('宀椾綅璧勬簮缂栫爜'), - dataIndex: 'POST_CODE', - resizable: true, - sorter: true, - width: 200, - }, - { - title: t('宀椾綅璧勬簮鍚嶇О'), - dataIndex: 'POST_NAME', - resizable: true, - sorter: true, - width: 180, - }, - ], - tableName: 'MES_POSITION', - rowKey: 'POST_CODE', + const [register, { openModal }] = useModal(); + const [registerTable, { reload }] = useTable({ + title: '鍒楄〃', + api: getListByPage, + searchInfo: routeConfig['isWorkOrder'] + ? { TABLE_NAME: 'V_MES_WO_NODE_POST', NODE_ID: routeConfig['currentItem'].ID } + : { TABLE_NAME: 'V_MES_ROUTE_NODE_POST', NODE_ID: routeConfig['currentItem'].ID }, + columns, + useSearchForm: false, + showTableSetting: false, + bordered: true, + showIndexColumn: false, + pagination: { pageSize: 10 }, + actionColumn: { + width: 80, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + }, }); -} + defineExpose({ + reload, + }); + // watch( + // () => routeConfig.currentItem.ID, + // (newVal, oldVal) => { + // if (newVal != oldVal) { + // nextTick(() => { + // reload(); + // }); + // } + // }, + // { deep: true, immediate: true }, + // ); -/** -* @description: 鍒犻櫎 + onMounted(() => {}); + + /** + * @description: 鏂板鏂规硶 + * @return {*} + */ + function handleCreate() { + openModal(true, { + title: '宀椾綅璧勬簮鍒楄〃', + schemas: [ + { + field: 'POST_CODE', + component: 'Input', + label: '宀椾綅璧勬簮缂栫爜', + colProps: { + span: 12, + }, + }, + ], + ItemColumns: [ + { + title: t('宀椾綅璧勬簮缂栫爜'), + dataIndex: 'POST_CODE', + resizable: true, + sorter: true, + width: 200, + }, + { + title: t('宀椾綅璧勬簮鍚嶇О'), + dataIndex: 'POST_NAME', + resizable: true, + sorter: true, + width: 180, + }, + { + title: t('浜х嚎缂栫爜'), + dataIndex: 'LINE_CODE', + resizable: true, + sorter: true, + width: 180, + }, + ], + tableName: 'MES_POSITION', + rowKey: 'POST_CODE', + searchInfo: { TABLE_NAME: 'MES_POSITION' }, + }); + } + + /** + * @description: 鍒犻櫎 * @param {*} record * @return {*} */ -function handleDelete(record: Recordable) { - DeleteWhere(`POST_CODE = '${record.POST_CODE}'`, 'MES_ROUTE_NODE_POST').then((res) => { - reload(); - }); -} - -/** - * @description: 閫夋嫨宀椾綅璧勬簮鎴愬姛杩斿洖鏂规硶 - * @param {*} d - * @param {*} u - * @return {*} - */ -function handleSuccess(d, u) { - let codes = d.values.val.split(','); - let eintity: any[] = []; - var i; - for (i = 0; i < codes.length; i++) { - eintity.push({ NODE_ID: routeConfig.currentItem.ID, POST_CODE: codes[i], REMARK: '' }); + function handleDelete(record: Recordable) { + let entityName = routeConfig['isWorkOrder'] ? 'MES_WO_NODE_POST' : 'MES_ROUTE_NODE_POST'; + DeleteWhere( + `POST_CODE = '${record.POST_CODE}' And NODE_ID = '${record.NODE_ID}'`, + entityName, + ).then((res) => { + reload(); + }); } - SaveRouteNodePost(eintity).then((res) => { - reload(); - }); -} + + /** + * @description: 閫夋嫨宀椾綅璧勬簮鎴愬姛杩斿洖鏂规硶 + * @param {*} d + * @param {*} u + * @return {*} + */ + function handleSuccess(d, u) { + let codes = d.values.val.split(','); + let eintity: any[] = []; + var i; + for (i = 0; i < codes.length; i++) { + eintity.push({ + NODE_ID: routeConfig['currentItem'].ID, + POST_CODE: codes[i], + REMARK: '', + WORK_ORDER: routeConfig['currentItem'].WORK_ORDER, + }); + } + if (routeConfig['isWorkOrder']) { + SaveWoRouteNodePost(eintity).then((res) => { + reload(); + }); + } else { + SaveRouteNodePost(eintity).then((res) => { + reload(); + }); + } + } </script> -- Gitblit v1.9.3