lrf402788946 4 年之前
父節點
當前提交
ca74da2964

+ 6 - 1
src/router/index.js

@@ -357,7 +357,12 @@ const web = [
         meta: { title: '创新券订单' },
         meta: { title: '创新券订单' },
         component: () => import('../views/adminCenter/company/policy_apply/order_apply.vue'),
         component: () => import('../views/adminCenter/company/policy_apply/order_apply.vue'),
       },
       },
-
+      {
+        path: '/adminCenter/company/policyOrder/index',
+        name: 'company_policyOrder_index',
+        meta: { title: '创新券订单' },
+        component: () => import('../views/adminCenter/company/policy_order/index.vue'),
+      },
       // 中介机构
       // 中介机构
       {
       {
         path: '/adminCenter/inter/basic',
         path: '/adminCenter/inter/basic',

+ 14 - 3
src/views/adminCenter/company/policy_apply/order_apply.vue

@@ -20,8 +20,8 @@
               </el-col>
               </el-col>
               <el-col :span="12" class="text">
               <el-col :span="12" class="text">
                 <!-- mechanism_id是服务端要的 -->
                 <!-- mechanism_id是服务端要的 -->
-                <el-form-item label="服务机构" prop="mechanism">
-                  <el-input v-model="form.mechanism" :disabled="true"></el-input>
+                <el-form-item label="服务机构" prop="mechanism_name">
+                  <el-input v-model="form.mechanism_name" :disabled="true"></el-input>
                 </el-form-item>
                 </el-form-item>
               </el-col>
               </el-col>
               <el-col :span="12" class="text">
               <el-col :span="12" class="text">
@@ -55,6 +55,11 @@
                   <el-input v-model="form.email"></el-input>
                   <el-input v-model="form.email"></el-input>
                 </el-form-item>
                 </el-form-item>
               </el-col>
               </el-col>
+              <el-col :span="12" class="text">
+                <el-form-item label="订单总金额" prop="money">
+                  <el-input v-model.number="form.money" type="number"></el-input>
+                </el-form-item>
+              </el-col>
               <el-col :span="24" class="text">
               <el-col :span="24" class="text">
                 <el-form-item label="备注" prop="remark">
                 <el-form-item label="备注" prop="remark">
                   <el-input v-model="form.remark" type="textarea" maxlength="300" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit></el-input>
                   <el-input v-model="form.remark" type="textarea" maxlength="300" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit></el-input>
@@ -93,6 +98,10 @@ export default {
         person: [{ required: true, message: '请填写需方机构联系人', trigger: 'blur' }],
         person: [{ required: true, message: '请填写需方机构联系人', trigger: 'blur' }],
         phone: [{ required: true, message: '请填写需方机构联系电话', trigger: 'blur' }],
         phone: [{ required: true, message: '请填写需方机构联系电话', trigger: 'blur' }],
         email: [{ required: true, message: '请填写需方机构电子邮箱', trigger: 'blur' }],
         email: [{ required: true, message: '请填写需方机构电子邮箱', trigger: 'blur' }],
+        money: [
+          { required: true, message: '请填写订单总金额', trigger: 'blur' },
+          { type: 'number', message: '请填写订单总金额', trigger: 'blur' },
+        ],
         remark: [{ required: true, message: '请填写备注', trigger: 'blur' }],
         remark: [{ required: true, message: '请填写备注', trigger: 'blur' }],
       },
       },
     };
     };
@@ -116,7 +125,7 @@ export default {
           { key: '_id', prop: 'mechanism_id' },
           { key: '_id', prop: 'mechanism_id' },
           { key: 'deptname', prop: 'mechanism_person' },
           { key: 'deptname', prop: 'mechanism_person' },
           { key: 'phone', prop: 'mechanism_mobile' },
           { key: 'phone', prop: 'mechanism_mobile' },
-          { key: 'deptname', prop: 'mechanism' },
+          { key: 'deptname', prop: 'mechanism_name' },
         ];
         ];
         obj = this.setObj(user, uArr);
         obj = this.setObj(user, uArr);
         // 用户数据
         // 用户数据
@@ -130,6 +139,7 @@ export default {
         obj = { ...obj, ...this.setObj(this.user, aArr) };
         obj = { ...obj, ...this.setObj(this.user, aArr) };
         obj.apply_id = this.id;
         obj.apply_id = this.id;
         obj.policy_user_type = _.get(policy, 'use_type');
         obj.policy_user_type = _.get(policy, 'use_type');
+        obj.policy_id = _.get(policy, '_id');
         this.$set(this, 'form', obj);
         this.$set(this, 'form', obj);
       }
       }
     },
     },
@@ -147,6 +157,7 @@ export default {
       const dup = _.cloneDeep(this.form);
       const dup = _.cloneDeep(this.form);
       const res = await this.create(dup);
       const res = await this.create(dup);
       if (this.$checkRes(res, '订单创建成功', res.errmsg || '订单创建失败')) {
       if (this.$checkRes(res, '订单创建成功', res.errmsg || '订单创建失败')) {
+        this.back();
       }
       }
     },
     },
     back() {
     back() {

+ 90 - 0
src/views/adminCenter/company/policy_order/index.vue

@@ -0,0 +1,90 @@
+<template>
+  <div id="list">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView" @pay="toPay"> </data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+const { policyStatus } = require('@common/dict/index');
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: policyOrder } = createNamespacedHelpers('policyOrder');
+export default {
+  name: 'list',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      list: [],
+      total: 0,
+      opera: [
+        {
+          label: '查看',
+          method: 'view',
+        },
+      ],
+      fields: [
+        { label: '订单号', prop: 'no' },
+        { label: '订单名称', prop: 'name', filter: 'input' },
+        { label: '服务包', prop: 'policy_user_type' },
+        { label: '所属单位', prop: 'mechanism_name' },
+        { label: '购买单位', prop: 'user_name' },
+        { label: '订单总金额', prop: 'money' },
+        { label: '创新券抵扣金额', prop: 'allowance' },
+        { label: '应收金额', prop: 'total' },
+        {
+          label: '审核状态',
+          prop: 'status',
+          format: (i) => {
+            const r = policyStatus.find((f) => f.value === i);
+            if (r) return r.label;
+            else return '';
+          },
+        },
+      ],
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...policyOrder(['query', 'update']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      const res = await this.query({ skip, limit, ...info, user_id: this.user._id });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    // 查看
+    toView({ data }) {
+      this.$router.push({ path: '/adminCenter/company/policyApply/info', query: { id: data._id } });
+    },
+    toPay({ data }) {
+      this.$router.push({ path: '/adminCenter/company/policyApply/order', query: { id: data._id } });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  border-radius: 10px;
+  box-shadow: 0 0 5px #cccccc;
+  padding: 20px;
+}
+.main:hover {
+  box-shadow: 0 0 5px #409eff;
+}
+</style>