Ver código fonte

裁决书页面

fz 2 anos atrás
pai
commit
5e5fc02496

+ 1
- 0
package.json Ver arquivo

@@ -57,6 +57,7 @@
57 57
     "vue": "2.6.12",
58 58
     "vue-count-to": "1.0.13",
59 59
     "vue-cropper": "0.5.5",
60
+    "vue-esign": "^1.1.4",
60 61
     "vue-meta": "2.4.0",
61 62
     "vue-router": "3.4.9",
62 63
     "vuedraggable": "2.24.3",

+ 34
- 0
src/api/awardManagement/awardManagement.js Ver arquivo

@@ -0,0 +1,34 @@
1
+import request from '@/utils/request'
2
+// 案件列表
3
+export function caseApplicationList(data) {
4
+    return request({
5
+        url: '/caseApplication/list',
6
+        // headers: {
7
+        //   isToken: false
8
+        // },
9
+        method: 'get',
10
+        params: data
11
+    })
12
+}
13
+// 查看详情
14
+export function caseApplicationDetail(data) {
15
+    return request({
16
+        url: '/caseApplication/selectCaseApplication',
17
+        // headers: {
18
+        //   isToken: false
19
+        // },
20
+        method: 'post',
21
+        data: data
22
+    })
23
+}
24
+// 检验裁决书
25
+export function verificationArbitrateRecord(data) {
26
+    return request({
27
+        url: '/caseApplication/verificationArbitrateRecord',
28
+        // headers: {
29
+        //   isToken: false
30
+        // },
31
+        method: 'post',
32
+        data: data
33
+    })
34
+}

+ 3
- 1
src/main.js Ver arquivo

@@ -39,7 +39,8 @@ import DictTag from '@/components/DictTag'
39 39
 import VueMeta from 'vue-meta'
40 40
 // 字典数据组件
41 41
 import DictData from '@/components/DictData'
42
-
42
+//画布组件
43
+import vueEsign from 'vue-esign'
43 44
 // 全局方法挂载
44 45
 Vue.prototype.getDicts = getDicts
45 46
 Vue.prototype.getConfigKey = getConfigKey
@@ -63,6 +64,7 @@ Vue.component('ImagePreview', ImagePreview)
63 64
 Vue.use(directive)
64 65
 Vue.use(plugins)
65 66
 Vue.use(VueMeta)
67
+Vue.use(vueEsign)
66 68
 DictData.install()
67 69
 
68 70
 /**

+ 116
- 0
src/views/awardManagement/components/paymentdetailsDialog.vue Ver arquivo

@@ -0,0 +1,116 @@
1
+<template>
2
+  <div>
3
+    <el-dialog :title="title" :visible="openDialog" width="1000px" @close="cancel" :destroy-on-close="true">
4
+      <el-descriptions title="案件信息" border style="margin-bottom: 30px;">
5
+        <el-descriptions-item label="案件编号">{{form.caseNum}}</el-descriptions-item>
6
+        <el-descriptions-item label="案件标的">{{form.caseSubjectAmount}}</el-descriptions-item>
7
+        <el-descriptions-item label="借款开始日期">{{form.loanStartDate}}</el-descriptions-item>
8
+        <el-descriptions-item label="借款结束日期">{{form.loanEndDate}}</el-descriptions-item>
9
+        <el-descriptions-item label="合同编号">{{form.contractNumber}}</el-descriptions-item>
10
+        <el-descriptions-item label="申请人主张欠本金">{{form.claimPrinciOwed}}</el-descriptions-item>
11
+        <el-descriptions-item label="申请人主张欠利息">{{form.claimInterestOwed}}</el-descriptions-item>
12
+        <el-descriptions-item label="申请人主张违约金">{{form.claimLiquidDamag}}</el-descriptions-item>
13
+        <el-descriptions-item label="申请人案件证据资料">{{form.aaa}}</el-descriptions-item>
14
+        <el-descriptions-item label="被申请人案件证据资料">{{form.aaa}}</el-descriptions-item>
15
+        <el-descriptions-item label="裁决书附件">{{form.aaa}}</el-descriptions-item>
16
+      </el-descriptions>
17
+      <el-form ref="form" :model="arbitrateRecord" label-width="300px" label-position="left">
18
+        <el-form-item label="经庭审质证,对各方提供的证据认定如下" prop="caseNum">
19
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.evidenDetermi" />
20
+        </el-form-item>
21
+        <el-form-item label="仲裁庭经审理查明(写明仲裁庭认定的事实)" prop="caseSubjectAmount">
22
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.factDetermi" />
23
+        </el-form-item>
24
+        <el-form-item label="综上所述" prop="caseNum">
25
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.caseSketch" />
26
+        </el-form-item>
27
+        <el-form-item label="本庭认为" prop="feePayable">
28
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.arbitrateThink" />
29
+        </el-form-item>
30
+        <el-form-item label="裁决如下" prop="caseStatusName">
31
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.rulingFollows" />
32
+        </el-form-item>
33
+        <el-form-item label="核验裁决书意见:" prop="caseStatusName">
34
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.verificaOpinion" />
35
+        </el-form-item>
36
+        <el-form-item label="审核裁决书意见:" prop="caseStatusName" v-if="flag == 2">
37
+          <el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.checkOpinion" />
38
+        </el-form-item>
39
+      </el-form>
40
+      <!-- 画布 -->
41
+      <h4 v-if="flag == 3">签名区域</h4>
42
+      <div class="esign" v-if="flag == 3">
43
+        <vue-esign ref="esign" :width="900" :height="300" bgColor="#ffffff" />
44
+      </div>
45
+      <!-- 清除画布 -->
46
+      <el-button v-if="flag == 3" type="info" @click="handleReset">清除画布</el-button>
47
+      <div slot="footer" class="dialog-footer">
48
+        <el-button type="primary" @click="submitForm(0)" v-if="flag == 1">提 交</el-button>
49
+        <el-button type="primary" @click="submitForm(1)" v-if="flag == 2">同 意</el-button>
50
+        <el-button type="danger" @click="submitForm(2)" v-if="flag == 2">驳 回</el-button>
51
+        <el-button type="primary" @click="submitForm(3)" v-if="flag == 3">提 交</el-button>
52
+        <el-button @click="cancel">取 消</el-button>
53
+      </div>
54
+    </el-dialog>
55
+  </div>
56
+</template>
57
+
58
+<script>
59
+import {
60
+  verificationArbitrateRecord
61
+} from "@/api/awardManagement/awardManagement";
62
+export default {
63
+  props: ["openDialog", "title", "flag", "detailform"],
64
+  data() {
65
+    return {
66
+      // key: value
67
+      form: {},
68
+      arbitrateRecord:{}
69
+    };
70
+  },
71
+  watch: {
72
+    openDialog: {
73
+      handler(val) {
74
+        if (val) {
75
+          setTimeout(() => {
76
+            this.form = this.detailform;
77
+            console.log(this.form, "this.form");
78
+          }, 1000);
79
+        }
80
+      },
81
+    },
82
+  },
83
+  methods: {
84
+    // 校验裁决书
85
+    verificationArbitrateRecordFn(parms){
86
+      verificationArbitrateRecord(parms).then(res=>{
87
+        this.cancel();
88
+        this.$emit("updataList");
89
+        this.$message('成功');
90
+      })
91
+    },
92
+    submitForm(parms) {
93
+      if(parms == 0){
94
+        this.verificationArbitrateRecordFn({id:this.form.id,arbitrateRecord:this.arbitrateRecord})
95
+      }
96
+    },
97
+    cancel() {
98
+      this.$emit("cancelpaymentdetails");
99
+    },
100
+    // 清除画布
101
+    handleReset() {
102
+      this.$refs['esign'].reset() //清空画布
103
+    },
104
+  },
105
+};
106
+</script>
107
+
108
+<style lang="scss" scoped>
109
+::v-deep .el-dialog {
110
+  border-radius: 30px;
111
+}
112
+
113
+.esign {
114
+  border: 1px solid;
115
+}
116
+</style>

+ 174
- 8
src/views/awardManagement/listofAwards.vue Ver arquivo

@@ -1,15 +1,181 @@
1 1
 <template>
2 2
     <div class="app-container">
3
-        裁决书列表
3
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
4
+            <el-form-item label="案件编号" prop="caseNum">
5
+                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
6
+            </el-form-item>
7
+            <el-form-item label="案件状态" prop="caseStatus">
8
+                <el-select v-model="queryParams.caseStatus" placeholder="请选择案件状态" clearable
9
+                    @keyup.enter.native="handleQuery">
10
+                    <el-option v-for="dict in dict.type.case_status" :key="dict.value" :label="dict.label"
11
+                        :value="dict.value"></el-option>
12
+                </el-select>
13
+            </el-form-item>
14
+            <el-form-item label="开庭日期" prop="hearDate">
15
+                <el-date-picker v-model="queryParams.hearDate" type="daterange" range-separator="至" start-placeholder="开始日期"
16
+                    end-placeholder="结束日期">
17
+                </el-date-picker>
18
+            </el-form-item>
19
+            <el-form-item>
20
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
21
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
22
+            </el-form-item>
23
+        </el-form>
24
+        <el-table v-loading="loading" :data="dataList" style="width: 100%">
25
+            <el-table-column label="序号" type="index" align="center">
26
+                <template slot-scope="scope">
27
+                    <span>{{
28
+                        (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
29
+                    }}</span>
30
+                </template>
31
+            </el-table-column>
32
+            <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
33
+            <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" />
34
+            <el-table-column label="立案日期" align="center" prop="registerDate" :show-overflow-tooltip="true" />
35
+            <!-- 缴费人 -->
36
+            <el-table-column label="案件状态" align="center" prop="caseStatusName" />
37
+            <el-table-column label="裁决书状态" align="center" prop="caseStatusName" />
38
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
39
+                <template slot-scope="scope">
40
+                    <el-button size="mini" type="text" icon="el-icon-reading" v-if="scope.row.caseStatus == 10" @click="showModel(scope.row, 0)"
41
+                        v-hasPermi="['monitor:online:forceLogout']">生成裁决书</el-button>
42
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 11" @click="showModel(scope.row, 1)"
43
+                        v-hasPermi="['monitor:online:forceLogout']">核查</el-button>
44
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 12" @click="showModel(scope.row, 2)"
45
+                        v-hasPermi="['monitor:online:forceLogout']">确认裁决书</el-button>
46
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 13" @click="showModel(scope.row, 3)"
47
+                        v-hasPermi="['monitor:online:forceLogout']">签名</el-button>
48
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 14" @click="showModel(scope.row, 4)"
49
+                        v-hasPermi="['monitor:online:forceLogout']">用印申请</el-button>
50
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 15" @click="showModel(scope.row, 5)"
51
+                        v-hasPermi="['monitor:online:forceLogout']">送达裁决书</el-button>
52
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 16" @click="showModel(scope.row, 6)"
53
+                        v-hasPermi="['monitor:online:forceLogout']">案件归档</el-button>
54
+                    <!-- <el-button size="mini" type="text" icon="el-icon-reading" 
55
+                        @click="showModel(scope.row, 0)" v-hasPermi="['monitor:online:forceLogout']">生成裁决书</el-button>
56
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
57
+                        @click="showModel(scope.row, 1)" v-hasPermi="['monitor:online:forceLogout']">核查</el-button>
58
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
59
+                        @click="showModel(scope.row, 2)" v-hasPermi="['monitor:online:forceLogout']">确认裁决书</el-button>
60
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
61
+                        @click="showModel(scope.row, 3)" v-hasPermi="['monitor:online:forceLogout']">签名</el-button>
62
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
63
+                        @click="showModel(scope.row, 4)" v-hasPermi="['monitor:online:forceLogout']">用印申请</el-button>
64
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
65
+                        @click="showModel(scope.row, 5)" v-hasPermi="['monitor:online:forceLogout']">送达裁决书</el-button>
66
+                    <el-button size="mini" type="text" icon="el-icon-edit" 
67
+                        @click="showModel(scope.row, 6)" v-hasPermi="['monitor:online:forceLogout']">案件归档</el-button> -->
68
+                </template>
69
+            </el-table-column>
70
+        </el-table>
71
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
72
+            @pagination="getList(queryParams)" />
73
+        <!-- 弹窗 -->
74
+        <paymentdetailsDialog :openDialog="openDialog" :detailform="detailform" :title="title" :flag="flag"
75
+            @cancelpaymentdetails="cancelpaymentdetails" @updataList="updataList"></paymentdetailsDialog>
4 76
     </div>
5 77
 </template>
6
-
78
+  
7 79
 <script>
8
-    export default {
9
-        
10
-    }
11
-</script>
80
+import {
81
+    caseApplicationList,
82
+    caseApplicationDetail,
83
+} from "@/api/awardManagement/awardManagement";
84
+import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
12 85
 
13
-<style lang="scss" scoped>
86
+export default {
87
+    name: "paymentList",
88
+    dicts: ["case_status"],
89
+    components: { paymentdetailsDialog },
90
+    data() {
91
+        return {
92
+            queryParams: {
93
+                pageNum: 1,
94
+                pageSize: 10,
95
+            },
96
+            // 遮罩层
97
+            loading: false,
98
+            // 总条数
99
+            total: 0,
100
+            // 表格数据
101
+            list: [],
14 102
 
15
-</style>
103
+            // 弹出层标题
104
+            title: "",
105
+            payTitle: "",
106
+            // 是否显示弹出层
107
+            open: false,
108
+            openPay: false,
109
+            // 弹出层内容
110
+            form: {},
111
+            // 校验表单
112
+            rules: {},
113
+            dataList: [],
114
+            detailform: {}, //缴费详情数据
115
+            openDialog: false, //缴费详情数据弹框
116
+            flag: null,
117
+        };
118
+    },
119
+    created() {
120
+        this.queryParams.caseStatusList = [10, 11, 12, 13, 14, 15, 16]
121
+        this.getList(this.queryParams);
122
+    },
123
+    methods: {
124
+        updataList(){
125
+            this.getList(this.queryParams);
126
+        },
127
+        /** 搜索按钮操作 */
128
+        handleQuery() {
129
+            this.queryParams.pageNum = 1;
130
+            this.getList(this.queryParams);
131
+        },
132
+        /** 重置按钮操作 */
133
+        resetQuery() {
134
+            this.resetForm("queryForm");
135
+            this.handleQuery();
136
+        },
137
+        // 查询列表数据
138
+        getList(parms) {
139
+            this.loading = true;
140
+            caseApplicationList(parms).then((response) => {
141
+                this.dataList = response.rows;
142
+                this.total = response.total;
143
+                this.loading = false;
144
+            });
145
+        },
146
+        // model框显示
147
+        showModel(row, type) {
148
+            this.getDetail({ id: row.id });
149
+            this.openDialog = true;
150
+            switch (type) {
151
+                case 1:
152
+                    this.title = "核验裁决书";
153
+                    this.flag = 1;
154
+                    break;
155
+                case 2:
156
+                    this.title = "审核裁决书";
157
+                    this.flag = 2;
158
+                    break;
159
+                case 3:
160
+                    this.title = "裁决书签名";
161
+                    this.flag = 3;
162
+                    break;
163
+                default:
164
+                    break;
165
+            }
166
+        },
167
+        // 关闭弹窗
168
+        cancelpaymentdetails() {
169
+            this.openDialog = false;
170
+        },
171
+        /** 查询详情 */
172
+        getDetail(parms) {
173
+            caseApplicationDetail(parms).then((res) => {
174
+                this.detailform = res.data;
175
+            });
176
+        },
177
+    },
178
+};
179
+</script>
180
+  
181
+<style lang="scss" scoped></style>

+ 2
- 2
vue.config.js Ver arquivo

@@ -11,8 +11,8 @@ const name = process.env.VUE_APP_TITLE || '智慧仲裁管理系统' // 网页
11 11
 
12 12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
13 13
 
14
-// const API = 'http://121.40.189.20:9001'  //测试
15
-const API = 'http://192.168.3.77:8080' //Q
14
+const API = 'http://121.40.189.20:9001'  //测试
15
+// const API = 'http://192.168.3.77:8080' //Q
16 16
 
17 17
 // vue.config.js 配置说明
18 18
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions