Browse Source

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

YY 3 years ago
parent
commit
28692e354e

+ 9 - 21
src/views/menu/apply_examine/index.vue

@@ -3,17 +3,7 @@
     <el-row>
       <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"
-            :select="true"
-            :selected="selected"
-            @handleSelect="handleSelect"
-          >
+          <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView">
             <template #selfbtn>
               <el-button type="primary" size="mini" @click="toExport()">导出</el-button>
             </template>
@@ -28,7 +18,7 @@
     </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>
+        <file-1 :form="exportform" v-if="dialog.type == '1'" @toSave="toSave" :statusList="statusList"></file-1>
         <info-1 :form="form" v-else-if="dialog.type == '2'"></info-1>
       </template>
     </e-dialog>
@@ -43,7 +33,7 @@ export default {
   name: 'index',
   props: {},
   components: {
-    form1: () => import('./parts/form-1.vue'),
+    file1: () => import('./parts/file-1.vue'),
     info1: () => import('./parts/info-1.vue'),
   },
   data: function () {
@@ -68,13 +58,13 @@ export default {
       ],
       // 列表数据总数
       total: 0,
-      // 多选值
-      selected: [],
       //弹框
       dialog: { title: '详细信息', show: false, type: '1' },
       form: { order: [] },
       // 状态
       statusList: apply_status,
+      // 导出
+      exportform: {},
     };
   },
   async created() {
@@ -88,21 +78,19 @@ export default {
       this.$set(this, `form`, data);
       this.dialog = { title: '详细信息', show: true, type: '2', widths: '40%' };
     },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
-    },
+
     //导出数据
     async toExport() {
-      console.log(this.selected);
+      this.dialog = { title: '导出条件', show: true, type: '1', widths: '40%' };
     },
-    // 提交保存,创建/修改
+    //导出
     async toSave({ data }) {
       console.log(data);
     },
     //关闭
     toClose() {
       this.form = { order: [] };
+      this.exportform = {};
       this.dialog = { title: '详细信息', show: false, type: '1' };
       this.search();
     },

+ 2 - 2
src/views/menu/apply_examine/parts/form-1.vue

@@ -1,5 +1,5 @@
 <template>
-  <div id="form-1">
+  <div id="file-1">
     <el-row>
       <el-col :span="24" class="main">
         <data-form :fields="fields" :data="form" :rules="rules" @save="toSave">
@@ -17,7 +17,7 @@
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
-  name: 'form-1',
+  name: 'file-1',
   props: { form: { type: Object }, statusList: { type: Array } },
   components: {},
   data: function () {

+ 7 - 19
src/views/menu/market_buy/index.vue

@@ -3,18 +3,7 @@
     <el-row>
       <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"
-            @sign="toSign"
-            :select="true"
-            :selected="selected"
-            @handleSelect="handleSelect"
-          >
+          <data-table @query="search" :fields="fields" :opera="opera" :data="list" :total="total" @view="toView" @sign="toSign">
             <template #selfbtn>
               <el-button type="primary" size="mini" @click="toAdd()">添加</el-button>
               <el-button type="primary" size="mini" @click="toExport()">导出</el-button>
@@ -30,7 +19,7 @@
     </el-row>
     <e-dialog :dialog="dialog" @toClose="toClose">
       <template slot="info">
-        <file-1 :form="form" v-if="dialog.type == '1'" @toSave="toSave" :statusList="statusList"></file-1>
+        <file-1 :form="exportform" v-if="dialog.type == '1'" @toSave="toSave" :statusList="statusList"></file-1>
         <info-1 :form="form" v-else-if="dialog.type == '2'"></info-1>
       </template>
     </e-dialog>
@@ -106,6 +95,8 @@ export default {
       form: { order: [] },
       // 状态
       statusList: buy_status,
+      //导出
+      exportform: {},
     };
   },
   async created() {
@@ -121,17 +112,13 @@ export default {
     },
     //导出数据
     async toExport() {
-      console.log(this.selected);
-    },
-    // 多选
-    handleSelect(data) {
-      this.$set(this, `selected`, data);
+      this.dialog = { title: '导出条件', show: true, type: '1', widths: '40%' };
     },
     // 订单签收
     async toSign({ data }) {
       console.log(data);
     },
-    // 提交保存,创建/修改
+    //导出
     async toSave({ data }) {
       console.log(data);
     },
@@ -142,6 +129,7 @@ export default {
     //关闭
     toClose() {
       this.form = { order: [] };
+      this.exportform = {};
       this.dialog = { title: '详细信息', show: false, type: '1' };
       this.search();
     },

+ 12 - 10
src/views/menu/outdepot/index.vue

@@ -13,7 +13,7 @@
     </el-row>
     <e-dialog :dialog="dialog" @toClose="toClose">
       <template slot="info">
-        <detail-1 v-if="dialog.type == '1'" :form="form" @onSubmit="onSubmit" @addSave="addSave"></detail-1>
+        <detail-1 v-if="dialog.type == '1'" :form="form" @toSave="toSave" @orderSave="orderSave" @orderDelete="orderDelete"></detail-1>
         <info-1 v-if="dialog.type == '2'" :form="form"></info-1>
       </template>
     </e-dialog>
@@ -26,20 +26,17 @@ export default {
   name: 'index',
   props: {},
   components: {
-    info1: () => import('./parts/info-1.vue'),
     detail1: () => import('./parts/detail-1.vue'),
+    info1: () => import('./parts/info-1.vue'),
   },
   data: function () {
     return {
-      // 数据项
       fields: [
         { label: '登记人名称', prop: 'register_name', filter: true },
         { label: '登记人电话', prop: 'register_phone', filter: true },
         { label: '登记时间', prop: 'register_date' },
       ],
-      total: 0,
       opera: [{ label: '详情', method: 'view' }],
-      // 列表
       list: [
         {
           register_name: '胡图图',
@@ -60,10 +57,11 @@ export default {
           order: [{ name: '美羊羊', num: '111' }],
         },
       ],
+      total: 0,
       // 弹框
       dialog: { title: '信息管理', show: false, type: '1' },
       // 添加表单
-      form: { order: [], img_url: [] },
+      form: { order: [] },
     };
   },
   created() {},
@@ -74,8 +72,8 @@ export default {
       this.dialog = { title: '信息管理', show: true, type: '1', widths: '40%' };
     },
     // 提交保存
-    onSubmit(data) {
-      this.toClose();
+    toSave({ data }) {
+      console.log(data);
     },
     // 详细信息
     toView({ data }) {
@@ -88,10 +86,14 @@ export default {
       this.dialog = { title: '详细信息', show: false, type: '1' };
       this.search();
     },
-    // 保存
-    addSave({ data }) {
+    // 商品信息保存
+    orderSave({ data }) {
       this.form.order.push(data);
     },
+    // 删除商品信息
+    orderDelete({ index }) {
+      this.form.order.splice(index, 1);
+    },
   },
   computed: {
     ...mapState(['user']),

+ 75 - 34
src/views/menu/outdepot/parts/detail-1.vue

@@ -6,12 +6,17 @@
           <template #custom="{ item }">
             <template v-if="item.model === 'order'">
               <el-col :span="24">
-                <el-button type="primary" size="mini" @click="toAddOne()">添加商品</el-button>
+                <el-button type="primary" size="mini" @click="orderAdd()">添加商品</el-button>
               </el-col>
-              <el-col :span="24" class="table">
+              <el-col :span="24">
                 <el-table :data="form.order" style="width: 100%" border stripe size="mini">
                   <el-table-column prop="name" label="商品名称" align="center" show-overflow-tooltip> </el-table-column>
                   <el-table-column prop="num" label="商品数量" align="center" show-overflow-tooltip> </el-table-column>
+                  <el-table-column label="操作" align="center">
+                    <template slot-scope="scope">
+                      <el-button size="mini" type="danger" @click="orderDelete(scope.$index, scope.row)">删除</el-button>
+                    </template>
+                  </el-table-column>
                 </el-table>
               </el-col>
             </template>
@@ -21,15 +26,24 @@
     </el-row>
     <e-dialog :dialog="dialog" @toClose="toClose">
       <template slot="info">
-        <el-col v-if="dialog.type == '1'">
-          <el-col :span="18" class="input">
-            <el-input placeholder="请输入库存商品全称" v-model="input" clearable> </el-input>
+        <el-col :span="24" class="one" v-if="dialog.type == '1'">
+          <el-col :span="24" class="one_1">
+            <el-input placeholder="请输入内容" v-model="input" class="input-with-select" size="mini">
+              <el-button slot="append" icon="el-icon-search" @click="marketSearch()"></el-button>
+            </el-input>
           </el-col>
-          <el-col :span="4" class="text">
-            <el-button type="primary" size="small">搜索</el-button>
+          <el-col :span="24" class="one_2">
+            <el-col :span="24" class="list" v-for="(item, index) in marketList" :key="index">
+              <el-col :span="20" class="name textOver">
+                商品名称:<span>{{ item.name }}</span>
+              </el-col>
+              <el-col :span="4">
+                <el-button type="primary" size="mini" @click="stockChange(item)">确认选择</el-button>
+              </el-col>
+            </el-col>
           </el-col>
-          <el-col>
-            <data-form :fields="fieldsOne" :data="twoform" :rules="rulesOne" @save="addSave"> </data-form>
+          <el-col :span="24" class="one_3">
+            <data-form :fields="oneFields" :data="oneForm" :rules="oneRules" @save="orderSave"> </data-form>
           </el-col>
         </el-col>
       </template>
@@ -60,38 +74,61 @@ export default {
         register_date: [{ required: true, message: '请输入登记时间' }],
         reason: [{ required: true, message: '请输入出库原因' }],
       },
-      fieldsOne: [
-        { label: '商品名称', model: 'name' },
+      // 弹框
+      dialog: { title: '信息管理', show: false, type: '1' },
+      oneForm: {},
+      oneFields: [
+        { label: '商品名称', model: 'name', readonly: true },
+        { label: '商品库存数量', model: 'stockNum', readonly: true },
         { label: '商品数量', model: 'num' },
       ],
-      rulesOne: {
+      oneRules: {
         name: [{ required: true, message: '请输入商品名称' }],
+        stockNum: [{ required: true, message: '请输入商品库存数量' }],
         num: [{ required: true, message: '请输入商品数量' }],
       },
-      // 弹框
-      dialog: { title: '信息管理', show: false, type: '1' },
       input: '',
-      twoform: {},
+      marketList: [],
     };
   },
   created() {},
   methods: {
-    search({ skip = 0, limit = 10, ...info } = {}) {},
     toSave({ data }) {
-      this.$emit('onSubmit', data);
+      this.$emit('toSave', { data: data });
     },
-    // 添加商品信息有
-    toAddOne() {
+    // 添加商品
+    orderAdd() {
       this.dialog = { title: '添加商品', show: true, type: '1', widths: '30%' };
     },
-    addSave({ data }) {
-      this.$emit('addSave', { data: data });
-      this.toClose();
+    // 保存订单
+    orderSave({ data }) {
+      if (parseInt(data.num) > parseInt(data.stockNum)) {
+        this.$message({ message: `商品数量大于商品库存数量,不可提交`, type: 'error' });
+      } else {
+        this.$emit('orderSave', { data: data });
+        this.toClose();
+      }
+    },
+    // 删除订单
+    orderDelete(index) {
+      this.$emit('orderDelete', { index: index });
     },
     // 关闭弹框
     toClose() {
       this.dialog = { show: false };
-      this.search();
+    },
+    // 商品查询
+    marketSearch() {
+      let data = [
+        { id: 'test1', name: '124', num: '11' },
+        { id: 'test2', name: '123', num: '11' },
+      ];
+      this.$set(this, `marketList`, data);
+    },
+    // 确认选择
+    stockChange(data) {
+      let arr = { stock_market_id: data.id, name: data.name, stockNum: data.num };
+      this.$set(this, `oneForm`, arr);
     },
   },
   computed: {
@@ -111,16 +148,20 @@ export default {
 </script>
 
 <style lang="less" scoped>
-.input {
-  margin: 0 0 20px 45px;
-}
-.text {
-  margin: 4px 0 0 5px;
-}
-/deep/.el-dialog__body {
-  min-height: 570px !important;
-}
-/deep/.el-dialog {
-  min-height: 650px;
+.one {
+  .one_1 {
+    margin: 0 0 10px 0;
+  }
+  .one_2 {
+    .list {
+      margin: 0 0 10px 0;
+      border: 1px dashed #ccc;
+      border-radius: 5px;
+      padding: 10px;
+      .name {
+        padding: 4px 0;
+      }
+    }
+  }
 }
 </style>

+ 27 - 4
src/views/system/password/index.vue

@@ -1,7 +1,11 @@
 <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="12">
+          <data-form :fields="fields" :data="form" :rules="rules" @save="toSave"> </data-form>
+        </el-col>
+      </el-col>
     </el-row>
   </div>
 </template>
@@ -13,10 +17,23 @@ export default {
   props: {},
   components: {},
   data: function () {
-    return {};
+    return {
+      fields: [{ label: '新密码', model: 'password', type: 'password' }],
+      // 表单验证
+      rules: {
+        password: [{ required: true, message: '请输入新密码' }],
+      },
+      // 表单object
+      form: {},
+    };
   },
   created() {},
-  methods: {},
+  methods: {
+    // 提交按钮
+    async toSave({ data }) {
+      console.log(data);
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
@@ -33,4 +50,10 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.main {
+  .button {
+    text-align: center;
+  }
+}
+</style>