Przeglądaj źródła

物资申报查看、编辑、新增和物资调度首页、新增

zhangyihao 9 miesięcy temu
rodzic
commit
ae1d7d6bbc

+ 18 - 2
src/views/comprehensiveGuarantee/materialReserves/materialsDeclaration.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <div v-show="!materialsDeclarationViewState.show && !materialsDeclarationEidtState.show">
+    <div v-show="!materialsDeclarationViewState.show && !materialsDeclarationEidtState.show && !materialsDeclarationAddState.show">
       <h1>物资储备管理</h1>
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
@@ -27,11 +27,18 @@
           </template>
         </el-table-column>
       </el-table>
-      <pagination v-show="total > 0" v-model:page="queryParams.page" v-model:limit="queryParams.pageSize" :total="total" @pagination="fetchWorkrData" />
+      <pagination
+        v-show="total > 0"
+        v-model:page="queryParams.page"
+        v-model:limit="queryParams.pageSize"
+        :total="total"
+        @pagination="fetchWorkrData"
+      />
     </div>
   </div>
   <MaterialsDeclarationView v-if="materialsDeclarationViewState.show" :event-id="materialsDeclarationViewState.eventId" @close="handleCancel" />
   <MaterialsDeclarationEidt v-if="materialsDeclarationEidtState.show" :event-id="materialsDeclarationEidtState.eventId" @close="handleCancel" />
+  <MaterialsDeclarationAdd v-if="materialsDeclarationAddState.show" @close="handleCancel" />
 </template>
 
 <script setup lang="ts">
@@ -41,6 +48,7 @@ import { ComponentInternalInstance, getCurrentInstance } from 'vue';
 import Pagination from '@/components/Pagination/index.vue'; // 假设这是分页组件的路径
 import MaterialsDeclarationView from './materialsDeclarationView.vue'; // 查看详情组件
 import MaterialsDeclarationEidt from './materialsDeclarationEidt.vue'; // 编辑组件
+import MaterialsDeclarationAdd from './materialsDeclarationAdd.vue'; // 编辑组件
 const loading = ref(true);
 const showSearch = ref(true);
 const multiple = ref(true);
@@ -123,7 +131,14 @@ let materialsDeclarationEidtState = reactive({
   show: false,
   eventId: ''
 });
+let materialsDeclarationAddState = reactive({
+  show: false,
+  eventId: ''
+});
 
+const handleAdd = () => {
+  materialsDeclarationAddState.show = true;
+};
 const handleView = (row: any) => {
   materialsDeclarationViewState.eventId = row.id;
   materialsDeclarationViewState.show = true;
@@ -137,6 +152,7 @@ const handleUpdate = (row: any) => {
 const handleCancel = () => {
   materialsDeclarationViewState.show = false;
   materialsDeclarationEidtState.show = false;
+  materialsDeclarationAddState.show = false;
 };
 
 onMounted(() => {

+ 168 - 0
src/views/comprehensiveGuarantee/materialReserves/materialsDeclarationAdd.vue

@@ -0,0 +1,168 @@
+<template>
+  <div class="app-container p-2">
+    <el-row :gutter="20">
+      <el-col :span="6">
+        <h2>新增</h2>
+      </el-col>
+      <el-col :lg="24" :xs="24">
+        <el-table :data="tableData" border height="400">
+          <el-table-column label="序号" prop="seqNo" width="80">
+            <template #default="{ $index }">
+              <span>{{ $index + 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资类型" prop="materialType">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'materialType', $event.target.innerText)"
+                v-text="row.materialType"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资名称" prop="materialName">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'materialName', $event.target.innerText)"
+                v-text="row.materialName"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资数量(件)" prop="quantity">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'quantity', $event.target.innerText)"
+                v-text="row.quantity"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资单价(元)" prop="unitPrice">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'unitPrice', $event.target.innerText)"
+                v-text="row.unitPrice"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资用途" prop="purpose">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'purpose', $event.target.innerText)"
+                v-text="row.purpose"
+              ></span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-col>
+      <div class="common-dialog-footer" style="width: 100%; justify-content: center; display: flex">
+        <el-row :span="24" :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="primary" @click="handleAddRow">新增一项</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="primary" @click="handleSave">提交</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="danger" @click="handleReturn">取消</el-button>
+          </el-col>
+        </el-row>
+      </div>
+    </el-row>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ref, onMounted } from 'vue';
+import { ElTable, ElButton, ElCol, ElRow, ElTableColumn } from 'element-plus';
+import { defineProps, defineEmits } from 'vue';
+
+const props = defineProps({
+  eventId: String
+});
+
+const emits = defineEmits(['close']);
+
+const tableData = ref<any[]>([]);
+
+const addDefaultRow = () => {
+  const newRow = {
+    materialType: '',
+    materialName: '',
+    quantity: '', // 用户需要输入
+    unitPrice: '', // 用户需要输入
+    purpose: ''
+  };
+  tableData.value.push(newRow);
+};
+
+const saveEdit = (index: number, key: string, value: string) => {
+  let numValue = value;
+
+  if (key === 'quantity' || key === 'unitPrice') {
+    numValue = parseFloat(value);
+    if (isNaN(numValue) || numValue < 0) {
+      // 如果不是有效的数字或者数字小于0,则不更新数据
+      alert('请输入有效的正数!');
+      return;
+    }
+    numValue = numValue.toString();
+  }
+
+  tableData.value[index][key] = numValue;
+  localStorage.setItem('tableData', JSON.stringify(tableData.value));
+};
+
+const handleAddRow = () => addDefaultRow();
+
+const handleReturn = () => {
+  emits('close');
+};
+
+const handleSave = () => {
+  // 这里可以添加保存到服务器的逻辑
+  console.log('数据已保存:', tableData.value);
+};
+
+</script>
+
+<style scoped>
+.app-container {
+  font-family: Avenir, Helvetica, Arial, sans-serif;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  text-align: center;
+  color: #2c3e50;
+}
+.report-period {
+  margin-top: 10px;
+  font-size: 14px;
+  color: #606266;
+}
+.editable-span {
+  cursor: pointer;
+  display: inline-block;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.editable-span[contenteditable='true'] {
+  white-space: normal;
+  outline: none; /* 移除编辑时的焦点边框 */
+}
+.editable-span[contenteditable='true']:empty::before {
+  content: attr(data-placeholder); /* 可选:为空时显示占位符 */
+  color: #999;
+}
+.common-dialog-footer {
+  margin-top: 20px;
+}
+</style>

+ 5 - 8
src/views/comprehensiveGuarantee/materialReserves/materialsDeclarationEidt.vue

@@ -1,10 +1,8 @@
 <template>
   <div class="app-container p-2">
     <el-row :gutter="20">
-      <el-col :span="24">
+      <el-col :span="6">
         <h2>编辑</h2>
-      </el-col>
-      <el-col :span="18">
         <p class="report-period">申报金额:20000.00元</p>
       </el-col>
       <el-col :lg="24" :xs="24">
@@ -66,7 +64,7 @@
           </el-table-column>
         </el-table>
       </el-col>
-      <div class="common-dialog-footer" style="text-align: center">
+      <div class="common-dialog-footer" style="width: 100%; justify-content: center; display: flex">
         <el-row :span="24" :gutter="10" class="mb8">
           <el-col :span="1.5">
             <el-button type="primary" @click="handleAddRow">新增一项</el-button>
@@ -102,9 +100,9 @@ const loadFromLocalStorage = () => {
     tableData.value = JSON.parse(storedData);
   } else {
     tableData.value = [
-      { materialType: '办公用品', materialName: '笔记本', quantity: '100', unitPrice: '5.00', purpose: '日常办公' },
-      { materialType: '电子产品', materialName: '电脑', quantity: '10', unitPrice: '5000.00', purpose: '项目开发' },
-      { materialType: '耗材', materialName: '墨盒', quantity: '50', unitPrice: '100.00', purpose: '打印机使用' }
+      { materialType: '三防物资', materialName: '雨衣', quantity: '100', unitPrice: '5.00', purpose: '2025年汛期储备' },
+      { materialType: '三防物资', materialName: '水鞋', quantity: '10', unitPrice: '5000.00', purpose: '2025年汛期储备' },
+      { materialType: '三防物资', materialName: '雨伞', quantity: '50', unitPrice: '100.00', purpose: '2025年汛期储备' }
     ];
   }
 };
@@ -124,7 +122,6 @@ const saveEdit = (index: number, key: string, value: string) => {
   if (key === 'quantity' || key === 'unitPrice') {
     const numValue = parseFloat(value);
     if (isNaN(numValue)) {
-      alert('请输入有效的数字!');
       return;
     }
     value = numValue.toString();

+ 88 - 4
src/views/comprehensiveGuarantee/materialReserves/materialsDeclarationView.vue

@@ -1,11 +1,95 @@
+<template>
+  <div class="app-container p-2">
+    <el-row :gutter="20">
+      <el-col :span="20">
+        <h2>详情</h2>
+        <div class="report-info">
+          <p class="report-amount">申报金额:20000.00元</p>
+          <p class="approval-status">审批情况:{{ approvalStatus }}</p>
+        </div>
+      </el-col>
+      <el-col :lg="24" :xs="24">
+        <el-table :data="tableData" border height="400">
+          <el-table-column label="序号" prop="seqNo" width="80">
+            <template #default="{ $index }">
+              <span>{{ $index + 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资类型" prop="materialType"></el-table-column>
+          <el-table-column label="物资名称" prop="materialName"></el-table-column>
+          <el-table-column label="物资数量(件)" prop="quantity"></el-table-column>
+          <el-table-column label="物资单价(元)" prop="unitPrice"></el-table-column>
+          <el-table-column label="物资用途" prop="purpose"></el-table-column>
+        </el-table>
+      </el-col>
+      <div class="common-dialog-footer" style="width: 100%; justify-content: center; display: flex">
+        <el-row :span="24" :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="danger" @click="handleReturn">返回</el-button>
+          </el-col>
+        </el-row>
+      </div>
+    </el-row>
+  </div>
+</template>
+
 <script setup lang="ts">
+import { ref, onMounted } from 'vue';
+import { ElTable, ElButton, ElCol, ElRow, ElTableColumn } from 'element-plus';
+import { defineProps, defineEmits } from 'vue';
 
-</script>
+const props = defineProps({
+  eventId: String
+});
 
-<template>
+const emits = defineEmits(['close']);
 
-</template>
+const tableData = ref<any[]>([]);
+const approvalStatus = ref('待审批'); // 初始状态设为待审批
+
+const loadFromLocalStorage = () => {
+  const storedData = localStorage.getItem('tableData');
+  const storedApprovalStatus = localStorage.getItem('approvalStatus');
+  if (storedData) {
+    tableData.value = JSON.parse(storedData);
+  } else {
+    tableData.value = [
+      { materialType: '三防物资', materialName: '雨衣', quantity: '100', unitPrice: '5.00', purpose: '2025年汛期储备' },
+      { materialType: '三防物资', materialName: '水鞋', quantity: '10', unitPrice: '5000.00', purpose: '2025年汛期储备' },
+      { materialType: '三防物资', materialName: '雨伞', quantity: '50', unitPrice: '100.00', purpose: '2025年汛期储备' }
+    ];
+  }
+  if (storedApprovalStatus) {
+    approvalStatus.value = storedApprovalStatus;
+  }
+};
+const handleReturn = () => {
+  emits('close');
+};
+onMounted(() => {
+  loadFromLocalStorage();
+});
+</script>
+
+<style scoped>
+.app-container {
+  font-family: Avenir, Helvetica, Arial, sans-serif;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  text-align: center;
+  color: #2c3e50;
+}
 
-<style scoped lang="scss">
+.report-info {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-top: 10px;
+}
 
+.report-amount,
+.approval-status {
+  font-size: 14px;
+  color: #606266;
+}
 </style>

+ 167 - 0
src/views/comprehensiveGuarantee/materialReserves/materialsDistribution.vue

@@ -0,0 +1,167 @@
+<template>
+  <div class="app-container">
+    <div v-show="!materialsDeclarationViewState.show && !materialsDeclarationEidtState.show && !materialsDistributionAddState.show">
+      <h1>物资储备管理</h1>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button type="primary" icon="Plus" @click="handleAdd">发起调度</el-button>
+        </el-col>
+      </el-row>
+      <h3>申报列表</h3>
+      <!-- 表格组件 -->
+      <el-table ref="multipleTable" v-loading="loading" :data="tableData" style="width: 100%" :max-height="400">
+        <el-table-column label="序号" align="center" width="55" fixed="left">
+          <template #default="scope">
+            {{ (queryParams.page - 1) * queryParams.pageSize + scope.$index + 1 }}
+          </template>
+        </el-table-column>
+        <el-table-column label="调度目的" align="center" prop="dispatching_purpose" />
+        <el-table-column label="调度日期" align="center" prop="dispatch_date" />
+        <el-table-column label="申报单位" align="center" prop="application_unit" />
+        <el-table-column label="申请人" align="center" prop="declarant" />
+        <el-table-column label="审批情况" align="center" prop="approval_status" />
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
+          <template #default="scope">
+            <el-text class="common-btn-text-primary" @click="handleView(scope.row)">详情</el-text>
+            <el-text v-if="scope.row.approval_status === '未审批'" class="common-btn-text-primary" @click="handleUpdate(scope.row)">编辑</el-text>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="total > 0"
+        v-model:page="queryParams.page"
+        v-model:limit="queryParams.pageSize"
+        :total="total"
+        @pagination="fetchWorkrData"
+      />
+    </div>
+  </div>
+  <MaterialsDeclarationView v-if="materialsDeclarationViewState.show" :event-id="materialsDeclarationViewState.eventId" @close="handleCancel" />
+  <MaterialsDeclarationEidt v-if="materialsDeclarationEidtState.show" :event-id="materialsDeclarationEidtState.eventId" @close="handleCancel" />
+  <MaterialsDistributionAdd v-if="materialsDistributionAddState.show" @close="handleCancel" />
+</template>
+
+<script setup lang="ts">
+import { onMounted, reactive, ref, toRefs } from 'vue';
+import { ElTable, ElTableColumn, ElButton, ElText } from 'element-plus';
+import { ComponentInternalInstance, getCurrentInstance } from 'vue';
+import Pagination from '@/components/Pagination/index.vue'; // 假设这是分页组件的路径
+import MaterialsDeclarationView from './materialsDeclarationView.vue'; // 查看详情组件
+import MaterialsDeclarationEidt from './materialsDeclarationEidt.vue'; // 编辑组件
+import MaterialsDistributionAdd from './materialsDistributionAdd.vue'; // 编辑组件
+const loading = ref(true);
+const showSearch = ref(true);
+const multiple = ref(true);
+const ids = ref<Array<number | string>>([]);
+const single = ref(true);
+const total = ref(0);
+const tableData = ref<any[]>([]);
+const selectedRow = ref<any | null>(null);
+
+const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+
+const initFormData = reactive({
+  dispatching_purpose: '',
+  dispatch_date: '',
+  application_unit: '',
+  declarant: '',
+  approval_status: ''
+});
+
+const data = reactive({
+  form: { ...initFormData },
+  queryParams: {
+    page: 1,
+    pageSize: 10
+  }
+});
+
+const { queryParams, form } = toRefs(data);
+const mockData = [
+  {
+    id: 1,
+    dispatch_date: '2024-10-29 12:23:00',
+    dispatching_purpose: '应对高州泰利台风前置',
+    application_unit: '茂名市应急管理局',
+    declarant: 'XX',
+    approval_status: '未审批'
+  },
+  {
+    id: 2,
+    dispatch_date: '2024-10-30 12:23:00',
+    dispatching_purpose: '应对电白泰利台风前置',
+    application_unit: '茂名市应急管理局',
+    declarant: 'XX',
+    approval_status: '审批通过'
+  },
+  {
+    id: 3,
+    dispatch_date: '2024-10-31 12:23:00',
+    dispatching_purpose: '应对茂南泰利台风前置',
+    application_unit: '茂名市应急管理局',
+    declarant: 'XX',
+    approval_status: '审批不通过'
+  }
+];
+
+const fetchWorkrData = () => {
+  loading.value = true;
+  tableData.value = mockData;
+  total.value = mockData.length;
+
+  loading.value = false;
+};
+
+const handleQuery = () => {
+  queryParams.value.page = 1;
+  fetchWorkrData();
+};
+
+const resetQuery = () => {
+  queryParams.value = { page: 1, pageSize: 10 };
+  handleQuery();
+};
+
+let materialsDeclarationViewState = reactive({
+  show: false,
+  eventId: ''
+});
+
+let materialsDeclarationEidtState = reactive({
+  show: false,
+  eventId: ''
+});
+let materialsDistributionAddState = reactive({
+  show: false,
+  eventId: ''
+});
+
+const handleAdd = () => {
+  materialsDistributionAddState.show = true;
+};
+const handleView = (row: any) => {
+  materialsDeclarationViewState.eventId = row.id;
+  materialsDeclarationViewState.show = true;
+};
+
+const handleUpdate = (row: any) => {
+  materialsDeclarationEidtState.eventId = row.id;
+  materialsDeclarationEidtState.show = true;
+};
+
+const handleCancel = () => {
+  materialsDeclarationViewState.show = false;
+  materialsDeclarationEidtState.show = false;
+  materialsDistributionAddState.show = false;
+};
+
+onMounted(() => {
+  fetchWorkrData();
+});
+</script>
+
+<style scoped>
+.app-container {
+  overflow-x: auto; /* 当内容溢出时允许水平滚动 */
+}
+</style>

+ 161 - 0
src/views/comprehensiveGuarantee/materialReserves/materialsDistributionAdd.vue

@@ -0,0 +1,161 @@
+<template>
+  <div class="app-container p-2">
+    <el-row :gutter="20">
+      <el-col :span="6">
+        <h2>新增</h2>
+      </el-col>
+      <el-col :lg="24" :xs="24">
+        <el-table :data="tableData" border height="400">
+          <el-table-column label="序号" prop="seqNo" width="80">
+            <template #default="{ $index }">
+              <span>{{ $index + 1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资类型" prop="materialType">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'materialType', $event.target.innerText)"
+                v-text="row.materialType"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资名称" prop="materialName">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'materialName', $event.target.innerText)"
+                v-text="row.materialName"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资数量(件)" prop="quantity">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'quantity', $event.target.innerText)"
+                v-text="row.quantity"
+              ></span>
+            </template>
+          </el-table-column>
+          <el-table-column label="物资用途" prop="purpose">
+            <template #default="{ row, $index }">
+              <span
+                class="editable-span"
+                contenteditable="true"
+                @blur="saveEdit($index, 'purpose', $event.target.innerText)"
+                v-text="row.purpose"
+              ></span>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-col>
+      <div class="common-dialog-footer" style="width: 100%; justify-content: center; display: flex">
+        <el-row :span="24" :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button type="primary" @click="handleAddRow">新增一项</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="primary" @click="handleSave">提交</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button type="danger" @click="handleReturn">取消</el-button>
+          </el-col>
+        </el-row>
+      </div>
+    </el-row>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ref, onMounted } from 'vue';
+import { ElTable, ElButton, ElCol, ElRow, ElTableColumn } from 'element-plus';
+import { defineProps, defineEmits } from 'vue';
+
+const props = defineProps({
+  eventId: String
+});
+
+const emits = defineEmits(['close']);
+
+const tableData = ref<any[]>([]);
+
+const loadFromLocalStorage = () => {
+  const storedData = localStorage.getItem('tableData');
+  if (storedData) {
+    tableData.value = JSON.parse(storedData);
+  } else {
+    tableData.value = [
+      { materialType: '三防物资', materialName: '雨衣', quantity: '100', purpose: '高州泰利台风前置' },
+      { materialType: '三防物资', materialName: '水鞋', quantity: '10', purpose: '高州泰利台风前置' },
+      { materialType: '三防物资', materialName: '雨伞', quantity: '50', purpose: '高州泰利台风前置' }
+    ];
+  }
+};
+
+const addDefaultRow = () => {
+  const newRow = {
+    materialType: '',
+    materialName: '',
+    quantity: '',
+    purpose: ''
+  };
+  tableData.value.push(newRow);
+};
+
+const saveEdit = (index: number, key: string, value: string) => {
+  tableData.value[index][key] = value;
+  localStorage.setItem('tableData', JSON.stringify(tableData.value));
+};
+
+const handleAddRow = () => addDefaultRow();
+
+const handleReturn = () => {
+  emits('close');
+};
+
+const handleSave = () => {
+  // 这里可以添加保存到服务器的逻辑
+  console.log('数据已保存:', tableData.value);
+};
+
+onMounted(() => {
+  loadFromLocalStorage();
+});
+</script>
+
+<style scoped>
+.app-container {
+  font-family: Avenir, Helvetica, Arial, sans-serif;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  text-align: center;
+  color: #2c3e50;
+}
+.report-period {
+  margin-top: 10px;
+  font-size: 14px;
+  color: #606266;
+}
+.editable-span {
+  cursor: pointer;
+  display: inline-block;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.editable-span[contenteditable='true'] {
+  white-space: normal;
+  outline: none; /* 移除编辑时的焦点边框 */
+}
+.editable-span[contenteditable='true']:empty::before {
+  content: attr(data-placeholder); /* 可选:为空时显示占位符 */
+  color: #999;
+}
+.common-dialog-footer {
+  margin-top: 20px;
+}
+</style>

+ 0 - 11
src/views/comprehensiveGuarantee/materialReserves/materialsdistribution.vue

@@ -1,11 +0,0 @@
-<script setup lang="ts">
-
-</script>
-
-<template>
-
-</template>
-
-<style scoped lang="scss">
-
-</style>