Przeglądaj źródła

Merge branch 'deploy' of http://git.chelingzhu.com/chelingzhu-web/zxyj-admin-html into deploy

lilei 4 lat temu
rodzic
commit
aabdd79dca

+ 181 - 189
src/config/router.config.js

@@ -33,8 +33,7 @@ export const asyncRouterMap = [{
         icon: 'home',
         hiddenHeaderContent: true
       }
-    }
-    ]
+    }]
   },
   {
     path: '/changePwd',
@@ -55,110 +54,107 @@ export const asyncRouterMap = [{
       icon: 'shop'
       // permission: 'M_tenants_list'
     },
-    children: [
-      {
-        path: '/shop/order',
-        redirect: '/shop/order/list',
-        name: 'shopOrder',
-        component: RouteView,
+    children: [{
+      path: '/shop/order',
+      redirect: '/shop/order/list',
+      name: 'shopOrder',
+      component: RouteView,
+      meta: {
+        title: '订单管理',
+        icon: 'profile'
+        // permission: 'M_tenants_list'
+      },
+      hideChildrenInMenu: true,
+      children: [{
+        path: '/shop/order/list',
+        name: 'shopOrderList',
+        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/shopOrder.vue'),
         meta: {
-          title: '订单管理',
-          icon: 'profile'
+          title: '订单列表',
+          icon: 'profile',
+          hidden: true
           // permission: 'M_tenants_list'
-        },
-        hideChildrenInMenu: true,
-        children: [
-          {
-            path: '/shop/order/list',
-            name: 'shopOrderList',
-            component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/shopOrder.vue'),
-            meta: {
-              title: '订单列表',
-              icon: 'profile',
-              hidden: true
-              // permission: 'M_tenants_list'
-            }
-          },
-          {
-            path: '/shop/order/detail/:id',
-            name: 'shopOrderDetail',
-            component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/orderDetail.vue'),
-            meta: {
-              title: '订单详情',
-              icon: 'profile',
-              hidden: true
-              // permission: 'M_tenants_list'
-            }
-          }
-        ]
+        }
       },
       {
-        path: '/shop/goods',
-        redirect: '/shop/goods/list',
-        name: 'goodsList',
-        component: RouteView,
+        path: '/shop/order/detail/:id',
+        name: 'shopOrderDetail',
+        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/orderDetail.vue'),
         meta: {
-          title: '商品管理',
-          icon: 'shopping'
+          title: '订单详情',
+          icon: 'profile',
+          hidden: true
           // permission: 'M_tenants_list'
-        },
-        hideChildrenInMenu: true,
-        children: [
-          {
-            path: '/shop/goods/list',
-            name: 'goodsListList',
-            component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsList.vue'),
-            meta: {
-              title: '商品列表',
-              icon: 'shopping',
-              hidden: true
-              // permission: 'M_tenants_list'
-            }
-          },
-          {
-            path: '/shop/goods/add',
-            name: 'goodsListAdd',
-            component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
-            meta: {
-              title: '新增商品',
-              icon: 'shopping',
-              hidden: true
-              // permission: 'M_tenants_list'
-            }
-          },
-          {
-            path: '/shop/goods/edit/:id',
-            name: 'goodsListEdit',
-            component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
-            meta: {
-              title: '编辑商品',
-              icon: 'shopping',
-              hidden: true
-              // permission: 'M_tenants_list'
-            }
-          }
-        ]
+        }
+      }
+      ]
+    },
+    {
+      path: '/shop/goods',
+      redirect: '/shop/goods/list',
+      name: 'goodsList',
+      component: RouteView,
+      meta: {
+        title: '商品管理',
+        icon: 'shopping'
+        // permission: 'M_tenants_list'
+      },
+      hideChildrenInMenu: true,
+      children: [{
+        path: '/shop/goods/list',
+        name: 'goodsListList',
+        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsList.vue'),
+        meta: {
+          title: '商品列表',
+          icon: 'shopping',
+          hidden: true
+          // permission: 'M_tenants_list'
+        }
       },
       {
-        path: '/shop/goodsShelves',
-        name: 'goodsShelves',
-        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsShelves.vue'),
+        path: '/shop/goods/add',
+        name: 'goodsListAdd',
+        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
         meta: {
-          title: '商品上架',
-          icon: 'flag'
+          title: '新增商品',
+          icon: 'shopping',
+          hidden: true
           // permission: 'M_tenants_list'
         }
       },
       {
-        path: '/shop/bannerSetting',
-        name: 'bannerSetting',
-        component: () => import(/* webpackChunkName: "appSetting" */ '@/views/shop/bannerSetting.vue'),
+        path: '/shop/goods/edit/:id',
+        name: 'goodsListEdit',
+        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsEdit.vue'),
         meta: {
-          title: '推广位设置',
-          icon: 'file-image'
-        // permission: 'M_banner'
+          title: '编辑商品',
+          icon: 'shopping',
+          hidden: true
+          // permission: 'M_tenants_list'
         }
       }
+      ]
+    },
+    {
+      path: '/shop/goodsShelves',
+      name: 'goodsShelves',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/shop/goodsShelves.vue'),
+      meta: {
+        title: '商品排序',
+        icon: 'flag'
+        // permission: 'M_tenants_list'
+      }
+    },
+    {
+      path: '/shop/bannerSetting',
+      name: 'bannerSetting',
+      component: () => import(/* webpackChunkName: "appSetting" */ '@/views/shop/bannerSetting.vue'),
+      meta: {
+        title: '推广位设置',
+        icon: 'file-image'
+        // permission: 'M_banner'
+      }
+    }
     ]
   },
   {
@@ -170,62 +166,60 @@ export const asyncRouterMap = [{
       icon: 'shop'
       // permission: 'M_tenants_list'
     },
-    children: [
-      {
-        path: '/equipmentManage/network',
-        name: 'network',
-        component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/network/network.vue'),
-        meta: {
-          title: '网点管理',
-          icon: 'profile'
-          // permission: 'M_tenants_list'
-        }
-      },
-      {
-        path: '/equipmentManage/equipment',
-        name: 'equipment',
-        component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/equipment/equipment.vue'),
-        meta: {
-          title: '设备管理',
-          icon: 'profile'
-          // permission: 'M_tenants_list'
-        }
-      },
-      {
-			  path: '/equipmentManage/openTimeSetting',
-			  name: 'openTimeSetting',
-			  component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue'),
-			  meta: {
-			    title: '投放时间设置',
-			    icon: 'profile'
-			    // permission: 'M_tenants_list'
-			  }
+    children: [{
+      path: '/equipmentManage/network',
+      name: 'network',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/network/network.vue'),
+      meta: {
+        title: '网点管理',
+        icon: 'profile'
+        // permission: 'M_tenants_list'
+      }
+    },
+    {
+      path: '/equipmentManage/equipment',
+      name: 'equipment',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/equipmentManage/equipment/equipment.vue'),
+      meta: {
+        title: '设备管理',
+        icon: 'profile'
+        // permission: 'M_tenants_list'
+      }
+    },
+    {
+      path: '/equipmentManage/openTimeSetting',
+      name: 'openTimeSetting',
+      component: () => import(/* webpackChunkName: "tenants" */
+        '@/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue'),
+      meta: {
+        title: '投放时间设置',
+        icon: 'profile'
+        // permission: 'M_tenants_list'
       }
+    }
     ]
   },
   {
-	  path: '/releaseRecord',
-	  name: 'releaseRecord',
-	  component: PageView,
-	  hideChildrenInMenu: true,
-	  redirect: '/releaseRecord/list',
-	  meta: {
-	    title: '投放记录',
-	    icon: 'shop'
-	    // permission: 'M_tenants_list'
-	  },
-	  children: [
-	    {
-	      path: '/releaseRecord/list',
-	      name: 'releaseRecordList',
-	      component: () => import(/* webpackChunkName: "tenants" */ '@/views/releaseRecord/releaseRecordList.vue'),
-	      meta: {
-	        title: '投放记录',
-	        icon: 'profile'
-	        // permission: 'M_tenants_list'
-	      }
-	    }
-	  ]
+    path: '/releaseRecord',
+    name: 'releaseRecord',
+    component: PageView,
+    hideChildrenInMenu: true,
+    redirect: '/releaseRecord/list',
+    meta: {
+      title: '投放记录',
+      icon: 'shop'
+      // permission: 'M_tenants_list'
+    },
+    children: [{
+      path: '/releaseRecord/list',
+      name: 'releaseRecordList',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/releaseRecord/releaseRecordList.vue'),
+      meta: {
+        title: '投放记录',
+        icon: 'profile'
+        // permission: 'M_tenants_list'
+      }
+    }]
   },
   {
     path: '/shopSetting',
@@ -236,27 +230,26 @@ export const asyncRouterMap = [{
       icon: 'appstore'
       // permission: 'M_appSetting'
     },
-    children: [
-      {
-        path: '/shopSetting/goodsClass',
-        name: 'goodsClass',
-        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/goodsClass.vue'),
-        meta: {
-          title: '商品分类管理',
-          icon: 'folder'
-          // permission: 'M_tenants_list'
-        }
-      },
-      {
-        path: '/shopSetting/supplier',
-        name: 'supplier',
-        component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/supplier.vue'),
-        meta: {
-          title: '供货商管理',
-          icon: 'solution'
-          // permission: 'M_tenants_list'
-        }
+    children: [{
+      path: '/shopSetting/goodsClass',
+      name: 'goodsClass',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/goodsClass.vue'),
+      meta: {
+        title: '商品分类管理',
+        icon: 'folder'
+        // permission: 'M_tenants_list'
+      }
+    },
+    {
+      path: '/shopSetting/supplier',
+      name: 'supplier',
+      component: () => import(/* webpackChunkName: "tenants" */ '@/views/shopSetting/supplier.vue'),
+      meta: {
+        title: '供货商管理',
+        icon: 'solution'
+        // permission: 'M_tenants_list'
       }
+    }
     ]
   },
   // auth
@@ -269,37 +262,36 @@ export const asyncRouterMap = [{
       icon: 'lock'
       // permission: 'M_auth_0'
     },
-    children: [
-      {
-        path: '/menusAuth/menu',
-        name: 'powerMenu',
-        component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
-        meta: {
-          title: '菜单管理',
-          icon: 'profile'
+    children: [{
+      path: '/menusAuth/menu',
+      name: 'powerMenu',
+      component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
+      meta: {
+        title: '菜单管理',
+        icon: 'profile'
         // permission: 'M_menusAuth_menu'
-        }
-      },
-      {
-        path: '/auth/userList',
-        name: 'powerUserList',
-        component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
-        meta: {
-          title: '用户管理',
-          icon: 'user'
+      }
+    },
+    {
+      path: '/auth/userList',
+      name: 'powerUserList',
+      component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
+      meta: {
+        title: '用户管理',
+        icon: 'user'
         // permission: 'M_auth_userList'
-        }
-      },
-      {
-        path: '/auth/roleList',
-        name: 'powerRoleList',
-        component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
-        meta: {
-          title: '角色管理',
-          icon: 'solution'
+      }
+    },
+    {
+      path: '/auth/roleList',
+      name: 'powerRoleList',
+      component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
+      meta: {
+        title: '角色管理',
+        icon: 'solution'
         // permission: 'M_auth_roleList'
-        }
       }
+    }
     ]
   },
   {

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

@@ -0,0 +1,271 @@
+<template>
+  <div>
+    <a-modal
+      class="modalBox"
+      :title="titleText"
+      v-model="isshow"
+      @cancle="cancel"
+      :width="800"
+      :centered="true">
+      <a-form :form="form" @submit="handleSubmit">
+        <!-- 投放时间段名称 -->
+        <a-form-item label="投放时间段名称" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
+          <a-input
+            placeholder="请输入投放时间段名称(最多30个字符)"
+            allowClear
+            :maxLength="30"
+            id="roleModal-name"
+            v-decorator="['formData.name', {
+              initialValue: formData.name,getValueFromEvent: $filterEmpty,
+              rules: [{ required: true, message: '请输入投放时间段名称(最多30个字符)!' }] }]" />
+        </a-form-item>
+        <!-- 投放时间区间 -->
+        <a-row
+          type="flex"
+          align="middle"
+          v-for="(k, index) in form.getFieldValue('keys')"
+          :key="k">
+          <a-col span="10">
+            <!-- 投放开始时间 -->
+            <a-form-item
+              :label="index === 0 ? '投放时间区间' : ''"
+              :required="true"
+              :label-col=" { span: 12 }"
+              :wrapper-col="index ===0 ? { span: 12 }:{span:12,offset:12}"
+            >
+              <a-time-picker
+                placeholder="开始时间"
+                v-decorator="[
+                  `times[${k}].startTime`,
+                  {
+                    validateTrigger: ['change', 'blur'],
+                    rules: [
+                      {
+                        required: true, message: '请选择投放开始时间!'
+                      },
+                      {
+                        validator: changeTimeValidator
+                      },
+                    ],
+                  },
+                ]"
+                format="HH:mm" />
+            </a-form-item>
+          </a-col>
+          <a-col span="1">
+            <a-form-item >至</a-form-item>
+          </a-col>
+          <a-col span="6">
+            <!-- 投放结束时间 -->
+            <a-form-item
+              :label="''"
+              :required="false"
+              :wrapper-col="{ span: 18 }">
+              <a-time-picker
+                placeholder="结束时间"
+                v-decorator="[
+                  `times[${k}].endTime`,
+                  {
+                    validateTrigger: ['change', 'blur'],
+                    rules: [
+                      { required: true, message: '请选择投放结束时间!' }
+                    ],
+                  },
+                ]"
+                format="HH:mm" />
+            </a-form-item>
+          </a-col>
+          <a-form-item>
+            <a-icon
+              :style="{fontSize: '18px',color: 'red'}"
+              v-if="form.getFieldValue('keys').length > 1"
+              class="dynamic-delete-button"
+              type="minus-circle-o"
+              :disabled="form.getFieldValue('keys').length === 1"
+              @click="() => remove(k)" />
+            <a-icon
+              v-if="index === form.getFieldValue('keys').length-1"
+              :style="{fontSize: '18px'}"
+              type="plus-circle"
+              @click="add" />
+          </a-form-item>
+        </a-row>
+        <a-form-item :wrapper-col="{ span: 24, offset: 10 }">
+          <a-button type="primary" @click="handleSubmit()" id="roleModal-handleSubmit" :style="{ marginRight: '15px' }">
+            保存
+          </a-button>
+          <a-button :style="{ marginLeft: '15px' }" @click="handleCancel()" id="roleModal-handleCancel">
+            取消
+          </a-button>
+        </a-form-item>
+      </a-form>
+
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import {
+  STable,
+  VSelect
+} from '@/components'
+import {
+  saveRolePower
+} from '@/api/power-role.js'
+import moment from 'moment'
+export default {
+  name: 'RoleModal',
+  components: {
+    STable,
+    VSelect
+  },
+  props: {
+    visible: {
+      type: Boolean,
+      default: false
+    },
+    data: {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    }
+  },
+  data () {
+    return {
+      id: 0,
+      titleText: '新增',
+      isshow: this.visible,
+      formLayout: 'horizontal',
+      form: this.$form.createForm(this, {
+        name: 'addTimeModal'
+      }),
+      formData: {
+        name: '',
+        isEnable: '', // 活动状态
+        remarks: ''
+      },
+      keys: []
+    }
+  },
+  methods: {
+    moment,
+    cancel (e) {
+      this.clear()
+      this.$emit('close')
+    },
+    // 校验
+    changeTimeValidator (rule, value, callback) {
+	  console.log('value', value, rule)
+	  const times = this.form.getFieldValue('times')
+	  if (value === null) {
+	    callback(new Error('请输入密码'))
+	  }
+	  callback()
+    },
+    // 删除
+    remove (k) {
+      const {
+        form
+      } = this
+      const keys = form.getFieldValue('keys')
+      if (keys.length === 1) {
+        return
+      }
+      form.setFieldsValue({
+        keys: keys.filter(key => key !== k)
+      })
+    },
+    // 增加
+    add () {
+      const {
+        form
+      } = this
+      const keys = form.getFieldValue('keys')
+      console.log(keys, 'kkkkkk')
+      const nextKeys = keys.concat(this.id++)
+      form.setFieldsValue({
+        keys: nextKeys
+      })
+    },
+    // 保存提交
+    handleSubmit () {
+      const _this = this
+      this.form.validateFields((err, values) => {
+		  console.log(values, ' formData.type222222222')
+        if (!err) {
+          saveRolePower(Object.assign(this.formData, values.formData)).then(res => {
+            console.log(res, 'res--save')
+            if (res.status + '' === '200') {
+              this.$message.success(res.message ? res.message : '保存成功')
+              this.$emit('refresh')
+              setTimeout(function () {
+                _this.cancel()
+              }, 300)
+            } else {
+              // this.$message.error(res.message)
+            }
+          })
+        }
+      })
+    },
+    // 取消
+    handleCancel () {
+      this.cancel()
+    },
+    clear () {
+      this.form.resetFields()
+      delete this.formData.id
+      this.formData.name = ''
+      this.formData.isEnable = ''
+      this.formData.remarks = ''
+    }
+
+  },
+  mounted () {},
+  beforeCreate () {
+    this.form = this.$form.createForm(this, {
+      name: 'addTimeModal'
+    })
+  },
+  watch: {
+    visible (newValue, oldValue) {
+      this.isshow = newValue
+    },
+    isshow (newValue, oldValue) {
+      if (newValue) {
+        this.form.getFieldDecorator('keys', {
+          initialValue: [],
+          preserve: true
+        })
+        this.id = 0
+        this.add()
+        const keys = this.form.getFieldValue('keys')
+        console.log(keys, 'kkkkkk')
+        if (this.data.id) { // 编辑
+          this.titleText = '编辑'
+          this.formData = Object.assign({}, this.data)
+          delete this.formData.no
+          this.formData.isEnable = Number(this.formData.isEnable)
+          console.log(this.formData, 'this.formData')
+        } else {
+          this.titleText = '新增'
+        }
+      } else {
+        this.cancel()
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+	.modalBox {}
+
+	.ant-modal-footer {
+		display: none;
+	}
+	.dynamic-delete-button {
+		margin-right: 20px;
+	}
+</style>

+ 32 - 59
src/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue

@@ -22,7 +22,7 @@
           @click="delect(record)" />
       </span>
     </s-table>
-    <roleModal :visible="showModal" :data="itemData" @refresh="refreshTable" @close="showModal = false"></roleModal>
+    <add-time-modal :visible="showModal" :data="itemData" @refresh="refreshTable" @close="showModal = false"></add-time-modal>
   </a-card>
 </template>
 
@@ -31,7 +31,7 @@ import {
   STable,
   VSelect
 } from '@/components'
-import roleModal from './roleModal.vue'
+import AddTimeModal from './AddTimeModal.vue'
 import {
   getPowerRoleList,
   updateEnableStatus,
@@ -43,19 +43,12 @@ export default {
   components: {
     STable,
     VSelect,
-    roleModal
+    AddTimeModal
   },
   data () {
     return {
-      // 查询参数
-      queryParam: {
-        name: '',
-        isEnable: ''
-      },
-      showModal: false,
-      showMenuModal: false,
+      showModal: false, // 是否打开新增时间段弹窗
       itemData: {}, // 编辑行数据
-      menuData: {},
       // 表头
       columns: [{
         title: '序号',
@@ -70,11 +63,17 @@ export default {
         align: 'center'
       },
       {
-        title: '角色名称',
+        title: '投放时间段名称',
         dataIndex: 'name',
         width: 200,
         align: 'center'
       },
+	  {
+	    title: '投放时间段',
+	    dataIndex: 'time',
+	    width: 200,
+	    align: 'center'
+	  },
       {
         title: '操作',
         width: 150,
@@ -88,17 +87,27 @@ export default {
       loadData: parameter => {
         console.log(parameter, 'parameter')
 
-        return getPowerRoleList(Object.assign(parameter, this.queryParam)).then(res => {
-          const no = (res.data.pageNo - 1) * res.data.pageSize
-          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 res.data
+        // return getPowerRoleList(Object.assign(parameter, this.queryParam)).then(res => {
+        //   const no = (res.data.pageNo - 1) * res.data.pageSize
+        //   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 res.data
+        // })
+        return new Promise((resolve) => {
+		  const data = [
+		    { no: 1, id: '1', createDate: '2020-10-30 09:14', name: '上下班高峰', time: '8:00-9:00,18:00-20:00' },
+		    { no: 2, id: '12', createDate: '2020-10-30 09:14', name: '中午', time: '8:00-9:00,18:00-20:00' },
+		    { no: 3, id: '13', createDate: '2020-10-30 09:14', name: '下午茶', time: '8:00-9:00,18:00-20:00' },
+		    { no: 4, id: '14', createDate: '2020-10-30 09:14', name: '晚高峰', time: '8:00-9:00,18:00-20:00' },
+		    { no: 5, id: '15', createDate: '2020-10-30 09:14', name: '早高峰', time: '8:00-9:00,18:00-20:00' },
+		    { no: 6, id: '16', createDate: '2020-10-30 09:14', name: '深夜', time: '8:00-9:00,18:00-20:00' }
+		  ]
+		  resolve(data)
         })
-      },
-      optionAlertShow: false
+      }
     }
   },
   beforeRouteEnter (to, from, next) {
@@ -111,34 +120,11 @@ export default {
     refreshTable () {
       this.$refs.table.refresh(true)
     },
-    // 重置
-    reset () {
-      this.queryParam.name = ''
-      this.queryParam.isEnable = ''
-      this.refreshTable()
-    },
     // 新建
     openModal () {
       this.showModal = true
       this.itemData = {}
     },
-    // 打开分配权限弹窗
-    openMenuModal (row) {
-      this.getMenuList(row.id)
-    },
-    // 获取菜单树列表
-    getMenuList (id) {
-      const _this = this
-      getMenuList({
-        id: id
-      }).then(res => {
-        if (res.status == 200) {
-          _this.menuData = res.data
-          this.showMenuModal = true
-          console.log(res.data, 'this.itemData')
-        }
-      })
-    },
 
     // 删除
     delect (row) {
@@ -162,24 +148,11 @@ export default {
         }
       })
     },
+    // 编辑
     handleEdit (row) {
       console.log(row, 'row')
       this.showModal = true
       this.itemData = row
-    },
-    // 修改状态
-    changeFlagHandle (text, record) {
-      const _data = {
-        id: record.id,
-        flag: record.isEnable ? '1' : '0'
-      }
-      updateEnableStatus(_data).then(res => {
-        if (res.status + '' === '200') {
-          this.$message.success(res.message)
-        } else {
-          record.isEnable = !record.isEnable
-        }
-      })
     }
   }
 }

+ 0 - 177
src/views/equipmentManage/openTimeSetting/roleModal.vue

@@ -1,177 +0,0 @@
-<template>
-  <div>
-    <a-modal
-      class="modalBox"
-      :title="titleText"
-      v-model="isshow"
-      @cancle="cancel"
-      width="45%"
-      :centered="true">
-      <a-form :form="form" @submit="handleSubmit">
-        <!-- 用户名称 -->
-        <a-form-item label="角色名称" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
-          <a-input
-            placeholder="请输入角色名称(最多30个字符)"
-            allowClear
-            :maxLength="30"
-            id="roleModal-name"
-            v-decorator="['formData.name', {
-              initialValue: formData.name,getValueFromEvent: $filterEmpty,
-              rules: [{ required: true, message: '请输入角色名称(最多30个字符)!' },{pattern:'^[^<|>]{1,30}$',message:'请输入不含<或>的字符,最多30个字符'}] }]"
-          />
-        </a-form-item>
-
-        <!-- 状态 -->
-        <a-form-item label="状态" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
-          <a-radio-group
-            name="radioGroup"
-            id="roleModal-isEnable"
-            v-decorator="[
-              'formData.isEnable',
-              {
-                initialValue: formData.isEnable,
-                rules: [{ required: true, message: '请选择状态!' }] },
-            ]"
-          >
-            <a-radio :value="1">启用</a-radio>
-            <a-radio :value="0">禁用</a-radio>
-          </a-radio-group>
-        </a-form-item>
-
-        <a-form-item label="角色描述" :label-col="{ span: 5 }" :wrapper-col="{ span: 14 }">
-          <a-textarea
-            id="roleModal-remarks"
-            :maxLength="500"
-            v-decorator="[
-              'formData.remarks',
-              { initialValue: formData.remarks,getValueFromEvent: $filterEmpty,
-                rules: [] },
-            ]"
-            style="min-height: 60px;"
-            placeholder="请输入角色描述(最多500个字符)"
-            autosize />
-        </a-form-item>
-
-        <a-form-item :wrapper-col="{ span: 24, offset: 10 }">
-          <a-button type="primary" @click="handleSubmit()" id="roleModal-handleSubmit" :style="{ marginRight: '15px' }">
-            保存
-          </a-button>
-          <a-button :style="{ marginLeft: '15px' }" @click="handleCancel()" id="roleModal-handleCancel">
-            取消
-          </a-button>
-        </a-form-item>
-      </a-form>
-
-    </a-modal>
-  </div>
-</template>
-
-<script>
-import { STable, VSelect } from '@/components'
-import { saveRolePower } from '@/api/power-role.js'
-export default {
-  name: 'RoleModal',
-  components: {
-    STable, VSelect
-  },
-  props: {
-    visible: {
-      type: Boolean,
-      default: false
-    },
-    data: {
-      type: Object,
-      default: function () {
-        return {}
-      }
-    }
-  },
-  data () {
-    return {
-      titleText: '新增角色',
-      isshow: this.visible,
-      formLayout: 'horizontal',
-      form: this.$form.createForm(this, { name: 'roleModal' }),
-      formData: {
-        name: '',
-        isEnable: '', // 活动状态
-        remarks: ''
-      }
-
-    }
-  },
-  methods: {
-    cancel (e) {
-      this.clear()
-      this.$emit('close')
-    },
-
-    // 保存提交
-    handleSubmit () {
-      const _this = this
-      this.form.validateFields((err, values) => {
-        if (!err) {
-          console.log(values.formData, ' formData.type222222222')
-          saveRolePower(Object.assign(this.formData, values.formData)).then(res => {
-            console.log(res, 'res--save')
-            if (res.status + '' === '200') {
-              this.$message.success(res.message ? res.message : '保存成功')
-              this.$emit('refresh')
-              setTimeout(function () {
-                _this.cancel()
-              }, 300)
-            } else {
-              // this.$message.error(res.message)
-            }
-          })
-        }
-      })
-    },
-    // 取消
-    handleCancel () {
-      this.cancel()
-    },
-    clear () {
-      this.form.resetFields()
-      delete this.formData.id
-      this.formData.name = ''
-      this.formData.isEnable = ''
-      this.formData.remarks = ''
-    }
-
-  },
-  mounted () {
-  },
-  beforeCreate () {
-    this.form = this.$form.createForm(this, { name: 'roleModal' })
-  },
-  watch: {
-    visible (newValue, oldValue) {
-      this.isshow = newValue
-    },
-    isshow (newValue, oldValue) {
-      if (newValue) {
-        if (this.data.id) { // 编辑
-          this.titleText = '编辑角色'
-          this.formData = Object.assign({}, this.data)
-          delete this.formData.no
-          this.formData.isEnable = Number(this.formData.isEnable)
-          console.log(this.formData, 'this.formData')
-        } else {
-          this.titleText = '新增角色'
-        }
-      } else {
-        this.cancel()
-      }
-    }
-  }
-}
-</script>
-
-<style >
-  .modalBox{
-  }
-  .ant-modal-footer {
-    display: none;
-  }
-</style>

+ 0 - 210
src/views/shop/GoodsChooseModal.vue

@@ -1,210 +0,0 @@
-<template>
-  <a-modal
-    centered
-    class="modalBox"
-    :footer="null"
-    title="选择商品"
-    v-model="isshow"
-    @cancle="cancel"
-    :width="1000">
-    <a-form :form="form" ref="form" @submit="handleSubmit">
-      <a-row class="search-cont">
-        <a-col span="8">
-          <a-input id="goodsChooseModal-name" allowClear v-model.trim="queryParam.name" placeholder="商品名称" />
-        </a-col>
-        <a-col style="margin-left: 20px;" span="3">
-          <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
-        </a-col>
-        <a-col span="12">
-          以下是全部个护商品 已选6个
-        </a-col>
-      </a-row>
-      <s-table
-        ref="table"
-        size="default"
-        :rowKey="(record) => record.id"
-        :columns="columns"
-        :scroll="{y:500}"
-        :data="loadData"
-        :bordered="false">
-        <!-- 操作 -->
-        <template slot="action" slot-scope="text, record, index">
-          <a id="goodsChooseModal-choose" @click="handleSubmit">选择</a>
-        </template>
-      </s-table>
-    </a-form>
-
-  </a-modal>
-</template>
-
-<script>
-import {
-  STable
-} from '@/components'
-export default {
-  name: 'SetPriceModal',
-  components: {
-    STable
-  },
-  props: {
-    visible: {
-      type: Boolean,
-      default: false
-    },
-    // 已选商品
-    chooseData: {
-      type: Array,
-      default: []
-    },
-    // 设置项id
-    itemId: {
-      type: [String, Number],
-      default: ''
-    },
-    // 套餐id
-    packageId: {
-      type: [String, Number],
-      default: ''
-    }
-  },
-  watch: {
-    visible (newValue, oldValue) {
-      this.isshow = newValue
-    },
-    isshow (newValue, oldValue) {
-      if (newValue) {
-        if (this.itemId) {
-		  this.$refs.table.refresh(true)
-        }
-      } else {
-        this.cancel()
-      }
-    }
-  },
-  data () {
-    return {
-      isshow: this.visible,
-      form: this.$form.createForm(this, {
-        name: 'GoodsChooseModal'
-      }),
-      // 查询参数
-      queryParam: {
-        name: ''
-      },
-      // 表头
-      columns: [{
-        title: '序号',
-        dataIndex: 'no',
-        width: 60,
-        align: 'center'
-      },
-      {
-        title: '商品名称',
-        width: 200,
-        align: 'center',
-        customRender: (record) => {
-          return record.bundleItem.itemClsName
-        }
-      },
-      {
-        title: '商品价格(乐豆)',
-        width: 150,
-        align: 'center',
-        customRender: (record) => {
-          return record.bundleItem.itemName
-        }
-      },
-      {
-        title: '供货商',
-        width: 200,
-        align: 'center',
-        customRender: (record) => {
-          return record.bundleItem.itemPrice
-        }
-      },
-      {
-        title: '库存数量',
-        width: 100,
-        align: 'center',
-        customRender: (record) => {
-          return record.bundleItem.times
-        }
-      },
-      {
-        title: '已售数量',
-        dataIndex: 'times',
-        width: 100,
-        align: 'center'
-      },
-      {
-        title: '操作',
-        width: 150,
-        align: 'center',
-        scopedSlots: {
-          customRender: 'action'
-        }
-      }
-      ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        // const _this = this
-        // return getPartnerList(Object.assign(parameter, this.queryParam)).then(res => {
-        //   if (res.status == 200) {
-        //     const data = res.data
-        //     const no = (data.pageNo - 1) * data.pageSize
-        //     for (var i = 0; i < data.list.length; i++) {
-        //       data.list[i].no = no + i + 1
-        //       data.list[i].status = data.list[i].status == 1
-        //     }
-        //     // console.log(data)
-        //     return data
-        //   } else {
-        //     _this.$message.error('获取数据出错')
-        //     return []
-        //   }
-        // })
-      }
-    }
-  },
-  methods: {
-    // 取消
-    cancel (e) {
-      this.queryParam.name = ''
-      this.$emit('close')
-    },
-    // 获取列表数据
-    getDetail (id) {
-      const params = {
-        pid: id,
-        bundle: {
-          id: this.packageId
-        }
-      }
-      viewSettlement(params).then(res => {
-        console.log(res, 'eeeeeeee')
-        if (res.status == 200) {
-          this.dataSource = res.data || []
-          this.totalMoney = this.getTotalMoney()
-          this.dataSource.map((item, index) => {
-            item.no = index + 1
-            this.editable = item.accountPrice === undefined
-          })
-          // console.log(data)
-        } else {
-          this.dataSource = []
-        }
-      })
-    },
-    // 选择
-    handleSubmit () {
-
-    }
-  }
-}
-</script>
-
-<style scoped="true">
-	.search-cont {
-		margin-bottom: 20px;
-	}
-</style>

+ 78 - 60
src/views/shop/goodsShelves.vue

@@ -10,25 +10,31 @@
       </a-col>
       <a-col span="1"></a-col>
       <a-col span="19">
-        <div class="table-operator">
-          <a-button type="primary" @click="openModal">选择商品</a-button>
-        </div>
-        <a-table
+        <s-table
           ref="table"
           size="default"
           :rowKey="(record) => record.id"
           :columns="columns"
-          :data-source="loadData"
+          :data="loadData"
           bordered>
           <!-- 操作 -->
-          <template slot="action" slot-scope="text, record">
-            <a id="goodsShelves-del">删除</a>
+          <template slot="action" slot-scope="text, record, index">
+            <a-icon
+              title="下移"
+              v-if="index != list.length-1"
+              :style="{ fontSize: '18px', color: '#e29b29', cursor: 'pointer',padding:'0 10px' }"
+              @click="changeSort(index,record,0)"
+              type="arrow-down" />
+            <a-icon
+              title="上移"
+              v-if="index != 0"
+              :style="{ fontSize: '18px', color: '#e29b29',cursor: 'pointer', padding:'0 10px' }"
+              @click="changeSort(index,record,1)"
+              type="arrow-up" />
           </template>
-        </a-table>
+        </s-table>
       </a-col>
     </a-row>
-    <!-- 选择商品 弹框 -->
-    <goods-choose-modal :itemId="itemId" :chooseData="loadData" :visible="isShowModal" @refresh="" @close="isShowModal=false"></goods-choose-modal>
   </a-card>
 
 </template>
@@ -42,19 +48,16 @@ import {
   getTenantsList,
   tenantsDelete
 } from '@/api/tenants.js'
-import goodsChooseModal from './GoodsChooseModal.vue'
 export default {
   name: 'GoodsList',
   components: {
     STable,
-    VSelect,
-    goodsChooseModal
+    VSelect
   },
   data () {
     return {
       pageNo: 1,
       pageSize: 10,
-      isShowModal: false, // 是否显示选择弹框
       menuList: [{
         id: 1,
         name: '人气零食'
@@ -106,70 +109,85 @@ export default {
         }
       }
       ],
-	  loadData: [
-		  { no: 1, name: '苹果', price: 10, num: 10 },
-		  { no: 2, name: '苹果', price: 10, num: 10 },
-		  { no: 3, name: '苹果', price: 10, num: 10 },
-		  { no: 4, name: '苹果', price: 10, num: 10 },
-		  { no: 5, name: '苹果', price: 10, num: 10 }
-	  ]
+      list: [], // 列表数据
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        console.log(parameter, 'parameter')
+
+        // return getPowerRoleList(Object.assign(parameter, this.queryParam)).then(res => {
+        //   const no = (res.data.pageNo - 1) * res.data.pageSize
+        //   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 res.data
+        // })
+        return new Promise((resolve) => {
+          this.list = [{
+            no: 1,
+            name: '苹果',
+            price: 10,
+            num: 10
+          },
+          {
+            no: 2,
+            name: '苹果',
+            price: 10,
+            num: 10
+          },
+          {
+            no: 3,
+            name: '苹果',
+            price: 10,
+            num: 10
+          },
+          {
+            no: 4,
+            name: '苹果',
+            price: 10,
+            num: 10
+          },
+          {
+            no: 5,
+            name: '苹果',
+            price: 10,
+            num: 10
+          }
+          ]
+          resolve(this.list)
+        })
+      }
     }
   },
   beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.getData()
-    })
+    next(vm => {})
   },
   methods: {
     // menu菜单切换
     handleClick (item) {
       console.log(item, 'kkkkkkkkkk')
     },
-    // 查询数据
-    getData () {
-      getTenantsList({ pageNo: 1, pageSize: 10 }).then(res => {
+    // 上移 下移 排序 index:下标  item:数据  type:类型 0 下移 1 上移
+    changeSort (index, item, type) {
+      const indexThat = type === 0 ? index + 1 : index - 1
+      const params = {
+        idThis: item.id,
+        idThat: this.list[indexThat].id
+      }
+      setSort(params).then(res => {
         if (res.status == 200) {
-          this.loadData = res.data.list
+          this.$refs.table.refresh()
         } else {
-          this.loadData = []
+          this.$message.error(res.message)
         }
       })
-    },
-    // 打开新增/编辑 弹窗
-    openModal (row) {
-      this.itemId = row ? row.id : ''
-      this.isShowModal = true
-    },
-    // 删除
-    delect (row) {
-      const _this = this
-      this.$confirm({
-        title: '警告',
-        centered: true,
-        content: '删除后原数据不可恢复,是否删除?',
-        okText: '确定',
-        cancelText: '取消',
-        onOk () {
-          tenantsDelete({
-            id: row.id
-          }).then(res => {
-            if (res.status == 200) {
-              _this.$message.success('res.message')
-              _this.$refs.table.refresh()
-            }
-          })
-        }
-      })
-    },
-    // 重置
-    reset () {
-
     }
   }
 }
 </script>
 <style scoped="true">
-	.menu-cont{
+	.menu-cont {
 		height: 100%;
 	}
 </style>