Просмотр исходного кода

Merge branch 'hhl' of SH-Arbitrate/Arbitrate-Frontend into dev

hhlxayunmei 2 лет назад
Родитель
Сommit
5f8dfa7165

+ 230
- 0
src/views/arbitratorsManagement/arbitratorsList.vue Просмотреть файл

@@ -0,0 +1,230 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form
4
+      :model="queryParams"
5
+      ref="queryForm"
6
+      size="small"
7
+      :inline="true"
8
+      label-width="88px"
9
+    >
10
+      <el-form-item label="仲裁员姓名" prop="arbitratorName">
11
+        <el-input
12
+          v-model="queryParams.arbitratorName"
13
+          placeholder="请输入仲裁员姓名"
14
+          clearable
15
+          @keyup.enter.native="handleQuery"
16
+        />
17
+      </el-form-item>
18
+      <el-form-item>
19
+        <el-button
20
+          type="primary"
21
+          icon="el-icon-search"
22
+          size="mini"
23
+          @click="handleQuery"
24
+          >搜索</el-button
25
+        >
26
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
27
+          >重置</el-button
28
+        >
29
+      </el-form-item>
30
+    </el-form>
31
+    <el-row :gutter="10" class="mb8">
32
+      <el-col :span="1.5">
33
+        <el-button
34
+          type="primary"
35
+          plain
36
+          icon="el-icon-plus"
37
+          size="mini"
38
+          @click="addArbitrator"
39
+          v-hasPermi="['monitor:job:add']"
40
+          >新增仲裁员</el-button
41
+        >
42
+      </el-col>
43
+    </el-row>
44
+    <el-table v-loading="loading" :data="dataList" style="width: 100%">
45
+      <el-table-column label="序号" type="index" align="center">
46
+        <template slot-scope="scope">
47
+          <span>{{
48
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
49
+          }}</span>
50
+        </template>
51
+      </el-table-column>
52
+      <el-table-column
53
+        label="仲裁员姓名"
54
+        align="center"
55
+        prop="arbitratorName"
56
+        :show-overflow-tooltip="true"
57
+      />
58
+      <el-table-column
59
+        label="职业"
60
+        align="center"
61
+        prop="career"
62
+        :show-overflow-tooltip="true"
63
+      />
64
+      <el-table-column
65
+        label="专业分类"
66
+        align="center"
67
+        prop="professiClassifi"
68
+        :show-overflow-tooltip="true"
69
+      />
70
+      <el-table-column
71
+        label="学历"
72
+        align="center"
73
+        prop="education"
74
+        :show-overflow-tooltip="true"
75
+      />
76
+      <el-table-column
77
+        label="所在地区"
78
+        align="center"
79
+        prop="area"
80
+        :show-overflow-tooltip="true"
81
+      />
82
+      <el-table-column
83
+        label="联系电话"
84
+        align="center"
85
+        prop="telephone"
86
+        :show-overflow-tooltip="true"
87
+      />
88
+      <el-table-column
89
+        label="操作"
90
+        align="center"
91
+        class-name="small-padding fixed-width"
92
+      >
93
+        <template slot-scope="scope">
94
+          <el-button
95
+            size="mini"
96
+            type="text"
97
+            icon="el-icon-zoom-in"
98
+            @click="detailRow(scope.row)"
99
+            v-hasPermi="['monitor:online:forceLogout']"
100
+            >详情</el-button
101
+          >
102
+          <el-button
103
+            size="mini"
104
+            type="text"
105
+            icon="el-icon-edit"
106
+            @click="editRow(scope.row)"
107
+            v-hasPermi="['monitor:online:forceLogout']"
108
+            >修改</el-button
109
+          >
110
+          <el-button
111
+            size="mini"
112
+            type="text"
113
+            icon="el-icon-delete"
114
+            @click="deleteRow(scope.row)"
115
+            v-hasPermi="['monitor:online:forceLogout']"
116
+            >删除</el-button
117
+          >
118
+        </template>
119
+      </el-table-column>
120
+    </el-table>
121
+    <pagination
122
+      v-show="total > 0"
123
+      :total="total"
124
+      :page.sync="queryParams.pageNum"
125
+      :limit.sync="queryParams.pageSize"
126
+      @pagination="getArbitratorList"
127
+    />
128
+    <arbitrator-dialog
129
+      :showarbitrator="showarbitrator"
130
+      :dialogTitle="dialogTitle"
131
+      @closeArbitratorDialog="closeArbitratorDialog"
132
+      :formData="formData"
133
+      :flag="flag"
134
+    ></arbitrator-dialog>
135
+  </div>
136
+</template>
137
+
138
+<script>
139
+import arbitratorDialog from "./components/arbitratorDialog.vue";
140
+export default {
141
+  components: { arbitratorDialog },
142
+  data() {
143
+    return {
144
+      // 遮罩层
145
+      loading: true,
146
+      // 查询参数
147
+      queryParams: {
148
+        arbitratorName: null,
149
+        pageNum: 1,
150
+        pageSize: 10,
151
+      },
152
+      formData: {}, // 弹框数据
153
+      dataList: [],
154
+      showarbitrator: false, //显示弹框
155
+      dialogTitle: "", //弹框标题
156
+      flag: null,
157
+    };
158
+  },
159
+  created() {
160
+    this.getArbitratorList(this.queryParams);
161
+  },
162
+  methods: {
163
+    /** 搜索按钮操作 */
164
+    handleQuery() {
165
+      this.queryParams.pageNum = 1;
166
+      this.getArbitratorList(this.queryParams);
167
+    },
168
+    /** 重置按钮操作 */
169
+    resetQuery() {
170
+      this.resetForm("queryForm");
171
+      this.getArbitratorList(this.queryParams);
172
+    },
173
+    // 获取仲裁员列表数据
174
+    getArbitratorList() {
175
+      this.dataList.push({
176
+        id: "1",
177
+        arbitratorName: "刘某",
178
+        career: "律师",
179
+        professiClassifi: "经济管理",
180
+        education: "本科",
181
+        area: "西安",
182
+        telephone: "18547451263",
183
+      });
184
+      this.total = this.dataList.length;
185
+      this.loading = false;
186
+    },
187
+    // 新增仲裁员
188
+    addArbitrator() {
189
+      this.showarbitrator = true;
190
+      this.dialogTitle = "新增";
191
+      this.flag = 0;
192
+      this.formData = {};
193
+    },
194
+    // 详情
195
+    detailRow(row) {
196
+      this.showarbitrator = true;
197
+      this.dialogTitle = "详情";
198
+      this.flag = 1;
199
+      this.formData = row;
200
+    },
201
+    // 修改
202
+    editRow(row) {
203
+      this.showarbitrator = true;
204
+      this.dialogTitle = "修改";
205
+      this.flag = 2;
206
+      this.formData = row;
207
+    },
208
+    // 关闭弹框
209
+    closeArbitratorDialog() {
210
+      this.showarbitrator = false;
211
+    },
212
+    // 删除
213
+    deleteRow() {
214
+      this.$modal
215
+        .confirm("是否确认删除?")
216
+        .then(function () {
217
+          // return removeCaseApply({ id: row.id });
218
+        })
219
+        .then((res) => {
220
+          this.getArbitratorList(this.queryParams);
221
+          this.$modal.msgSuccess("删除成功");
222
+        })
223
+        .catch(() => {});
224
+    },
225
+  },
226
+};
227
+</script>
228
+
229
+<style lang="scss" scoped>
230
+</style>

+ 114
- 0
src/views/arbitratorsManagement/components/arbitratorDialog.vue Просмотреть файл

@@ -0,0 +1,114 @@
1
+<template>
2
+  <div>
3
+    <!-- 仲裁员弹框 -->
4
+    <el-dialog
5
+      :title="dialogTitle"
6
+      :visible="showarbitrator"
7
+      @close="cancel"
8
+      :destroy-on-close="true"
9
+      center
10
+    >
11
+      <el-form
12
+        ref="form"
13
+        :model="form"
14
+        label-width="100px"
15
+        :disabled="flag == 1"
16
+      >
17
+        <el-form-item label="仲裁员姓名:" prop="arbitratorName">
18
+          <el-input
19
+            v-model="form.arbitratorName"
20
+            placeholder="请输入仲裁员姓名"
21
+          />
22
+        </el-form-item>
23
+        <el-form-item label="职业:" prop="career">
24
+          <el-input v-model="form.career" placeholder="请输入职业" />
25
+        </el-form-item>
26
+        <el-form-item label="专业分类:" prop="professiClassifi">
27
+          <el-input v-model="form.professiClassifi" placeholder="请输入专业" />
28
+        </el-form-item>
29
+        <el-form-item label="学历:" prop="education">
30
+          <el-input v-model="form.education" placeholder="请输入学历" />
31
+        </el-form-item>
32
+        <el-form-item label="所在地区:" prop="area">
33
+          <el-input v-model="form.area" placeholder="请输入所在地区" />
34
+        </el-form-item>
35
+        <el-form-item label="电话:" prop="telephone">
36
+          <el-input v-model="form.telephone" placeholder="请输入电话" />
37
+        </el-form-item>
38
+      </el-form>
39
+      <div slot="footer" class="dialog-footer">
40
+        <el-button type="primary" @click="submitForm" class="endbutton"
41
+          ><span>提 交</span></el-button
42
+        >
43
+        <el-button @click="cancel" class="endbutton1"
44
+          ><span> 取 消</span></el-button
45
+        >
46
+      </div>
47
+    </el-dialog>
48
+  </div>
49
+</template>
50
+
51
+<script>
52
+export default {
53
+  props: ["showarbitrator", "dialogTitle", "formData", "flag"],
54
+  data() {
55
+    return {
56
+      form: {},
57
+    };
58
+  },
59
+  watch: {
60
+    formData: {
61
+      handler(val) {
62
+        if (val) {
63
+          this.form = val;
64
+        }
65
+      },
66
+    },
67
+  },
68
+  methods: {
69
+    cancel() {
70
+      this.$emit("closeArbitratorDialog");
71
+    },
72
+    // /提交
73
+    submitForm() {},
74
+  },
75
+};
76
+</script>
77
+
78
+<style lang="scss" scoped>
79
+::v-deep .el-dialog {
80
+  width: 600px;
81
+  background: #ffffff;
82
+  border-radius: 20px;
83
+}
84
+.endbutton {
85
+  width: 124px;
86
+  height: 37px;
87
+  background: #0072ff;
88
+  border-radius: 19px;
89
+  span {
90
+    width: 32px;
91
+    height: 15px;
92
+    font-size: 16px;
93
+    font-family: Microsoft YaHei;
94
+    font-weight: 400;
95
+    color: #ffffff;
96
+    // line-height: 48px;
97
+  }
98
+}
99
+.endbutton1 {
100
+  width: 124px;
101
+  height: 37px;
102
+  background: #ffffff;
103
+  border: 1px solid #d0d0d0;
104
+  border-radius: 19px;
105
+  span {
106
+    width: 31px;
107
+    height: 13px;
108
+    font-size: 16px;
109
+    font-family: Microsoft YaHei;
110
+    font-weight: 400;
111
+    color: #959595;
112
+  }
113
+}
114
+</style>

+ 17
- 2
src/views/caseManagement/components/formateCourtDialog.vue Просмотреть файл

@@ -8,7 +8,7 @@
8 8
       :destroy-on-close="true"
9 9
       center
10 10
     >
11
-      <el-form label-width="150px">
11
+      <el-form label-width="150px" v-if="!noArbitrator">
12 12
         <el-form-item label="是否同意组庭:">
13 13
           <el-radio-group v-model="isAgreePendTral">
14 14
             <el-radio :label="1">是</el-radio>
@@ -16,12 +16,14 @@
16 16
           </el-radio-group>
17 17
         </el-form-item>
18 18
       </el-form>
19
+      <el-tag type="warning" v-if="noArbitrator">当前案件未指定仲裁员,请先指定仲裁员!</el-tag>
20
+      <p></p>
19 21
       <!-- <el-form ref="form"> -->
20 22
       <el-table
21 23
         :data="dataList"
22 24
         style="width: 100%"
23 25
         @selection-change="handleSelectionChange"
24
-        v-if="isAgreePendTral == 0"
26
+        v-if="isAgreePendTral == 0 || noArbitrator"
25 27
       >
26 28
         <el-table-column type="selection" width="55"> </el-table-column>
27 29
         <el-table-column
@@ -89,11 +91,24 @@ export default {
89 91
       arbitrators: [],
90 92
       isAgreePendTral: 1,
91 93
       paramsdata: {},
94
+      noArbitrator: false,
92 95
     };
93 96
   },
94 97
   created() {
95 98
     this.getarbitrAtor();
96 99
   },
100
+  watch: {
101
+    formateCourtData: {
102
+      handler(val) {
103
+        if (val.arbitratorName == null) {
104
+          console.log('无仲裁员',val);
105
+          this.noArbitrator = true
106
+        } else {
107
+          this.noArbitrator = false
108
+        }
109
+      },
110
+    },
111
+  },
97 112
   methods: {
98 113
     // 获取仲裁员信息
99 114
     getarbitrAtor() {