Explorar el Código

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
修改

1004749546@qq.com hace 4 años
padre
commit
980ba5da6e

+ 9 - 0
src/api/goods.js

@@ -11,6 +11,15 @@ export const goodsList = (params) => {
     method: 'post'
   })
 }
+// 查分类商品列表  不分页
+export const goodsListQuery = (params) => {
+  const url = `/goods/queryList`
+  return axios.request({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
 // 保存商品
 export const goodsSave = (params) => {
   return axios.request({

+ 8 - 44
src/views/equipmentManage/boxSetting/AddBoxModal.vue

@@ -10,7 +10,7 @@
       :centered="true">
       <a-form :form="form" @submit="handleSubmit">
         <!-- 箱体类型名称 -->
-        <a-form-item label="箱体类型" :label-col="{ span: 5 }" :wrapper-col="{ span: 16 }">
+        <a-form-item label="箱体类型" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
           <a-input
             placeholder="请输入箱体类型名称(最多30个字符)"
             allowClear
@@ -24,7 +24,7 @@
         <a-form-item
           label="内置箱体数量"
           :label-col="{ span: 5 }"
-          :wrapper-col="{ span: 16 }"
+          :wrapper-col="{ span: 14 }"
         >
           <a-select
             allowClear
@@ -52,8 +52,11 @@
               :label-col=" { span: 10 }"
               :wrapper-col=" { span: 14 }"
             >
-              <a-input
-                type="number"
+              <a-input-number
+                :min="1"
+                :max="1000"
+                precision="2"
+                style="width: 200px;"
                 placeholder="请输入数字(最大1000)"
                 v-decorator="[
                   `formData.settings[${k}].limitNum`,
@@ -63,16 +66,13 @@
                       {
                         required: true, message: '请输入限投数量(最大1000)!'
                       },
-                      {
-                        validator: limitNumChange
-                      },
                     ],
                   },
                 ]"
               />
             </a-form-item>
           </a-col>
-          <a-form-item ><span class="linenums">至</span></a-form-item>
+          <a-col span="1"></a-col>
           <a-col span="9">
             <!-- 请选择分类 -->
             <a-form-item
@@ -166,52 +166,16 @@ export default {
       this.clear()
       this.$emit('close')
     },
-    // 校验
-    limitNumChange (rule, value, callback) {
-	  console.log('value', value, rule)
-	  const times = this.form.getFieldValue('times')
-	  if ((value <= 0 || value > 1000) && value !== '') {
-	    callback(new Error('请输入1到1000以内的数字'))
-	  }
-	  callback()
-    },
-    handleChange (e) {
-      console.log(e, e.target.value, 'eeeeeee')
-	  const value = e.target.value
-	  const ret = this.numberToFixed(value, 2, 1000)
-	  this.$nextTick(() => {
-	    this.formData.settings[num][key] = Number(ret)
-	  })
-	  // this.value = this.numberToFixed(value, 2, this.max)
-	  // this.$emit('change', this.value)
-    },
     // 内置箱体选择修改
     handleNumChange (v) {
       console.log(v, 'vvvvvvvvvv')
 	  const arr = []
-	  const setting = []
 	  for (let x = 0; x < v; x++) {
 		  arr.push(x)
-		  const p = {
-			  limitNum: '',
-			  type: ''
-		  }
-		  setting.push(p)
 	  }
-	  this.formData.settings = setting
 	  this.keys = arr
 	  console.log(this.keys, 'this.keys')
     },
-    // 小数点后两位
-    //  numberToFixed (key, index) {
-    //    console.log(index, key, 'eeeeeeeee')
-	  // const val = this.form.getFieldValue('settings')
-	  // console.log(val, 'val')
-	  // const ret = numberToFixed(val, 2, 1000)
-	  // this.$nextTick(() => {
-    //      this.formData.settings[num][key] = Number(ret)
-	  // })
-    //  },
     // 保存提交
     handleSubmit () {
       const _this = this

+ 4 - 1
src/views/equipmentManage/boxSetting/boxSetting.vue

@@ -32,7 +32,6 @@
       bordered>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
-        <a-icon type="setting" title="设置兑换规则" class="actionBtn icon-orange" @click="openSettingModal(record)" />
         <a-icon type="edit" title="编辑" class="actionBtn icon-blues" @click="handleEdit(record)" />
         <a-icon
           type="delete"
@@ -283,6 +282,10 @@ export default {
       this.openBoxModal = true
       this.itemData = {}
     },
+    // 编辑
+    handleEdit (item) {
+      this.openBoxModal = true
+    },
     // 删除
     delect (row) {
       const _this = this

+ 48 - 100
src/views/equipmentManage/exchangeSetting/AddBoxModal.vue → src/views/equipmentManage/exchangeSetting/AddSetModal.vue

@@ -9,62 +9,57 @@
       :width="800"
       :centered="true">
       <a-form :form="form" @submit="handleSubmit">
-        <!-- 箱体类型名称 -->
-        <a-form-item label="箱体类型" :label-col="{ span: 5 }" :wrapper-col="{ span: 16 }">
+        <!-- 规则名称 -->
+        <a-form-item label="规则名称" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
           <a-input
-            placeholder="请输入箱体类型名称(最多30个字符)"
+            placeholder="请输入规则名称(最多30个字符)"
             allowClear
             :maxLength="30"
-            id="roleModal-name"
+            id="addSetModal-name"
             v-decorator="['formData.name', {
               initialValue: formData.name,getValueFromEvent: $filterEmpty,
-              rules: [{ required: true, message: '请输入箱体类型名称(最多30个字符)!' }] }]" />
+              rules: [{ required: true, message: '请输入规则名称(最多30个字符)!' }] }]" />
         </a-form-item>
-        <!-- 内置箱体数量 -->
-        <a-form-item
-          label="内置箱体数量"
-          :label-col="{ span: 5 }"
-          :wrapper-col="{ span: 16 }"
-        >
-          <a-select
+        <!-- 规则说明 -->
+        <a-form-item label="规则说明" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
+          <a-input
+            placeholder="请输入规则说明(最多500个字符)"
             allowClear
-            @change="handleNumChange"
-            placeholder="请选择"
-            v-decorator="['formData.num', {
-              initialValue: formData.num,
-              rules: [{ required: true, message: '请选择箱体类型!' }] }]">
-            <a-select-option v-for="item in numList" :value="item" :key="item">
-              {{ item }}
-            </a-select-option>
-          </a-select>
+            :autoSize="{minRows: 3}"
+            type="textarea"
+            :maxLength="500"
+            id="addSetModal-remarks"
+            v-decorator="['formData.remarks', {
+              initialValue: formData.remarks,getValueFromEvent: $filterEmpty,
+              rules: [{ required: true, message: '请输入规则说明(最多500个字符)!' }] }]" />
         </a-form-item>
         <!-- 箱体限投 -->
         <a-row
           type="flex"
           align="middle"
-          v-for="(k, index) in keys"
-          :key="k">
+          v-for="(item, index) in keys"
+          :key="index">
           <a-col span="12">
-            <!-- 投放开始时间 -->
+            <!-- 请输入投放重量 -->
             <a-form-item
-              :label=" '内置'+(index+1)+'号箱限投(kg)'"
+              :label="item.dispName"
               :required="true"
               :label-col=" { span: 10 }"
               :wrapper-col=" { span: 14 }"
             >
-              <a-input
-                type="number"
-                placeholder="请输入数字(最大1000)"
+              <a-input-number
+                :min="1"
+                :max="999999"
+                precision="2"
+                style="width: 200px;"
+                placeholder="请输入投放重量(g)(最大999999)"
                 v-decorator="[
-                  `formData.settings[${k}].limitNum`,
+                  `formData.settings[${index}].weight`,
                   {
                     validateTrigger: ['change', 'blur'],
                     rules: [
                       {
-                        required: true, message: '请输入限投数量(最大1000)!'
-                      },
-                      {
-                        validator: limitNumChange
+                        required: true, message: '请输入投放重量(g)(最大999999)!'
                       },
                     ],
                   },
@@ -72,30 +67,31 @@
               />
             </a-form-item>
           </a-col>
-          <a-form-item ><span class="linenums">至</span></a-form-item>
+          <a-col span="1"></a-col>
           <a-col span="9">
-            <!-- 请选择分类 -->
+            <!-- 请输入可兑乐豆数 -->
             <a-form-item
               :label="''"
               :required="false"
               :wrapper-col="{ span: 18 }">
-              <v-select
-                ref="orderStatus"
-                id="addBoxModal-status"
-                code="SETTLE_STATUS_ALL"
-                placeholder="请选择分类"
-                allowClear
+              <a-input-number
+                :min="1"
+                :max="999999"
+                precision="0"
+                style="width: 200px;"
+                placeholder="请输入可兑乐豆数(最大999999)"
                 v-decorator="[
-                  `formData.settings[${k}].type`,
+                  `formData.settings[${index}].num`,
                   {
                     validateTrigger: ['change', 'blur'],
                     rules: [
                       {
-                        required: true, message: '请选择分类!'
+                        required: true, message: '请输入可兑乐豆数(最大999999)!'
                       },
                     ],
                   },
-                ]">
+                ]"
+              />
               </v-select>
             </a-form-item>
           </a-col>
@@ -122,8 +118,6 @@ import {
 import {
   saveRolePower
 } from '@/api/power-role.js'
-import moment from 'moment'
-import numberToFixed from '@/utils/util.js'
 export default {
   name: 'RoleModal',
   components: {
@@ -151,67 +145,19 @@ export default {
       form: this.$form.createForm(this, {
         name: 'AddBoxModal'
       }),
-	  numList: [2, 4, 5], // 内置箱体数量选择
       formData: {
         name: '',
-        num: '',
+        remarks: '',
         settings: []
       },
       keys: []
     }
   },
   methods: {
-    numberToFixed,
     cancel (e) {
       this.clear()
       this.$emit('close')
     },
-    // 校验
-    limitNumChange (rule, value, callback) {
-	  console.log('value', value, rule)
-	  const times = this.form.getFieldValue('times')
-	  if ((value <= 0 || value > 1000) && value !== '') {
-	    callback(new Error('请输入1到1000以内的数字'))
-	  }
-	  callback()
-    },
-    handleChange (e) {
-      console.log(e, e.target.value, 'eeeeeee')
-	  const value = e.target.value
-	  const ret = this.numberToFixed(value, 2, 1000)
-	  this.$nextTick(() => {
-	    this.formData.settings[num][key] = Number(ret)
-	  })
-	  // this.value = this.numberToFixed(value, 2, this.max)
-	  // this.$emit('change', this.value)
-    },
-    // 内置箱体选择修改
-    handleNumChange (v) {
-      console.log(v, 'vvvvvvvvvv')
-	  const arr = []
-	  const setting = []
-	  for (let x = 0; x < v; x++) {
-		  arr.push(x)
-		  const p = {
-			  limitNum: '',
-			  type: ''
-		  }
-		  setting.push(p)
-	  }
-	  this.formData.settings = setting
-	  this.keys = arr
-	  console.log(this.keys, 'this.keys')
-    },
-    // 小数点后两位
-    //  numberToFixed (key, index) {
-    //    console.log(index, key, 'eeeeeeeee')
-	  // const val = this.form.getFieldValue('settings')
-	  // console.log(val, 'val')
-	  // const ret = numberToFixed(val, 2, 1000)
-	  // this.$nextTick(() => {
-    //      this.formData.settings[num][key] = Number(ret)
-	  // })
-    //  },
     // 保存提交
     handleSubmit () {
       const _this = this
@@ -258,11 +204,13 @@ export default {
     },
     isshow (newValue, oldValue) {
       if (newValue) {
-        this.form.getFieldDecorator('keys', {
-          initialValue: [],
-          preserve: true
-        })
-        this.id = 0
+		  this.keys = [
+			  { dispName: '废旧衣物', code: 'fjyw', id: 11 },
+			  { dispName: '废旧衣物', code: 'fjyw', id: 12 },
+			  { dispName: '废旧衣物', code: 'fjyw', id: 13 },
+			  { dispName: '废旧衣物', code: 'fjyw', id: 14 },
+			  { dispName: '废旧衣物', code: 'fjyw', id: 15 }
+		  ]
         if (this.data.id) { // 编辑
           this.titleText = '编辑'
           this.formData = Object.assign({}, this.data)

+ 15 - 12
src/views/equipmentManage/exchangeSetting/ExchangeSetting.vue

@@ -32,7 +32,6 @@
       bordered>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
-        <a-icon type="setting" title="设置兑换规则" class="actionBtn icon-orange" @click="openSettingModal(record)" />
         <a-icon type="edit" title="编辑" class="actionBtn icon-blues" @click="handleEdit(record)" />
         <a-icon
           type="delete"
@@ -43,7 +42,7 @@
       </template>
     </s-table>
     <!-- 新增/编辑 弹窗 -->
-    <add-box-modal :visible="openBoxModal" :data="itemData" @refresh="refreshTable" @close="openBoxModal = false"></add-box-modal>
+    <add-set-modal :visible="openBoxModal" :data="itemData" @refresh="refreshTable" @close="openBoxModal = false"></add-set-modal>
   </a-card>
 </template>
 
@@ -52,13 +51,13 @@ import {
   STable,
   VSelect
 } from '@/components'
-import AddBoxModal from './AddBoxModal.vue'
+import AddSetModal from './AddSetModal.vue'
 export default {
   name: 'Equipment',
   components: {
     STable,
     VSelect,
-    AddBoxModal
+    AddSetModal
   },
   data () {
     return {
@@ -91,33 +90,33 @@ export default {
         align: 'center'
       },
       {
-        title: '箱体类型',
+        title: '兑换规则名称',
         dataIndex: 'address',
         width: 200,
         align: 'center'
       },
       {
-        title: '内置箱体数量(个)',
+        title: '兑换规则说明',
         dataIndex: 'equipmentNo',
         width: 200,
         align: 'center'
       },
       {
-        title: '内置箱体投放限重(kg)',
+        title: '兑换规则(投放重量(g)/可兑换乐豆数(个))',
         children: [{
-          title: '1号箱',
+          title: '废旧衣物',
           dataIndex: 'oProportion',
           width: 100,
           align: 'center'
         },
         {
-          title: '2号箱',
+          title: '废旧衣物',
           dataIndex: 'tProportion',
           width: 100,
           align: 'center'
         },
         {
-		  title: '3号箱',
+		  title: '废旧衣物',
 		  dataIndex: 'tProportion',
 		  width: 100,
 		  align: 'center',
@@ -126,7 +125,7 @@ export default {
 		  }
         },
         {
-		  title: '4号箱',
+		  title: '废旧衣物',
 		  dataIndex: 'tProportion',
 		  width: 100,
 		  align: 'center',
@@ -135,7 +134,7 @@ export default {
 		  }
         },
         {
-		  title: '5号箱',
+		  title: '有害垃圾',
 		  dataIndex: 'tProportion',
 		  width: 100,
 		  align: 'center',
@@ -283,6 +282,10 @@ export default {
       this.openBoxModal = true
       this.itemData = {}
     },
+    // 编辑
+    handleEdit (item) {
+	  this.openBoxModal = true
+    },
     // 删除
     delect (row) {
       const _this = this

+ 1 - 0
src/views/equipmentManage/openTimeSetting/AddTimeModal.vue

@@ -4,6 +4,7 @@
       class="modalBox"
       :title="titleText"
       v-model="isshow"
+      :footer="null"
       @cancle="cancel"
       :width="800"
       :centered="true">

+ 11 - 9
src/views/shop/goodsShelves.vue

@@ -14,6 +14,8 @@
         <s-table
           ref="table"
           size="default"
+          :showPagination="false"
+          :scroll="{y:600}"
           :rowKey="(record) => record.id"
           :columns="columns"
           :data="loadData"
@@ -32,6 +34,7 @@
               :style="{ fontSize: '18px', color: '#e29b29',cursor: 'pointer', padding:'0 10px' }"
               @click="changeSort(index,record,1)"
               type="arrow-up" />
+            <span v-if="list.length===1">--</span>
           </template>
         </s-table>
       </a-col>
@@ -46,7 +49,7 @@ import {
   VSelect
 } from '@/components'
 import {
-  goodsUpdateSort, goodsType, goodsList
+  goodsUpdateSort, goodsType, goodsListQuery
 } from '@/api/goods.js'
 export default {
   name: 'GoodsList',
@@ -105,15 +108,14 @@ export default {
         if (this.selectedKeys.length) {
           const queryParams = {
             goodsTypeNo: this.selectedKeys[0],
-            state: 1
+            state: 1,
+            orderBy: 'goods.SORT DESC'
           }
-          return goodsList(Object.assign(parameter, queryParams)).then(res => {
-			  const no = (res.data.pageNo - 1) * res.data.pageSize
-			  this.list = res.data.list || []
-			  for (let i = 0; i < res.data.list.length; i++) {
-			    const _item = res.data.list[i]
-			    _item.no = no + i + 1
-			    _item.isEnable = _item.isEnable + '' === '1'
+          return goodsListQuery(queryParams).then(res => {
+			  this.list = res.data || []
+			  for (let i = 0; i < res.data.length; i++) {
+			    const _item = res.data[i]
+			    _item.no = i + 1
 			  }
 			  return res.data
           })