Преглед на файлове

锁定购票,用户批量设置

shipeng преди 1 седмица
родител
ревизия
322b545924
променени са 4 файла, в които са добавени 74 реда и са изтрити 2 реда
  1. 8 0
      src/api/system/user.js
  2. 1 0
      src/store/getters.js
  3. 6 0
      src/store/modules/user.js
  4. 59 2
      src/views/system/user/index.vue

+ 8 - 0
src/api/system/user.js

@@ -43,6 +43,14 @@ export function delUser(userId) {
     method: 'delete'
   })
 }
+// 
+export function setIsBuylock(data) {
+  return request({
+    url: '/system/user/updateIsBuylock',
+    method: 'put',
+    data: data
+  })
+}
 
 // 用户密码重置
 export function resetUserPwd(userId, password) {

+ 1 - 0
src/store/getters.js

@@ -8,6 +8,7 @@ const getters = {
   token: state => state.user.token,
   avatar: state => state.user.avatar,
   name: state => state.user.name,
+  isBuylock: state => state.user.isBuylock,
   introduction: state => state.user.introduction,
   roles: state => state.user.roles,
   permissions: state => state.user.permissions,

+ 6 - 0
src/store/modules/user.js

@@ -5,6 +5,7 @@ const user = {
   state: {
     token: getToken(),
     name: '',
+    isBuylock: null,
     avatar: '',
     roles: [],
     permissions: []
@@ -17,6 +18,9 @@ const user = {
     SET_NAME: (state, name) => {
       state.name = name
     },
+    SET_ISBUY: (state, isBuylock) => {
+      state.isBuylock = isBuylock
+    },
     SET_AVATAR: (state, avatar) => {
       state.avatar = avatar
     },
@@ -51,6 +55,7 @@ const user = {
       return new Promise((resolve, reject) => {
         getInfo().then(res => {
           const user = res.user
+          const isBuylock = res.isBuylock
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") :  user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)
@@ -60,6 +65,7 @@ const user = {
           }
           commit('SET_NAME', user.userName)
           commit('SET_AVATAR', avatar)
+          commit('SET_ISBUY', isBuylock)
           resolve(res)
         }).catch(error => {
           reject(error)

+ 59 - 2
src/views/system/user/index.vue

@@ -112,6 +112,17 @@
               @click="handleDelete"
               v-hasPermi="['system:user:remove']"
             >删除</el-button>
+          </el-col>
+           <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-turn-off"
+              size="mini"
+              :disabled="multiple"
+              @click="handleSetting"
+              v-hasPermi="['system:user:editbuylock']"
+            >购锁定票</el-button>
           </el-col>
           <!-- <el-col :span="1.5">
             <el-button
@@ -143,6 +154,12 @@
           <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
           <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
+          <el-table-column label="购锁定票" prop="isBuylock" width="100">
+            <template slot-scope="scope">
+              <el-tag v-if="scope.row.isBuylock === 1" type="success">允 许</el-tag>
+              <el-tag v-else type="danger">不允许</el-tag>
+            </template>
+          </el-table-column>
           <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
             <template slot-scope="scope">
               <el-switch
@@ -344,11 +361,26 @@
         <el-button @click="upload.open = false">取 消</el-button>
       </div>
     </el-dialog>
+
+    <!-- 批量设置 是否允许购买锁定票 -->
+    <el-dialog title="批量设置用户是否允许购买锁定票" :visible.sync="isVisible" width="500px" append-to-body>
+      <div style="display: flex; justify-content: center;">
+        <el-radio v-model="isBuylock" :label="1" border>允 许</el-radio>
+        <el-radio v-model="isBuylock" :label="0" border>不允许</el-radio>
+      </div>
+      
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="hanldeSubmit">确 定</el-button>
+        <el-button @click="isVisible = false">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user";
+import { listUser, getUser, delUser, addUser, updateUser, 
+  resetUserPwd, changeUserStatus, deptTreeSelect, setIsBuylock
+} from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -456,7 +488,9 @@ export default {
             trigger: ["change","blur"]
           }
         ]
-      }
+      },
+      isVisible: false,
+      isBuylock: 0,
     };
   },
   watch: {
@@ -473,6 +507,29 @@ export default {
     });
   },
   methods: {
+    //
+    handleSetting() {
+      this.isVisible = true;
+    },
+    // 设置用户购买锁定票
+    hanldeSubmit() {
+      let obj = {
+        ids: this.ids,
+        isBuylock: this.isBuylock
+      }
+      console.log(obj,'234');
+      setIsBuylock(obj).then(res => {
+        if(res.code === 200 ) {
+          this.$modal.msgSuccess("设置成功");
+          this.isVisible = false;
+          this.getList();
+        } else {
+          this.isVisible = false;
+        }
+      }).catch(error => {
+        this.isVisible = false;
+      });
+    },
     /** 查询用户列表 */
     getList() {
       this.loading = true;