zhangafei 1 mēnesi atpakaļ
vecāks
revīzija
adced55225
61 mainītis faili ar 51 papildinājumiem un 4991 dzēšanām
  1. 1 0
      .gitignore
  2. 2 0
      src/views/equipmentLifecycle/supplier/apply/PurchaseApplication.api.ts
  3. 3 1
      src/views/equipmentLifecycle/supplier/apply/components/PurchaseApplicationForm.vue
  4. 43 36
      src/views/equipmentLifecycle/supplier/plan/components/PurchasePlanForm.vue
  5. 0 157
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/uniapp/EquipAwaitAcceptForm.vue
  6. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/uniapp/EquipAwaitAcceptList.vue
  7. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAccept.api.ts
  8. 0 210
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAccept.data.ts
  9. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAcceptList.vue
  10. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/V20250408_1__menu_insert_EquipAwaitAccept.sql
  11. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/components/EquipAwaitAcceptForm.vue
  12. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/components/EquipAwaitAcceptModal.vue
  13. 0 89
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/uniapp/FileApplyCategoryForm.vue
  14. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/uniapp/FileApplyCategoryList.vue
  15. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategory.api.ts
  16. 0 56
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategory.data.ts
  17. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategoryList.vue
  18. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/V20250408_1__menu_insert_FileApplyCategory.sql
  19. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/components/FileApplyCategoryForm.vue
  20. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/components/FileApplyCategoryModal.vue
  21. 0 113
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/uniapp/FileApplyDeviceForm.vue
  22. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/uniapp/FileApplyDeviceList.vue
  23. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDevice.api.ts
  24. 0 100
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDevice.data.ts
  25. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDeviceList.vue
  26. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/V20250408_1__menu_insert_FileApplyDevice.sql
  27. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/components/FileApplyDeviceForm.vue
  28. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/components/FileApplyDeviceModal.vue
  29. 0 95
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/uniapp/FileAttachmentsForm.vue
  30. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/uniapp/FileAttachmentsList.vue
  31. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachments.api.ts
  32. 0 67
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachments.data.ts
  33. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachmentsList.vue
  34. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/V20250408_1__menu_insert_FileAttachments.sql
  35. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/components/FileAttachmentsForm.vue
  36. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/components/FileAttachmentsModal.vue
  37. 0 101
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/uniapp/FileVisibilityForm.vue
  38. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/uniapp/FileVisibilityList.vue
  39. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibility.api.ts
  40. 0 78
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibility.data.ts
  41. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibilityList.vue
  42. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/V20250408_1__menu_insert_FileVisibility.sql
  43. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/components/FileVisibilityForm.vue
  44. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/components/FileVisibilityModal.vue
  45. 0 114
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/uniapp/HistoryPurchaseRecordsForm.vue
  46. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/uniapp/HistoryPurchaseRecordsList.vue
  47. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecords.api.ts
  48. 0 115
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecords.data.ts
  49. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecordsList.vue
  50. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/V20250408_1__menu_insert_HistoryPurchaseRecords.sql
  51. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/components/HistoryPurchaseRecordsForm.vue
  52. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/components/HistoryPurchaseRecordsModal.vue
  53. 0 157
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/uniapp/PurchaseDetailsForm.vue
  54. 0 44
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/uniapp/PurchaseDetailsList.vue
  55. 0 64
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetails.api.ts
  56. 0 210
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetails.data.ts
  57. 0 190
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetailsList.vue
  58. 0 26
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/V20250408_1__menu_insert_PurchaseDetails.sql
  59. 0 70
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/components/PurchaseDetailsForm.vue
  60. 0 76
      src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/components/PurchaseDetailsModal.vue
  61. 2 2
      src/views/sys/error-log/index.vue

+ 1 - 0
.gitignore

@@ -2,6 +2,7 @@ node_modules
 .DS_Store
 .github
 dist
+dist*
 .npmrc
 .cache
 

+ 2 - 0
src/views/equipmentLifecycle/supplier/apply/PurchaseApplication.api.ts

@@ -36,6 +36,8 @@ export const materialListList = Api.materialListList;
  */
 export const list = (params) => defHttp.get({ url: Api.list, params });
 
+export const purchaseApplicationAttachmentList = Api.purchaseApplicationAttachmentList;
+
 /**
  * 删除单个
  */

+ 3 - 1
src/views/equipmentLifecycle/supplier/apply/components/PurchaseApplicationForm.vue

@@ -50,9 +50,11 @@
   import { propTypes } from '/@/utils/propTypes';
   import { useJvxeMethod } from '/@/hooks/system/useJvxeMethods';
   import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils';
-  import { getBpmFormSchema, purchaseApplicationAttachmentColumns, materialListColumns } from '../PurchaseApplication.data';
+  import { getBpmFormSchema, materialListColumns } from '../PurchaseApplication.data';
   import { saveOrUpdate, purchaseApplicationAttachmentList, materialListList } from '../PurchaseApplication.api';
 
+  const purchaseApplicationAttachmentColumns = [];
+
   export default defineComponent({
     name: 'PurchaseApplicationForm',
     components: {

+ 43 - 36
src/views/equipmentLifecycle/supplier/plan/components/PurchasePlanForm.vue

@@ -1,8 +1,8 @@
 <template>
   <div>
-    <BasicForm @register="registerForm" ref="formRef"/>
+    <BasicForm @register="registerForm" ref="formRef" />
     <!-- 子表单区域 -->
-    <a-tabs v-model:activeKey="activeKey" animated  @change="handleChangeTabs">
+    <a-tabs v-model:activeKey="activeKey" animated @change="handleChangeTabs">
       <a-tab-pane tab="采购计划相关附件" key="purchaseAttachments" :forceRender="true">
         <JVxeTable
           keep-source
@@ -37,74 +37,81 @@
       </a-tab-pane>
     </a-tabs>
 
-    <div style="width: 100%;text-align: center" v-if="!formDisabled">
+    <div style="width: 100%; text-align: center" v-if="!formDisabled">
       <a-button @click="handleSubmit" pre-icon="ant-design:check" type="primary">提 交</a-button>
     </div>
   </div>
 </template>
 
 <script lang="ts">
-
-  import {BasicForm, useForm} from '/@/components/Form/index';
+  import { BasicForm, useForm } from '/@/components/Form/index';
   import { computed, defineComponent, reactive, ref, unref } from 'vue';
-  import {defHttp} from '/@/utils/http/axios';
+  import { defHttp } from '/@/utils/http/axios';
   import { propTypes } from '/@/utils/propTypes';
   import { useJvxeMethod } from '/@/hooks/system/useJvxeMethods';
   import { VALIDATE_FAILED } from '/@/utils/common/vxeUtils';
-  import {getBpmFormSchema,purchaseAttachmentsColumns,purchasePlanInfoColumns} from '../PurchasePlan.data';
-  import {saveOrUpdate,purchaseAttachmentsList,purchasePlanInfoList} from '../PurchasePlan.api';
+  import { getBpmFormSchema, purchasePlanInfoColumns } from '../PurchasePlan.data';
+  import { saveOrUpdate, purchaseAttachmentsList, purchasePlanInfoList } from '../PurchasePlan.api';
+  const purchaseAttachmentsColumns = [];
 
   export default defineComponent({
-    name: "PurchasePlanForm",
-    components:{
+    name: 'PurchasePlanForm',
+    components: {
       BasicForm,
     },
-    props:{
+    props: {
       formData: propTypes.object.def({}),
       formBpm: propTypes.bool.def(true),
     },
-    setup(props){
+    setup(props) {
       const [registerForm, { setFieldsValue, setProps }] = useForm({
         labelWidth: 150,
         schemas: getBpmFormSchema(props.formData),
         showActionButtonGroup: false,
-        baseColProps: {span: 24}
+        baseColProps: { span: 24 },
       });
 
-      const formDisabled = computed(()=>{
-        if(props.formData.disabled === false){
+      const formDisabled = computed(() => {
+        if (props.formData.disabled === false) {
           return false;
         }
         return true;
       });
 
-      const refKeys = ref(['purchaseAttachments', 'purchasePlanInfo', ]);
+      const refKeys = ref(['purchaseAttachments', 'purchasePlanInfo']);
       const activeKey = ref('purchaseAttachments');
       const purchaseAttachments = ref();
       const purchasePlanInfo = ref();
-      const tableRefs = {purchaseAttachments, purchasePlanInfo, };
+      const tableRefs = { purchaseAttachments, purchasePlanInfo };
       const purchaseAttachmentsTable = reactive({
         loading: false,
         dataSource: [],
-        columns:purchaseAttachmentsColumns,
-        show: false
-      })
+        columns: purchaseAttachmentsColumns,
+        show: false,
+      });
       const purchasePlanInfoTable = reactive({
         loading: false,
         dataSource: [],
-        columns:purchasePlanInfoColumns,
-        show: false
-      })
+        columns: purchasePlanInfoColumns,
+        show: false,
+      });
 
-      const [handleChangeTabs,handleSubmit,requestSubTableData,formRef] = useJvxeMethod(requestAddOrEdit,classifyIntoFormData,tableRefs,activeKey,refKeys,validateSubForm);
+      const [handleChangeTabs, handleSubmit, requestSubTableData, formRef] = useJvxeMethod(
+        requestAddOrEdit,
+        classifyIntoFormData,
+        tableRefs,
+        activeKey,
+        refKeys,
+        validateSubForm
+      );
 
       function classifyIntoFormData(allValues) {
-        let main = Object.assign({}, allValues.formValue)
+        let main = Object.assign({}, allValues.formValue);
         return {
           ...main, // 展开
           purchaseAttachmentsList: allValues.tablesValue[0].tableData,
           purchasePlanInfoList: allValues.tablesValue[1].tableData,
-        }
+        };
       }
 
       //表单提交事件
@@ -113,19 +120,19 @@
       }
 
       const queryByIdUrl = '/purchaseManage/purchasePlan/queryById';
-      async function initFormData(){
-        let params = {id: props.formData.dataId};
-        const data = await defHttp.get({url: queryByIdUrl, params});
+      async function initFormData() {
+        let params = { id: props.formData.dataId };
+        const data = await defHttp.get({ url: queryByIdUrl, params });
         //设置表单的值
-        await setFieldsValue({...data});
-        requestSubTableData(purchaseAttachmentsList, {id: data.id}, purchaseAttachmentsTable, ()=>{
+        await setFieldsValue({ ...data });
+        requestSubTableData(purchaseAttachmentsList, { id: data.id }, purchaseAttachmentsTable, () => {
           purchaseAttachmentsTable.show = true;
         });
-        requestSubTableData(purchasePlanInfoList, {id: data.id}, purchasePlanInfoTable, ()=>{
+        requestSubTableData(purchasePlanInfoList, { id: data.id }, purchasePlanInfoTable, () => {
           purchasePlanInfoTable.show = true;
         });
         //默认是禁用
-        await setProps({disabled: formDisabled.value})
+        await setProps({ disabled: formDisabled.value });
       }
 
       initFormData();
@@ -141,7 +148,7 @@
         purchasePlanInfo,
         purchaseAttachmentsTable,
         purchasePlanInfoTable,
-      }
-    }
+      };
+    },
   });
-</script>
+</script>

+ 0 - 157
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/uniapp/EquipAwaitAcceptForm.vue

@@ -1,157 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">待验收设备</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">编号:</text></view>
-                  <input  placeholder="请输入编号" v-model="model.number"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">设备名称:</text></view>
-                  <input  placeholder="请输入设备名称" v-model="model.equipmentName"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">序列号:</text></view>
-                  <input  placeholder="请输入序列号" v-model="model.serialNumber"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">类别(1 设备 2 子设备 3 电脑 4 鼠标  5 电脑外设 6 计量器具 7 特种设备):</text></view>
-                  <input type="number" placeholder="请输入类别(1 设备 2 子设备 3 电脑 4 鼠标  5 电脑外设 6 计量器具 7 特种设备)" v-model="model.category"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">品牌:</text></view>
-                  <input  placeholder="请输入品牌" v-model="model.brand"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">规格型号:</text></view>
-                  <input  placeholder="请输入规格型号" v-model="model.specification"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">供应商:</text></view>
-                  <input  placeholder="请输入供应商" v-model="model.supplier"/>
-                </view>
-              </view>
-              <my-date label="购置日期:" fields="day" v-model="model.acquiredDate" placeholder="请输入购置日期"></my-date>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">采购金额:</text></view>
-                  <input type="number" placeholder="请输入采购金额" v-model="model.purchaseAmount"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">负责人:</text></view>
-                  <input  placeholder="请输入负责人" v-model="model.director"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">功能位置:</text></view>
-                  <input  placeholder="请输入功能位置" v-model="model.functionLocation"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">部门:</text></view>
-                  <input  placeholder="请输入部门" v-model="model.department"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">最新验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收):</text></view>
-                  <input type="number" placeholder="请输入最新验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)" v-model="model.latestAccept"/>
-                </view>
-              </view>
-              <my-date label="验收时间:" v-model="model.acceptTime" placeholder="请输入验收时间"></my-date>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">下步验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收):</text></view>
-                  <input type="number" placeholder="请输入下步验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)" v-model="model.nextStepAccept"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "EquipAwaitAcceptForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/equipAwaitAccept/queryById",
-                  add: "/purchaseManage/equipAwaitAccept/add",
-                  edit: "/purchaseManage/equipAwaitAccept/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/uniapp/EquipAwaitAcceptList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">待验收设备</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '待验收设备',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/equipAwaitAccept/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAccept.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/equipAwaitAccept/list',
-  save='/purchaseManage/equipAwaitAccept/add',
-  edit='/purchaseManage/equipAwaitAccept/edit',
-  deleteOne = '/purchaseManage/equipAwaitAccept/delete',
-  deleteBatch = '/purchaseManage/equipAwaitAccept/deleteBatch',
-  importExcel = '/purchaseManage/equipAwaitAccept/importExcel',
-  exportXls = '/purchaseManage/equipAwaitAccept/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 210
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAccept.data.ts

@@ -1,210 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '编号',
-    align:"center",
-    dataIndex: 'number'
-   },
-   {
-    title: '设备名称',
-    align:"center",
-    dataIndex: 'equipmentName'
-   },
-   {
-    title: '序列号',
-    align:"center",
-    dataIndex: 'serialNumber'
-   },
-   {
-    title: '类别(1 设备 2 子设备 3 电脑 4 鼠标  5 电脑外设 6 计量器具 7 特种设备)',
-    align:"center",
-    dataIndex: 'category'
-   },
-   {
-    title: '品牌',
-    align:"center",
-    dataIndex: 'brand'
-   },
-   {
-    title: '规格型号',
-    align:"center",
-    dataIndex: 'specification'
-   },
-   {
-    title: '供应商',
-    align:"center",
-    dataIndex: 'supplier'
-   },
-   {
-    title: '购置日期',
-    align:"center",
-    dataIndex: 'acquiredDate',
-    customRender:({text}) =>{
-      text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text);
-      return text;
-    },
-   },
-   {
-    title: '采购金额',
-    align:"center",
-    dataIndex: 'purchaseAmount'
-   },
-   {
-    title: '负责人',
-    align:"center",
-    dataIndex: 'director'
-   },
-   {
-    title: '功能位置',
-    align:"center",
-    dataIndex: 'functionLocation'
-   },
-   {
-    title: '部门',
-    align:"center",
-    dataIndex: 'department'
-   },
-   {
-    title: '最新验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',
-    align:"center",
-    dataIndex: 'latestAccept'
-   },
-   {
-    title: '验收时间',
-    align:"center",
-    dataIndex: 'acceptTime'
-   },
-   {
-    title: '下步验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',
-    align:"center",
-    dataIndex: 'nextStepAccept'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '编号',
-    field: 'number',
-    component: 'Input',
-  },
-  {
-    label: '设备名称',
-    field: 'equipmentName',
-    component: 'Input',
-  },
-  {
-    label: '序列号',
-    field: 'serialNumber',
-    component: 'Input',
-  },
-  {
-    label: '类别(1 设备 2 子设备 3 电脑 4 鼠标  5 电脑外设 6 计量器具 7 特种设备)',
-    field: 'category',
-    component: 'InputNumber',
-  },
-  {
-    label: '品牌',
-    field: 'brand',
-    component: 'Input',
-  },
-  {
-    label: '规格型号',
-    field: 'specification',
-    component: 'Input',
-  },
-  {
-    label: '供应商',
-    field: 'supplier',
-    component: 'Input',
-  },
-  {
-    label: '购置日期',
-    field: 'acquiredDate',
-    component: 'DatePicker',
-    componentProps: {
-      valueFormat: 'YYYY-MM-DD'
-    },
-  },
-  {
-    label: '采购金额',
-    field: 'purchaseAmount',
-    component: 'InputNumber',
-  },
-  {
-    label: '负责人',
-    field: 'director',
-    component: 'Input',
-  },
-  {
-    label: '功能位置',
-    field: 'functionLocation',
-    component: 'Input',
-  },
-  {
-    label: '部门',
-    field: 'department',
-    component: 'Input',
-  },
-  {
-    label: '最新验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',
-    field: 'latestAccept',
-    component: 'InputNumber',
-  },
-  {
-    label: '验收时间',
-    field: 'acceptTime',
-    component: 'DatePicker',
-    componentProps: {
-       showTime: true,
-       valueFormat: 'YYYY-MM-DD HH:mm:ss'
-     },
-  },
-  {
-    label: '下步验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',
-    field: 'nextStepAccept',
-    component: 'InputNumber',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  number: {title: '编号',order: 0,view: 'text', type: 'string',},
-  equipmentName: {title: '设备名称',order: 1,view: 'text', type: 'string',},
-  serialNumber: {title: '序列号',order: 2,view: 'text', type: 'string',},
-  category: {title: '类别(1 设备 2 子设备 3 电脑 4 鼠标  5 电脑外设 6 计量器具 7 特种设备)',order: 3,view: 'number', type: 'number',},
-  brand: {title: '品牌',order: 4,view: 'text', type: 'string',},
-  specification: {title: '规格型号',order: 5,view: 'text', type: 'string',},
-  supplier: {title: '供应商',order: 6,view: 'text', type: 'string',},
-  acquiredDate: {title: '购置日期',order: 7,view: 'date', type: 'string',},
-  purchaseAmount: {title: '采购金额',order: 8,view: 'number', type: 'number',},
-  director: {title: '负责人',order: 9,view: 'text', type: 'string',},
-  functionLocation: {title: '功能位置',order: 10,view: 'text', type: 'string',},
-  department: {title: '部门',order: 11,view: 'text', type: 'string',},
-  latestAccept: {title: '最新验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',order: 12,view: 'number', type: 'number',},
-  acceptTime: {title: '验收时间',order: 13,view: 'datetime', type: 'string',},
-  nextStepAccept: {title: '下步验收(1 到货验收 2 开箱验收  3 安装验收 4 质保验收 5 试运行验收)',order: 14,view: 'number', type: 'number',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/EquipAwaitAcceptList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_equip_await_accept:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_equip_await_accept:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_equip_await_accept:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_equip_await_accept:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <EquipAwaitAcceptModal @register="registerModal" @success="handleSuccess"></EquipAwaitAcceptModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-equipAwaitAccept" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import EquipAwaitAcceptModal from './components/EquipAwaitAcceptModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './EquipAwaitAccept.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './EquipAwaitAccept.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '待验收设备',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"待验收设备",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_equip_await_accept:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_equip_await_accept:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/V20250408_1__menu_insert_EquipAwaitAccept.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802148360060', NULL, '待验收设备', '/purchaseManage/equipAwaitAcceptList', 'purchaseManage/EquipAwaitAcceptList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360061', '2025040802148360060', '添加待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360062', '2025040802148360060', '编辑待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360063', '2025040802148360060', '删除待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360064', '2025040802148360060', '批量删除待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360065', '2025040802148360060', '导出excel_待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802148360066', '2025040802148360060', '导入excel_待验收设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_equip_await_accept:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:14:06', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/components/EquipAwaitAcceptForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../EquipAwaitAccept.data';
-    import {saveOrUpdate} from '../EquipAwaitAccept.api';
-    
-    export default defineComponent({
-        name: "EquipAwaitAcceptForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/equipAwaitAccept/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipAwaitAccept(待验收设备)/vue3/components/EquipAwaitAcceptModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="EquipAwaitAcceptForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../EquipAwaitAccept.data';
-    import {saveOrUpdate} from '../EquipAwaitAccept.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 89
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/uniapp/FileApplyCategoryForm.vue

@@ -1,89 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--适用类别</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">类别名称:</text></view>
-                  <input  placeholder="请输入类别名称" v-model="model.categoryName"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件id:</text></view>
-                  <input  placeholder="请输入文件id" v-model="model.fileId"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "FileApplyCategoryForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/fileApplyCategory/queryById",
-                  add: "/purchaseManage/fileApplyCategory/add",
-                  edit: "/purchaseManage/fileApplyCategory/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/uniapp/FileApplyCategoryList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--适用类别</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '设备相关文件--适用类别',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/fileApplyCategory/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategory.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/fileApplyCategory/list',
-  save='/purchaseManage/fileApplyCategory/add',
-  edit='/purchaseManage/fileApplyCategory/edit',
-  deleteOne = '/purchaseManage/fileApplyCategory/delete',
-  deleteBatch = '/purchaseManage/fileApplyCategory/deleteBatch',
-  importExcel = '/purchaseManage/fileApplyCategory/importExcel',
-  exportXls = '/purchaseManage/fileApplyCategory/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 56
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategory.data.ts

@@ -1,56 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '类别名称',
-    align:"center",
-    dataIndex: 'categoryName'
-   },
-   {
-    title: '文件id',
-    align:"center",
-    dataIndex: 'fileId'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '类别名称',
-    field: 'categoryName',
-    component: 'Input',
-  },
-  {
-    label: '文件id',
-    field: 'fileId',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  categoryName: {title: '类别名称',order: 0,view: 'text', type: 'string',},
-  fileId: {title: '文件id',order: 1,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/FileApplyCategoryList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_category:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_category:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_category:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_file_apply_category:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <FileApplyCategoryModal @register="registerModal" @success="handleSuccess"></FileApplyCategoryModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-fileApplyCategory" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import FileApplyCategoryModal from './components/FileApplyCategoryModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './FileApplyCategory.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './FileApplyCategory.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '设备相关文件--适用类别',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"设备相关文件--适用类别",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_file_apply_category:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_file_apply_category:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/V20250408_1__menu_insert_FileApplyCategory.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802285560410', NULL, '设备相关文件--适用类别', '/purchaseManage/fileApplyCategoryList', 'purchaseManage/FileApplyCategoryList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560411', '2025040802285560410', '添加设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560412', '2025040802285560410', '编辑设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560413', '2025040802285560410', '删除设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560414', '2025040802285560410', '批量删除设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560415', '2025040802285560410', '导出excel_设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802285560416', '2025040802285560410', '导入excel_设备相关文件--适用类别', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_category:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:28:41', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/components/FileApplyCategoryForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../FileApplyCategory.data';
-    import {saveOrUpdate} from '../FileApplyCategory.api';
-    
-    export default defineComponent({
-        name: "FileApplyCategoryForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/fileApplyCategory/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyCategory (适用类别)/vue3/components/FileApplyCategoryModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="FileApplyCategoryForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../FileApplyCategory.data';
-    import {saveOrUpdate} from '../FileApplyCategory.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 113
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/uniapp/FileApplyDeviceForm.vue

@@ -1,113 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--适用设备</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">设备编号:</text></view>
-                  <input  placeholder="请输入设备编号" v-model="model.equipmentNum"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">设备名称:</text></view>
-                  <input  placeholder="请输入设备名称" v-model="model.equipmentName"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">品牌:</text></view>
-                  <input  placeholder="请输入品牌" v-model="model.brand"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">类别:</text></view>
-                  <input  placeholder="请输入类别" v-model="model.category"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">规格型号:</text></view>
-                  <input  placeholder="请输入规格型号" v-model="model.specification"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件id:</text></view>
-                  <input  placeholder="请输入文件id" v-model="model.fileId"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "FileApplyDeviceForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/fileApplyDevice/queryById",
-                  add: "/purchaseManage/fileApplyDevice/add",
-                  edit: "/purchaseManage/fileApplyDevice/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/uniapp/FileApplyDeviceList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--适用设备</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '设备相关文件--适用设备',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/fileApplyDevice/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDevice.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/fileApplyDevice/list',
-  save='/purchaseManage/fileApplyDevice/add',
-  edit='/purchaseManage/fileApplyDevice/edit',
-  deleteOne = '/purchaseManage/fileApplyDevice/delete',
-  deleteBatch = '/purchaseManage/fileApplyDevice/deleteBatch',
-  importExcel = '/purchaseManage/fileApplyDevice/importExcel',
-  exportXls = '/purchaseManage/fileApplyDevice/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 100
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDevice.data.ts

@@ -1,100 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '设备编号',
-    align:"center",
-    dataIndex: 'equipmentNum'
-   },
-   {
-    title: '设备名称',
-    align:"center",
-    dataIndex: 'equipmentName'
-   },
-   {
-    title: '品牌',
-    align:"center",
-    dataIndex: 'brand'
-   },
-   {
-    title: '类别',
-    align:"center",
-    dataIndex: 'category'
-   },
-   {
-    title: '规格型号',
-    align:"center",
-    dataIndex: 'specification'
-   },
-   {
-    title: '文件id',
-    align:"center",
-    dataIndex: 'fileId'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '设备编号',
-    field: 'equipmentNum',
-    component: 'Input',
-  },
-  {
-    label: '设备名称',
-    field: 'equipmentName',
-    component: 'Input',
-  },
-  {
-    label: '品牌',
-    field: 'brand',
-    component: 'Input',
-  },
-  {
-    label: '类别',
-    field: 'category',
-    component: 'Input',
-  },
-  {
-    label: '规格型号',
-    field: 'specification',
-    component: 'Input',
-  },
-  {
-    label: '文件id',
-    field: 'fileId',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  equipmentNum: {title: '设备编号',order: 0,view: 'text', type: 'string',},
-  equipmentName: {title: '设备名称',order: 1,view: 'text', type: 'string',},
-  brand: {title: '品牌',order: 2,view: 'text', type: 'string',},
-  category: {title: '类别',order: 3,view: 'text', type: 'string',},
-  specification: {title: '规格型号',order: 4,view: 'text', type: 'string',},
-  fileId: {title: '文件id',order: 5,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/FileApplyDeviceList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_device:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_device:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_file_apply_device:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_file_apply_device:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <FileApplyDeviceModal @register="registerModal" @success="handleSuccess"></FileApplyDeviceModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-fileApplyDevice" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import FileApplyDeviceModal from './components/FileApplyDeviceModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './FileApplyDevice.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './FileApplyDevice.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '设备相关文件--适用设备',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"设备相关文件--适用设备",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_file_apply_device:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_file_apply_device:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/V20250408_1__menu_insert_FileApplyDevice.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('202504080229120390', NULL, '设备相关文件--适用设备', '/purchaseManage/fileApplyDeviceList', 'purchaseManage/FileApplyDeviceList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120391', '202504080229120390', '添加设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120392', '202504080229120390', '编辑设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120393', '202504080229120390', '删除设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120394', '202504080229120390', '批量删除设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120395', '202504080229120390', '导出excel_设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('202504080229120396', '202504080229120390', '导入excel_设备相关文件--适用设备', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_apply_device:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:29:39', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/components/FileApplyDeviceForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../FileApplyDevice.data';
-    import {saveOrUpdate} from '../FileApplyDevice.api';
-    
-    export default defineComponent({
-        name: "FileApplyDeviceForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/fileApplyDevice/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileApplyDevice (适用设备)/vue3/components/FileApplyDeviceModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="FileApplyDeviceForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../FileApplyDevice.data';
-    import {saveOrUpdate} from '../FileApplyDevice.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 95
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/uniapp/FileAttachmentsForm.vue

@@ -1,95 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--相关附件</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件名称:</text></view>
-                  <input  placeholder="请输入文件名称" v-model="model.fileName"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件地址:</text></view>
-                  <input  placeholder="请输入文件地址" v-model="model.fileAddress"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件id:</text></view>
-                  <input  placeholder="请输入文件id" v-model="model.fileId"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "FileAttachmentsForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/fileAttachments/queryById",
-                  add: "/purchaseManage/fileAttachments/add",
-                  edit: "/purchaseManage/fileAttachments/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/uniapp/FileAttachmentsList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--相关附件</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '设备相关文件--相关附件',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/fileAttachments/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachments.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/fileAttachments/list',
-  save='/purchaseManage/fileAttachments/add',
-  edit='/purchaseManage/fileAttachments/edit',
-  deleteOne = '/purchaseManage/fileAttachments/delete',
-  deleteBatch = '/purchaseManage/fileAttachments/deleteBatch',
-  importExcel = '/purchaseManage/fileAttachments/importExcel',
-  exportXls = '/purchaseManage/fileAttachments/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 67
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachments.data.ts

@@ -1,67 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '文件名称',
-    align:"center",
-    dataIndex: 'fileName'
-   },
-   {
-    title: '文件地址',
-    align:"center",
-    dataIndex: 'fileAddress'
-   },
-   {
-    title: '文件id',
-    align:"center",
-    dataIndex: 'fileId'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '文件名称',
-    field: 'fileName',
-    component: 'Input',
-  },
-  {
-    label: '文件地址',
-    field: 'fileAddress',
-    component: 'Input',
-  },
-  {
-    label: '文件id',
-    field: 'fileId',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  fileName: {title: '文件名称',order: 0,view: 'text', type: 'string',},
-  fileAddress: {title: '文件地址',order: 1,view: 'text', type: 'string',},
-  fileId: {title: '文件id',order: 2,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/FileAttachmentsList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_file_attachments:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_file_attachments:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_file_attachments:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_file_attachments:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <FileAttachmentsModal @register="registerModal" @success="handleSuccess"></FileAttachmentsModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-fileAttachments" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import FileAttachmentsModal from './components/FileAttachmentsModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './FileAttachments.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './FileAttachments.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '设备相关文件--相关附件',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"设备相关文件--相关附件",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_file_attachments:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_file_attachments:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/V20250408_1__menu_insert_FileAttachments.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802302970270', NULL, '设备相关文件--相关附件', '/purchaseManage/fileAttachmentsList', 'purchaseManage/FileAttachmentsList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970271', '2025040802302970270', '添加设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970272', '2025040802302970270', '编辑设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970273', '2025040802302970270', '删除设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970274', '2025040802302970270', '批量删除设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970275', '2025040802302970270', '导出excel_设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802302970276', '2025040802302970270', '导入excel_设备相关文件--相关附件', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_attachments:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:30:27', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/components/FileAttachmentsForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../FileAttachments.data';
-    import {saveOrUpdate} from '../FileAttachments.api';
-    
-    export default defineComponent({
-        name: "FileAttachmentsForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/fileAttachments/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileAttachments (相关附件)/vue3/components/FileAttachmentsModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="FileAttachmentsForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../FileAttachments.data';
-    import {saveOrUpdate} from '../FileAttachments.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 101
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/uniapp/FileVisibilityForm.vue

@@ -1,101 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--可见范围</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">类型:</text></view>
-                  <input type="number" placeholder="请输入类型" v-model="model.type"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">编号:</text></view>
-                  <input  placeholder="请输入编号" v-model="model.number"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">部门/人员:</text></view>
-                  <input  placeholder="请输入部门/人员" v-model="model.departmentOrStaff"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">文件id:</text></view>
-                  <input  placeholder="请输入文件id" v-model="model.fileId"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "FileVisibilityForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/fileVisibility/queryById",
-                  add: "/purchaseManage/fileVisibility/add",
-                  edit: "/purchaseManage/fileVisibility/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/uniapp/FileVisibilityList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">设备相关文件--可见范围</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '设备相关文件--可见范围',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/fileVisibility/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibility.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/fileVisibility/list',
-  save='/purchaseManage/fileVisibility/add',
-  edit='/purchaseManage/fileVisibility/edit',
-  deleteOne = '/purchaseManage/fileVisibility/delete',
-  deleteBatch = '/purchaseManage/fileVisibility/deleteBatch',
-  importExcel = '/purchaseManage/fileVisibility/importExcel',
-  exportXls = '/purchaseManage/fileVisibility/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 78
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibility.data.ts

@@ -1,78 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '类型',
-    align:"center",
-    dataIndex: 'type'
-   },
-   {
-    title: '编号',
-    align:"center",
-    dataIndex: 'number'
-   },
-   {
-    title: '部门/人员',
-    align:"center",
-    dataIndex: 'departmentOrStaff'
-   },
-   {
-    title: '文件id',
-    align:"center",
-    dataIndex: 'fileId'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '类型',
-    field: 'type',
-    component: 'InputNumber',
-  },
-  {
-    label: '编号',
-    field: 'number',
-    component: 'Input',
-  },
-  {
-    label: '部门/人员',
-    field: 'departmentOrStaff',
-    component: 'Input',
-  },
-  {
-    label: '文件id',
-    field: 'fileId',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  type: {title: '类型',order: 0,view: 'number', type: 'number',},
-  number: {title: '编号',order: 1,view: 'text', type: 'string',},
-  departmentOrStaff: {title: '部门/人员',order: 2,view: 'text', type: 'string',},
-  fileId: {title: '文件id',order: 3,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/FileVisibilityList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_file_visibility:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_file_visibility:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_file_visibility:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_file_visibility:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <FileVisibilityModal @register="registerModal" @success="handleSuccess"></FileVisibilityModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-fileVisibility" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import FileVisibilityModal from './components/FileVisibilityModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './FileVisibility.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './FileVisibility.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '设备相关文件--可见范围',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"设备相关文件--可见范围",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_file_visibility:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_file_visibility:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/V20250408_1__menu_insert_FileVisibility.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802314350110', NULL, '设备相关文件--可见范围', '/purchaseManage/fileVisibilityList', 'purchaseManage/FileVisibilityList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314350111', '2025040802314350110', '添加设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314350112', '2025040802314350110', '编辑设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314360113', '2025040802314350110', '删除设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314360114', '2025040802314350110', '批量删除设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314360115', '2025040802314350110', '导出excel_设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802314360116', '2025040802314350110', '导入excel_设备相关文件--可见范围', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_file_visibility:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:31:11', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/components/FileVisibilityForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../FileVisibility.data';
-    import {saveOrUpdate} from '../FileVisibility.api';
-    
-    export default defineComponent({
-        name: "FileVisibilityForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/fileVisibility/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/equipmentRelatedFile ( 设备相关文件)/fileVisibility (可见范围)/vue3/components/FileVisibilityModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="FileVisibilityForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../FileVisibility.data';
-    import {saveOrUpdate} from '../FileVisibility.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 114
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/uniapp/HistoryPurchaseRecordsForm.vue

@@ -1,114 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">历史采购记录</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <my-date label="采购时间:" v-model="model.purchaseTime" placeholder="请输入采购时间"></my-date>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">供应商:</text></view>
-                  <input  placeholder="请输入供应商" v-model="model.supplier"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">采购价格:</text></view>
-                  <input type="number" placeholder="请输入采购价格" v-model="model.purchasePrice"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">采购数量:</text></view>
-                  <input type="number" placeholder="请输入采购数量" v-model="model.purchaseQuantity"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">物料编号:</text></view>
-                  <input  placeholder="请输入物料编号" v-model="model.materialNum"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">物料名称:</text></view>
-                  <input  placeholder="请输入物料名称" v-model="model.name"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">规格型号:</text></view>
-                  <input  placeholder="请输入规格型号" v-model="model.specification"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "HistoryPurchaseRecordsForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/historyPurchaseRecords/queryById",
-                  add: "/purchaseManage/historyPurchaseRecords/add",
-                  edit: "/purchaseManage/historyPurchaseRecords/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/uniapp/HistoryPurchaseRecordsList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">历史采购记录</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '历史采购记录',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/historyPurchaseRecords/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecords.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/historyPurchaseRecords/list',
-  save='/purchaseManage/historyPurchaseRecords/add',
-  edit='/purchaseManage/historyPurchaseRecords/edit',
-  deleteOne = '/purchaseManage/historyPurchaseRecords/delete',
-  deleteBatch = '/purchaseManage/historyPurchaseRecords/deleteBatch',
-  importExcel = '/purchaseManage/historyPurchaseRecords/importExcel',
-  exportXls = '/purchaseManage/historyPurchaseRecords/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 115
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecords.data.ts

@@ -1,115 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '采购时间',
-    align:"center",
-    dataIndex: 'purchaseTime'
-   },
-   {
-    title: '供应商',
-    align:"center",
-    dataIndex: 'supplier'
-   },
-   {
-    title: '采购价格',
-    align:"center",
-    dataIndex: 'purchasePrice'
-   },
-   {
-    title: '采购数量',
-    align:"center",
-    dataIndex: 'purchaseQuantity'
-   },
-   {
-    title: '物料编号',
-    align:"center",
-    dataIndex: 'materialNum'
-   },
-   {
-    title: '物料名称',
-    align:"center",
-    dataIndex: 'name'
-   },
-   {
-    title: '规格型号',
-    align:"center",
-    dataIndex: 'specification'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '采购时间',
-    field: 'purchaseTime',
-    component: 'DatePicker',
-    componentProps: {
-       showTime: true,
-       valueFormat: 'YYYY-MM-DD HH:mm:ss'
-     },
-  },
-  {
-    label: '供应商',
-    field: 'supplier',
-    component: 'Input',
-  },
-  {
-    label: '采购价格',
-    field: 'purchasePrice',
-    component: 'InputNumber',
-  },
-  {
-    label: '采购数量',
-    field: 'purchaseQuantity',
-    component: 'InputNumber',
-  },
-  {
-    label: '物料编号',
-    field: 'materialNum',
-    component: 'Input',
-  },
-  {
-    label: '物料名称',
-    field: 'name',
-    component: 'Input',
-  },
-  {
-    label: '规格型号',
-    field: 'specification',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  purchaseTime: {title: '采购时间',order: 0,view: 'datetime', type: 'string',},
-  supplier: {title: '供应商',order: 1,view: 'text', type: 'string',},
-  purchasePrice: {title: '采购价格',order: 2,view: 'number', type: 'number',},
-  purchaseQuantity: {title: '采购数量',order: 3,view: 'number', type: 'number',},
-  materialNum: {title: '物料编号',order: 4,view: 'text', type: 'string',},
-  name: {title: '物料名称',order: 5,view: 'text', type: 'string',},
-  specification: {title: '规格型号',order: 6,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/HistoryPurchaseRecordsList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_history_purchase_records:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_history_purchase_records:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_history_purchase_records:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_history_purchase_records:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <HistoryPurchaseRecordsModal @register="registerModal" @success="handleSuccess"></HistoryPurchaseRecordsModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-historyPurchaseRecords" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import HistoryPurchaseRecordsModal from './components/HistoryPurchaseRecordsModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './HistoryPurchaseRecords.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './HistoryPurchaseRecords.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '历史采购记录',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"历史采购记录",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_history_purchase_records:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_history_purchase_records:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/V20250408_1__menu_insert_HistoryPurchaseRecords.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802335580280', NULL, '历史采购记录', '/purchaseManage/historyPurchaseRecordsList', 'purchaseManage/HistoryPurchaseRecordsList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590281', '2025040802335580280', '添加历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590282', '2025040802335580280', '编辑历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590283', '2025040802335580280', '删除历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590284', '2025040802335580280', '批量删除历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590285', '2025040802335580280', '导出excel_历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802335590286', '2025040802335580280', '导入excel_历史采购记录', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_history_purchase_records:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:33:28', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/components/HistoryPurchaseRecordsForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../HistoryPurchaseRecords.data';
-    import {saveOrUpdate} from '../HistoryPurchaseRecords.api';
-    
-    export default defineComponent({
-        name: "HistoryPurchaseRecordsForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/historyPurchaseRecords/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/historyPurchaseRecords (历史采购记录)/vue3/components/HistoryPurchaseRecordsModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="HistoryPurchaseRecordsForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../HistoryPurchaseRecords.data';
-    import {saveOrUpdate} from '../HistoryPurchaseRecords.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 0 - 157
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/uniapp/PurchaseDetailsForm.vue

@@ -1,157 +0,0 @@
-<template>
-    <view>
-        <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack :backRouterName="backRouteName">
-			<block slot="backText">返回</block>
-			<block slot="content">采购明细</block>
-		</cu-custom>
-		 <!--表单区域-->
-		<view>
-			<form>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">物料编号:</text></view>
-                  <input  placeholder="请输入物料编号" v-model="model.materialNo"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">物料名称:</text></view>
-                  <input  placeholder="请输入物料名称" v-model="model.materialName"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">单位:</text></view>
-                  <input  placeholder="请输入单位" v-model="model.unit"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">品牌:</text></view>
-                  <input  placeholder="请输入品牌" v-model="model.brand"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">规格型号:</text></view>
-                  <input  placeholder="请输入规格型号" v-model="model.specification"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">供应商:</text></view>
-                  <input  placeholder="请输入供应商" v-model="model.supplier"/>
-                </view>
-              </view>
-              <my-date label="申请时间:" v-model="model.applicationTime" placeholder="请输入申请时间"></my-date>
-              <my-date label="期望供货时间:" fields="day" v-model="model.expectedDeliveryTime" placeholder="请输入期望供货时间"></my-date>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">申请人:</text></view>
-                  <input  placeholder="请输入申请人" v-model="model.applicant"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">申请数量:</text></view>
-                  <input type="number" placeholder="请输入申请数量" v-model="model.quantity"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">预计单价:</text></view>
-                  <input type="number" placeholder="请输入预计单价" v-model="model.expectedPrice"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">实际单价:</text></view>
-                  <input type="number" placeholder="请输入实际单价" v-model="model.actualPrice"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">到货量:</text></view>
-                  <input type="number" placeholder="请输入到货量" v-model="model.arrivalQuantity"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">备注:</text></view>
-                  <input  placeholder="请输入备注" v-model="model.remark"/>
-                </view>
-              </view>
-              <view class="cu-form-group">
-                <view class="flex align-center">
-                  <view class="title"><text space="ensp">申请单号:</text></view>
-                  <input  placeholder="请输入申请单号" v-model="model.requestNo"/>
-                </view>
-              </view>
-				<view class="padding">
-					<button class="cu-btn block bg-blue margin-tb-sm lg" @click="onSubmit">
-						<text v-if="loading" class="cuIcon-loading2 cuIconfont-spin"></text>提交
-					</button>
-				</view>
-			</form>
-		</view>
-    </view>
-</template>
-
-<script>
-    import myDate from '@/components/my-componets/my-date.vue'
-
-    export default {
-        name: "PurchaseDetailsForm",
-        components:{ myDate },
-        props:{
-          formData:{
-              type:Object,
-              default:()=>{},
-              required:false
-          }
-        },
-        data(){
-            return {
-				CustomBar: this.CustomBar,
-				NavBarColor: this.NavBarColor,
-				loading:false,
-                model: {},
-                backRouteName:'index',
-                url: {
-                  queryById: "/purchaseManage/purchaseDetails/queryById",
-                  add: "/purchaseManage/purchaseDetails/add",
-                  edit: "/purchaseManage/purchaseDetails/edit",
-                },
-            }
-        },
-        created(){
-             this.initFormData();
-        },
-        methods:{
-           initFormData(){
-               if(this.formData){
-                    let dataId = this.formData.dataId;
-                    this.$http.get(this.url.queryById,{params:{id:dataId}}).then((res)=>{
-                        if(res.data.success){
-                            console.log("表单数据",res);
-                            this.model = res.data.result;
-                        }
-                    })
-                }
-            },
-            onSubmit() {
-                let myForm = {...this.model};
-                this.loading = true;
-                let url = myForm.id?this.url.edit:this.url.add;
-				this.$http.post(url,myForm).then(res=>{
-				   console.log("res",res)
-				   this.loading = false
-				   this.$Router.push({name:this.backRouteName})
-				}).catch(()=>{
-					this.loading = false
-				});
-            }
-        }
-    }
-</script>

+ 0 - 44
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/uniapp/PurchaseDetailsList.vue

@@ -1,44 +0,0 @@
-<template>
-	<view>
-	   <!--标题和返回-->
-		<cu-custom :bgColor="NavBarColor" isBack>
-			<block slot="backText">返回</block>
-			<block slot="content">采购明细</block>
-		</cu-custom>
-		<!--滚动加载列表-->
-		<mescroll-body ref="mescrollRef" bottom="88"  @init="mescrollInit" :up="upOption" :down="downOption" @down="downCallback" @up="upCallback">
-		    <view class="cu-list menu">
-				<view class="cu-item" v-for="(item,index) in list" :key="index" @click="goHome">
-					<view class="flex" style="width:100%">
-                        <text class="text-lg" style="color: #000;">
-                             {{ item.createBy}}
-                        </text>
-					</view>
-				</view>
-			</view>
-		</mescroll-body>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	import Mixin from "@/common/mixin/Mixin.js";
-
-	export default {
-		name: '采购明细',
-		mixins: [MescrollMixin,Mixin],
-		data() {
-			return {
-				CustomBar:this.CustomBar,
-				NavBarColor:this.NavBarColor,
-				url: "/purchaseManage/purchaseDetails/list",
-			};
-		},
-		methods: {
-			goHome(){
-                this.$Router.push({name: "index"})
-			}
-		}
-	}
-</script>
-

+ 0 - 64
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetails.api.ts

@@ -1,64 +0,0 @@
-import {defHttp} from '/@/utils/http/axios';
-import { useMessage } from "/@/hooks/web/useMessage";
-
-const { createConfirm } = useMessage();
-
-enum Api {
-  list = '/purchaseManage/purchaseDetails/list',
-  save='/purchaseManage/purchaseDetails/add',
-  edit='/purchaseManage/purchaseDetails/edit',
-  deleteOne = '/purchaseManage/purchaseDetails/delete',
-  deleteBatch = '/purchaseManage/purchaseDetails/deleteBatch',
-  importExcel = '/purchaseManage/purchaseDetails/importExcel',
-  exportXls = '/purchaseManage/purchaseDetails/exportXls',
-}
-/**
- * 导出api
- * @param params
- */
-export const getExportUrl = Api.exportXls;
-/**
- * 导入api
- */
-export const getImportUrl = Api.importExcel;
-/**
- * 列表接口
- * @param params
- */
-export const list = (params) =>
-  defHttp.get({url: Api.list, params});
-
-/**
- * 删除单个
- */
-export const deleteOne = (params,handleSuccess) => {
-  return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
-    handleSuccess();
-  });
-}
-/**
- * 批量删除
- * @param params
- */
-export const batchDelete = (params, handleSuccess) => {
-  createConfirm({
-    iconType: 'warning',
-    title: '确认删除',
-    content: '是否删除选中数据',
-    okText: '确认',
-    cancelText: '取消',
-    onOk: () => {
-      return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
-        handleSuccess();
-      });
-    }
-  });
-}
-/**
- * 保存或者更新
- * @param params
- */
-export const saveOrUpdate = (params, isUpdate) => {
-  let url = isUpdate ? Api.edit : Api.save;
-  return defHttp.post({url: url, params});
-}

+ 0 - 210
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetails.data.ts

@@ -1,210 +0,0 @@
-import {BasicColumn} from '/@/components/Table';
-import {FormSchema} from '/@/components/Table';
-import { rules} from '/@/utils/helper/validator';
-import { render } from '/@/utils/common/renderUtils';
-import { getWeekMonthQuarterYear } from '/@/utils';
-//列表数据
-export const columns: BasicColumn[] = [
-   {
-    title: '物料编号',
-    align:"center",
-    dataIndex: 'materialNo'
-   },
-   {
-    title: '物料名称',
-    align:"center",
-    dataIndex: 'materialName'
-   },
-   {
-    title: '单位',
-    align:"center",
-    dataIndex: 'unit'
-   },
-   {
-    title: '品牌',
-    align:"center",
-    dataIndex: 'brand'
-   },
-   {
-    title: '规格型号',
-    align:"center",
-    dataIndex: 'specification'
-   },
-   {
-    title: '供应商',
-    align:"center",
-    dataIndex: 'supplier'
-   },
-   {
-    title: '申请时间',
-    align:"center",
-    dataIndex: 'applicationTime'
-   },
-   {
-    title: '期望供货时间',
-    align:"center",
-    dataIndex: 'expectedDeliveryTime',
-    customRender:({text}) =>{
-      text = !text ? "" : (text.length > 10 ? text.substr(0,10) : text);
-      return text;
-    },
-   },
-   {
-    title: '申请人',
-    align:"center",
-    dataIndex: 'applicant'
-   },
-   {
-    title: '申请数量',
-    align:"center",
-    dataIndex: 'quantity'
-   },
-   {
-    title: '预计单价',
-    align:"center",
-    dataIndex: 'expectedPrice'
-   },
-   {
-    title: '实际单价',
-    align:"center",
-    dataIndex: 'actualPrice'
-   },
-   {
-    title: '到货量',
-    align:"center",
-    dataIndex: 'arrivalQuantity'
-   },
-   {
-    title: '备注',
-    align:"center",
-    dataIndex: 'remark'
-   },
-   {
-    title: '申请单号',
-    align:"center",
-    dataIndex: 'requestNo'
-   },
-];
-//查询数据
-export const searchFormSchema: FormSchema[] = [
-];
-//表单数据
-export const formSchema: FormSchema[] = [
-  {
-    label: '物料编号',
-    field: 'materialNo',
-    component: 'Input',
-  },
-  {
-    label: '物料名称',
-    field: 'materialName',
-    component: 'Input',
-  },
-  {
-    label: '单位',
-    field: 'unit',
-    component: 'Input',
-  },
-  {
-    label: '品牌',
-    field: 'brand',
-    component: 'Input',
-  },
-  {
-    label: '规格型号',
-    field: 'specification',
-    component: 'Input',
-  },
-  {
-    label: '供应商',
-    field: 'supplier',
-    component: 'Input',
-  },
-  {
-    label: '申请时间',
-    field: 'applicationTime',
-    component: 'DatePicker',
-    componentProps: {
-       showTime: true,
-       valueFormat: 'YYYY-MM-DD HH:mm:ss'
-     },
-  },
-  {
-    label: '期望供货时间',
-    field: 'expectedDeliveryTime',
-    component: 'DatePicker',
-    componentProps: {
-      valueFormat: 'YYYY-MM-DD'
-    },
-  },
-  {
-    label: '申请人',
-    field: 'applicant',
-    component: 'Input',
-  },
-  {
-    label: '申请数量',
-    field: 'quantity',
-    component: 'InputNumber',
-  },
-  {
-    label: '预计单价',
-    field: 'expectedPrice',
-    component: 'InputNumber',
-  },
-  {
-    label: '实际单价',
-    field: 'actualPrice',
-    component: 'InputNumber',
-  },
-  {
-    label: '到货量',
-    field: 'arrivalQuantity',
-    component: 'InputNumber',
-  },
-  {
-    label: '备注',
-    field: 'remark',
-    component: 'Input',
-  },
-  {
-    label: '申请单号',
-    field: 'requestNo',
-    component: 'Input',
-  },
-	// TODO 主键隐藏字段,目前写死为ID
-	{
-	  label: '',
-	  field: 'id',
-	  component: 'Input',
-	  show: false
-	},
-];
-
-// 高级查询数据
-export const superQuerySchema = {
-  materialNo: {title: '物料编号',order: 0,view: 'text', type: 'string',},
-  materialName: {title: '物料名称',order: 1,view: 'text', type: 'string',},
-  unit: {title: '单位',order: 2,view: 'text', type: 'string',},
-  brand: {title: '品牌',order: 3,view: 'text', type: 'string',},
-  specification: {title: '规格型号',order: 4,view: 'text', type: 'string',},
-  supplier: {title: '供应商',order: 5,view: 'text', type: 'string',},
-  applicationTime: {title: '申请时间',order: 6,view: 'datetime', type: 'string',},
-  expectedDeliveryTime: {title: '期望供货时间',order: 7,view: 'date', type: 'string',},
-  applicant: {title: '申请人',order: 8,view: 'text', type: 'string',},
-  quantity: {title: '申请数量',order: 9,view: 'number', type: 'number',},
-  expectedPrice: {title: '预计单价',order: 10,view: 'number', type: 'number',},
-  actualPrice: {title: '实际单价',order: 11,view: 'number', type: 'number',},
-  arrivalQuantity: {title: '到货量',order: 12,view: 'number', type: 'number',},
-  remark: {title: '备注',order: 13,view: 'text', type: 'string',},
-  requestNo: {title: '申请单号',order: 14,view: 'text', type: 'string',},
-};
-
-/**
-* 流程表单调用这个方法获取formSchema
-* @param param
-*/
-export function getBpmFormSchema(_formData): FormSchema[]{
-  // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
-  return formSchema;
-}

+ 0 - 190
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/PurchaseDetailsList.vue

@@ -1,190 +0,0 @@
-<template>
-  <div>
-    <!--引用表格-->
-   <BasicTable @register="registerTable" :rowSelection="rowSelection">
-     <!--插槽:table标题-->
-      <template #tableTitle>
-          <a-button type="primary" v-auth="'purchaseManage:sbsmzq_purchase_details:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
-          <a-button  type="primary" v-auth="'purchaseManage:sbsmzq_purchase_details:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
-          <j-upload-button type="primary" v-auth="'purchaseManage:sbsmzq_purchase_details:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
-          <a-dropdown v-if="selectedRowKeys.length > 0">
-              <template #overlay>
-                <a-menu>
-                  <a-menu-item key="1" @click="batchHandleDelete">
-                    <Icon icon="ant-design:delete-outlined"></Icon>
-                    删除
-                  </a-menu-item>
-                </a-menu>
-              </template>
-              <a-button v-auth="'purchaseManage:sbsmzq_purchase_details:deleteBatch'">批量操作
-                <Icon icon="mdi:chevron-down"></Icon>
-              </a-button>
-        </a-dropdown>
-        <!-- 高级查询 -->
-        <super-query :config="superQueryConfig" @search="handleSuperQuery" />
-      </template>
-       <!--操作栏-->
-      <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
-      </template>
-      <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-      </template>
-    </BasicTable>
-    <!-- 表单区域 -->
-    <PurchaseDetailsModal @register="registerModal" @success="handleSuccess"></PurchaseDetailsModal>
-  </div>
-</template>
-
-<script lang="ts" name="purchaseManage-purchaseDetails" setup>
-  import {ref, reactive, computed, unref} from 'vue';
-  import {BasicTable, useTable, TableAction} from '/@/components/Table';
-  import {useModal} from '/@/components/Modal';
-  import { useListPage } from '/@/hooks/system/useListPage'
-  import PurchaseDetailsModal from './components/PurchaseDetailsModal.vue'
-  import {columns, searchFormSchema, superQuerySchema} from './PurchaseDetails.data';
-  import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './PurchaseDetails.api';
-  import { downloadFile } from '/@/utils/common/renderUtils';
-  import { useUserStore } from '/@/store/modules/user';
-  const queryParam = reactive<any>({});
-  const checkedKeys = ref<Array<string | number>>([]);
-  const userStore = useUserStore();
-  //注册model
-  const [registerModal, {openModal}] = useModal();
-  //注册table数据
-  const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-      tableProps:{
-           title: '采购明细',
-           api: list,
-           columns,
-           canResize:false,
-           formConfig: {
-              //labelWidth: 120,
-              schemas: searchFormSchema,
-              autoSubmitOnEnter:true,
-              showAdvancedButton:true,
-              fieldMapToNumber: [
-              ],
-              fieldMapToTime: [
-              ],
-            },
-           actionColumn: {
-               width: 120,
-               fixed:'right'
-            },
-            beforeFetch: (params) => {
-              return Object.assign(params, queryParam);
-            },
-      },
-       exportConfig: {
-            name:"采购明细",
-            url: getExportUrl,
-            params: queryParam,
-          },
-          importConfig: {
-            url: getImportUrl,
-            success: handleSuccess
-          },
-  })
-
-  const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
-
-  // 高级查询配置
-  const superQueryConfig = reactive(superQuerySchema);
-
-  /**
-   * 高级查询事件
-   */
-  function handleSuperQuery(params) {
-    Object.keys(params).map((k) => {
-      queryParam[k] = params[k];
-    });
-    reload();
-  }
-   /**
-    * 新增事件
-    */
-  function handleAdd() {
-     openModal(true, {
-       isUpdate: false,
-       showFooter: true,
-     });
-  }
-   /**
-    * 编辑事件
-    */
-  function handleEdit(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: true,
-     });
-   }
-   /**
-    * 详情
-   */
-  function handleDetail(record: Recordable) {
-     openModal(true, {
-       record,
-       isUpdate: true,
-       showFooter: false,
-     });
-   }
-   /**
-    * 删除事件
-    */
-  async function handleDelete(record) {
-     await deleteOne({id: record.id}, handleSuccess);
-   }
-   /**
-    * 批量删除事件
-    */
-  async function batchHandleDelete() {
-     await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-   }
-   /**
-    * 成功回调
-    */
-  function handleSuccess() {
-      (selectedRowKeys.value = []) && reload();
-   }
-   /**
-      * 操作栏
-      */
-  function getTableAction(record){
-       return [
-         {
-           label: '编辑',
-           onClick: handleEdit.bind(null, record),
-           auth: 'purchaseManage:sbsmzq_purchase_details:edit'
-         }
-       ]
-   }
-     /**
-        * 下拉操作栏
-        */
-  function getDropDownAction(record){
-       return [
-         {
-           label: '详情',
-           onClick: handleDetail.bind(null, record),
-         }, {
-           label: '删除',
-           popConfirm: {
-             title: '是否确认删除',
-             confirm: handleDelete.bind(null, record),
-             placement: 'topLeft',
-           },
-           auth: 'purchaseManage:sbsmzq_purchase_details:delete'
-         }
-       ]
-   }
-
-
-</script>
-
-<style lang="less" scoped>
-  :deep(.ant-picker),:deep(.ant-input-number){
-    width: 100%;
-  }
-</style>

+ 0 - 26
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/V20250408_1__menu_insert_PurchaseDetails.sql

@@ -1,26 +0,0 @@
--- 注意:该页面对应的前台目录为views/purchaseManage文件夹下
--- 如果你想更改到其他目录,请修改sql中component字段对应的值
-
-
-INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) 
-VALUES ('2025040802189600490', NULL, '采购明细', '/purchaseManage/purchaseDetailsList', 'purchaseManage/PurchaseDetailsList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0);
-
--- 权限控制sql
--- 新增
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600491', '2025040802189600490', '添加采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);
--- 编辑
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600492', '2025040802189600490', '编辑采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);
--- 删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600493', '2025040802189600490', '删除采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);
--- 批量删除
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600494', '2025040802189600490', '批量删除采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);
--- 导出excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600495', '2025040802189600490', '导出excel_采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);
--- 导入excel
-INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
-VALUES ('2025040802189600496', '2025040802189600490', '导入excel_采购明细', NULL, NULL, 0, NULL, NULL, 2, 'purchaseManage:sbsmzq_purchase_details:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2025-04-08 14:18:49', NULL, NULL, 0, 0, '1', 0);

+ 0 - 70
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/components/PurchaseDetailsForm.vue

@@ -1,70 +0,0 @@
-<template>
-    <div style="min-height: 400px">
-        <BasicForm @register="registerForm"></BasicForm>
-        <div style="width: 100%;text-align: center" v-if="!formDisabled">
-            <a-button @click="submitForm" pre-icon="ant-design:check" type="primary">提 交</a-button>
-        </div>
-    </div>
-</template>
-
-<script lang="ts">
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {computed, defineComponent} from 'vue';
-    import {defHttp} from '/@/utils/http/axios';
-    import { propTypes } from '/@/utils/propTypes';
-    import {getBpmFormSchema} from '../PurchaseDetails.data';
-    import {saveOrUpdate} from '../PurchaseDetails.api';
-    
-    export default defineComponent({
-        name: "PurchaseDetailsForm",
-        components:{
-            BasicForm
-        },
-        props:{
-            formData: propTypes.object.def({}),
-            formBpm: propTypes.bool.def(true),
-        },
-        setup(props){
-            const [registerForm, { setFieldsValue, setProps, getFieldsValue }] = useForm({
-                labelWidth: 150,
-                schemas: getBpmFormSchema(props.formData),
-                showActionButtonGroup: false,
-                baseColProps: {span: 24}
-            });
-
-            const formDisabled = computed(()=>{
-                if(props.formData.disabled === false){
-                    return false;
-                }
-                return true;
-            });
-
-            let formData = {};
-            const queryByIdUrl = '/purchaseManage/purchaseDetails/queryById';
-            async function initFormData(){
-                let params = {id: props.formData.dataId};
-                const data = await defHttp.get({url: queryByIdUrl, params});
-                formData = {...data}
-                //设置表单的值
-                await setFieldsValue(formData);
-                //默认是禁用
-                await setProps({disabled: formDisabled.value})
-            }
-
-            async function submitForm() {
-                let data = getFieldsValue();
-                let params = Object.assign({}, formData, data);
-                console.log('表单数据', params)
-                await saveOrUpdate(params, true)
-            }
-
-            initFormData();
-            
-            return {
-                registerForm,
-                formDisabled,
-                submitForm,
-            }
-        }
-    });
-</script>

+ 0 - 76
src/views/equipmentLifecycle/supplier/purchaseManage(购置管理)/purchaseDetails(采购明细)/vue3/components/PurchaseDetailsModal.vue

@@ -1,76 +0,0 @@
-<template>
-  <BasicModal v-bind="$attrs" @register="registerModal" destroyOnClose :title="title" :width="800" @ok="handleSubmit">
-      <BasicForm @register="registerForm" name="PurchaseDetailsForm" />
-  </BasicModal>
-</template>
-
-<script lang="ts" setup>
-    import {ref, computed, unref} from 'vue';
-    import {BasicModal, useModalInner} from '/@/components/Modal';
-    import {BasicForm, useForm} from '/@/components/Form/index';
-    import {formSchema} from '../PurchaseDetails.data';
-    import {saveOrUpdate} from '../PurchaseDetails.api';
-    // Emits声明
-    const emit = defineEmits(['register','success']);
-    const isUpdate = ref(true);
-    const isDetail = ref(false);
-    //表单配置
-    const [registerForm, { setProps,resetFields, setFieldsValue, validate, scrollToField }] = useForm({
-        labelWidth: 150,
-        schemas: formSchema,
-        showActionButtonGroup: false,
-        baseColProps: {span: 24}
-    });
-    //表单赋值
-    const [registerModal, {setModalProps, closeModal}] = useModalInner(async (data) => {
-        //重置表单
-        await resetFields();
-        setModalProps({confirmLoading: false,showCancelBtn:!!data?.showFooter,showOkBtn:!!data?.showFooter});
-        isUpdate.value = !!data?.isUpdate;
-        isDetail.value = !!data?.showFooter;
-        if (unref(isUpdate)) {
-            //表单赋值
-            await setFieldsValue({
-                ...data.record,
-            });
-        }
-        // 隐藏底部时禁用整个表单
-       setProps({ disabled: !data?.showFooter })
-    });
-    //设置标题
-    const title = computed(() => (!unref(isUpdate) ? '新增' : !unref(isDetail) ? '详情' : '编辑'));
-    //表单提交事件
-    async function handleSubmit(v) {
-        try {
-            let values = await validate();
-            setModalProps({confirmLoading: true});
-            //提交表单
-            await saveOrUpdate(values, isUpdate.value);
-            //关闭弹窗
-            closeModal();
-            //刷新列表
-            emit('success');
-        } catch ({ errorFields }) {
-           if (errorFields) {
-             const firstField = errorFields[0];
-             if (firstField) {
-               scrollToField(firstField.name, { behavior: 'smooth', block: 'center' });
-             }
-           }
-           return Promise.reject(errorFields);
-        } finally {
-            setModalProps({confirmLoading: false});
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-	/** 时间和数字输入框样式 */
-  :deep(.ant-input-number) {
-    width: 100%;
-  }
-
-  :deep(.ant-calendar-picker) {
-    width: 100%;
-  }
-</style>

+ 2 - 2
src/views/sys/error-log/index.vue

@@ -32,7 +32,7 @@
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useErrorLogStore } from '/@/store/modules/errorLog';
-  import { fireErrorApi } from '/@/api/demo/error';
+  // import { fireErrorApi } from '/@/api/demo/error';
   import { getColumns } from './data';
   import { cloneDeep } from 'lodash-es';
 
@@ -83,6 +83,6 @@
   }
 
   async function fireAjaxError() {
-    await fireErrorApi();
+    // await fireErrorApi();
   }
 </script>