Procházet zdrojové kódy

fix:采购付款增加字段

snow před 2 roky
rodič
revize
f4af7c79bc

+ 1 - 0
src/utils/status.ts

@@ -104,6 +104,7 @@ const inv_status_list = [
     type: "success"
   }
 ];
+
 const pay_status_list = [
   {
     value: "1",

+ 24 - 4
src/views/InvoiceSaleSettings/basic-settings.vue

@@ -1,9 +1,24 @@
 <script setup lang="ts">
+import { FormRules } from "element-plus";
+import { reactive } from "vue";
+
 defineProps<{
   title: string;
   detail: Record<string, string>;
   columns: Array<Record<string, string>>;
 }>();
+
+const rules: FormRules = {
+  cost: [{ required: true, trigger: "change", message: "请选择类目" }],
+  name: [{ required: true, trigger: "change", message: "请选择商品名称" }],
+  fixed: [{ required: true, trigger: "change", message: "请选择税率" }]
+};
+
+const formData = reactive({
+  cost: "",
+  fixed: "",
+  name: ""
+});
 </script>
 
 <template>
@@ -19,15 +34,20 @@ defineProps<{
     </el-descriptions>
 
     <div w-500px m-auto mt-2>
-      <el-form label-width="100px" label-position="left">
-        <el-form-item label="商品类目设置">
+      <el-form
+        label-width="120px"
+        label-position="left"
+        :rules="rules"
+        :mode="formData"
+      >
+        <el-form-item label="商品类目设置" prop="cost">
           <!-- 远程搜索 -->
           <el-input placeholder="选择类目设置" />
         </el-form-item>
-        <el-form-item label="商品名称">
+        <el-form-item label="商品名称" prop="name">
           <el-input placeholder="请输入商品名称" />
         </el-form-item>
-        <el-form-item label="税率">
+        <el-form-item label="税率" prop="fixed">
           <el-input disabled placeholder="请输入税率" />
         </el-form-item>
       </el-form>

+ 1 - 1
src/views/InvoiceSales/capitalClaim/components/receipt-payment.vue → src/views/InvoiceSales/capitalClaim/components/basic-claim/receipt-payment.vue

@@ -2,7 +2,7 @@
 import {
   description_columns_in,
   description_columns_out
-} from "../config/configs";
+} from "../../config/configs";
 
 defineProps<{
   tradeInfo: Record<string, string>;

+ 1 - 1
src/views/InvoiceSales/capitalClaim/components/related-order.vue → src/views/InvoiceSales/capitalClaim/components/basic-claim/related-order.vue

@@ -1,6 +1,6 @@
 <script setup lang="ts">
 import { ref } from "vue";
-import { order_columns, order_status } from "../config/configs";
+import { order_columns, order_status } from "../../config/configs";
 import SalesModal from "./sales-modal.vue";
 
 const emit = defineEmits(["create-btn-click"]);

+ 1 - 1
src/views/InvoiceSales/capitalClaim/components/sales-modal.vue → src/views/InvoiceSales/capitalClaim/components/basic-claim/sales-modal.vue

@@ -8,7 +8,7 @@ import {
   sale_source,
   sale_columns,
   sale_order_status
-} from "../config/configs";
+} from "../../config/configs";
 
 const emit = defineEmits(["save-click-button"]);
 

+ 2 - 2
src/views/InvoiceSales/capitalClaim/components/execl-upload.vue

@@ -1,15 +1,15 @@
 <script setup lang="ts">
+import { ref } from "vue";
 import { ElMessage, ElUpload, UploadFile, UploadProps } from "element-plus";
 import { httpUpload } from "/@/api/InvoiceSales/capitalClaim";
-import { ref } from "vue";
 import { useUserStore } from "/@/store/modules/user";
 import { useResponseHandle } from "/@/hooks";
 
 const visible = ref(false);
 const loading = ref(false);
 const uploadRef = ref<InstanceType<typeof ElUpload>>(null);
-const responseHandle = useResponseHandle();
 const execlFile = ref<UploadFile | null>(null);
+const responseHandle = useResponseHandle();
 const userStore = useUserStore();
 
 //上传成功关闭dialog

+ 3 - 2
src/views/InvoiceSales/capitalClaim/detail.vue

@@ -1,9 +1,10 @@
 <script setup lang="ts">
 import { computed, onMounted, ref } from "vue";
 import { useRoute } from "vue-router";
-import PaymentReceipt from "./components/receipt-payment.vue";
-import RelatedOrder from "./components/related-order.vue";
+import PaymentReceipt from "./components/basic-claim/receipt-payment.vue";
+import RelatedOrder from "./components/basic-claim/related-order.vue";
 import ApprovalPending from "./components/approval-process/approval-pending.vue";
+
 import { useResponseHandle } from "/@/hooks";
 
 import {

+ 0 - 97
src/views/InvoiceSales/invoicePool/columns.tsx

@@ -1,97 +0,0 @@
-import { ref } from "vue";
-import dayjs from "dayjs";
-import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
-
-export function useColumns() {
-  const columns = ref([
-    {
-      type: "selection",
-      minWidth: 55,
-      align: "left",
-      hide: ({ checkList }) => !checkList.includes("勾选列")
-    },
-    {
-      label: "序号",
-      type: "index",
-      minWidth: 60,
-      align: "left",
-      hide: ({ checkList }) => !checkList.includes("序号列")
-    },
-    {
-      label: "名称",
-      prop: "menu_name",
-      minWidth: 180,
-      align: "left"
-    },
-    {
-      label: "图标",
-      prop: "menu_img",
-      minWidth: 80,
-      cellRenderer: ({ row, props }) => (
-        <IconifyIconOnline icon={row.menu_img} />
-      )
-    },
-    {
-      label: "path",
-      prop: "menu_route",
-      minWidth: 180,
-      align: "left"
-    },
-    {
-      label: "权重",
-      prop: "weight",
-      minWidth: 60
-    },
-    {
-      label: "类型",
-      prop: "menu_type",
-      minWidth: 80,
-      cellRenderer: ({ row, props }) => (
-        <el-tag
-          size={props.size}
-          type={row.menu_type + "" === "1" ? "success" : "danger"}
-          effect="plain"
-        >
-          {row.menu_type + "" === "1" ? "菜单" : "页面"}
-        </el-tag>
-      )
-    },
-    {
-      label: "状态",
-      prop: "status",
-      minWidth: 80,
-      cellRenderer: ({ row, props }) => (
-        <el-tag
-          size={props.size}
-          type={row.status + "" === "1" ? "success" : "danger"}
-          effect="plain"
-        >
-          {row.status + "" === "0" ? "禁用" : "启用"}
-        </el-tag>
-      )
-    },
-    {
-      label: "页面路径",
-      prop: "menu_url",
-      minWidth: 180,
-      align: "left"
-    },
-    {
-      label: "创建时间",
-      width: 155,
-      prop: "createTime",
-      formatter: ({ createTime }) =>
-        dayjs(createTime).format("YYYY-MM-DD HH:mm:ss")
-    },
-    {
-      label: "操作",
-      fixed: "right",
-      width: 180,
-      slot: "operation"
-    }
-  ]);
-
-  return {
-    columns
-  };
-}

+ 0 - 173
src/views/InvoiceSales/invoicePool/components/action-table.vue

@@ -1,173 +0,0 @@
-<script setup lang="ts">
-import { ref } from "vue";
-import { useColumns } from "../columns";
-import { handleTree } from "@pureadmin/utils";
-import {
-  httpList,
-  httpStatus,
-  httpDelete
-} from "/@/api/InvoiceSales/invoicePool";
-import { TableProBar } from "/@/components/ReTable";
-import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
-import { useNav } from "/@/layout/hooks/nav";
-import { responseHandle } from "/@/utils/responseHandle";
-const { logout } = useNav();
-const { columns } = useColumns();
-const dataList = ref([]);
-const loading = ref(true);
-const tableRef = ref();
-
-const emit = defineEmits(["edit", "create", "view"]);
-//更新状态
-const handleStatus = async row => {
-  const { id, status } = row;
-  const { code, message } = await httpStatus({
-    id,
-    status: status + "" === "1" ? "0" : "1"
-  });
-  responseHandle({
-    code,
-    message,
-    logout,
-    handler: () => onSearch()
-  });
-};
-//删除
-const handleDelete = async row => {
-  const { id } = row;
-  const { code, message } = await httpDelete({
-    id
-  });
-  responseHandle({
-    code,
-    message,
-    logout,
-    handler: () => onSearch()
-  });
-};
-//勾选
-function handleSelectionChange(val) {
-  console.log("handleSelectionChange", val);
-}
-//列表展示
-async function onSearch() {
-  loading.value = true;
-  const { code, data, message } = await httpList({});
-  responseHandle({
-    code,
-    message,
-    logout,
-    handler: () => {
-      console.log(111);
-      dataList.value = handleTree(data ?? []);
-    }
-  });
-  loading.value = false;
-}
-//编辑
-function editItem(item, id: string, type: "create" | "edit" | "view") {
-  console.log(item, id, type);
-  emit(type, item, id, type);
-}
-
-defineExpose({
-  onSearch
-});
-</script>
-
-<template>
-  <div class="main flex" style="width: 100%">
-    <TableProBar
-      title="发票公海池"
-      :loading="loading"
-      :tableRef="tableRef?.getTableRef()"
-      :dataList="dataList"
-      @refresh="onSearch"
-    >
-      <template #buttons>
-        <el-button
-          type="primary"
-          :icon="useRenderIcon('add')"
-          @click="editItem(null, '', 'create')"
-        >
-          新增
-        </el-button>
-      </template>
-      <template v-slot="{ size, checkList }">
-        <PureTable
-          ref="tableRef"
-          border
-          align="left"
-          row-key="id"
-          table-layout="auto"
-          default-expand-all
-          :size="size"
-          :data="dataList"
-          :columns="columns"
-          :checkList="checkList"
-          :tree-props="{ hasChildren: 'hasChildren', children: 'child' }"
-          :header-cell-style="{ background: '#fafafa', color: '#606266' }"
-          @selection-change="handleSelectionChange"
-        >
-          <template #operation="{ row }">
-            <el-button
-              class="reset-margin"
-              link
-              type="primary"
-              :size="size"
-              @click="editItem(row, row.id, 'view')"
-              :icon="useRenderIcon('eye-view')"
-            />
-            <el-button
-              class="reset-margin"
-              link
-              type="primary"
-              :size="size"
-              @click="editItem(row, row.id, 'edit')"
-              :icon="useRenderIcon('edits')"
-            />
-            <el-popconfirm
-              :title="row.status === '1' ? '改为禁用?' : '改为启用?'"
-              @confirm="handleStatus(row)"
-            >
-              <template #reference>
-                <el-button
-                  class="reset-margin"
-                  link
-                  type="primary"
-                  :size="size"
-                  :icon="
-                    useRenderIcon(
-                      row.status === '1'
-                        ? 'close-circle-line'
-                        : 'checkbox-circle-line'
-                    )
-                  "
-                /> </template
-            ></el-popconfirm>
-            <el-popconfirm title="是否确认删除?" @confirm="handleDelete(row)">
-              <template #reference>
-                <el-button
-                  class="reset-margin"
-                  link
-                  type="primary"
-                  :size="size"
-                  :icon="useRenderIcon('delete')"
-                />
-              </template>
-            </el-popconfirm>
-            <el-button
-              v-if="row.menu_type + '' === '1'"
-              class="reset-margin"
-              link
-              type="primary"
-              :size="size"
-              @click="editItem(null, row.id, 'create')"
-              :icon="useRenderIcon('add')"
-            />
-          </template>
-        </PureTable>
-      </template>
-    </TableProBar>
-  </div>
-</template>

+ 0 - 287
src/views/InvoiceSales/invoicePool/components/edit-dialog.vue

@@ -1,287 +0,0 @@
-<script setup lang="ts">
-import { FormRules, ElForm } from "element-plus";
-import { reactive, ref } from "vue";
-import { httpUpdate, httpAdd } from "/@/api/InvoiceSales/invoicePool";
-import { responseHandle } from "/@/utils/responseHandle";
-import { useNav } from "/@/layout/hooks/nav";
-import { IMenuTree } from "../types";
-import { menuTypeList, menuPrivateList } from "/@/utils/status";
-import { IconSelect } from "/@/components/ReIcon";
-enum FROM_TYPE {
-  create = "create",
-  edit = "edit",
-  view = "view"
-}
-const { logout } = useNav();
-const showModel = ref(false);
-const currentMenuId = ref("");
-const TYPE = ref<FROM_TYPE>(FROM_TYPE.create);
-const formRef = ref<InstanceType<typeof ElForm>>(null);
-const currentNode = ref<IMenuTree | null>(null);
-const loading = ref(false);
-const titleType = ref("");
-
-const emit = defineEmits(["reload"]);
-const initform = {
-  menu_name: "",
-  menu_type: "1",
-  menu_img: "",
-  menu_route: "",
-  menu_url: "",
-  private: "1",
-  weight: "1",
-  pid: "",
-  id: ""
-};
-const ruleForm = ref({ ...initform });
-const rules = reactive<FormRules>({
-  menu_name: [
-    { required: true, message: "请输入菜单名称", trigger: "blur" },
-    { min: 1, max: 10, message: "长度在 1 到 10 个字符", trigger: "blur" }
-  ],
-  menu_type: [
-    {
-      required: true,
-      message: "请选择菜单类型",
-      trigger: "change"
-    }
-  ],
-  menu_img: [
-    {
-      required: true,
-      message: "请选择菜单图标",
-      trigger: "change"
-    }
-  ],
-  menu_route: [
-    {
-      required: true,
-      message: "请输入菜单路由",
-      trigger: "blur"
-    },
-    { min: 1, max: 50, message: "长度在 1 到 50 个字符", trigger: "blur" }
-  ],
-
-  menu_url: [
-    {
-      required: true,
-      message: "请输入文件地址",
-      trigger: "blur"
-    },
-    { min: 1, max: 100, message: "长度在 1 到 100 个字符", trigger: "blur" }
-  ],
-  private: [
-    {
-      required: true,
-      message: "请选择页面是否显示",
-      trigger: "change"
-    }
-  ],
-  weight: [
-    {
-      required: true,
-      message: "请输入排序权重",
-      trigger: "blur"
-    }
-  ]
-});
-
-function show(node: any, id: string, isCreate: string) {
-  console.log(initform);
-  currentNode.value = node;
-  Object.keys(ruleForm.value).forEach(key => {
-    console.log(isCreate === "create");
-    if (key == "private") {
-      ruleForm.value[key] = isCreate === "create" ? "1" : node["is_private"];
-    } else {
-      ruleForm.value[key] = isCreate === "create" ? initform[key] : node[key];
-    }
-  });
-  if (id !== "" && isCreate === "create") {
-    ruleForm.value.pid = id;
-  }
-  TYPE.value = isCreate;
-  switch (TYPE.value) {
-    case "create":
-      titleType.value = "新建菜单";
-      break;
-    case "edit":
-      titleType.value = "编辑菜单";
-      break;
-    case "view":
-      titleType.value = "菜单详情";
-      break;
-    default:
-      titleType.value = "新建菜单";
-  }
-  menu_type_change();
-  showModel.value = true;
-}
-
-function handleUpdate() {
-  const data = {
-    ...ruleForm.value
-  };
-
-  return {
-    data,
-    api: httpUpdate
-  };
-}
-
-function handleCreate() {
-  const data = {
-    ...ruleForm.value
-  };
-
-  return {
-    data,
-    api: httpAdd
-  };
-}
-
-function handleSave() {
-  formRef.value.validate(async vaild => {
-    if (vaild) {
-      if (loading.value) return;
-      const handler =
-        TYPE.value === FROM_TYPE.create ? handleCreate : handleUpdate;
-
-      loading.value = true;
-      const { api, data } = handler();
-      const { message, code } = await api(data);
-
-      responseHandle({
-        code,
-        message,
-        logout,
-        handler: () => {
-          showModel.value = false;
-          loading.value = false;
-          emit("reload");
-        }
-      });
-    }
-  });
-}
-function menu_type_change() {
-  const { menu_type } = ruleForm.value;
-  rules.menu_url[0].required = menu_type === "2";
-}
-
-defineExpose({
-  show,
-  changeCurrentMenuId: (id: string) => (currentMenuId.value = id)
-});
-</script>
-
-<template>
-  <div>
-    <el-dialog
-      v-model="showModel"
-      :close-on-press-escape="false"
-      center
-      append-to-body
-      destroy-on-close
-      :width="'700px'"
-      :title="titleType"
-      v-loading="loading"
-    >
-      <el-form
-        ref="formRef"
-        :model="ruleForm"
-        :rules="rules"
-        label-width="90px"
-        style="margin-top: -10px"
-        class="demo-ruleForm"
-        status-icon
-      >
-        <el-row>
-          <el-col :span="24">
-            <el-form-item label="菜单名称" prop="menu_name">
-              <el-input
-                v-model="ruleForm.menu_name"
-                :disabled="TYPE === 'view'"
-                placeholder="菜单名称"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="菜单类型" prop="menu_type">
-              <el-select
-                v-model="ruleForm.menu_type"
-                style="width: 100%"
-                @change="menu_type_change"
-                :disabled="TYPE === 'view'"
-                placeholder="菜单类型"
-              >
-                <el-option
-                  v-for="(si, sii) in menuTypeList"
-                  :key="'type' + si.value + sii"
-                  :label="si.label"
-                  :value="si.value"
-                />
-              </el-select> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="菜单图标" prop="menu_img">
-              <IconSelect v-model="ruleForm.menu_img" /> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="菜单路由" prop="menu_route">
-              <el-input
-                v-model="ruleForm.menu_route"
-                :disabled="TYPE === 'view'"
-                placeholder="菜单路由" /></el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="页面显示" prop="private">
-              <el-radio-group
-                v-model="ruleForm.private"
-                :disabled="TYPE === 'view'"
-              >
-                <el-radio
-                  v-for="(si, sii) in menuPrivateList"
-                  :key="si.value + sii"
-                  :label="si.value"
-                  :value="si.value"
-                  >{{ si.label }}</el-radio
-                >
-              </el-radio-group>
-            </el-form-item></el-col
-          >
-
-          <el-col :span="24" v-show="ruleForm.menu_type === '2'">
-            <el-form-item label="页面地址" prop="menu_url">
-              <el-input
-                v-model="ruleForm.menu_url"
-                placeholder="页面地址"
-                :disabled="TYPE === 'view'"
-              >
-                <template #prepend>views/</template>
-                <template #append>.vue</template></el-input
-              >
-            </el-form-item></el-col
-          >
-
-          <el-col :span="12">
-            <el-form-item label="排序权重" prop="weight">
-              <el-input-number
-                v-model="ruleForm.weight"
-                :precision="0"
-                style="width: 100%"
-                :min="1"
-                :max="999"
-                :disabled="TYPE === 'view'"
-              /> </el-form-item
-          ></el-col>
-        </el-row>
-        <div class="flex justify-end">
-          <el-button :loading="loading" type="primary" @click="handleSave"
-            >保存</el-button
-          >
-          <el-button @click="showModel = false">取消</el-button>
-        </div>
-      </el-form>
-    </el-dialog>
-  </div>
-</template>

+ 58 - 0
src/views/InvoiceSales/invoicePool/config/content.config.ts

@@ -0,0 +1,58 @@
+import { ContentConfig } from "/@/components/PageContent";
+import { httpList } from "/@/api/parameter/clients";
+
+import dayjs from "dayjs";
+
+const columns = [
+  {
+    type: "selection",
+    width: 55,
+    hide: ({ checkList }) => !checkList.includes("勾选列")
+  },
+  {
+    label: "序号",
+    type: "index",
+    width: 70,
+    hide: ({ checkList }) => !checkList.includes("序号列")
+  },
+  {
+    label: "资金状态",
+    prop: "companyNo"
+  },
+  {
+    label: "客户名称",
+    prop: "companyName"
+  },
+  {
+    label: "归属集团",
+    prop: "parent"
+  },
+  {
+    label: "联系人",
+    prop: "contactor"
+  },
+  {
+    label: "创建时间",
+    prop: "createTime",
+    formatter: ({ createTime }) =>
+      dayjs(createTime).format("YYYY-MM-DD HH:mm:ss")
+  },
+  {
+    label: "操作",
+    fixed: "right",
+    width: 80,
+    slot: "operation"
+  }
+];
+
+const contentConfig: ContentConfig = {
+  title: "发票公海池",
+  powers: ["001", "002", "003", "004", "005", "006", "007", "008"],
+  notReuqiredInit: true,
+  columns,
+  apis: {
+    httpList
+  }
+};
+
+export default contentConfig;

+ 40 - 0
src/views/InvoiceSales/invoicePool/config/modal.config.ts

@@ -0,0 +1,40 @@
+import { ModalConfig } from "../../../../components/PageModal/src/types";
+
+const modalConfig: ModalConfig = {
+  title: "客户",
+  itemStyle: {},
+  formItems: [
+    {
+      field: "companyNo",
+      type: "input",
+      label: "客户编号",
+      labelWidth: "120px"
+    },
+    {
+      field: "companyName",
+      type: "input",
+      labelWidth: "120px",
+      label: "客户名称"
+    },
+    {
+      field: "parent",
+      type: "input",
+      labelWidth: "120px",
+      label: "归属集团"
+    },
+    {
+      field: "contactor",
+      type: "input",
+      labelWidth: "120px",
+      label: "联系人"
+    },
+    {
+      field: "createTime",
+      type: "input",
+      labelWidth: "120px",
+      label: "创建时间"
+    }
+  ]
+};
+
+export default modalConfig;

+ 45 - 0
src/views/InvoiceSales/invoicePool/config/search.config.ts

@@ -0,0 +1,45 @@
+import { FormConfig } from "/@/components/PageSearch";
+
+const searchFormConfig: FormConfig = {
+  formItems: [
+    {
+      field: "timer",
+      type: "date_picker",
+      otherOptions: {
+        type: "daterange",
+        startPlaceholder: "开票日期开始时间",
+        endPlaceholder: "开票日期结束时间"
+      }
+    },
+    {
+      field: "company",
+      type: "input",
+      placeholder: "销售方发票抬头"
+    },
+    {
+      field: "je_range",
+      type: "range",
+      otherOptions: {
+        startPlaceholder: "税后金额开始范围",
+        endPlaceholder: "税后金额结束范围"
+      }
+    },
+    {
+      field: "dd_range",
+      type: "select",
+      placeholder: "请选择发票类型"
+    },
+    {
+      field: "dd_range",
+      type: "input",
+      placeholder: "请输入单位名称"
+    },
+    {
+      field: "contactor",
+      type: "input",
+      placeholder: "购买方发票抬头"
+    }
+  ]
+};
+
+export default searchFormConfig;

+ 61 - 18
src/views/InvoiceSales/invoicePool/index.vue

@@ -1,28 +1,71 @@
 <script setup lang="ts">
-import { ref, onMounted } from "vue";
-import ActionTable from "./components/action-table.vue";
-import EditModel from "./components/edit-dialog.vue";
+import { PageSearch, usePageSearch } from "/@/components/PageSearch";
+import { PageModal, usePageModal } from "/@/components/PageModal";
+import { PageContent } from "/@/components/PageContent";
+import searchFormConfig from "./config/search.config";
+import contentConfig from "./config/content.config";
+import modalConfig from "./config/modal.config";
 
-const actionTableRef = ref<InstanceType<typeof ActionTable>>(null);
-const modelRef = ref<InstanceType<typeof EditModel>>(null);
+defineOptions({
+  name: "invoiceheader"
+});
+
+function searchCallback({ whx_range, dd_range }) {
+  const [start, end] = whx_range;
+  const [dstart, dend] = dd_range;
+
+  const result = {
+    start,
+    end,
+    dstart,
+    dend
+  };
 
-//新建/编辑/查看
-function handleAddChangeCheck(item: any, id: string, type: string) {
-  modelRef.value.show(item, id, type);
+  return {
+    result,
+    deleteProps: ["whx_range", "dd_range"]
+  };
 }
-onMounted(() => {
-  actionTableRef.value.onSearch();
-});
+
+const { pageContentRef, handleResetClick, handleSearchClick } =
+  usePageSearch(searchCallback);
+
+const {
+  pageModalRef,
+  handleUpdateData,
+  handleCreateData,
+  handlePreviewData,
+  handleConfrim,
+  defaultInfo
+} = usePageModal({ pageContentRef });
 </script>
 
 <template>
-  <div class="main flex">
-    <ActionTable
-      ref="actionTableRef"
-      @edit="handleAddChangeCheck"
-      @create="handleAddChangeCheck"
-      @view="handleAddChangeCheck"
+  <div class="main role">
+    <PageSearch
+      :form-config="searchFormConfig"
+      @search-btn-click="handleSearchClick"
+      @reset-btn-click="handleResetClick"
+    />
+    <PageContent
+      ref="pageContentRef"
+      :content-config="contentConfig"
+      @create-btn-click="handleCreateData"
+      @update-btn-click="handleUpdateData"
+      @preview-btn-click="handlePreviewData"
+    />
+    <PageModal
+      ref="pageModalRef"
+      prview-description
+      :modal-config="modalConfig"
+      :default-info="defaultInfo"
+      @confirm-btn-click="handleConfrim"
     />
-    <EditModel ref="modelRef" @reload="actionTableRef.onSearch()" />
   </div>
 </template>
+
+<style scoped lang="scss">
+:deep(.el-dropdown-menu__item i) {
+  margin: 0;
+}
+</style>

+ 0 - 16
src/views/InvoiceSales/invoicePool/types.ts

@@ -1,16 +0,0 @@
-export interface menuType {
-  addtime?: string;
-  child?: any[];
-  id?: string;
-  private?: number;
-  menu_code?: string;
-  menu_img?: string;
-  menu_name?: string;
-  menu_route?: string;
-  menu_type?: string;
-  menu_url?: string;
-  pid?: string;
-  status?: string;
-  updatetime?: string;
-  weight?: number;
-}

+ 6 - 0
src/views/purchase/purchPay/config/content.config.ts

@@ -48,6 +48,12 @@ const columns = [
     prop: "total_fee",
     minWidth: 180
   },
+  {
+    label: "本次付款金额",
+    prop: "dpay_fee",
+    minWidth: 180,
+    align: "left"
+  },
   {
     label: "已付款金额",
     prop: "apay_fee",