Przeglądaj źródła

Merge branch 'master' of http://git.cc-lotus.info/Consumables/admin-cms-two

YY 3 lat temu
rodzic
commit
9aa42d54e7

+ 99 - 6
src/views/menu/market/index.vue

@@ -1,22 +1,111 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight"> test </el-col>
+      <el-col :span="24" class="main animate__animated animate__backInRight">
+        <el-col :span="24" class="one">
+          <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView" @export="toExport">
+            <template #options="{ item }">
+              <template v-if="item.prop == 'status_name'">
+                <el-option v-for="item in statusList" :key="item.label" :label="item.label" :value="item.label"></el-option>
+              </template>
+            </template>
+          </data-table>
+        </el-col>
+      </el-col>
     </el-row>
+    <e-dialog :dialog="dialog" @toClose="toClose">
+      <template slot="info">
+        <form-1 :form="form" v-if="dialog.type == '1'" @toSave="toSave" :statusList="statusList"></form-1>
+        <info-1 :form="form" v-else-if="dialog.type == '2'"></info-1>
+      </template>
+    </e-dialog>
   </div>
 </template>
 
 <script>
+const { apply_status } = require('@common/src/layout/deploy/dict');
 import { mapState, createNamespacedHelpers } from 'vuex';
+const moment = require('moment');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    form1: () => import('./parts/form-1.vue'),
+    info1: () => import('./parts/info-1.vue'),
+  },
   data: function () {
-    return {};
+    return {
+      // 数据项
+      fields: [
+        { label: '商品名称', prop: 'name', filter: true },
+        { label: '商品类型', prop: 'type_name', filter: true },
+        { label: '商品价格', prop: 'money', filter: 'select' },
+        {
+          label: '商品状态',
+          prop: 'status',
+          filter: 'select',
+          format: (i) => (i == '0' ? '待上架' : i == '1' ? '已上架' : i == '2' ? '已下架' : '暂无'),
+        },
+      ],
+      //操作项
+      opera: [
+        { label: '详细信息', method: 'view' },
+        {
+          label: '下架',
+          method: 'export',
+          type: 'success',
+          confirm: true,
+          display: (i) => i.status == '1',
+        },
+      ],
+      //表格数据
+      list: [
+        {
+          name: '喜羊羊',
+          type_name: '羊肉',
+          money: '22',
+          status: '1',
+          brief: '一份',
+          img_url: [{ url: require('@a/logo.png') }, { url: require('@a/login-1.jpg') }, { url: require('@a/logo.png') }, { url: require('@a/login-1.jpg') }],
+        },
+        { name: '喜羊羊', type_name: '羊肉', money: '22', status: '0', brief: '一份' },
+        { name: '喜羊羊', type_name: '羊肉', money: '22', status: '1', brief: '一份' },
+      ],
+      // 列表数据总数
+      total: 0,
+      //弹框
+      dialog: { title: '详细信息', show: false, type: '1' },
+      form: { order: [] },
+      // 状态
+      statusList: apply_status,
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    //查询数据
+    async search() {},
+    //详细信息
+    async toView({ data }) {
+      this.$set(this, `form`, data);
+      this.dialog = { title: '详细信息', show: true, type: '2', widths: '40%' };
+    },
+    //导出数据
+    async toExport({ data }) {
+      this.dialog = { title: '导出条件', show: true, type: '1', widths: '40%' };
+    },
+    // 提交保存,创建/修改
+    async toSave({ data }) {
+      console.log(data);
+    },
+    //关闭
+    toClose() {
+      this.form = { order: [] };
+      this.dialog = { title: '详细信息', show: false, type: '1' };
+      this.search();
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
   },
@@ -33,4 +122,8 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+/deep/.el-dialog__body {
+  min-height: 400px;
+}
+</style>

+ 72 - 0
src/views/menu/market/parts/form-1.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="form-1">
+    <el-row>
+      <el-col :span="24" class="main">
+        <data-form :fields="fields" :data="form" :rules="rules" @save="toSave">
+          <template #options="{ item }">
+            <template v-if="item.model === 'status'">
+              <el-option v-for="(i, index) in statusList" :key="index" :label="`${i.label}`" :value="i.value"></el-option>
+            </template>
+          </template>
+        </data-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'form-1',
+  props: { form: { type: Object }, statusList: { type: Array } },
+  components: {},
+  data: function () {
+    return {
+      //表单配置项
+      fields: [
+        { label: '申请人姓名', model: 'examine_name' },
+        { label: '商品状态', model: 'status', type: 'select' },
+        { label: '开始时间', model: 'start_time', type: 'date' },
+        { label: '结束时间', model: 'end_time', type: 'date' },
+      ],
+      rules: {
+        examine_name: [{ required: true, message: '请输入申请人姓名' }],
+        start_time: [{ required: true, message: '请选择开始时间' }],
+        end_time: [{ required: true, message: '请选择结束时间' }],
+        status: [{ required: true, message: '请选择商品状态' }],
+      },
+    };
+  },
+  created() {},
+  methods: {
+    toSave({ data }) {
+      this.$emit('toSave', { data: data });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .table {
+    margin-top: 15px;
+  }
+}
+/deep/ .el-form-item {
+  float: left;
+  width: 100%;
+}
+</style>

+ 70 - 0
src/views/menu/market/parts/info-1.vue

@@ -0,0 +1,70 @@
+<template>
+  <div id="info-1">
+    <el-row>
+      <el-col :span="24" class="main">
+        <data-form :fields="fields" :data="form" :needSave="false">
+          <template #custom="{ item }">
+            <template v-if="item.model === 'img_url'">
+              <el-image class="img" v-for="(item, index) in form.img_url" :key="index" :src="item.url"></el-image>
+            </template>
+          </template>
+        </data-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'info-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {
+      //表单配置项
+      fields: [
+        { label: '商品图片', model: 'img_url', custom: true },
+        { label: '商品名称', model: 'name' },
+        { label: '商品类型', model: 'type_name' },
+        { label: '商品单价', model: 'money' },
+        { label: '商品简介', model: 'brief', type: 'textarea', readonly: true },
+      ],
+      // 商品列表
+      orderField: [
+        { label: '商品名称', prop: 'name' },
+        { label: '商品数量', prop: 'num' },
+        { label: '特殊说明', prop: 'desc' },
+      ],
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .img {
+    height: 150px;
+    width: 150px;
+  }
+}
+/deep/ .el-form-item {
+  float: left;
+  width: 100%;
+}
+</style>

+ 84 - 10
src/views/menu/market_buy/detail.vue

@@ -20,16 +20,31 @@
             <el-button type="primary" size="mini" @click="toBuy">查看选购</el-button>
             <el-button type="primary" size="mini" @click="toConfirm">确认选购</el-button>
           </el-col>
-          <el-col :span="24">
-            <el-col :span="24" v-for="(item, index) in orderForm" :key="index">
-              <p>{{ item.mech_name }}</p>
-              <p>{{ item.totalMoney }}</p>
-              <p>{{ item.order }}</p>
-            </el-col>
-          </el-col>
         </el-col>
       </el-col>
     </el-row>
+    <e-dialog :dialog="dialog" @toClose="toClose">
+      <template slot="info">
+        <el-col :span="24" v-if="dialog.type == '1'">
+          <el-col class="orderForm" :span="24" v-for="(item, index) in orderForm" :key="index">
+            <el-col :span="24" class="name">
+              供货单位:<span>{{ item.mech_name }}</span>
+            </el-col>
+            <el-col :span="24" class="money">
+              选购总价:<span>{{ item.totalMoney }}¥</span>
+            </el-col>
+            <el-col class="orderlist" :span="11" v-for="(order, index) in item.order" :key="index">
+              <el-col :span="24" class="name">商品名称:{{ order.name }}</el-col>
+              <el-col :span="24" class="num"> 选购数量:{{ order.num }}</el-col>
+              <el-col :span="24" class="money"
+                >商品单价:<span>{{ order.money }}¥</span>
+              </el-col>
+            </el-col>
+          </el-col>
+        </el-col>
+        <form-1 :form="form" @toSave="toSave" v-else-if="dialog.type == '2'"></form-1>
+      </template>
+    </e-dialog>
   </div>
 </template>
 
@@ -38,12 +53,17 @@ import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'detail',
   props: {},
-  components: {},
+  components: {
+    form1: () => import('./parts/form-1.vue'),
+  },
   data: function () {
     return {
       marketList: [],
       // 选购的商品
       orderForm: [],
+      //弹框
+      dialog: { title: '查看选购', show: false, type: '1' },
+      form: {},
     };
   },
   async created() {
@@ -140,10 +160,22 @@ export default {
     },
     // 查看选购
     async toBuy() {
-      console.log(this.orderForm);
+      this.dialog = { title: '查看选购', show: true, type: '1', widths: '40%' };
     },
     // 确认选购
-    async toConfirm() {},
+    async toConfirm() {
+      this.dialog = { title: '收货信息', show: true, type: '2', widths: '40%' };
+    },
+    // 提交保存,创建/修改
+    async toSave({ data }) {
+      console.log(data);
+    },
+    //关闭
+    toClose() {
+      // this.form = { order: [] };
+      this.dialog = { title: '查看选购', show: false, type: '1' };
+      // this.search();
+    },
     // 返回
     toBack() {
       window.history.go('-1');
@@ -203,4 +235,46 @@ export default {
     }
   }
 }
+.orderForm {
+  padding: 15px;
+  border: 1px solid #ccc;
+  margin-top: 10px;
+  .name {
+    margin: 0 0 5px 0;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    -webkit-line-clamp: 2;
+    word-break: break-all;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    span {
+      color: #000;
+    }
+  }
+  .money {
+    span {
+      color: red;
+      font-size: 14px;
+      font-weight: bold;
+    }
+  }
+  .orderlist {
+    padding: 10px;
+    border: 1px solid #ccc;
+    margin-top: 10px;
+    margin-right: 5px;
+    .name {
+      color: #000;
+      font-size: 14px;
+      font-weight: bold;
+    }
+    .money {
+      span {
+        color: red;
+        font-size: 14px;
+        font-weight: bold;
+      }
+    }
+  }
+}
 </style>

+ 64 - 0
src/views/menu/market_buy/parts/form-1.vue

@@ -0,0 +1,64 @@
+<template>
+  <div id="form-1">
+    <el-row>
+      <el-col :span="24" class="main">
+        <data-form :fields="fields" :data="form" :rules="rules" @save="toSave"></data-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'form-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {
+      //表单配置项
+      fields: [
+        { label: '收货人姓名', model: 'receive_user_name' },
+        { label: '收货电话', model: 'receive_user_phone' },
+        { label: '收货地址', model: 'receive_address' },
+      ],
+      rules: {
+        receive_user_name: [{ required: true, message: '请输入收货人姓名' }],
+        receive_user_phone: [{ required: true, message: '请输入收货电话' }],
+        receive_address: [{ required: true, message: '请输入收货地址' }],
+      },
+    };
+  },
+  created() {},
+  methods: {
+    toSave({ data }) {
+      this.$emit('toSave', { data: data });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .table {
+    margin-top: 15px;
+  }
+}
+/deep/ .el-form-item {
+  float: left;
+  width: 100%;
+}
+</style>

+ 1 - 2
src/views/menu/market_buy/parts/info-1.vue

@@ -5,7 +5,7 @@
         <data-form :fields="fields" :data="form" :needSave="false">
           <template #custom="{ item }">
             <template v-if="item.model === 'order'">
-              <data-table :fields="orderField" :opera="opera" :data="form.order" :usePage="false"> </data-table>
+              <data-table :fields="orderField" :opera="[]" :data="form.order" :usePage="false"> </data-table>
             </template>
           </template>
         </data-form>
@@ -40,7 +40,6 @@ export default {
         { label: '商品数量', prop: 'num' },
         { label: '商品单价', prop: 'money' },
       ],
-      opera: [],
     };
   },
   created() {},

+ 98 - 6
src/views/menu/order/index.vue

@@ -1,22 +1,110 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight"> test </el-col>
+      <el-col :span="24" class="main animate__animated animate__backInRight">
+        <el-col :span="24" class="one">
+          <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView">
+            <template #options="{ item }">
+              <template v-if="item.prop == 'status_name'">
+                <el-option v-for="item in statusList" :key="item.label" :label="item.label" :value="item.label"></el-option>
+              </template>
+            </template>
+          </data-table>
+        </el-col>
+      </el-col>
     </el-row>
+    <e-dialog :dialog="dialog" @toClose="toClose">
+      <template slot="info">
+        <info-1 :form="form"></info-1>
+      </template>
+    </e-dialog>
   </div>
 </template>
 
 <script>
+const { buy_status } = require('@common/src/layout/deploy/dict');
 import { mapState, createNamespacedHelpers } from 'vuex';
+const moment = require('moment');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    info1: () => import('./parts/info-1.vue'),
+  },
   data: function () {
-    return {};
+    return {
+      // 数据项
+      fields: [
+        { label: '订单号', prop: 'order_num', filter: true },
+        { label: '收货人', prop: 'receive_user_name', filter: true },
+        { label: '收货电话', prop: 'receive_user_phone', filter: true },
+        { label: '收货地址', prop: 'receive_address', filter: true },
+        { label: '货物状态', prop: 'status_name', filter: 'select' },
+      ],
+      //操作项
+      opera: [
+        { label: '详细信息', method: 'view' },
+        { label: '订单确认', method: 'check', type: 'success', confirm: true, display: (i) => i.status == '0' },
+        { label: '订单确认签收', method: 'sign', type: 'success', confirm: true, display: (i) => i.status == '2' },
+      ],
+      //表格数据
+      list: [
+        {
+          order_num: 'Ygj4757945hdFueu',
+          receive_user_name: '胡英俊',
+          mech_name: '翻斗幼儿园-小豆班',
+          status_name: '待供货单位确认',
+          status: '0',
+          user_name: '采购人员',
+          user_phone: '12345678901',
+          money: '3344',
+          receive_user_phone: '98765432109',
+          receive_address: '翻斗大街翻斗花园2号楼1001室',
+          order: [],
+        },
+        {
+          order_num: 'Hgj4757945hdFueu',
+          receive_user_name: '胡图图',
+          mech_name: '翻斗幼儿园-小豆班',
+          status_name: '待供货单位确认',
+          status: '1',
+          user_name: '采购人员',
+          user_phone: '12345678901',
+          money: '3344',
+          receive_user_phone: '98765432109',
+          receive_address: '翻斗大街翻斗花园2号楼1001室',
+          order: [
+            { name: '小洋人', num: '123', money: '3000' },
+            { name: '娃哈哈', num: '123', money: '344' },
+          ],
+        },
+      ],
+      // 列表数据总数
+      total: 0,
+      //弹框
+      dialog: { title: '详细信息', show: false, type: '1' },
+      form: { order: [] },
+      statusList: buy_status,
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    //查询数据
+    async search() {},
+    //详细信息
+    async toView({ data }) {
+      this.$set(this, `form`, data);
+      this.dialog = { title: '详细信息', show: true, type: '1', widths: '40%' };
+    },
+    //关闭
+    toClose() {
+      this.form = { order: [] };
+      this.dialog = { title: '详细信息', show: false, type: '1' };
+      this.search();
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
   },
@@ -33,4 +121,8 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+/deep/.el-dialog__body {
+  min-height: 400px;
+}
+</style>

+ 68 - 0
src/views/menu/order/parts/info-1.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="info-1">
+    <el-row>
+      <el-col :span="24" class="main">
+        <data-form :fields="fields" :data="form" :needSave="false">
+          <template #custom="{ item }">
+            <template v-if="item.model === 'order'">
+              <data-table :fields="orderField" :opera="[]" :data="form.order" :usePage="false"> </data-table>
+            </template>
+          </template>
+        </data-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'info-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {
+      //表单配置项
+      fields: [
+        { label: '订单号', model: 'order_num' },
+        { label: '采买人', model: 'user_name' },
+        { label: '采买人电话', model: 'user_phone' },
+        { label: '供货单位', model: 'mech_name' },
+        { label: '供货总价(元)', model: 'money' },
+        { label: '收货人', model: 'receive_user_name' },
+        { label: '收货人电话', model: 'receive_user_phone' },
+        { label: '收货地址:', model: 'receive_address' },
+        { label: '商品列表:', model: 'order', custom: true },
+      ],
+      // 商品列表
+      orderField: [
+        { label: '商品名称', prop: 'name' },
+        { label: '商品数量', prop: 'num' },
+        { label: '商品单价', prop: 'money' },
+      ],
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-form-item {
+  float: left;
+  width: 100%;
+}
+</style>

+ 104 - 6
src/views/menu/payment/index.vue

@@ -1,22 +1,116 @@
 <template>
   <div id="index">
     <el-row>
-      <el-col :span="24" class="main animate__animated animate__backInRight"> test </el-col>
+      <el-col :span="24" class="main animate__animated animate__backInRight">
+        <el-col :span="24" class="one">
+          <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView" @confirm="toConfirm">
+            <template #options="{ item }">
+              <template v-if="item.prop == 'status_name'">
+                <el-option v-for="item in statusList" :key="item.label" :label="item.label" :value="item.label"></el-option>
+              </template>
+            </template>
+          </data-table>
+        </el-col>
+      </el-col>
     </el-row>
+    <e-dialog :dialog="dialog" @toClose="toClose">
+      <template slot="info">
+        <info-1 :form="form"></info-1>
+      </template>
+    </e-dialog>
   </div>
 </template>
 
 <script>
+const { buy_status } = require('@common/src/layout/deploy/dict');
 import { mapState, createNamespacedHelpers } from 'vuex';
+const moment = require('moment');
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    info1: () => import('./parts/info-1.vue'),
+  },
   data: function () {
-    return {};
+    return {
+      // 数据项
+      fields: [
+        { label: '订单号', prop: 'order_num', filter: true },
+        { label: '采买人', prop: 'user_name', filter: true },
+        { label: '供货单位', prop: 'mech_name', filter: true },
+        { label: '供货总价(元)', prop: 'money', filter: true },
+        { label: '货物状态', prop: 'status_name', filter: 'select' },
+      ],
+      //操作项
+      opera: [
+        { label: '详情', method: 'view' },
+        { label: '订单确认', method: 'confirm', type: 'success', confirm: true, display: (i) => i.status == '3' },
+      ],
+      //表格数据
+      list: [
+        {
+          order_num: 'Ygj4757945hdFueu',
+          receive_user_name: '胡英俊',
+          mech_name: '翻斗幼儿园-小豆班',
+          status_name: '待财务确认',
+          status: '3',
+          user_name: '采购人员',
+          user_phone: '12345678901',
+          money: '3344',
+          receive_user_phone: '98765432109',
+          receive_address: '翻斗大街翻斗花园2号楼1001室',
+        },
+        {
+          order_num: 'Hgj4757945hdFueu',
+          receive_user_name: '胡图图',
+          mech_name: '翻斗幼儿园-小豆班',
+          status_name: '待财务确认',
+          status: '3',
+          user_name: '采购人员',
+          user_phone: '12345678901',
+          money: '3344',
+          receive_user_phone: '98765432109',
+          receive_address: '翻斗大街翻斗花园2号楼1001室',
+          order: [
+            { name: '小洋人', num: '123', money: '3000' },
+            { name: '娃哈哈', num: '123', money: '344' },
+          ],
+        },
+      ],
+      // 列表数据总数
+      total: 0,
+      //弹框
+      dialog: { title: '详细信息', show: false, type: '1' },
+      form: { order: [] },
+      statusList: buy_status,
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    //查询数据
+    async search() {},
+    //详细信息
+    async toView({ data }) {
+      this.$set(this, `form`, data);
+      this.dialog = { title: '详细信息', show: true, type: '1', widths: '40%' };
+    },
+    //关闭
+    toClose() {
+      this.form = { order: [] };
+      this.dialog = { title: '详细信息', show: false, type: '1' };
+      this.search();
+    },
+    // 商品信息保存
+    orderSave({ data }) {
+      this.form.order.push(data);
+    },
+    // 删除商品信息
+    orderDelete({ index }) {
+      this.form.order.splice(index, 1);
+    },
   },
-  created() {},
-  methods: {},
   computed: {
     ...mapState(['user']),
   },
@@ -33,4 +127,8 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+/deep/.el-dialog__body {
+  min-height: 400px;
+}
+</style>

+ 68 - 0
src/views/menu/payment/parts/info-1.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="info-1">
+    <el-row>
+      <el-col :span="24" class="main">
+        <data-form :fields="fields" :data="form" :needSave="false">
+          <template #custom="{ item }">
+            <template v-if="item.model === 'order'">
+              <data-table :fields="orderField" :opera="[]" :data="form.order" :usePage="false"> </data-table>
+            </template>
+          </template>
+        </data-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'info-1',
+  props: { form: { type: Object } },
+  components: {},
+  data: function () {
+    return {
+      //表单配置项
+      fields: [
+        { label: '订单号', model: 'order_num' },
+        { label: '采买人', model: 'user_name' },
+        { label: '采买人电话', model: 'user_phone' },
+        { label: '供货单位', model: 'mech_name' },
+        { label: '供货总价(元)', model: 'money' },
+        { label: '收货人', model: 'receive_user_name' },
+        { label: '收货人电话', model: 'receive_user_phone' },
+        { label: '收货地址', model: 'receive_address' },
+        { label: '商品列表', model: 'order', custom: true },
+      ],
+      // 商品列表
+      orderField: [
+        { label: '商品名称', prop: 'name' },
+        { label: '购买数量', prop: 'num' },
+        { label: '商品单价', prop: 'money' },
+      ],
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/deep/ .el-form-item {
+  float: left;
+  width: 100%;
+}
+</style>