Browse Source

线下调解,权限标识

hanchaobo 2 years ago
parent
commit
6c65f4a4e3

+ 1
- 1
src/views/caseManagement/caseList.vue View File

@@ -50,7 +50,7 @@
50 50
             </el-table-column>
51 51
             <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" />
52 52
             <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
53
-            <el-table-column label="申请机构名称" align="center" prop="applicationOrganName" :show-overflow-tooltip="true" />
53
+            <el-table-column label="申请人" align="center" prop="applicationName" :show-overflow-tooltip="true" />
54 54
             <el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" />
55 55
             <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" />
56 56
             <el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />

+ 2
- 2
src/views/caseManagement/components/addCase.vue View File

@@ -115,14 +115,14 @@
115 115
                         <el-divider></el-divider>
116 116
                     </el-col>
117 117
                     <el-col :span="12">
118
-                        <el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
118
+                        <el-form-item label="申请机构名称" prop="affiliate.applicationName" :rules="[
119 119
                             {
120 120
                                 required: true,
121 121
                                 message: '申请机构名称不能为空',
122 122
                                 trigger: 'blur',
123 123
                             },
124 124
                         ]">
125
-                            <el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
125
+                            <el-input v-model="formData.affiliate.applicationName" placeholder="请输入申请机构名称" />
126 126
                         </el-form-item>
127 127
                     </el-col>
128 128
                     <el-col :span="12">

+ 1
- 1
src/views/caseManagement/components/caseAcceptance.vue View File

@@ -12,7 +12,7 @@
12 12
         <el-form-item label="调解方式:">
13 13
           <el-radio-group v-model="courtReviewform.mediationMethod">
14 14
             <el-radio :label="1">开庭调解</el-radio>
15
-            <el-radio :label="2">书面调解</el-radio>
15
+            <el-radio :label="2">线下调解</el-radio>
16 16
           </el-radio-group>
17 17
         </el-form-item>
18 18
         <el-form-item label="是否纸质送达:">

+ 2
- 2
src/views/caseManagement/components/confirmMediation.vue View File

@@ -19,8 +19,8 @@
19 19
             </el-form-item>
20 20
           </el-col>
21 21
           <el-col :span="12">
22
-            <el-form-item label="申请人:" prop="affiliate.applicationOrganName">
23
-              <el-input v-model="formData.affiliate.applicationOrganName" :disabled="true" />
22
+            <el-form-item label="申请人:" prop="affiliate.applicationName">
23
+              <el-input v-model="formData.affiliate.applicationName" :disabled="true" />
24 24
             </el-form-item>
25 25
           </el-col>
26 26
           <el-col :span="12">

+ 5
- 4
src/views/caseManagement/components/confirmMediator.vue View File

@@ -80,7 +80,7 @@ export default {
80 80
             applicantTable: [],
81 81
             respondentTable: [],
82 82
             multipleSelection: [],
83
-            tableDataFlag: false,
83
+            tableDataFlag: true,
84 84
             formLabelAlign: {
85 85
                 time: []
86 86
             },
@@ -107,7 +107,8 @@ export default {
107 107
                 this.applicantTable = res.data.mediatorList;
108 108
                 this.respondentTable = res.data.resMediatorList;
109 109
                 this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
110
-                if (this.tableDataNow.length > 0) {
110
+
111
+                if (this.tableDataNow[0].mediatorId) {
111 112
                     this.tableDataFlag = false;
112 113
                 } else {
113 114
                     this.tableDataFlag = true;
@@ -131,14 +132,14 @@ export default {
131 132
                     mediatorId: this.tableDataNow[0].mediatorId,
132 133
                     mediatorName: this.tableDataNow[0].mediatorName,
133 134
                 })
134
-            } else if (this.multipleSelection.length > 0 && this.tableDataNow.length == 0) {
135
+            } else if (this.multipleSelection.length > 0 && !this.tableDataNow[0].mediatorId) {
135 136
                 this.verifyMediatorFn({
136 137
                     id: this.confirmData.id,
137 138
                     caseFlowId: this.confirmData.caseFlowId,
138 139
                     mediatorId: this.multipleSelection[0].mediatorId,
139 140
                     mediatorName: this.multipleSelection[0].mediatorName,
140 141
                 })
141
-            } else if (this.multipleSelection.length > 1 && this.tableDataNow.length == 0) {
142
+            } else if (this.multipleSelection.length > 1 && !this.tableDataNow[0].mediatorId) {
142 143
                 Message.error('最多选择一名调解员');
143 144
                 return
144 145
             }

+ 1
- 1
src/views/caseManagement/components/evidenceDialog.vue View File

@@ -3,7 +3,7 @@
3 3
         <el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
4 4
             <el-descriptions title="案件内容" :column="2" border>
5 5
                 <el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
6
-                <el-descriptions-item label="申请人(机构)">{{ evidenceData.applicantName }}</el-descriptions-item>
6
+                <el-descriptions-item label="申请人">{{ evidenceData.applicationName }}</el-descriptions-item>
7 7
                 <el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item>
8 8
                 <el-descriptions-item label="案件状态">
9 9
                     <el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>

+ 54
- 32
src/views/caseManagement/components/mediation.vue View File

@@ -1,13 +1,6 @@
1 1
 <template>
2 2
   <div>
3
-    <el-dialog
4
-      :title="title"
5
-      :visible="mediationVisable"
6
-      @close="cancel"
7
-      center
8
-      :distroy-on-close="true"
9
-      width="1000px"
10
-    >
3
+    <el-dialog :title="title" :visible="mediationVisable" @close="cancel" center :distroy-on-close="true" width="1000px">
11 4
       <el-form ref="form" :model="formData" label-width="180px">
12 5
         <div class="caseInfo">案件信息:</div>
13 6
         <el-divider></el-divider>
@@ -18,8 +11,8 @@
18 11
             </el-form-item>
19 12
           </el-col>
20 13
           <el-col :span="12">
21
-            <el-form-item label="申请人:" prop="affiliate.applicationOrganName">
22
-              <el-input v-model="formData.affiliate.applicationOrganName" :disabled="true" />
14
+            <el-form-item label="申请人:" prop="affiliate.applicationName">
15
+              <el-input v-model="formData.affiliate.applicationName" :disabled="true" />
23 16
             </el-form-item>
24 17
           </el-col>
25 18
           <el-col :span="12">
@@ -29,11 +22,7 @@
29 22
           </el-col>
30 23
           <el-col :span="12">
31 24
             <el-form-item label="案件标的:" prop="caseSubjectAmount">
32
-              <el-input
33
-                v-model="formData.caseSubjectAmount"
34
-                placeholder="请输入案件标的"
35
-                :disabled="true"
36
-              />
25
+              <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
37 26
             </el-form-item>
38 27
           </el-col>
39 28
           <el-col :span="12">
@@ -50,7 +39,7 @@
50 39
         <el-col :span="24">
51 40
           <el-form-item label="申请人案件证据:">
52 41
             <div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
53
-            <div v-else v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType==2">
42
+            <div v-else v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType == 2">
54 43
               <a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a>
55 44
             </div>
56 45
           </el-form-item>
@@ -80,25 +69,28 @@
80 69
             <div>{{ formData.hearDate }}</div>
81 70
           </el-form-item>
82 71
         </el-col>
72
+        <el-col :span="24" v-if="!mediationType">
73
+          <el-form-item label="上传调解书">
74
+            <el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
75
+              :on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload" :on-success="handlSuccess"
76
+              :file-list="fileList">
77
+              <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
78
+              <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
79
+              <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
80
+            </el-upload>
81
+          </el-form-item>
82
+        </el-col>
83 83
         <!-- </el-form> -->
84 84
       </el-form>
85 85
       <el-button @click="openmeeting" type="primary" v-if="mediationType">发起会议</el-button>
86
-      <el-button
87
-        @click="openArbitrationresults"
88
-        type="primary"
89
-        v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
90
-      >确认会议结果</el-button>
86
+      <el-button @click="openArbitrationresults" type="primary"
87
+        v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'">确认会议结果</el-button>
91 88
       <div slot="footer" class="dialog-footer">
92 89
         <el-button @click="cancel" class="endbutton1" round>
93 90
           <span>取 消</span>
94 91
         </el-button>
95
-        <el-button
96
-          @click="submitMediation"
97
-          :disabled="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
98
-          class="endbutton1"
99
-          type="primary"
100
-          round
101
-        >
92
+        <el-button @click="submitMediation" :disabled="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
93
+          class="endbutton1" type="primary" round>
102 94
           <span>提 交</span>
103 95
         </el-button>
104 96
       </div>
@@ -113,6 +105,7 @@ import {
113 105
 } from "@/api/caseManagement/caseManagement.js";
114 106
 import { getUserProfile } from "@/api/system/user";
115 107
 import { reserveConferenceList } from "@/api/metting/metting.js";
108
+import { getToken } from "@/utils/auth";
116 109
 export default {
117 110
   props: ["mediationVisable", "mediationData", "queryParams"],
118 111
   data() {
@@ -130,7 +123,15 @@ export default {
130 123
       user: "",
131 124
       userId: null,
132 125
       flieList: [],
133
-      mediationType: true
126
+      mediationType: true,
127
+      headers: {
128
+        Authorization: "Bearer " + getToken(),
129
+      },
130
+      filedata: {
131
+        annexType: 7,
132
+      },
133
+      fileList:[],
134
+      attachList:[],
134 135
     };
135 136
   },
136 137
   watch: {
@@ -140,7 +141,7 @@ export default {
140 141
         this.title = "开庭调解";
141 142
         this.mediationType = true;
142 143
       } else if (this.mediationData.mediationMethod == "2") {
143
-        this.title = "书面调解";
144
+        this.title = "线下调解";
144 145
         this.mediationType = false;
145 146
       }
146 147
       if (val) {
@@ -151,8 +152,24 @@ export default {
151 152
       }
152 153
     }
153 154
   },
154
-  created() {},
155
+  created() { },
155 156
   methods: {
157
+    /**上传地址*/
158
+    UploadUrl() {
159
+      return window.location.origin + "/API/common/upload";
160
+    },
161
+    handlePreview(file) {
162
+    },
163
+    handleRemove(file, fileList) {
164
+     
165
+    },
166
+    beforeUpload(flie, fileList) {
167
+      this.fileList = fileList;
168
+    },
169
+    handlSuccess(res, file) {
170
+      this.attachList = [{annexId:res.annexId}];
171
+      // this.$set(this.mediationData, "attachList", {annexId:res.annexId});
172
+    },
156 173
     /** 获取案件详情信息 */
157 174
     caseApplicationSelectByIdFn(data) {
158 175
       caseApplicationSelectById(data).then(res => {
@@ -207,9 +224,14 @@ export default {
207 224
       this.$emit("cancelMediation");
208 225
     },
209 226
     submitMediation() {
227
+      if (this.fileList.length < 1 && !this.mediationType) {
228
+        this.$modal.msgError("请上传调解书");
229
+        return
230
+      }
210 231
       this.mediationFn({
211 232
         id: this.mediationData.id,
212
-        caseFlowId: this.mediationData.caseFlowId
233
+        caseFlowId: this.mediationData.caseFlowId,
234
+        attachList: this.attachList
213 235
       });
214 236
     }
215 237
   }

+ 1
- 1
src/views/caseManagement/components/payDialog.vue View File

@@ -7,7 +7,7 @@
7 7
           formPayDetail.caseNum
8 8
         }}</el-descriptions-item>
9 9
         <el-descriptions-item label="申请人">{{
10
-          formPayDetailAffiliate.applicationOrganName || ''
10
+          formPayDetailAffiliate.applicationName || ''
11 11
         }}</el-descriptions-item>
12 12
         <el-descriptions-item label="案件标的">{{
13 13
           formPayDetail.caseSubjectAmount

+ 3
- 3
src/views/caseManagement/components/paymentdetailsDialog.vue View File

@@ -8,9 +8,9 @@
8 8
         <el-form-item label="案件标的:" prop="caseSubjectAmount">
9 9
           <el-input v-model="form.caseSubjectAmount" />
10 10
         </el-form-item>
11
-        <el-form-item label="缴费人:" prop="applicantName">
12
-          <el-input v-model="form.applicationOrganName" placeholder="" />
13
-        </el-form-item>
11
+        <!-- <el-form-item label="缴费人:" prop="applicantName">
12
+          <el-input v-model="form.applicationName" placeholder="" />
13
+        </el-form-item> -->
14 14
         <el-form-item label="缴费金额:" prop="feePayable">
15 15
           <el-input v-model="form.feePayable" />
16 16
         </el-form-item>

+ 27
- 78
src/views/caseManagement/components/timeConfirm.vue View File

@@ -2,27 +2,27 @@
2 2
     <div>
3 3
         <el-dialog title="秘书确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
4 4
             :distroy-on-close="true">
5
-            <div style="margin-bottom: 20px;">
5
+            <!-- <div style="margin-bottom: 20px;">
6 6
                 <el-radio-group v-model="confirmFlag">
7 7
                     <el-radio :label="1">同意</el-radio>
8 8
                     <el-radio :label="2">拒绝</el-radio>
9 9
                 </el-radio-group>
10
-            </div>
10
+            </div> -->
11 11
             <div>
12 12
                 <div>
13
-                    <div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
14
-                    <el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
13
+                    <!-- <div style="margin-top: 20px;margin-bottom: 20px;">时间</div> -->
14
+                    <el-form label-position="right" label-width="80px" :model="formLabelAlign">
15 15
                         <el-form-item label="时间">
16
-                            <el-date-picker v-if="!confirmShow" v-model="formLabelAlign.name" type="datetime" placeholder="选择日期时间">
16
+                            <el-date-picker v-model="formLabelAlign.name" type="datetime" placeholder="选择日期时间">
17 17
                             </el-date-picker>
18
-                            <el-input v-else v-model="formLabelAlign.name"></el-input>
18
+                            <!-- <el-input v-else v-model="formLabelAlign.name"></el-input> -->
19 19
                         </el-form-item>
20 20
                     </el-form>
21 21
                 </div>
22 22
             </div>
23 23
             <div slot="footer" class="dialog-footer">
24 24
                 <el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
25
-                <el-button @click="submitMediator" class="endbutton1"  type="primary" round><span>确 认</span></el-button>
25
+                <el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
26 26
             </div>
27 27
         </el-dialog>
28 28
     </div>
@@ -30,7 +30,7 @@
30 30
   
31 31
 <script>
32 32
 import { Message } from 'element-ui'
33
-import { listMediator, selectReservation,confirmDate } from '@/api/caseManagement/caseManagement.js'
33
+import { listMediator, selectReservation, confirmDate } from '@/api/caseManagement/caseManagement.js'
34 34
 import { createRoomId } from '@/api/metting/metting.js'
35 35
 import moment from "moment";
36 36
 export default {
@@ -41,35 +41,17 @@ export default {
41 41
             multipleSelection: [],
42 42
             formLabelAlign: {
43 43
                 time: [],
44
-                name:""
44
+                name: ""
45 45
             },
46 46
             formTimeArr: [],
47
-            mediatorArr: [],
48
-            confirmFlag: 1,
49
-            confirmShow: true,
50 47
         };
51 48
     },
52 49
     watch: {
53 50
         timeConfirmVisable(val) {
54 51
             if (val) {
55
-                this.confirmFlag = 1;
56
-                this.mediatorArr = [];
57 52
                 this.formTimeArr = [];
58
-                this.selectReservationFn({ id: this.timeConfirmData.id })
59 53
             }
60 54
         },
61
-        confirmFlag(val) {
62
-            if (val == 1) {
63
-                this.confirmShow = true;
64
-                console.log(this.timeConfirmData.id);
65
-                this.selectReservationFn({ id: this.timeConfirmData.id })
66
-            } else {
67
-                this.confirmShow = false;
68
-                listMediator().then(res => {
69
-                    this.tableData = res.data;
70
-                })
71
-            }
72
-        }
73 55
     },
74 56
     methods: {
75 57
         cancel() {
@@ -78,7 +60,6 @@ export default {
78 60
         selectReservationFn(data) {
79 61
             selectReservation(data).then(res => {
80 62
                 this.tableData = res.data.mediatorList;
81
-                // this.formLabelAlign.time[0] = res.data.herDates[0];
82 63
                 this.formLabelAlign.name = res.data.herDates[0]
83 64
             })
84 65
         },
@@ -91,64 +72,32 @@ export default {
91 72
             })
92 73
         },
93 74
         // 生成会议房间号
94
-        createRoomIdFn(data){
95
-            createRoomId(data).then(res=>{
96
-                console.log(res,"房间号");
75
+        createRoomIdFn(data) {
76
+            createRoomId(data).then(res => {
77
+                console.log(res, "房间号");
97 78
             })
98 79
         },
99 80
         /**提交选择结果*/
100 81
         async submitMediator() {
101 82
             this.createRoomIdFn({
102
-                caseId:this.timeConfirmData.id
83
+                caseId: this.timeConfirmData.id
103 84
             })
104
-            if (this.confirmFlag == 1) {
105
-                let userArr = [];
106
-                this.tableData.forEach(item => {
107
-                    userArr.push({
108
-                        userId: item.mediatorId,
109
-                        userName: item.mediatorName
110
-                    })
111
-                })
112
-                this.verifyMediatorFn({
113
-                    id: this.timeConfirmData.id,
114
-                    caseFlowId: this.timeConfirmData.caseFlowId,
115
-                    // userList: userArr,
116
-                    herDates: [this.formLabelAlign.name]
117
-                })
118
-            } else {
119
-                // if (this.multipleSelection.length > 1) {
120
-                //     Message.error('最多选择一名调解员');
121
-                //     return
122
-                // } else if (this.multipleSelection.length < 1) {
123
-                //     Message.error('至少选择一名调解员');
124
-                //     return
125
-                // }
126
-                if (this.formLabelAlign.name == '') {
127
-                    Message.error('至少选择一个时间');
128
-                    return
129
-                }
130
-                this.formLabelAlign.time.forEach(item => {
131
-                    item = moment(
132
-                        item
133
-                    ).format("YYYY-MM-DD HH:mm:ss");
134
-                    this.formTimeArr.push(item)
135
-                })
136
-                this.multipleSelection.forEach(item => {
137
-                    this.mediatorArr.push({
138
-                        userId: item.mediatorId,
139
-                        userName: item.mediatorName
140
-                    })
141
-                })
142
-                this.verifyMediatorFn({
143
-                    id: this.timeConfirmData.id,
144
-                    caseFlowId: this.timeConfirmData.caseFlowId,
145
-                    herDates: [this.formLabelAlign.name]
146
-                })
85
+            if (this.formLabelAlign.name == '') {
86
+                Message.error('请选择时间');
87
+                return
147 88
             }
89
+            this.formLabelAlign.time.forEach(item => {
90
+                item = moment(
91
+                    item
92
+                ).format("YYYY-MM-DD HH:mm:ss");
93
+                this.formTimeArr.push(item)
94
+            })
95
+            this.verifyMediatorFn({
96
+                id: this.timeConfirmData.id,
97
+                caseFlowId: this.timeConfirmData.caseFlowId,
98
+                herDates: [this.formLabelAlign.name]
99
+            })
148 100
         },
149
-        handleSelectionChange(val) {
150
-            this.multipleSelection = val;
151
-        }
152 101
     },
153 102
 };
154 103
 </script>

+ 11
- 3
src/views/caseprocessManagement/components/addNodeprocess.vue View File

@@ -25,6 +25,9 @@
25 25
                         </el-option>
26 26
                     </el-select>
27 27
                 </el-form-item>
28
+                <el-form-item label="权限字符" prop="buttonAuthFlag">
29
+                    <el-input v-model="ruleForm.buttonAuthFlag" placeholder="请输入"></el-input>
30
+                </el-form-item>
28 31
             </el-form>
29 32
             <div slot="footer" class="dialog-footer">
30 33
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
@@ -58,6 +61,9 @@ export default {
58 61
                 ],
59 62
                 roleIds: [
60 63
                     { required: true, message: '请选择关联角色', trigger: 'blur' },
64
+                ],
65
+                buttonAuthFlag: [
66
+                    { required: true, message: '请输入权限字符', trigger: 'blur' },
61 67
                 ]
62 68
             },
63 69
             dealvalue: [],
@@ -121,7 +127,7 @@ export default {
121 127
                     if (this.ruleForm.id) {
122 128
                         let nodevalue = this.dict.type.case_flow_node;
123 129
                         this.dealvalue = nodevalue.filter((item) => {
124
-                            if(item.value == this.ruleForm.nodeId) {
130
+                            if (item.value == this.ruleForm.nodeId) {
125 131
                                 return item
126 132
                             }
127 133
                         }
@@ -134,7 +140,8 @@ export default {
134 140
                             caseStatusName: this.ruleForm.caseStatusName,
135 141
                             backFlowId: this.ruleForm.backFlowId,
136 142
                             roleIds: this.ruleForm.roleIds,
137
-                            sort: this.ruleForm.sort
143
+                            sort: this.ruleForm.sort,
144
+                            buttonAuthFlag: this.ruleForm.buttonAuthFlag
138 145
                         }
139 146
                     } else {
140 147
                         let nodevalue = this.dict.type.case_flow_node;
@@ -150,7 +157,8 @@ export default {
150 157
                             nodeName: this.dealvalue[0].label,
151 158
                             caseStatusName: this.ruleForm.caseStatusName,
152 159
                             backFlowId: this.ruleForm.backFlowId,
153
-                            roleIds: this.ruleForm.roleIds
160
+                            roleIds: this.ruleForm.roleIds,
161
+                            buttonAuthFlag: this.ruleForm.buttonAuthFlag
154 162
                         }
155 163
                     }
156 164
                     if (params.backFlowId == undefined) {

+ 85
- 195
src/views/system/user/index.vue View File

@@ -4,75 +4,35 @@
4 4
       <!--部门数据-->
5 5
       <el-col :span="4" :xs="24">
6 6
         <div class="head-container">
7
-          <el-input
8
-            v-model="deptName"
9
-            placeholder="请输入部门名称"
10
-            clearable
11
-            size="small"
12
-            prefix-icon="el-icon-search"
13
-            style="margin-bottom: 20px"
14
-          />
7
+          <el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search"
8
+            style="margin-bottom: 20px" />
15 9
         </div>
16 10
         <div class="head-container">
17
-          <el-tree
18
-            :data="deptOptions"
19
-            :props="defaultProps"
20
-            :expand-on-click-node="false"
21
-            :filter-node-method="filterNode"
22
-            ref="tree"
23
-            node-key="id"
24
-            default-expand-all
25
-            highlight-current
26
-            @node-click="handleNodeClick"
27
-          />
11
+          <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
12
+            :filter-node-method="filterNode" ref="tree" node-key="id" default-expand-all highlight-current
13
+            @node-click="handleNodeClick" />
28 14
         </div>
29 15
       </el-col>
30 16
       <!--用户数据-->
31 17
       <el-col :span="20" :xs="24">
32 18
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
33 19
           <el-form-item label="用户名称" prop="userName">
34
-            <el-input
35
-              v-model="queryParams.userName"
36
-              placeholder="请输入用户名称"
37
-              clearable
38
-              style="width: 240px"
39
-              @keyup.enter.native="handleQuery"
40
-            />
20
+            <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px"
21
+              @keyup.enter.native="handleQuery" />
41 22
           </el-form-item>
42 23
           <el-form-item label="手机号码" prop="phonenumber">
43
-            <el-input
44
-              v-model="queryParams.phonenumber"
45
-              placeholder="请输入手机号码"
46
-              clearable
47
-              style="width: 240px"
48
-              @keyup.enter.native="handleQuery"
49
-            />
24
+            <el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px"
25
+              @keyup.enter.native="handleQuery" />
50 26
           </el-form-item>
51 27
           <el-form-item label="状态" prop="status">
52
-            <el-select
53
-              v-model="queryParams.status"
54
-              placeholder="用户状态"
55
-              clearable
56
-              style="width: 240px"
57
-            >
58
-              <el-option
59
-                v-for="dict in dict.type.sys_normal_disable"
60
-                :key="dict.value"
61
-                :label="dict.label"
62
-                :value="dict.value"
63
-              />
28
+            <el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
29
+              <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
30
+                :value="dict.value" />
64 31
             </el-select>
65 32
           </el-form-item>
66 33
           <el-form-item label="创建时间">
67
-            <el-date-picker
68
-              v-model="dateRange"
69
-              style="width: 240px"
70
-              value-format="yyyy-MM-dd"
71
-              type="daterange"
72
-              range-separator="-"
73
-              start-placeholder="开始日期"
74
-              end-placeholder="结束日期"
75
-            ></el-date-picker>
34
+            <el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
35
+              range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
76 36
           </el-form-item>
77 37
           <el-form-item>
78 38
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -82,56 +42,24 @@
82 42
 
83 43
         <el-row :gutter="10" class="mb8">
84 44
           <el-col :span="1.5">
85
-            <el-button
86
-              type="primary"
87
-              plain
88
-              icon="el-icon-plus"
89
-              size="mini"
90
-              @click="handleAdd"
91
-              v-hasPermi="['system:user:add']"
92
-            >新增</el-button>
45
+            <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
46
+              v-hasPermi="['system:user:add']">新增</el-button>
93 47
           </el-col>
94 48
           <el-col :span="1.5">
95
-            <el-button
96
-              type="success"
97
-              plain
98
-              icon="el-icon-edit"
99
-              size="mini"
100
-              :disabled="single"
101
-              @click="handleUpdate"
102
-              v-hasPermi="['system:user:edit']"
103
-            >修改</el-button>
49
+            <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
50
+              v-hasPermi="['system:user:edit']">修改</el-button>
104 51
           </el-col>
105 52
           <el-col :span="1.5">
106
-            <el-button
107
-              type="danger"
108
-              plain
109
-              icon="el-icon-delete"
110
-              size="mini"
111
-              :disabled="multiple"
112
-              @click="handleDelete"
113
-              v-hasPermi="['system:user:remove']"
114
-            >删除</el-button>
53
+            <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
54
+              v-hasPermi="['system:user:remove']">删除</el-button>
115 55
           </el-col>
116 56
           <el-col :span="1.5">
117
-            <el-button
118
-              type="info"
119
-              plain
120
-              icon="el-icon-upload2"
121
-              size="mini"
122
-              @click="handleImport"
123
-              v-hasPermi="['system:user:import']"
124
-            >导入</el-button>
57
+            <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport"
58
+              v-hasPermi="['system:user:import']">导入</el-button>
125 59
           </el-col>
126 60
           <el-col :span="1.5">
127
-            <el-button
128
-              type="warning"
129
-              plain
130
-              icon="el-icon-download"
131
-              size="mini"
132
-              @click="handleExport"
133
-              v-hasPermi="['system:user:export']"
134
-            >导出</el-button>
61
+            <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
62
+              v-hasPermi="['system:user:export']">导出</el-button>
135 63
           </el-col>
136 64
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
137 65
         </el-row>
@@ -139,18 +67,18 @@
139 67
         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
140 68
           <el-table-column type="selection" width="50" align="center" />
141 69
           <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
142
-          <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
143
-          <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
144
-          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
145
-          <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
70
+          <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible"
71
+            :show-overflow-tooltip="true" />
72
+          <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible"
73
+            :show-overflow-tooltip="true" />
74
+          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible"
75
+            :show-overflow-tooltip="true" />
76
+          <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible"
77
+            width="120" />
146 78
           <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
147 79
             <template slot-scope="scope">
148
-              <el-switch
149
-                v-model="scope.row.status"
150
-                active-value="0"
151
-                inactive-value="1"
152
-                @change="handleStatusChange(scope.row)"
153
-              ></el-switch>
80
+              <el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
81
+                @change="handleStatusChange(scope.row)"></el-switch>
154 82
             </template>
155 83
           </el-table-column>
156 84
           <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
@@ -158,28 +86,14 @@
158 86
               <span>{{ parseTime(scope.row.createTime) }}</span>
159 87
             </template>
160 88
           </el-table-column>
161
-          <el-table-column
162
-            label="操作"
163
-            align="center"
164
-            width="160"
165
-            class-name="small-padding fixed-width"
166
-          >
89
+          <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
167 90
             <template slot-scope="scope" v-if="scope.row.userId !== 1">
168
-              <el-button
169
-                size="mini"
170
-                type="text"
171
-                icon="el-icon-edit"
172
-                @click="handleUpdate(scope.row)"
173
-                v-hasPermi="['system:user:edit']"
174
-              >修改</el-button>
175
-              <el-button
176
-                size="mini"
177
-                type="text"
178
-                icon="el-icon-delete"
179
-                @click="handleDelete(scope.row)"
180
-                v-hasPermi="['system:user:remove']"
181
-              >删除</el-button>
182
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
91
+              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
92
+                v-hasPermi="['system:user:edit']">修改</el-button>
93
+              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
94
+                v-hasPermi="['system:user:remove']">删除</el-button>
95
+              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
96
+                v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
183 97
                 <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
184 98
                 <el-dropdown-menu slot="dropdown">
185 99
                   <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
@@ -192,13 +106,8 @@
192 106
           </el-table-column>
193 107
         </el-table>
194 108
 
195
-        <pagination
196
-          v-show="total>0"
197
-          :total="total"
198
-          :page.sync="queryParams.pageNum"
199
-          :limit.sync="queryParams.pageSize"
200
-          @pagination="getList"
201
-        />
109
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
110
+          @pagination="getList" />
202 111
       </el-col>
203 112
     </el-row>
204 113
 
@@ -213,7 +122,10 @@
213 122
           </el-col>
214 123
           <el-col :span="12">
215 124
             <el-form-item label="归属部门" prop="deptId">
216
-              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
125
+              <el-select v-model="form.deptId" multiple placeholder="请选择角色">
126
+                <el-option v-for="item in deptOptions" :key="item.id" :label="item.label" :value="item.id"></el-option>
127
+              </el-select>
128
+              <!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" /> -->
217 129
             </el-form-item>
218 130
           </el-col>
219 131
         </el-row>
@@ -237,7 +149,7 @@
237 149
           </el-col>
238 150
           <el-col :span="12">
239 151
             <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
240
-              <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
152
+              <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
241 153
             </el-form-item>
242 154
           </el-col>
243 155
         </el-row>
@@ -245,23 +157,16 @@
245 157
           <el-col :span="12">
246 158
             <el-form-item label="用户性别">
247 159
               <el-select v-model="form.sex" placeholder="请选择性别">
248
-                <el-option
249
-                  v-for="dict in dict.type.sys_user_sex"
250
-                  :key="dict.value"
251
-                  :label="dict.label"
252
-                  :value="dict.value"
253
-                ></el-option>
160
+                <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
161
+                  :value="dict.value"></el-option>
254 162
               </el-select>
255 163
             </el-form-item>
256 164
           </el-col>
257 165
           <el-col :span="12">
258 166
             <el-form-item label="状态">
259 167
               <el-radio-group v-model="form.status">
260
-                <el-radio
261
-                  v-for="dict in dict.type.sys_normal_disable"
262
-                  :key="dict.value"
263
-                  :label="dict.value"
264
-                >{{dict.label}}</el-radio>
168
+                <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value"
169
+                  :label="dict.value">{{ dict.label }}</el-radio>
265 170
               </el-radio-group>
266 171
             </el-form-item>
267 172
           </el-col>
@@ -270,26 +175,16 @@
270 175
           <el-col :span="12">
271 176
             <el-form-item label="岗位">
272 177
               <el-select v-model="form.postIds" multiple placeholder="请选择岗位">
273
-                <el-option
274
-                  v-for="item in postOptions"
275
-                  :key="item.postId"
276
-                  :label="item.postName"
277
-                  :value="item.postId"
278
-                  :disabled="item.status == 1"
279
-                ></el-option>
178
+                <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId"
179
+                  :disabled="item.status == 1"></el-option>
280 180
               </el-select>
281 181
             </el-form-item>
282 182
           </el-col>
283 183
           <el-col :span="12">
284 184
             <el-form-item label="角色">
285 185
               <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
286
-                <el-option
287
-                  v-for="item in roleOptions"
288
-                  :key="item.roleId"
289
-                  :label="item.roleName"
290
-                  :value="item.roleId"
291
-                  :disabled="item.status == 1"
292
-                ></el-option>
186
+                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
187
+                  :disabled="item.status == 1"></el-option>
293 188
               </el-select>
294 189
             </el-form-item>
295 190
           </el-col>
@@ -317,18 +212,9 @@
317 212
 
318 213
     <!-- 用户导入对话框 -->
319 214
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
320
-      <el-upload
321
-        ref="upload"
322
-        :limit="1"
323
-        accept=".xlsx, .xls"
324
-        :headers="upload.headers"
325
-        :action="upload.url + '?updateSupport=' + upload.updateSupport"
326
-        :disabled="upload.isUploading"
327
-        :on-progress="handleFileUploadProgress"
328
-        :on-success="handleFileSuccess"
329
-        :auto-upload="false"
330
-        drag
331
-      >
215
+      <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
216
+        :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
217
+        :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
332 218
         <i class="el-icon-upload"></i>
333 219
         <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
334 220
         <div class="el-upload__tip text-center" slot="tip">
@@ -336,7 +222,8 @@
336 222
             <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
337 223
           </div>
338 224
           <span>仅允许导入xls、xlsx格式文件。</span>
339
-          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
225
+          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"
226
+            @click="importTemplate">下载模板</el-link>
340 227
         </div>
341 228
       </el-upload>
342 229
       <div slot="footer" class="dialog-footer">
@@ -477,10 +364,10 @@ export default {
477 364
     getList() {
478 365
       this.loading = true;
479 366
       listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
480
-          this.userList = response.rows;
481
-          this.total = response.total;
482
-          this.loading = false;
483
-        }
367
+        this.userList = response.rows;
368
+        this.total = response.total;
369
+        this.loading = false;
370
+      }
484 371
       );
485 372
     },
486 373
     /** 查询部门下拉树结构 */
@@ -502,11 +389,11 @@ export default {
502 389
     // 用户状态修改
503 390
     handleStatusChange(row) {
504 391
       let text = row.status === "0" ? "启用" : "停用";
505
-      this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function() {
392
+      this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function () {
506 393
         return changeUserStatus(row.userId, row.status);
507 394
       }).then(() => {
508 395
         this.$modal.msgSuccess(text + "成功");
509
-      }).catch(function() {
396
+      }).catch(function () {
510 397
         row.status = row.status === "0" ? "1" : "0";
511 398
       });
512 399
     },
@@ -586,6 +473,7 @@ export default {
586 473
         this.roleOptions = response.roles;
587 474
         this.$set(this.form, "postIds", response.postIds);
588 475
         this.$set(this.form, "roleIds", response.roleIds);
476
+        this.$set(this.form, "deptId", response.deptId);
589 477
         this.open = true;
590 478
         this.title = "修改用户";
591 479
         this.form.password = "";
@@ -600,18 +488,18 @@ export default {
600 488
         inputPattern: /^.{5,20}$/,
601 489
         inputErrorMessage: "用户密码长度必须介于 5 和 20 之间"
602 490
       }).then(({ value }) => {
603
-          resetUserPwd(row.userId, value).then(response => {
604
-            this.$modal.msgSuccess("修改成功,新密码是:" + value);
605
-          });
606
-        }).catch(() => {});
491
+        resetUserPwd(row.userId, value).then(response => {
492
+          this.$modal.msgSuccess("修改成功,新密码是:" + value);
493
+        });
494
+      }).catch(() => { });
607 495
     },
608 496
     /** 分配角色操作 */
609
-    handleAuthRole: function(row) {
497
+    handleAuthRole: function (row) {
610 498
       const userId = row.userId;
611 499
       this.$router.push("/system/user-auth/role/" + userId);
612 500
     },
613 501
     /** 提交按钮 */
614
-    submitForm: function() {
502
+    submitForm: function () {
615 503
       this.$refs["form"].validate(valid => {
616 504
         if (valid) {
617 505
           if (this.form.userId != undefined) {
@@ -633,12 +521,12 @@ export default {
633 521
     /** 删除按钮操作 */
634 522
     handleDelete(row) {
635 523
       const userIds = row.userId || this.ids;
636
-      this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
524
+      this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function () {
637 525
         return delUser(userIds);
638 526
       }).then(() => {
639 527
         this.getList();
640 528
         this.$modal.msgSuccess("删除成功");
641
-      }).catch(() => {});
529
+      }).catch(() => { });
642 530
     },
643 531
     /** 导出按钮操作 */
644 532
     handleExport() {
@@ -676,14 +564,16 @@ export default {
676 564
 };
677 565
 </script>
678 566
 <style lang="scss" scoped>
679
- .head-container{
680
-      width:220px;
681
-      ::v-deep .el-tree-node {
682
-      white-space: normal;
683
-      .el-tree-node__content {
567
+.head-container {
568
+  width: 220px;
569
+
570
+  ::v-deep .el-tree-node {
571
+    white-space: normal;
572
+
573
+    .el-tree-node__content {
684 574
       height: 100%;
685 575
       align-items: start;
686
-      }
687 576
     }
688
- }
577
+  }
578
+}
689 579
 </style>

+ 2
- 2
vue.config.js View File

@@ -12,10 +12,10 @@ const name = process.env.VUE_APP_TITLE || '调解系统' // 网页标题
12 12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
13 13
 
14 14
 // const API = 'http://121.40.189.20:9001'  //生产
15
-// const API = 'http://121.40.189.20:6001'  //测试
15
+const API = 'http://121.40.189.20:6001'  //测试
16 16
 // const API = 'http://192.168.3.18:6001'  //B
17 17
 // const API = 'http://192.168.3.77:6001' //Q
18
-const API = 'http://172.16.1.17:6001' //w
18
+// const API = 'http://172.16.1.17:6001' //w
19 19
 
20 20
 // vue.config.js 配置说明
21 21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions