采购计划、历史采购
This commit is contained in:
		
							parent
							
								
									8d43723f6a
								
							
						
					
					
						commit
						4602cf361f
					
				| 
						 | 
				
			
			@ -1,50 +1,18 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <!-- fill="#1e5efd"  -->
 | 
			
		||||
  <svg
 | 
			
		||||
    class="inline-block text-35px text-primary"
 | 
			
		||||
    width="30px"
 | 
			
		||||
    height="30px"
 | 
			
		||||
    version="1.0"
 | 
			
		||||
    xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
    viewBox="0 0 640.000000 640.000000"
 | 
			
		||||
    preserveAspectRatio="xMidYMid meet"
 | 
			
		||||
    height="26px"
 | 
			
		||||
    viewBox="0 0 24 24"
 | 
			
		||||
  >
 | 
			
		||||
    <g
 | 
			
		||||
      transform="translate(0.000000,640.000000) scale(0.100000,-0.100000)"
 | 
			
		||||
    <path
 | 
			
		||||
      fill="#18a058"
 | 
			
		||||
      stroke="none"
 | 
			
		||||
    >
 | 
			
		||||
      <path
 | 
			
		||||
        d="M3045 5731 c-138 -23 -319 -101 -427 -185 -75 -59 -157 -148 -198
 | 
			
		||||
    -215 -14 -23 -56 -90 -94 -149 -38 -59 -79 -123 -91 -142 -59 -94 -128 -200
 | 
			
		||||
    -158 -242 -17 -25 -45 -70 -62 -98 -16 -28 -44 -70 -61 -93 -17 -23 -39 -58
 | 
			
		||||
    -49 -77 -9 -19 -24 -43 -33 -53 -8 -9 -40 -57 -71 -106 -87 -137 -159 -249
 | 
			
		||||
    -356 -551 -59 -91 -117 -181 -130 -200 -12 -19 -53 -82 -91 -140 -38 -58 -71
 | 
			
		||||
    -109 -73 -115 -2 -5 -50 -79 -105 -165 -56 -85 -135 -207 -176 -270 -102 -159
 | 
			
		||||
    -165 -257 -245 -380 -37 -58 -82 -127 -100 -155 -18 -27 -75 -115 -127 -195
 | 
			
		||||
    -53 -80 -101 -156 -108 -170 -7 -14 -26 -41 -42 -60 -15 -19 -28 -39 -28 -44
 | 
			
		||||
    0 -5 -11 -24 -25 -42 -14 -18 -25 -35 -25 -38 0 -3 -14 -26 -32 -52 -80 -119
 | 
			
		||||
    -120 -305 -98 -460 25 -173 117 -335 260 -455 112 -94 205 -141 375 -191 72
 | 
			
		||||
    -21 99 -23 280 -22 168 0 218 4 315 23 63 13 126 28 140 33 14 5 46 13 72 18
 | 
			
		||||
    27 5 69 19 95 31 27 12 64 28 83 36 119 49 291 150 390 229 140 110 330 318
 | 
			
		||||
    415 453 78 124 177 320 169 333 -3 4 -112 8 -242 8 -130 0 -232 4 -226 8 6 4
 | 
			
		||||
    240 355 519 780 279 424 510 772 513 772 4 0 66 -89 139 -198 72 -108 307
 | 
			
		||||
    -459 522 -779 215 -320 391 -584 391 -587 0 -3 -106 -6 -236 -6 l-235 0 7 -22
 | 
			
		||||
    c28 -91 179 -343 277 -463 78 -96 226 -241 307 -303 73 -56 251 -172 263 -172
 | 
			
		||||
    4 0 41 -16 84 -36 43 -20 96 -45 118 -55 22 -10 69 -25 105 -32 36 -8 119 -27
 | 
			
		||||
    185 -42 96 -21 156 -27 302 -32 165 -5 190 -4 280 17 205 47 357 129 476 254
 | 
			
		||||
    32 33 70 81 84 106 15 25 35 55 44 68 10 13 30 60 46 105 26 75 28 94 28 222
 | 
			
		||||
    -1 127 -3 147 -28 213 -26 71 -73 156 -154 278 -21 31 -42 64 -48 73 -5 9 -37
 | 
			
		||||
    59 -71 111 -34 52 -70 109 -80 126 -11 17 -44 69 -74 115 -30 47 -59 92 -65
 | 
			
		||||
    102 -5 9 -26 40 -46 69 -20 29 -67 100 -104 158 -38 58 -81 124 -97 147 -15
 | 
			
		||||
    23 -28 44 -28 48 0 4 -9 19 -20 33 -22 28 -109 162 -176 270 -21 35 -49 76
 | 
			
		||||
    -60 90 -12 15 -30 43 -40 62 -11 19 -46 76 -78 125 -264 402 -266 405 -376
 | 
			
		||||
    578 -44 70 -206 320 -267 413 -7 11 -20 33 -29 49 -10 17 -34 53 -56 82 -21
 | 
			
		||||
    29 -38 55 -38 58 0 3 -43 71 -95 150 -52 79 -98 152 -102 162 -4 10 -15 27
 | 
			
		||||
    -26 38 -10 11 -25 33 -33 48 -8 15 -43 70 -77 122 -34 52 -83 127 -109 167
 | 
			
		||||
    -59 90 -138 180 -192 217 -23 15 -62 42 -87 59 -55 38 -166 85 -264 113 -78
 | 
			
		||||
    23 -330 34 -420 20z"
 | 
			
		||||
      ></path>
 | 
			
		||||
    </g>
 | 
			
		||||
      d="M7 9V3q0-.425.288-.712T8 2t.713.288T9 3v6h1V3q0-.425.288-.712T11 2t.713.288T12 3v6q0 1.4-.862 2.45T9 12.85V21q0 .425-.288.713T8 22t-.712-.288T7 21v-8.15q-1.275-.35-2.137-1.4T4 9V3q0-.425.288-.712T5 2t.713.288T6 3v6zm10 5h-2q-.425 0-.712-.288T14 13V7q0-1.75 1.288-3.375T17.95 2q.45 0 .75.35t.3.825V21q0 .425-.288.713T18 22t-.712-.288T17 21z"
 | 
			
		||||
    ></path>
 | 
			
		||||
  </svg>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
  export default {
 | 
			
		||||
    name: "MaterialSymbolsRestaurantRounded",
 | 
			
		||||
  };
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@
 | 
			
		|||
    type TableProInst,
 | 
			
		||||
    Icon,
 | 
			
		||||
  } from "@/components";
 | 
			
		||||
  import { NPerformantEllipsis, NTag } from "naive-ui";
 | 
			
		||||
  import { NPerformantEllipsis, NPopconfirm, NTag } from "naive-ui";
 | 
			
		||||
  const tableRef = useTemplateRef<TableProInst>("tableRef");
 | 
			
		||||
  const reqApi: TableType["requestApi"] = (params) => {
 | 
			
		||||
    return new Promise((resolve) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -60,6 +60,7 @@
 | 
			
		|||
      label: "商品名称",
 | 
			
		||||
    },
 | 
			
		||||
  });
 | 
			
		||||
  const loading = ref<boolean>(false);
 | 
			
		||||
  const columns = ref<TableType["columns"]>([
 | 
			
		||||
    // {
 | 
			
		||||
    //   key: "index",
 | 
			
		||||
| 
						 | 
				
			
			@ -84,7 +85,7 @@
 | 
			
		|||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "company",
 | 
			
		||||
      title: "商品名称",
 | 
			
		||||
      title: "单位",
 | 
			
		||||
      width: 200,
 | 
			
		||||
      render: ({ company }) => {
 | 
			
		||||
        return (
 | 
			
		||||
| 
						 | 
				
			
			@ -114,6 +115,37 @@
 | 
			
		|||
      title: "操作者",
 | 
			
		||||
      width: 100,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "",
 | 
			
		||||
      title: "操作",
 | 
			
		||||
      width: 200,
 | 
			
		||||
      render: (value) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <div style={{ display: "flex" }}>
 | 
			
		||||
            <NPopconfirm
 | 
			
		||||
              onPositiveClick={async () => {}}
 | 
			
		||||
              onNegativeClick={() => {}}
 | 
			
		||||
              showIcon={false}
 | 
			
		||||
            >
 | 
			
		||||
              {{
 | 
			
		||||
                trigger: () => (
 | 
			
		||||
                  <n-button
 | 
			
		||||
                    loading={loading.value}
 | 
			
		||||
                    strong
 | 
			
		||||
                    secondary
 | 
			
		||||
                    style={{ marginLeft: "10px" }}
 | 
			
		||||
                    type="error"
 | 
			
		||||
                  >
 | 
			
		||||
                    退货
 | 
			
		||||
                  </n-button>
 | 
			
		||||
                ),
 | 
			
		||||
                default: () => "确认要退货么?",
 | 
			
		||||
              }}
 | 
			
		||||
            </NPopconfirm>
 | 
			
		||||
          </div>
 | 
			
		||||
        );
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  ]);
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped lang="scss"></style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,213 @@
 | 
			
		|||
 | 
			
		||||
<!-- 历史采购 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>历史采购</div>
 | 
			
		||||
  <div>
 | 
			
		||||
    <TablePro
 | 
			
		||||
      ref="tableRef"
 | 
			
		||||
      :request-api="reqApi"
 | 
			
		||||
      :search-form-options="searchFormOptions"
 | 
			
		||||
      :columns="columns"
 | 
			
		||||
      :isPageTable="true"
 | 
			
		||||
    >
 | 
			
		||||
      <template #headerExtra>
 | 
			
		||||
        <!-- <n-button
 | 
			
		||||
          strong
 | 
			
		||||
          secondary
 | 
			
		||||
          type="primary"
 | 
			
		||||
        >
 | 
			
		||||
          添加
 | 
			
		||||
        </n-button>
 | 
			
		||||
        <n-button style="margin-left: 10px">一键采购</n-button> -->
 | 
			
		||||
      </template>
 | 
			
		||||
    </TablePro>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup lang="ts">
 | 
			
		||||
<script setup lang="tsx">
 | 
			
		||||
  import {
 | 
			
		||||
    TablePro,
 | 
			
		||||
    type TableProProps,
 | 
			
		||||
    FormPro,
 | 
			
		||||
    type FormItemOptions,
 | 
			
		||||
    type TableProInst,
 | 
			
		||||
    Icon,
 | 
			
		||||
  } from "@/components";
 | 
			
		||||
  import { NPerformantEllipsis, NPopconfirm, NTag } from "naive-ui";
 | 
			
		||||
  const tableRef = useTemplateRef<TableProInst>("tableRef");
 | 
			
		||||
  const reqApi: TableType["requestApi"] = (params) => {
 | 
			
		||||
    return new Promise((resolve) => {
 | 
			
		||||
      resolve({
 | 
			
		||||
        code: 200,
 | 
			
		||||
        data: {
 | 
			
		||||
          current: "1",
 | 
			
		||||
          // @ts-ignore
 | 
			
		||||
          pages: "2",
 | 
			
		||||
          records: [
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646208",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "金煌芒果",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644799840512",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "大红薯",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646464",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "200g中益健康魔芋丝",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795645953",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "blt北美洲车厘子500g/盒",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646209",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "紫叶生菜",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644799840513",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "香干",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646465",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "江西甜柑",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795645954",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "糯玉米(精)",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
              historyNum: "999",
 | 
			
		||||
            },
 | 
			
		||||
          ],
 | 
			
		||||
          size: "10",
 | 
			
		||||
          total: "12",
 | 
			
		||||
        },
 | 
			
		||||
        message: "操作成功!",
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
  type TableType = TableProProps<any, any>;
 | 
			
		||||
  const searchFormOptions = reactive<TableType["searchFormOptions"]>({
 | 
			
		||||
    name: {
 | 
			
		||||
      type: "input",
 | 
			
		||||
      label: "商品名称",
 | 
			
		||||
    },
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  const columns = ref<TableType["columns"]>([
 | 
			
		||||
    {
 | 
			
		||||
      key: "name",
 | 
			
		||||
      title: "商品名称",
 | 
			
		||||
      width: 200,
 | 
			
		||||
      render: ({ name }) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <NPerformantEllipsis style={{ maxWidth: "200px" }}>
 | 
			
		||||
            {name}
 | 
			
		||||
          </NPerformantEllipsis>
 | 
			
		||||
        );
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "unit",
 | 
			
		||||
      title: "单位",
 | 
			
		||||
      width: 50,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "brand",
 | 
			
		||||
      title: "品牌",
 | 
			
		||||
      width: 70,
 | 
			
		||||
      render: ({ brand }) => {
 | 
			
		||||
        return <div>{brand ? brand : "无"}</div>;
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "purTypeStr",
 | 
			
		||||
      title: "商品类型",
 | 
			
		||||
      width: 70,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "historyNum",
 | 
			
		||||
      title: "历史采购数量",
 | 
			
		||||
      width: 120,
 | 
			
		||||
      render: ({ historyNum }) => {
 | 
			
		||||
        return <div>{historyNum}斤</div>;
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  ]);
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped lang="scss">
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped lang="scss"></style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,266 @@
 | 
			
		|||
<!-- 采购计划 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>采购计划</div>
 | 
			
		||||
  <div>
 | 
			
		||||
    <TablePro
 | 
			
		||||
      ref="tableRef"
 | 
			
		||||
      :request-api="reqApi"
 | 
			
		||||
      :search-form-options="searchFormOptions"
 | 
			
		||||
      :columns="columns"
 | 
			
		||||
      :isPageTable="true"
 | 
			
		||||
    >
 | 
			
		||||
      <template #headerExtra>
 | 
			
		||||
        <n-button
 | 
			
		||||
          strong
 | 
			
		||||
          secondary
 | 
			
		||||
          type="primary"
 | 
			
		||||
        >
 | 
			
		||||
          添加
 | 
			
		||||
        </n-button>
 | 
			
		||||
        <n-button style="margin-left: 10px">一键采购</n-button>
 | 
			
		||||
      </template>
 | 
			
		||||
    </TablePro>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup lang="ts">
 | 
			
		||||
<script setup lang="tsx">
 | 
			
		||||
  import {
 | 
			
		||||
    TablePro,
 | 
			
		||||
    type TableProProps,
 | 
			
		||||
    FormPro,
 | 
			
		||||
    type FormItemOptions,
 | 
			
		||||
    type TableProInst,
 | 
			
		||||
    Icon,
 | 
			
		||||
  } from "@/components";
 | 
			
		||||
  import { NPerformantEllipsis, NPopconfirm, NTag } from "naive-ui";
 | 
			
		||||
  const tableRef = useTemplateRef<TableProInst>("tableRef");
 | 
			
		||||
  const reqApi: TableType["requestApi"] = (params) => {
 | 
			
		||||
    return new Promise((resolve) => {
 | 
			
		||||
      resolve({
 | 
			
		||||
        code: 200,
 | 
			
		||||
        data: {
 | 
			
		||||
          current: "1",
 | 
			
		||||
          // @ts-ignore
 | 
			
		||||
          pages: "2",
 | 
			
		||||
          records: [
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646208",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "金煌芒果",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644799840512",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "大红薯",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646464",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "200g中益健康魔芋丝",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795645953",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "blt北美洲车厘子500g/盒",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646209",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "紫叶生菜",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644799840513",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "香干",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795646465",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "江西甜柑",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              brand: "",
 | 
			
		||||
              id: "1834044644795645954",
 | 
			
		||||
              max: 99.0,
 | 
			
		||||
              name: "糯玉米(精)",
 | 
			
		||||
              purTypeStr: "蔬菜豆制品",
 | 
			
		||||
              remain: 99.0,
 | 
			
		||||
              remainPct: 100.0,
 | 
			
		||||
              requirement: false,
 | 
			
		||||
              ruleValue: 10.0,
 | 
			
		||||
              trigger: false,
 | 
			
		||||
              unit: "斤",
 | 
			
		||||
            },
 | 
			
		||||
          ],
 | 
			
		||||
          size: "10",
 | 
			
		||||
          total: "12",
 | 
			
		||||
        },
 | 
			
		||||
        message: "操作成功!",
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
  type TableType = TableProProps<any, any>;
 | 
			
		||||
  const searchFormOptions = reactive<TableType["searchFormOptions"]>({
 | 
			
		||||
    name: {
 | 
			
		||||
      type: "input",
 | 
			
		||||
      label: "商品名称",
 | 
			
		||||
    },
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  const columns = ref<TableType["columns"]>([
 | 
			
		||||
    {
 | 
			
		||||
      key: "name",
 | 
			
		||||
      title: "商品名称",
 | 
			
		||||
      width: 70,
 | 
			
		||||
      render: ({ name }) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <NPerformantEllipsis style={{ maxWidth: "70px" }}>
 | 
			
		||||
            {name}
 | 
			
		||||
          </NPerformantEllipsis>
 | 
			
		||||
        );
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "unit",
 | 
			
		||||
      title: "单位",
 | 
			
		||||
      width: 50,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "brand",
 | 
			
		||||
      title: "品牌",
 | 
			
		||||
      width: 70,
 | 
			
		||||
      render: ({ brand }) => {
 | 
			
		||||
        return <div>{brand ? brand : "无"}</div>;
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "purTypeStr",
 | 
			
		||||
      title: "商品类型",
 | 
			
		||||
      width: 70,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "remain",
 | 
			
		||||
      title: "库存",
 | 
			
		||||
      width: 70,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "max",
 | 
			
		||||
      title: "最大数量",
 | 
			
		||||
      width: 100,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "ruleValue",
 | 
			
		||||
      title: "警戒值",
 | 
			
		||||
      width: 100,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "requirement",
 | 
			
		||||
      title: "急需补货",
 | 
			
		||||
      width: 100,
 | 
			
		||||
      render: ({ requirement }) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <NTag
 | 
			
		||||
            bordered={false}
 | 
			
		||||
            type={!requirement ? "success" : "error"}
 | 
			
		||||
          >
 | 
			
		||||
            {requirement ? "是" : "否"}
 | 
			
		||||
          </NTag>
 | 
			
		||||
        );
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      key: "",
 | 
			
		||||
      title: "操作",
 | 
			
		||||
      width: 200,
 | 
			
		||||
      render: (value) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <div style={{ display: "flex" }}>
 | 
			
		||||
            <n-button
 | 
			
		||||
              strong
 | 
			
		||||
              secondary
 | 
			
		||||
              style={{ marginLeft: "10px" }}
 | 
			
		||||
              type="warning"
 | 
			
		||||
              onClick={() => {}}
 | 
			
		||||
            >
 | 
			
		||||
              修改
 | 
			
		||||
            </n-button>
 | 
			
		||||
            <NPopconfirm
 | 
			
		||||
              onPositiveClick={async () => {}}
 | 
			
		||||
              onNegativeClick={() => {}}
 | 
			
		||||
              showIcon={false}
 | 
			
		||||
            >
 | 
			
		||||
              {{
 | 
			
		||||
                trigger: () => (
 | 
			
		||||
                  <n-button
 | 
			
		||||
                    strong
 | 
			
		||||
                    secondary
 | 
			
		||||
                    style={{ marginLeft: "10px" }}
 | 
			
		||||
                    type="error"
 | 
			
		||||
                  >
 | 
			
		||||
                    删除
 | 
			
		||||
                  </n-button>
 | 
			
		||||
                ),
 | 
			
		||||
                default: () => "确认要删除么?",
 | 
			
		||||
              }}
 | 
			
		||||
            </NPopconfirm>
 | 
			
		||||
          </div>
 | 
			
		||||
        );
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  ]);
 | 
			
		||||
</script>
 | 
			
		||||
<style scoped lang="scss">
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
<style scoped lang="scss"></style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue