Commit 0cc7187d by 金民

Merge remote-tracking branch 'origin/weiqiao-vue3' into hongshun

parents 592f830c 4c5dc717
......@@ -7,8 +7,6 @@ export interface MesBaseBomPageParams extends BasicPageParams {
bommc: string;
cpid: string;
sfyy: string;
}
/**
......@@ -19,15 +17,17 @@ export interface MesBaseBomPageModel {
bommc: string;
bomsl: string;
bombb: string;
cpmc: string;
cpbh: string;
cpgg: string;
cpxh: string;
bomsl: string;
bombb: string;
}
/**
......@@ -86,6 +86,8 @@ export interface MesBaseBomModel {
modifyUserId: string;
sjbom: string;
mesBaseBomItemList?: MesBaseBomItemModel;
}
......@@ -99,6 +101,8 @@ export interface MesBaseBomItemModel {
bomid: string;
wlid: string;
wlbh: string;
wlmc: string;
......
......@@ -6,9 +6,9 @@ import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
export interface MesProductionPlanPageParams extends BasicPageParams {
jhbh: string;
ddbh: string;
kh: string;
ssgs: string;
ywzz: string;
zt: string;
}
......@@ -19,13 +19,15 @@ export interface MesProductionPlanPageParams extends BasicPageParams {
export interface MesProductionPlanPageModel {
id: string;
ddbh: string;
jhbh: string;
ddbh: string;
kh: string;
ssgs: string;
jhjhrq: string;
ywzz: string;
zt: string;
}
......@@ -107,6 +109,8 @@ export interface MesProductionPlanProductModel {
cpbh: string;
cpmc: string;
nbdm: string;
hjzt: string;
......
......@@ -595,7 +595,7 @@ export const formProps: FormProps = {
{ name: 'category_id', tableTitle: '工序类别' },
{ name: 'id', tableTitle: 'ID' },
{ tableTitle: '采集方案ID', name: 'collection_scheme_id' },
{ name: 'rated_working_hours', tableTitle: '额工时定' },
{ name: 'rated_working_hours', tableTitle: '额定工时' },
],
},
itemId: '',
......
......@@ -57,7 +57,7 @@ export const permissionList = [
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '选择产品',
fieldName: '产品',
fieldId: 'cpid',
isSubTable: false,
showChildren: true,
......@@ -176,7 +176,7 @@ export const permissionList = [
isSubTable: true,
showChildren: false,
tableName: 'mesBaseBomItemList',
fieldName: '物料项',
fieldName: '',
fieldId: 'mesBaseBomItemList',
type: 'form',
key: 'c87fc2d18e24429a819521f35f19137b',
......@@ -190,21 +190,6 @@ export const permissionList = [
isSaveTable: false,
showChildren: false,
tableName: 'mesBaseBomItemList',
fieldName: '选择物料',
fieldId: 'wlmc',
type: 'MultiplePopup',
key: '709b38c05d11468db0db4e6e9168e4f9',
children: [],
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSubTable: false,
isSaveTable: false,
showChildren: false,
tableName: 'mesBaseBomItemList',
fieldName: '物料编号',
fieldId: 'wlbh',
type: 'Input',
......@@ -221,7 +206,7 @@ export const permissionList = [
showChildren: false,
tableName: 'mesBaseBomItemList',
fieldName: '物料名称',
fieldId: 'wuLiaoMingChen9398',
fieldId: 'wlmc',
type: 'Input',
key: '112f6292bd884006ad872f06aeef4e6f',
children: [],
......@@ -316,6 +301,21 @@ export const permissionList = [
key: '9230b500d1024028af68ed4ac49bdbd3',
children: [],
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSubTable: false,
isSaveTable: false,
showChildren: false,
tableName: 'mesBaseBomItemList',
fieldName: '物料ID',
fieldId: 'wlid',
type: 'Input',
key: '998cedda278d4544ab851536bae4aacc',
children: [],
},
],
},
];
......@@ -222,3 +222,4 @@
});
</script>
\ No newline at end of file
......@@ -33,7 +33,7 @@ export const permissionList = [
defaultValue: '',
},
{
required: true,
required: false,
view: true,
edit: true,
disabled: false,
......@@ -169,7 +169,7 @@ export const permissionList = [
isSaveTable: false,
showChildren: false,
tableName: 'mesProductionPlanProductList',
fieldName: '物料编号',
fieldName: '编号',
fieldId: 'cpbh',
type: 'Input',
key: 'cd0038f42bc64c189b3821f0e2061321',
......@@ -184,6 +184,21 @@ export const permissionList = [
isSaveTable: false,
showChildren: false,
tableName: 'mesProductionPlanProductList',
fieldName: '名称',
fieldId: 'cpmc',
type: 'Input',
key: 'c8f88cafd17f4655bfbe4643ffe58c9c',
children: [],
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSubTable: false,
isSaveTable: false,
showChildren: false,
tableName: 'mesProductionPlanProductList',
fieldName: '内部代码',
fieldId: 'nbdm',
type: 'Input',
......
<template>
<ResizePageWrapper :hasLeft="false">
<template #resizeRight>
......@@ -26,28 +27,45 @@
</template>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.dataIndex === 'action'">
<TableAction
<TableAction
:actions="getLessActions(record)"
:dropDownActions="getMoreActions(record)"
/>
</template>
<template v-else-if="column.dataIndex && column?.listStyle">
<span :style="executeListStyle(getValue(record, column, 'style'), column?.listStyle)">{{
getValue(record, column, 'value')
}}</span>
</template>
</template>
</BasicTable>
</template>
</template>
<ScjhModal @register="registerModal" @success="handleFormSuccess" @cancel="handleFormCancel"/>
</ResizePageWrapper>
<ScjhModal @register="registerModal" @success="handleFormSuccess" @cancel="handleFormCancel" />
</ResizePageWrapper>
</template>
<script lang="ts" setup>
import { ref, computed, provide, Ref, createVNode } from 'vue';
import { ref, computed,provide,Ref, createVNode,
} from 'vue';
import { Modal } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { BasicTable, useTable, TableAction, ActionItem } from '/@/components/Table';
......@@ -60,20 +78,46 @@
import { useMessage } from '/@/hooks/web/useMessage';
import { useI18n } from '/@/hooks/web/useI18n';
import { usePermission } from '/@/hooks/web/usePermission';
import CustomButtonModal from '/@/components/Form/src/components/CustomButtonModal.vue';
import { executeListStyle, getValue } from '/@/hooks/web/useListStyle'; //列表样式配置
import CustomButtonModal from '/@/components/Form/src/components/CustomButtonModal.vue';
import { executeListStyle, getValue } from '/@/hooks/web/useListStyle';//列表样式配置
import { useRouter } from 'vue-router';
import { useModal } from '/@/components/Modal';
import ScjhModal from './components/ScjhModal.vue';
import { searchFormSchema, columns } from './components/config';
import { searchFormSchema, columns } from './components/config';
import Icon from '/@/components/Icon/index';
const listSpliceNum = ref(3); //操作列最先展示几个
const listSpliceNum = ref(3); //操作列最先展示几个
import { useConcurrentLock } from '/@/hooks/web/useConcurrentLock';
const pageParamsInfo = ref<any>({});
......@@ -91,7 +135,12 @@
const filterColumns = filterColumnAuth(columns);
const tableRef = ref();
//展示在列表内的按钮
const actionButtons = ref<string[]>(['view', 'edit', 'delete']);
const buttonConfigs = computed(() => {
......@@ -161,13 +210,19 @@
};
const { currentRoute } = useRouter();
const formIdComputedRef = computed(() => currentRoute.value.meta.formId as string);
provide<Ref<string>>('currentFormId', formIdComputedRef);
const selectedKeys = ref<string[]>([]);
const selectedRowsData = ref<any[]>([]);
const [registerModal, { openModal }] = useModal();
const [registerTable, { reload }] = useTable({
......@@ -184,18 +239,25 @@
fieldMapToTime: [],
showResetButton: false,
},
bordered: false,
beforeFetch: (params) => {
pageParamsInfo.value = { ...params, FormId: formIdComputedRef.value, PK: 'id' };
bordered:false,
beforeFetch: (params) => {
pageParamsInfo.value = {...params, FormId: formIdComputedRef.value,PK: 'id' }
return pageParamsInfo.value;
},
afterFetch: (res) => {
selectedKeys.value = [];
selectedRowsData.value = [];
},
useSearchForm: true,
showTableSetting: true,
striped: false,
actionColumn: {
width: 195,
......@@ -207,44 +269,53 @@
size: false,
},
customRow,
isAdvancedQuery: false,
isAdvancedQuery: false,
querySelectOption: JSON.stringify(searchFormSchema),
objectId: formIdComputedRef.value, ////系统表单formId,自定义表单releaseId的id值
});
function buttonClick(code) {
btnEvent[code]();
}
function handleAdd() {
openModal(true, { isUpdate: false });
}
async function handleEdit(record: Recordable) {
let field = 'id';
try {
try {
let hasIn = handleHasEnableLocke(buttonConfigs.value, 'edit');
if (hasIn) {
let res = await handleOpenFormEnableLockeData(record[field], formIdComputedRef.value);
if (res !== null) {
return;
}
}
let info = {
id: record[field],
isUpdate: true,
};
openModal(true, info);
} catch (error) {}
}
let info = {
id: record[field],
isUpdate: true,
};
openModal(true, info);
} catch (error) {}
}
function handleDelete(record: Recordable) {
deleteList([record.id]);
deleteList([record.id]);
}
function deleteList(ids) {
Modal.confirm({
title: '提示信息',
......@@ -264,14 +335,19 @@
onCancel() {},
});
}
function onSelectChange(selectedRowKeys: [], selectedRows) {
selectedKeys.value = selectedRowKeys;
selectedRowsData.value = selectedRows;
}
function customRow(record: Recordable) {
return {
onClick: () => {
let selectedRowKeys = [...selectedKeys.value];
if (selectedRowKeys.indexOf(record.id) >= 0) {
......@@ -289,14 +365,18 @@
},
};
}
function handleSuccess() {
selectedKeys.value = [];
selectedRowsData.value = [];
selectedKeys.value = [];
selectedRowsData.value = [];
reload();
}
function handleFormSuccess() {
function handleFormSuccess() {
handleSuccess();
handleCloseFormEnableLocke(buttonConfigs.value, 'edit');
}
......@@ -304,13 +384,14 @@
handleCloseFormEnableLocke(buttonConfigs.value, 'edit');
}
function handleView(record: Recordable) {
let info = {
let info={
isView: true,
id: record.id,
};
openModal(true, info);
openModal(true, info);
}
function handleXiafa(record: Recordable) {
......@@ -348,16 +429,16 @@
let list = getActions(record);
return list.slice(listSpliceNum.value);
}
function getActions(record: Recordable): ActionItem[] {
function getActions(record: Recordable):ActionItem[] {
record.isCanEdit = false;
let actionsList: ActionItem[] = [];
let actionsList: ActionItem[] = [];
actionButtonConfig.value?.map((button) => {
if (!record?.workflowData?.processId) {
if (!record?.workflowData?.processId) {
record.isCanEdit = true;
actionsList.push({
...button,
auth: `scjh:${button.code}`,
label: button?.name,
color: button.code === 'delete' ? 'error' : undefined,
......@@ -370,22 +451,29 @@
label: button?.name,
onClick: btnEvent[button.code]?.bind(null, record),
});
}
}
}
});
return actionsList;
}
</script>
<style lang="less" scoped>
:deep(.ant-table-selection-col) {
width: 50px;
}
.show {
.show{
display: flex;
}
.hide {
.hide{
display: none !important;
}
</style>
......@@ -854,7 +854,7 @@ export const formProps: FormProps = {
disabled: false,
showLabel: true,
controls: true,
required: false,
required: true,
subTotal: false,
isShow: true,
rules: [],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment