NNowhZzU
2023-12-29 00d9fec5ce60e626fadceebcb2b657fc17e04285
入库,退货增加弹窗
1个文件已添加
6个文件已修改
1354 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue 159 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue
@@ -75,16 +75,14 @@
        <el-col :span="6"></el-col>
      </el-row>
    </el-form>
  </el-header>
  <el-main style="padding-top: 5px;height:100%">
<!--    <el-button class="mt-4" style="width: 10%" @click="onAddItem"
    >添加
    </el-button>-->
    <!--    <el-button class="mt-4" style="width: 10%" @click="onAddItem"
        >添加
        </el-button>-->
    <vxe-grid
@@ -129,6 +127,7 @@
<script setup>
import {ref, reactive} from 'vue'
let router = useRouter()
//组件接收参数
@@ -163,52 +162,159 @@
  columns: [
    //{title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    {type: 'checkbox',fixed:"left", title: '', width: 50 },
    {type: 'expand', title:'详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'cgdh', width: '10%', title: '物料编码', filters: [{data: ''}], slots: {filter: 'num1_filter'}, editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'cgzt', width: '10%', title: '物料名称', filters: [{data: ''}], slots: {filter: 'num1_filter'},editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
    {field: 'gys', width: '10%',title: '产地', filters: [{data: ''}], slots: {filter: 'num1_filter'}, editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'w', width: '8%',title: '宽度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true},
    {field: 'g', width: '8%',title: '高度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'h', width: '8%',title: '厚度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'xh', width: '8%',title: '型号',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'dw', width: '8%',title: '单位', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'sl', width: '8%',title: '数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'sl', width: '8%',title: '操作数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } }},
    {field: 'sl', width: '12%',title: '箱数',    /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'je', width: '8%',title: '单片面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'je', width: '12%',title: '单价',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: '6', width: '8%',title: '总数量',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/  editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'sl', width: '8%',title: '总面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'yl', width: '10%',title: '总金额',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } },sortable: true},
    {field: 'yl', width: '10%',title: '备注', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/   editRender: { name: 'input', attrs: { placeholder: '' } }, sortable: true}
    {type: 'checkbox', fixed: "left", title: '', width: 50},
    {type: 'expand', title: '详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {
      field: 'cgdh',
      width: '10%',
      title: '物料编码',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'cgzt',
      width: '10%',
      title: '物料名称',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'gys',
      width: '10%',
      title: '产地',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'w',
      width: '8%',
      title: '宽度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'g',
      width: '8%',
      title: '高度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'h',
      width: '8%',
      title: '厚度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'xh',
      width: '8%',
      title: '型号',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'dw',
      width: '8%',
      title: '单位', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'sl',
      width: '8%',
      title: '数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'sl',
      width: '8%',
      title: '操作数量', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}}
    },
    {
      field: 'sl',
      width: '12%',
      title: '箱数',    /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'je',
      width: '8%',
      title: '单片面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'je',
      width: '12%',
      title: '单价',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: '6',
      width: '8%',
      title: '总数量',   /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'sl',
      width: '8%',
      title: '总面积', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'yl',
      width: '10%',
      title: '总金额',/*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    },
    {
      field: 'yl',
      width: '10%',
      title: '备注', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
    }
  ],//表头参数
  toolbarConfig: {
    buttons: [
        {type:'text'},
      {type: 'text'},
      {
      'name': '新增',
        'name': '新增',
      'code':'Add',
    },
        'code': 'Add',
      },
      {
        'name': '移除',
        'code':'Remove'
        'code': 'Remove'
      },
      {
        'name': '保存订单',
        status:'primary',
        'code':'Save'
      },{
        status: 'primary',
        'code': 'Save'
      }, {
        'name': '入库',
        status:'primary',
        'code':'Storage'
        status: 'primary',
        'code': 'Storage'
      },
      {
        'name': '退货',
        status:'primary',
        'code':'Return'
        status: 'primary',
        'code': 'Return'
      }/*,
      {
        'name': '返回查询',
@@ -220,13 +326,11 @@
    print: true,
    zoom: true,
    custom: true,
    tools: [
    ],
    tools: [],
  },//表头按钮
  /*data: [{},{},{},{},{},{}],//table body实际数据*/
  data: [{},{},{}],//table body实际数据
  data: [{}, {}, {}],//table body实际数据
  mergeFooterItems: [
    {row: 0, col: 0, rowspan: 1, colspan: 3}
  ],//合并脚
@@ -277,23 +381,23 @@
        case 'Save': {//保存
          if(form.buyItem === null || form.buyItem === ''){
          if (form.buyItem === null || form.buyItem === '') {
            openAlert({type: 'message', content: '采购组织不可为空', status: 'warning'})
          }
return
          return
          if(buyerOptions.values() <= 0){
          if (buyerOptions.values() <= 0) {
          }
            const type = VXETable.modal.confirm('是否确定保存当前订单信息?');
          openAlert({type: 'message', content: $grid.rows.number+'', status: 'warning'})
            return
          const type = VXETable.modal.confirm('是否确定保存当前订单信息?');
          openAlert({type: 'message', content: $grid.rows.number + '', status: 'warning'})
          return
          break
        }
        case 'GoSelect':{
        case 'GoSelect': {
          router.push({path: '/main/purchaseOrder/SelectPurchaseOrder'})
          break
@@ -360,16 +464,13 @@
const openAlert = (options) => {
  if(options.type==='message'){
  if (options.type === 'message') {
    VXETable.modal.message(options)
  }else{
  } else {
    VXETable.modal.alert(options)
  }
}
const form = reactive({
@@ -476,55 +577,6 @@
import {VXETable} from "vxe-table";
import {useRouter} from "vue-router";
const now = new Date()
const tableData = ref([
  {
    wlcode: '202312205101',
    wlname: '这是一个物料名称',
    cd: '产地12',
    hd: '8',
    gd: '2440',
    kd: '3660',
    xh: 'CN10P'
  },
  {
    wlcode: '202312305101',
    wlname: '这是一个物料名称',
    cd: '产地1',
    gd: '2440',
    kd: '3660',
    hd: '5',
    xh: 'CN10P'
  },
  {
    wlcode: '202312405101',
    wlname: '这是一个物料名称',
    cd: '产地13',
    hd: '12',
    gd: '2440',
    kd: '3660',
    xh: 'CN10P'
  },
])
const onAddItem = () => {
  now.setDate(now.getDate() + 1)
  tableData.value.push({
    wlcode: dayjs(now).format('YYYYMMDDss') + '01',
    wlname: '这是一个物料名称',
    cd: '产地1',
    hd: '6',
    xh: 'CN10P',
    gd: '2440',
    kd: '3660',
  })
}
/*const deleteRow = (index: number) => {
  tableData.value.splice(index, 1)
}*/
</script>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/CreateHeader.vue
New file
@@ -0,0 +1,739 @@
<template>
  <el-header height="auto">
  </el-header>
  <el-main style="padding-top: 5px;height:100%">
    <!--    创建表头模拟样式一-->
    <div>创建表头类一</div>
    <el-form label-width="100px" :inline="true" :model="formInline" class="demo-form-inline">
      <div class="order-primary" style="background-color: white; border: #181818 1px solid">
        <el-row>
          <el-col class="elcolStyle" :span="2">
            <el-text>*项目名称:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>*客户选择:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>*订单类型:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>订单分类:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>商标选项:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>包装方式:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <!--      <el-col :span="2"><el-text  /></el-col>-->
        </el-row>
        <el-row>
          <el-col class="elcolStyle" :span="2">
            <el-text>销售单号:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>交货日期:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-date-picker
                type="week"
                format="[Week] ww"
                placeholder="选择日期" style="width: 100%"/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>批次:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>计算方式:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>*业务员:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>铝条方式:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-select clearable placeholder=" ">
              <el-option/>
            </el-select>
          </el-col>
        </el-row>
        <el-row>
          <el-col class="elcolStyle" :span="2">
            <el-text>总金额:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>合同编号:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>客户批次:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>联系人:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>联系电话:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>送货地址:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-input/>
          </el-col>
        </el-row>
        <el-row>
          <el-col class="elcolStyle" :span="2">
            <el-text>其他金额:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text/>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text>其他金额备注:</el-text>
          </el-col>
          <el-col class="elcolStyle" :span="2">
            <el-text/>
          </el-col>
        </el-row>
      </div>
    </el-form>
    <br/>
    <div>创建表头类二</div>
    <!--    创建表头模拟样式二-->
    <!--    <el-form label-width="80px" :inline="true" :model="formInline2" class="demo-form-inline">-->
    <div class="header2">
      <el-row :gutter="10" style="height: 35px">
        <el-col :span="4">
          <el-form-item label="项目名称" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="客户选择" class="item-style" prop="name">
            <el-select v-model="cgBuMen" class="m-2" placeholder="选择采购部门" clearable>
              <el-option
                  v-for="item in CGBuMenOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="订单类型" class="item-style">
            <el-cascader
                placeholder="订单类型"
                :options="buyerOptions"
                filterable
                clearable
                empty-text="empty-text"
                :v-model="form.supplier"
            >
            </el-cascader>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="订单分类" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="订单分类" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="商品选项" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="商品选项" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="包装方式" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="包装方式" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="10" style="height: 35px">
        <el-col :span="4">
          <el-form-item label="销售单号" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="交货日期" class="item-style">
            <el-date-picker
                type="week"
                format="[Week] ww"
                placeholder="选择日期" style="width: 100%"/>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="订单批次" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="计算方式" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="计算方式" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="业务员" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="业务员" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="铝条方式" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="铝条方式" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="10" style="height: 35px">
        <el-col :span="4">
          <el-form-item label="总金额" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="合同编号" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="客户批次" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="联系人" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="联系电话" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item label="送货地址" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="10" style="height: 35px">
        <el-col :span="4">
          <el-form-item label="其他金额" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
        <!--          <el-col :span="4">
                    <span>其他金额备注</span>
                    <el-input ></el-input>
                  </el-col>-->
        <el-col :span="4">
          <el-form-item label="其他金额备注" class="item-style">
            <el-input></el-input>
          </el-form-item>
        </el-col>
      </el-row>
    </div>
    <!--    </el-form>-->
    <!--    创建表头模拟样式三-->
    <br/>
    <div>创建表头类三</div>
    <!--    <el-form label-width="100px" :inline="true" :model="formInline3" class="demo-form-inline">-->
    <el-descriptions
        class="margin-top"
        title=""
        :column="6"
        :size="'small'"
        border
    >
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          项目名称
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          客户选择
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          订单类型
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          订单分类
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          商标选项
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          包装方式
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          销售单号
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          交货日期
        </template>
        <el-date-picker
            type="week"
            format="[Week] ww"
            placeholder="选择日期" style="width: 100%"/>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          批次
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          计算方式
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          <span style="color:red">*</span>
          业务员
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          铝条方式
        </template>
        <el-select></el-select>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          总金额
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          合同编号
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          客户批次
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          联系人
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          联系电话
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          送货地址
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          其他金额
        </template>
        <el-input></el-input>
      </el-descriptions-item>
      <el-descriptions-item>
        <template #label>
          其他金额备注
        </template>
       <el-input />
      </el-descriptions-item>
      <el-descriptions-item></el-descriptions-item>
<!--      <el-descriptions-item></el-descriptions-item>
      <el-descriptions-item></el-descriptions-item>
      <el-descriptions-item></el-descriptions-item>
      <el-descriptions-item></el-descriptions-item>-->
    </el-descriptions>
    <!--    </el-form>-->
  </el-main>
</template>
<script setup>
import {ref, reactive} from 'vue'
let router = useRouter()
const openAlert = (options) => {
  if (options.type === 'message') {
    VXETable.modal.message(options)
  } else {
    VXETable.modal.alert(options)
  }
}
const form = reactive({
  name: '',
  region: '',
  date: '',
  delivery: false,
  type: [],
  resource: '',
  desc: '',
  supplier: '',
  buyer: '',
  buyItem: '',
  buyType: ''
})
const onSubmit = () => {
  console.log('submit!')
}
//供应商
const buyerOptions = [
  {value: '0', label: '供应商1'},
  {value: '1', label: '供应商2'},
  {value: '2', label: '供应商3'},
  {value: '3', label: '供应商4'},
  {value: '4', label: '供应商5'},
  {value: '5', label: '供应商6'},
]
const value = ref('')
const cgBuMen = ref('')
//采购类型
const CGTypeOptions = [
  {
    value: '1',
    label: '标准类型',
  },
  {
    value: '2',
    label: '非标准类型',
  },
  {
    value: '3',
    label: '追加采购',
  },
]
//采购部门
const CGBuMenOptions = [
  {
    value: '0',
    label: '采购华北部',
  },
  {
    value: '1',
    label: '采购东南部',
  },
  {
    value: '2',
    label: '采购西北部',
  },
  {
    value: '3',
    label: '采购中原部',
  },
  {
    value: '4',
    label: '采购外国部',
  },
]
//采购人
const BuyerOptions = [
  {
    value: '0',
    label: '采购员1',
  },
  {
    value: '1',
    label: '采购员2',
  },
  {
    value: '2',
    label: '采购员3',
  },
  {
    value: '3',
    label: '采购员4',
  },
  {
    value: '4',
    label: '采购员5',
  },
]
import dayjs from 'dayjs'
import {VXETable} from "vxe-table";
import {useRouter} from "vue-router";
import {User} from "@element-plus/icons-vue";
const now = new Date()
const tableData = ref([
  {
    wlcode: '202312205101',
    wlname: '这是一个物料名称',
    cd: '产地12',
    hd: '8',
    gd: '2440',
    kd: '3660',
    xh: 'CN10P'
  },
  {
    wlcode: '202312305101',
    wlname: '这是一个物料名称',
    cd: '产地1',
    gd: '2440',
    kd: '3660',
    hd: '5',
    xh: 'CN10P'
  },
  {
    wlcode: '202312405101',
    wlname: '这是一个物料名称',
    cd: '产地13',
    hd: '12',
    gd: '2440',
    kd: '3660',
    xh: 'CN10P'
  },
])
const onAddItem = () => {
  now.setDate(now.getDate() + 1)
  tableData.value.push({
    wlcode: dayjs(now).format('YYYYMMDDss') + '01',
    wlname: '这是一个物料名称',
    cd: '产地1',
    hd: '6',
    xh: 'CN10P',
    gd: '2440',
    kd: '3660',
  })
}
</script>
<style scoped>
.custom-header {
  .el-checkbox {
    display: flex;
    height: unset;
  }
}
.item-style {
  width: 92%;
}
.main-div {
  width: 100%;
  height: 100%;
  text-align: center;
}
/*.el-col{
  border: #181818 1px solid;
}*/
.elcolStyle {
  border: #181818 1px solid;
}
header2 :deep(.el-col) {
  padding: 0;
  margin: 0;
//height: 35px; color: red;
}
order-primary :deep(.el-input__wrapper) {
  box-shadow: 0 0 0 0 var(--el-input-border-color, var(--el-border-color)) inset;
  cursor: default;
  border: none !important;
  background-color: transparent;
}
.order-primary {
  width: 100%;
}
.order-detail {
  width: 100%;
  height: 80%;
}
/*.cell-item {
  display: flex;
  align-items: center;
}*/
:deep(.el-descriptions__label) {
  width: 90px;
  text-align: center;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue
@@ -1,28 +1,33 @@
<template>
  <div class="common-layout">
   <el-container>
    <el-container>
      <el-header style="height: 30px">
        <el-breadcrumb :separator-icon="ArrowRight" >
<!--          <el-breadcrumb-item>采购与物资</el-breadcrumb-item>
          <el-breadcrumb-item>采购订单
          </el-breadcrumb-item>-->
          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/SelectPurchaseOrder'}">查询采购订单
        <el-breadcrumb :separator-icon="ArrowRight">
          <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/SelectPurchaseOrder'}">查询采购订单
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/CreatePurchaseOrder'}">创建采购订单
          <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/CreatePurchaseOrder'}">创建采购订单
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/StoragePurchaseOrder'}">采购入库
          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/StoragePurchaseOrder'}">采购入库
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/ReturnPurchaseOrder'}">采购退货
          <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/ReturnPurchaseOrder'}">采购退货
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/purchaseOrder/PaymentPurchaseOrder'}">应付采购订单
          <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/PaymentPurchaseOrder'}">应付采购订单
          </el-breadcrumb-item>
          <el-breadcrumb-item @click="changeRouter(6)" :class="indexFlag===6?'indexTag':''"
                              :to="{path:'/main/purchaseOrder/CreateHeader'}">创建头模拟
          </el-breadcrumb-item>
          <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
        </el-breadcrumb>
      </el-header>
      <el-main style="padding: 0">
<router-view/>
        <router-view/>
      </el-main>
<!--     <el-footer>Footer</el-footer>-->
      <!--     <el-footer>Footer</el-footer>-->
    </el-container>
@@ -34,9 +39,19 @@
<script setup>
import {nextTick, ref} from 'vue'
import {ArrowRight, Search} from "@element-plus/icons-vue";
let indexFlag = $ref(1)
function changeRouter(index) {
  indexFlag = index
}
</script>
<style scoped>
:deep(.indexTag .el-breadcrumb__inner) {
  color: #5CADFE !important;
  font-weight: 900;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue
@@ -37,6 +37,7 @@
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          @cell-click="cellClickEvent"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -68,22 +69,46 @@
      </vxe-grid>
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="400" :mask="false" :lock-view="false" resize>
        <template #default>
          <vxe-table
              border="inner"
              auto-resize
              show-overflow
              height="auto"
              :row-config="{isHover: true}"
              :show-header="false"
              :sync-resize="showDetails"
              :data="detailData">
            <vxe-column field="label" width="40%"></vxe-column>
            <vxe-column field="value"></vxe-column>
          </vxe-table>
        </template>
      <!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" resize>
        <el-container >
          <!--          <el-header height="35px"
                        style="margin: 0;padding: 0">
                      这是头
                    </el-header>-->
          <el-main>
            <template #default>
              <vxe-table
                  border="inner"
                  auto-resize
                  show-overflow
                  max-height="420"
                  :row-config="{isHover: true}"
                  :show-header="false"
                  :sync-resize="showDetails"
                  :data="detailData">
                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
                <vxe-column field="value"></vxe-column>
              </vxe-table>
            </template>
          </el-main>
          <el-footer height="40px">
            <el-row>
              <el-col :offset="20" :span="4">
                <el-button
                    id="Sure"
                    type="primary"
                    @click="SureReturn"
                >确认退货
                </el-button>
              </el-col>
            </el-row>
          </el-footer>
        </el-container>
      </vxe-modal>
      <!--      详情框 部分1 结束-->
    </el-main>
@@ -323,14 +348,66 @@
})
/*const showDetails = ref(false)
const detailData = ref([])
const cellClickEvent = ({ row }) => {
  detailData.value = ['采购单号', 'wlbh', 'wlmc', 'gys', 'h', 'k', 'g'].map(field => {
    return { label: field, value: row[field] }
//详情框 部分2
const showDetails =ref(false);
let detailData =[];
const cellClickEvent = ({row}) => {
  detailData = ['cgdh', 'thdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
    return { label: ModelColumnContent(field) , value: row[field] }
  })
  showDetails.value = true
}*/
  showDetails.value = true;
}
const ModelColumnContent = (text) => {
  switch (text) {
    case 'cgdh':
      return "采购单号";
    case 'thdh':
      return "退货单号";
    case 'h':
      return "厚";
    case 'xh':
      return "型号";
    case 'wlbh':
      return "物料编码";
    case 'wlmc':
      return "物料名称";
    case 'gys':
      return "供应商";
    case 'w':
      return "宽";
    case 'g':
      return "高";
    case 'dw':
      return "单位";
    case 'cgzt':
      return "采购状态";
    case 'rq':
      return "日期";
    case 'yl':
      return "余量";
    case 'sl':
      return "数量";
    case 'xsdh':
      return "销售单号";
    case 'je':
      return "金额";
    case '6':
      return "其他";
    default:
      return text;
  }
}
const SureReturn=()=>{
  const type = VXETable.modal.confirm('是否确认退货?');
}
//详情框 部分2 结束
const now = new Date()
@@ -371,5 +448,7 @@
<style scoped>
:deep(.v-column-label div span){
  font-weight: bold;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
@@ -11,7 +11,7 @@
              start-placeholder="开始日期"
              end-placeholder="结束日期"
              :shortcuts="shortcuts"
              :size="size"
              format="YYYY/MM/DD"
              value-format="YYYY-MM-DD"
          />
@@ -26,7 +26,12 @@
              @click="BtnSearchPurchaseOrder">查询
          </el-button>
        </el-col>
      </el-row>
    </el-header>
    <el-main style="padding-top: 5px;height:100%">
      <vxe-grid
@@ -37,6 +42,8 @@
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          @cell-click ="cellClickEvent"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -53,6 +60,7 @@
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
          <el-button @click="getTableRow(row,'look')" link type="primary" size="small">查看</el-button>
          <!--          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>-->
          <!--          <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>-->
        </template>
@@ -67,27 +75,53 @@
        </template>
      </vxe-grid>
<!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" resize>
        <el-container >
<!--          <el-header height="35px"
              style="margin: 0;padding: 0">
            这是头
          </el-header>-->
          <el-main>
            <template #default>
              <vxe-table
                  border="inner"
                  auto-resize
                  show-overflow
                  max-height="420"
                  :row-config="{isHover: true}"
                  :show-header="false"
                  :sync-resize="showDetails"
                  :data="detailData">
                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
                <vxe-column field="value"></vxe-column>
              </vxe-table>
            </template>
          </el-main>
          <el-footer height="40px">
            <el-row>
              <el-col :offset="20" :span="4">
                <el-button
                    id="Sure"
                    type="primary"
                    @click="SureStorage"
                >确认入库
                </el-button>
              </el-col>
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="400" :mask="false" :lock-view="false" resize>
        <template #default>
          <vxe-table
              border="inner"
              auto-resize
              show-overflow
              height="auto"
              :row-config="{isHover: true}"
              :show-header="false"
              :sync-resize="showDetails"
              :data="detailData">
            <vxe-column field="label" width="40%"></vxe-column>
            <vxe-column field="value"></vxe-column>
          </vxe-table>
        </template>
            </el-row>
          </el-footer>
        </el-container>
      </vxe-modal>
      <!--      详情框 部分1 结束-->
    </el-main>
  </el-container>
</template>
@@ -98,19 +132,26 @@
import {Search} from "@element-plus/icons-vue";
import dayjs from "dayjs";
import {VXETable} from "vxe-table";
let router = useRouter()
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' : {
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}})
      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}});
      break
    }
    case 'look':{
      /*this.detailData = ['name', 'nickname', 'role', 'sex', 'age', 'amount', 'address'].map(field => {
        return { label: field, value: row[field] }
      })*/
      //this.showDetails = true
break
    }
    case 'delete': {
      alert('我接收到子组件传送的删除信息'+row.id)
      break
    }
@@ -232,6 +273,7 @@
  exportConfig: {},
  scrollY: {enabled: true},//开启虚拟滚动
  showOverflow: true,
  //showDetails: false,//弹窗 是否显示
  columnConfig: {
    resizable: true,
    useKey: true
@@ -318,15 +360,68 @@
})
/*const showDetails = ref(false)
const detailData = ref([])
const cellClickEvent = ({ row }) => {
  detailData.value = ['采购单号', 'wlbh', 'wlmc', 'gys', 'h', 'k', 'g'].map(field => {
    return { label: field, value: row[field] }
  })
  showDetails.value = true
}*/
//详情框 部分2
const showDetails =ref(false);
let detailData =[];
const cellClickEvent = ({row}) => {
 detailData = ['cgdh', 'rkdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
    return { label: ModelColumnContent(field) , value: row[field] }
 })
  showDetails.value = true;
}
const ModelColumnContent = (text) => {
  switch (text) {
    case 'cgdh':
      return "采购单号";
    case 'rkdh':
      return "入库单号";
    case 'h':
      return "厚";
    case 'xh':
      return "型号";
    case 'wlbh':
      return "物料编码";
    case 'wlmc':
      return "物料名称";
    case 'gys':
      return "供应商";
    case 'w':
      return "宽";
    case 'g':
      return "高";
    case 'dw':
      return "单位";
    case 'cgzt':
      return "采购状态";
    case 'rq':
      return "日期";
    case 'yl':
      return "余量";
    case 'sl':
      return "数量";
      case 'xsdh':
      return "销售单号";
    case 'je':
      return "金额";
    case '6':
      return "其他";
    default:
      return text;
  }
}
//详情框 部分2 结束
const SureStorage=()=>{
  openAlert({type: 'alert', content: '确认入库成功', status: 'success'})
}
const now = new Date()
@@ -366,5 +461,11 @@
<style scoped>
:deep(.v-column-label div span){
  font-weight: bold;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
@@ -3,16 +3,17 @@
    <el-container>
      <el-header style="height: 30px">
        <el-breadcrumb :separator-icon="ArrowRight">
<!--          <el-breadcrumb-item>采购与物资</el-breadcrumb-item>
          <el-breadcrumb-item>仓储报表
          </el-breadcrumb-item>-->
          <el-breadcrumb-item :to="{path:'/main/stockReport/WarehouseReport'}">原材料报表
          <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''"
                              :to="{path:'/main/stockReport/WarehouseReport'}">原材料报表
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/stockReport/StockWarehouseReport'}">成品报表
          <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''"
                              :to="{path:'/main/stockReport/StockWarehouseReport'}">成品报表
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/stockReport/StockMonthReport'}">原片月结
          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
                              :to="{path:'/main/stockReport/StockMonthReport'}">原片月结
          </el-breadcrumb-item>
          <el-breadcrumb-item :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
          <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
                              :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
            辅料月结
          </el-breadcrumb-item>
          <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
@@ -26,19 +27,23 @@
  </div>
</template>
<script setup>
import {nextTick, ref} from 'vue'
import {ArrowRight, Search} from "@element-plus/icons-vue";
import {ArrowRight} from "@element-plus/icons-vue";
let indexFlag = $ref(1)
import {useRouter} from "vue-router";
function changeRouter(index) {
  indexFlag = index
}
const router = useRouter();
</script>
<style scoped>
.ei-1 {
  font-weight: 500;
:deep(.indexTag .el-breadcrumb__inner) {
  color: #5CADFE !important;
  font-weight: 900;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/stockReport/WarehouseReport.vue
@@ -4,6 +4,7 @@
    <el-header class="m-header" style="height: auto">
    </el-header>
    <el-main style="padding-top: 5px">
      <vxe-grid
          max-height="600"
@@ -111,10 +112,12 @@
    showStatus: true
  },
  columns: [
    {type: 'expand', title:'', fixed: "left", slots: {content: 'content'}, width: 50},/* 详情 */
    /* {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},*/
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    /*{ type: 'checkbox',fixed:"left", title: '', width: 50 },*/
    {type: 'expand', title:'详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'kczz', width: '13%', title: '库存组织', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlbm', width: '10%', title: '物料编码', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlmc', width: '10%',title: '物料名称', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},