Просмотр исходного кода

完成场景管理、标签管理、车间模板功能

yamengxing 2 лет назад
Родитель
Сommit
03a5dc12c5

+ 9 - 9
src/api/template/template.ts

@@ -2,35 +2,35 @@ import { http } from '@/utils/http/axios';
 
 export interface SceneModule {
     code: string,
-    createdAt: string,
+    // createdAt: string,
     id: number,
-    isDeleted: number,
+    // isDeleted: number,
     name: string,
     remark: string,
     status: number,
-    updatedAt: string,
+    // updatedAt: string,
 }
 
 export interface SceneLabel {
     code: string,
-    createdAt: string,
+    // createdAt: string,
     id: number,
-    isDeleted: number,
+    // isDeleted: number,
     name: string,
     remark: string,
     status: number,
-    updatedAt: string,
+    // updatedAt: string,
 }
 
 export interface WorkshopModule {
     code: string,
-    createdAt: string,
+    // createdAt: string,
     id: number,
-    isDeleted: number,
+    // isDeleted: number,
     name: string,
     remark: string,
     status: number,
-    updatedAt: string,
+    // updatedAt: string,
 }
 
 export interface Records {

+ 103 - 84
src/views/system-config/template/CardCommon.vue

@@ -2,15 +2,15 @@
   <div>
 
 
-    <TitleCommon v-model="cardaddDrawer" :type="currentFormType" :pagesize="props.currentPageSize"
-      :pagenumber="props.currentPage" :drawer="cardaddDrawer" @find-data-by-name="SearchDataByName"
-      @submit-drawer="AddData" @add-form="ClickAddData" @handle-close="CloseDrawer" @clear-data="ClearData">
+    <TitleCommon v-model="cardaddDrawer" :type="props.type" :pagesize="currentPageSize" :pagenumber="currentPage"
+      :drawer="cardaddDrawer" @find-data-by-name="searchDataByName" @submit-drawer="addData" @add-form="clickAddData"
+      @handle-close="closeDrawer" @clear-data="clearData">
     </TitleCommon>
 
     <div class="table" style="margin-top: 20px;">
       <el-table style="width: 100%" :data="tableData" highlight-current-row>
-        <el-table-column :label="currentFormType + `名称`" width="250" prop="name" />
-        <el-table-column :label="currentFormType + `代码`" width="200" prop="code" />
+        <el-table-column :label="props.type + `名称`" width="250" prop="name" />
+        <el-table-column :label="props.type + `代码`" width="200" prop="code" />
 
         <el-table-column prop="status" label="状态" width="150">
           <template #default="scope">
@@ -24,32 +24,32 @@
         <el-table-column label="操作" width="200">
           <template #default="scoped">
             <el-button size="small" @click="deleteTableData(scoped.row)">删除</el-button>
-            <el-button size="small" @click="ShowEditDrawer(scoped.row)">编辑</el-button>
+            <el-button size="small" @click="showEditDrawer(scoped.row)">编辑</el-button>
           </template>
         </el-table-column>
       </el-table>
 
-      <el-pagination v-model:currentPage="props.currentPage" v-model:currentPageSize="props.currentPageSize"
+      <el-pagination v-model:currentPage="currentPage" v-model:currentPageSize="currentPageSize"
         :page-sizes="[10, 20, 50, 100, 200]" layout="total,sizes,prev,pager,next,jumper" :total="total"
-        @size-change="handeSizeChange" @current-change="handleCurrentPageChange"
+        @size-change="handleSizeChangeFun" @current-change="handlePageChangeFun"
         style="margin-left: 600px; margin-top: 20px" />
     </div>
 
     <el-drawer v-model="cardeditDrawer" direction="rtl" :title="currentType" :before-close="handleClose">
-      <DrawerCommonVue :detail="props.drawerFormData" v-if="currentdrawerFormData" @submit-drawer="submitDrawer" />
+      <DrawerCommonVue :detail="currentdrawerFormData" v-if="currentdrawerFormData" @submit-drawer="submitDrawer" />
     </el-drawer>
 
   </div>
 </template>
 
 <script setup lang="ts">
-import { onMounted, ref, watch } from 'vue';
+import { onMounted, ref } from 'vue';
 import { ElDrawer, ElMessageBox, } from 'element-plus';
 import DrawerCommonVue, { FormModelCommon } from './DrawerCommon.vue';
-import TitleCommon from './TitleCommon.vue';
-import { Records } from '@/api/template/template';
+import TitleCommon, { DataCommon } from './TitleCommon.vue';
+import { Records, SceneModule } from '@/api/template/template';
 
-const currentFormType = ref('场景');
+// const currentFormType = ref('场景');
 
 export type CreateType = '添加模板' | '修改模板';
 export interface TableModel {
@@ -65,75 +65,55 @@ export interface ModelCommon {
   drawerFormData: FormModelCommon | null
 }
 
+export interface Page {
+  page: number,
+  size: number,
+}
 
-
-const props = defineProps<{ adddrawer: boolean, editdrawer: boolean, total: number, currentPage: number, currentPageSize: number, tableData: Records[], drawerFormData: FormModelCommon }>();
 const currentType = ref<CreateType>('添加模板');
 const currentdrawerFormData = ref<FormModelCommon>({} as FormModelCommon);
-
-
-const emit = defineEmits(['ClearData', 'ClickAddData', 'CloseDrawer', 'ShowEditDrawer', 'AddData', 'SearchDataByName', 'deleteTableData', 'submitDrawer', 'handeSizeChange', 'handleCurrentPageChange', 'GetData'])
 const cardeditDrawer = ref(false);
 const cardaddDrawer = ref(false);
+const currentPage = ref(1);
+const currentPageSize = ref(10);
+const total = ref(100);
+const tableData = ref<Records[]>([]);
 
-watch(
-  () => props.editdrawer,
-  (newdrawer) => {
-    console.log('cardcommon-editdrawer0', cardeditDrawer.value);
-    cardeditDrawer.value = newdrawer;
-    console.log('cardcommon-editdrawer1', cardeditDrawer.value);
-  },
-  { immediate: true },
-);
-
-watch(
-  () => props.adddrawer,
-  (newdrawer) => {
-    console.log('cardcommon-adddrawer0', cardaddDrawer.value);
-    cardaddDrawer.value = newdrawer;
-    console.log('cardcommon-adddrawer1', cardaddDrawer.value);
-  },
-  { immediate: true },
-);
-
-watch(
-  () => props.drawerFormData,
-  (newdrawerFormData) => {
-    console.log('cardcommon-drawerFormData0', currentdrawerFormData.value);
-    currentdrawerFormData.value = newdrawerFormData;
-    console.log('cardcommon-drawerFormData1', currentdrawerFormData.value);
-  },
-  { immediate: true },
-);
-
-
-
-
-function handeSizeChange(val: number) {
-  emit('handeSizeChange', val)
-}
-function handleCurrentPageChange(val: number) {
-  emit('handleCurrentPageChange', val)
 
-}
 
-function deleteTableData(row: TableModel) {
 
-  emit('deleteTableData', row)
-}
+const props = defineProps<{
+  type: string,
+  addData: (d: SceneModule) => Promise<unknown>,
+  searchDataByName: (d: DataCommon) => Promise<unknown>
+  deleteTableData: (d: TableModel) => Promise<unknown>,
+  submitDrawer: (d: SceneModule) => Promise<unknown>,
+  getData: (d: Page) => Promise<unknown>,
+}>();
+
 
-// 编辑数据弹框
-function ShowEditDrawer(row: TableModel) {
-  emit('ShowEditDrawer', row);
+// 删除数据-finish
+function deleteTableData(row: TableModel) {
+  // emit('deleteTableData', row);
+  props.deleteTableData(row).then(res => {
+    console.log('deleteTableData', res);
+    getData({ page: currentPage.value, size: currentPageSize.value });
+  })
+}
 
+// 编辑数据弹框-finish
+function showEditDrawer(row: TableModel) {
+  cardeditDrawer.value = true;
+  console.log('row', row)
+  currentdrawerFormData.value = row;
 }
 
-// 弹框关闭事件
+// 弹框关闭事件-finish
 const handleClose = (done: () => void) => {
   ElMessageBox.confirm('是否确认关闭?')
     .then(() => {
       done();
-      CloseDrawer();
+      closeDrawer();
 
     })
     .catch(() => {
@@ -144,43 +124,82 @@ const handleClose = (done: () => void) => {
 
 
 // 编辑提交数据
-function submitDrawer(data) {
-  emit('submitDrawer', data);
-
+function submitDrawer(data: SceneModule) {
+  console.log('编辑提交数据:', data)
+  props.submitDrawer(data).then(res => {
+    console.log('submitDrawer', res)
+    closeDrawer();
+    getData({ page: currentPage.value, size: currentPageSize.value });
+  })
 }
 
 
-// 查询数据列表
-function GetData(currentPage: number, currentPageSize: number) {
-  emit('GetData', currentPage, currentPageSize)
+
+// 查询数据列表-finish
+function getData(data: Page) {
+  props.getData(data).then(res => {
+    console.log('getData', res)
+    tableData.value = res.records;
+    total.value = res.totalRow;
+  });
+
 }
 
-// 根据名称找到数据
-function SearchDataByName(data) {
-  emit('SearchDataByName', data)
+// 根据名称找到数据-finish
+function searchDataByName(data: DataCommon) {
+  props.searchDataByName(data).then(res => {
+    console.log('searchDataByName', res);
+    tableData.value = res.records;
+  })
 }
 
-function ClickAddData() {
-  emit('ClickAddData');
+// 单机添加按钮,控制弹框显示-finish
+function clickAddData() {
+  cardaddDrawer.value = true;
+
 }
 
-// 添加数据
-function AddData(data) {
-  emit('AddData', data);
+// 添加数据-finish
+function addData(data: SceneModule) {
+
+  props.addData(data).then(res => {
+    console.log('addData', res);
+    closeDrawer();
 
+    getData({ page: currentPage.value, size: currentPageSize.value });
+  })
 
 }
 
-function CloseDrawer() {
-  emit('CloseDrawer');
+function closeDrawer() {
+  cardaddDrawer.value = false;
+  cardeditDrawer.value = false;
+  getData({ page: currentPage.value, size: currentPageSize.value });
 }
 
-function ClearData() {
-  emit('ClearData');
+// 清空输入框数据-finish
+function clearData() {
+  // getSceneLabelList(currentPage.value, currentPageSize.value);
+  getData({ page: currentPage.value, size: currentPageSize.value });
 }
 
+// 页数-finish
+function handleSizeChangeFun(val: number) {
+  currentPageSize.value = val;
+  getData({ page: currentPage.value, size: currentPageSize.value });
+}
+
+// 翻页-finish
+function handlePageChangeFun(val: number) {
+  currentPage.value = val;
+  console.log('currentPage:' + currentPage.value);
+  getData({ page: currentPage.value, size: currentPageSize.value });
+}
+
+
 onMounted(() => {
-  GetData(props.currentPage, props.currentPageSize);
+  // getData(props.currentPage, props.currentPageSize);
+  getData({ page: currentPage.value, size: currentPageSize.value });
 
 });
 </script>

+ 0 - 4
src/views/system-config/template/DrawerCommon.vue

@@ -55,7 +55,6 @@ export interface FormModelCommon {
   name: string;
   status: number;
   remark: string;
-  // upload: string;
 }
 export type CreateType = 'create' | 'edit';
 const props = defineProps<{ detail: FormModelCommon }>();
@@ -71,10 +70,7 @@ const form = ref<FormModelCommon>({
 watch(
   () => props.detail,
   (newdetail) => {
-    console.log('drawercommon-FormData-detail', props.detail)
-    console.log('drawercommon-FormData0', form.value);
     form.value = newdetail;
-    console.log('drawercommon-FormData01', form.value);
   },
   { immediate: true },
 );

+ 121 - 0
src/views/system-config/template/LabelManager.vue

@@ -0,0 +1,121 @@
+<template>
+    <div>
+
+        <CardCommon :type='type' :search-data-by-name="findSceneLabelFun" :get-data="getSceneLabelListFun"
+            :delete-table-data="deleteSceneLabelFun" :submit-drawer="updateSceneLabelFun" :add-data="saveSceneLabelFun">
+        </CardCommon>
+
+    </div>
+</template>
+
+<script setup lang="ts">
+import { updateSceneLabel, getSceneLabelList, deleteSceneLabel, findSceneLabelByName, saveSceneLabel, SceneLabel } from '@/api/template/template';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import CardCommon, { TableModel } from './CardCommon.vue'
+import { DataCommon } from './TitleCommon.vue';
+import { ref } from 'vue';
+const type = ref('标签');
+
+
+// 添加数据
+function saveSceneLabelFun(data: SceneLabel) {
+    return saveSceneLabel(data).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `添加数据失败`,
+                })
+            },
+        })
+    });
+};
+
+// 根据名称查找
+function findSceneLabelFun(data: DataCommon) {
+    console.log('findSceneLabelByName', data.name, data.page, data.size);
+    return findSceneLabelByName(data.name, data.page, data.size).then((res) => {
+        console.log(res)
+        return res;
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `查询数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 查找数据列表-finish
+function getSceneLabelListFun(data) {
+    return getSceneLabelList(data.page, data.size).then((res) => {
+        return res
+    }).catch(error => {
+        ElMessageBox.alert(error.message, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `查询数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 删除数据
+function deleteSceneLabelFun(data: TableModel) {
+    console.log('detele', data);
+    return deleteSceneLabel(data.id).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `删除数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 编辑数据
+function updateSceneLabelFun(data: SceneLabel) {
+    console.log('edit', data);
+    return updateSceneLabel(data).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `编辑数据失败`,
+                })
+            },
+        })
+    });
+}
+
+
+
+
+
+</script>
+
+<style scoped></style>

+ 27 - 75
src/views/system-config/template/SceneManager.vue

@@ -1,41 +1,28 @@
 <template>
     <div>
 
-        <CardCommon :adddrawer="adddrawer" :editdrawer="editdrawer" :total="total" :current-page="currentPage"
-            :current-page-size="currentPageSize" :table-data="tableData" :drawer-form-data="drawerFormData"
-            @-search-data-by-name="findSceneModuleFun" @-get-data="getSceneLabelListFun"
-            @hande-size-change="handleSizeChangeFun" @handle-current-page-change="handlePageChangeFun"
-            @delete-table-data="deleteSceneModuleFun" @submit-drawer="updateSceneModuleFun"
-            @show-edit-drawer="ShowEditDrawer" @close-drawer="CloseDrawer" @add-data="saveSceneModuleFun"
-            @click-add-data="ShowAddDrawer" @clear-data="ClearData">
+        <CardCommon :type='type' :search-data-by-name="findSceneModuleFun" :get-data="getSceneLabelListFun"
+            :delete-table-data="deleteSceneModuleFun" :submit-drawer="updateSceneModuleFun" :add-data="saveSceneModuleFun">
         </CardCommon>
 
     </div>
 </template>
 
 <script setup lang="ts">
-import { updateSceneModule, getSceneModuleList, deleteSceneModule, findSceneModuleByName, saveSceneModule, Records } from '@/api/template/template';
-import { FormModelCommon } from './DrawerCommon.vue';
+import { updateSceneModule, getSceneModuleList, deleteSceneModule, findSceneModuleByName, saveSceneModule, SceneModule } from '@/api/template/template';
 import { ElMessage, ElMessageBox } from 'element-plus';
 import CardCommon, { TableModel } from './CardCommon.vue'
+import { DataCommon } from './TitleCommon.vue';
 import { ref } from 'vue';
+const type = ref('模板');
 
 
-const adddrawer = ref(false);
-const editdrawer = ref(false);
-const total = ref(100);
-const currentPage = ref(1);
-const currentPageSize = ref(10);
-const tableData = ref<Records[]>([]);
-const drawerFormData = ref<FormModelCommon>({} as FormModelCommon);
-
 // 添加数据
-function saveSceneModuleFun(data) {
-    adddrawer.value = true;
-    saveSceneModule(data).then(res => {
+function saveSceneModuleFun(data: SceneModule) {
+    return saveSceneModule(data).then(res => {
         console.log(res);
-        adddrawer.value = false;
-        getSceneLabelListFun(currentPage.value, currentPageSize.value);
+        return res;
+
     }).catch(error => {
         ElMessageBox.alert(error, '异常', {
             confirmButtonText: 'OK',
@@ -49,11 +36,12 @@ function saveSceneModuleFun(data) {
     });
 };
 
-// 根据名称查找-finish
-function findSceneModuleFun(data) {
-    console.log('data', data);
-    findSceneModuleByName(data.name, data.pageNumber, data.pageSize).then((res) => {
-        tableData.value = res.records;
+// 根据名称查找
+function findSceneModuleFun(data: DataCommon) {
+    console.log('findSceneModuleByName', data.name, data.page, data.size);
+    return findSceneModuleByName(data.name, data.page, data.size).then((res) => {
+        console.log(res)
+        return res;
     }).catch(error => {
         ElMessageBox.alert(error, '异常', {
             confirmButtonText: 'OK',
@@ -68,10 +56,9 @@ function findSceneModuleFun(data) {
 }
 
 // 查找数据列表-finish
-function getSceneLabelListFun(currentPage, currentPageSize) {
-    getSceneModuleList(currentPage, currentPageSize).then((res) => {
-        tableData.value = res.records;
-        total.value = res.totalRow;
+function getSceneLabelListFun(data) {
+    return getSceneModuleList(data.page, data.size).then((res) => {
+        return res
     }).catch(error => {
         ElMessageBox.alert(error.message, '异常', {
             confirmButtonText: 'OK',
@@ -85,12 +72,13 @@ function getSceneLabelListFun(currentPage, currentPageSize) {
     });
 }
 
-// 删除数据-finish
+// 删除数据
 function deleteSceneModuleFun(data: TableModel) {
     console.log('detele', data);
-    deleteSceneModule(data.id).then(res => {
+    return deleteSceneModule(data.id).then(res => {
         console.log(res);
-        getSceneLabelListFun(currentPage.value, currentPageSize.value);
+        return res;
+
     }).catch(error => {
         ElMessageBox.alert(error, '异常', {
             confirmButtonText: 'OK',
@@ -104,13 +92,13 @@ function deleteSceneModuleFun(data: TableModel) {
     });
 }
 
-// 编辑数据-finish
-function updateSceneModuleFun(data) {
+// 编辑数据
+function updateSceneModuleFun(data: SceneModule) {
     console.log('edit', data);
-    updateSceneModule(data).then(res => {
+    return updateSceneModule(data).then(res => {
         console.log(res);
-        editdrawer.value = false;
-        getSceneLabelListFun(currentPage.value, currentPageSize.value);
+        return res;
+
     }).catch(error => {
         ElMessageBox.alert(error, '异常', {
             confirmButtonText: 'OK',
@@ -125,43 +113,7 @@ function updateSceneModuleFun(data) {
 }
 
 
-// 翻页-finish
-function handleSizeChangeFun(val: number) {
-    currentPageSize.value = val;
-    console.log('currentPageSize:' + currentPageSize.value);
-    getSceneLabelListFun(currentPage.value, currentPageSize.value);
-}
-
-// 页数-finish
-function handlePageChangeFun(val: number) {
-    currentPage.value = val;
-    console.log('currentPage:' + currentPage.value);
-    getSceneLabelListFun(currentPage.value, currentPageSize.value);
-}
-
-// 打开编辑弹框-finish
-function ShowEditDrawer(row) {
-    editdrawer.value = true;
-    drawerFormData.value = row;
 
-}
-
-// 打开添加弹框
-function ShowAddDrawer() {
-    adddrawer.value = true;
-}
-
-// 关闭弹框-finish
-function CloseDrawer() {
-    adddrawer.value = false;
-    editdrawer.value = false;
-    getSceneLabelListFun(currentPage.value, currentPageSize.value);
-}
-
-// 清空输入框数据
-function ClearData() {
-    getSceneLabelListFun(currentPage.value, currentPageSize.value);
-}
 
 
 </script>

+ 4 - 7
src/views/system-config/template/TemplateManager.vue

@@ -6,17 +6,14 @@
           <SceneManagerVue />
         </el-tab-pane>
         <el-tab-pane label="场景标签管理" name="label">
-          <!-- <LabelManagerVue /> -->
+          <LabelManagerVue />
         </el-tab-pane>
         <el-tab-pane label="车间模板" name="workspace">
-          <!-- <WorkspaceManagerVue /> -->
+          <WorkspaceManagerVue />
         </el-tab-pane>
       </el-tabs>
     </div>
 
-    <!-- <el-card style="margin-top: 20px">
-      <CardCommon :type="currentLabel" />
-    </el-card> -->
 
 
   </div>
@@ -25,8 +22,8 @@
 <script setup lang="ts">
 import { ref } from 'vue';
 import type { TabsPaneContext } from 'element-plus';
-// import LabelManagerVue from './LabelManager.vue';
-// import WorkspaceManagerVue from './WorkspaceManager.vue';
+import LabelManagerVue from './LabelManager.vue';
+import WorkspaceManagerVue from './WorkspaceManager.vue';
 import SceneManagerVue from './SceneManager.vue';
 
 

+ 20 - 17
src/views/system-config/template/TitleCommon.vue

@@ -2,9 +2,10 @@
     <div>
         <el-form inline ref="ruleFormRef" :model="form">
             <el-form-item style="margin-top: 20px;">
-                <el-input style="width: 200px" :placeholder="`请输入` + props.type + `名称`" v-model="form.name" clearable @clear="ClearData"/>
+                <el-input style="width: 200px" :placeholder="`请输入` + props.type + `名称`" v-model="form.name" clearable
+                    @clear="clearData" />
             </el-form-item>
-            <el-button type="primary" :icon="Search" @click="FindDataByName(ruleFormRef)">查询</el-button>
+            <el-button type="primary" :icon="Search" @click="findDataByName(ruleFormRef)">查询</el-button>
             <el-button type="primary" :icon="Files" @click="addForm"> 添加</el-button>
         </el-form>
     </div>
@@ -23,7 +24,7 @@ import DrawerCommonVue, { FormModelCommon } from './DrawerCommon.vue';
 
 export type CreateType = '添加模板' | '修改模板';
 const props = defineProps<{ type: string, pagesize: number, pagenumber: number, drawer: boolean }>();
-const emit = defineEmits(['FindDataByName', 'submitDrawer', 'handleClose', 'addForm','ClearData'])
+const emit = defineEmits(['findDataByName', 'submitDrawer', 'handleClose', 'addForm', 'clearData'])
 const form = ref({
     name: '',
 });
@@ -31,30 +32,34 @@ const ruleFormRef = ref<FormInstance>();
 const currentType = ref<CreateType>('添加模板');
 const drawerFormData = ref<FormModelCommon>({} as FormModelCommon);
 
+
+export interface DataCommon {
+    name: string,
+    size: number,
+    page: number,
+}
+
 const titleDrawer = ref(false);
 watch(
     () => props.drawer,
     (newdrawer) => {
-        console.log('title-common-drawerFormData.value0', titleDrawer.value);
         titleDrawer.value = newdrawer;
-        console.log('title-common-drawerFormData.value1', titleDrawer.value);
     },
     { immediate: true },
 );
 
 
 // 根据名称找到数据-finish
-function FindDataByName(formEl: FormInstance | undefined) {
+function findDataByName(formEl: FormInstance | undefined) {
     if (!formEl) return;
     formEl.validate((valid, fields) => {
         if (valid) {
-            console.log('submit!' + form.value.name);
-            const data = {
+            const data = ref<DataCommon>({
                 name: form.value.name,
-                pageSize: props.pagesize,
-                pageNumber: props.pagenumber,
-            }
-            emit('FindDataByName', data);
+                size: props.pagesize,
+                page: props.pagenumber,
+            })
+            emit('findDataByName', data.value);
         } else {
             console.log('error submit!', fields);
         }
@@ -62,16 +67,14 @@ function FindDataByName(formEl: FormInstance | undefined) {
 }
 
 function addForm() {
-    console.log('title-common-drawer.value', props.drawer);
     currentType.value = '添加模板';
-    console.log('title-common-drawerFormData.value', drawerFormData.value);
-
     emit('addForm')
 }
 
 // 添加
 function submitDrawer(data) {
     emit('submitDrawer', data);
+    drawerFormData.value = { id: 0, code: '', name: '', remark: '', status: 0 };
 }
 
 
@@ -86,8 +89,8 @@ const handleClose = (done: () => void) => {
     emit('handleClose');
 };
 
-function ClearData(){
-    emit('ClearData');
+function clearData() {
+    emit('clearData');
 }
 
 

+ 122 - 0
src/views/system-config/template/WorkspaceManager.vue

@@ -0,0 +1,122 @@
+<template>
+    <div>
+
+        <CardCommon :type='type' :search-data-by-name="findWorkshopModuleFun" :get-data="getWorkshopModuleListFun"
+            :delete-table-data="deleteWorkshopModuleFun" :submit-drawer="updateWorkshopModuleFun"
+            :add-data="saveWorkshopModuleFun">
+        </CardCommon>
+
+    </div>
+</template>
+
+<script setup lang="ts">
+import { updateWorkshopModule, getWorkshopModuleList, deleteWorkshopModule, findWorkshopModuleByName, saveWorkshopModule, WorkshopModule } from '@/api/template/template';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import CardCommon, { TableModel } from './CardCommon.vue'
+import { DataCommon } from './TitleCommon.vue';
+import { ref } from 'vue';
+const type = ref('模板');
+
+
+// 添加数据
+function saveWorkshopModuleFun(data: WorkshopModule) {
+    return saveWorkshopModule(data).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `添加数据失败`,
+                })
+            },
+        })
+    });
+};
+
+// 根据名称查找
+function findWorkshopModuleFun(data: DataCommon) {
+    console.log('findWorkshopModuleByName', data.name, data.page, data.size);
+    return findWorkshopModuleByName(data.name, data.page, data.size).then((res) => {
+        console.log(res)
+        return res;
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `查询数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 查找数据列表-finish
+function getWorkshopModuleListFun(data) {
+    return getWorkshopModuleList(data.page, data.size).then((res) => {
+        return res
+    }).catch(error => {
+        ElMessageBox.alert(error.message, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `查询数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 删除数据
+function deleteWorkshopModuleFun(data: TableModel) {
+    console.log('detele', data);
+    return deleteWorkshopModule(data.id).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `删除数据失败`,
+                })
+            },
+        })
+    });
+}
+
+// 编辑数据
+function updateWorkshopModuleFun(data: WorkshopModule) {
+    console.log('edit', data);
+    return updateWorkshopModule(data).then(res => {
+        console.log(res);
+        return res;
+
+    }).catch(error => {
+        ElMessageBox.alert(error, '异常', {
+            confirmButtonText: 'OK',
+            callback: () => {
+                ElMessage({
+                    type: 'info',
+                    message: `编辑数据失败`,
+                })
+            },
+        })
+    });
+}
+
+
+
+
+
+</script>
+
+<style scoped></style>