fz před 2 roky
rodič
revize
61eec5a011

+ 16
- 0
src/api/officialSeal/officialSeal.js Zobrazit soubor

@@ -25,3 +25,19 @@ export function selectDeptIndefiUrl(data) {
25 25
         data: data
26 26
     })
27 27
 }
28
+// 新增机构
29
+export function insert(data) {
30
+    return request({
31
+        url: '/deptIdentify/insert',
32
+        method: 'post',
33
+        data: data
34
+    })
35
+}
36
+// 查询公章列表
37
+export function sealList(data) {
38
+    return request({
39
+        url: '/deptIdentify/sealList',
40
+        method: 'get',
41
+        params: data
42
+    })
43
+}

+ 89
- 0
src/views/officialSeal/components/addInstitution.vue Zobrazit soubor

@@ -0,0 +1,89 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="新增机构" :visible="operateVisable" @close="cancel" width="600px" center :distroy-on-close="true">
4
+            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
5
+                <el-form-item label="机构名称" prop="identifyName">
6
+                    <el-input v-model="ruleForm.identifyName"></el-input>
7
+                </el-form-item>
8
+                <el-form-item label="经办人姓名" prop="operName">
9
+                    <el-input v-model="ruleForm.operName"></el-input>
10
+                </el-form-item>
11
+                <el-form-item label="经办人手机号" prop="operPhone">
12
+                    <el-input v-model="ruleForm.operPhone"></el-input>
13
+                </el-form-item>
14
+            </el-form>
15
+            <div slot="footer" class="dialog-footer">
16
+                <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
17
+                <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
18
+            </div>
19
+        </el-dialog>
20
+    </div>
21
+</template>
22
+<script>
23
+import {
24
+    insert
25
+} from "@/api/officialSeal/officialSeal.js";
26
+export default {
27
+    props: ["operateVisable",],
28
+    data() {
29
+        return {
30
+            ruleForm: {},
31
+            rules: {
32
+                identifyName: [
33
+                    { required: true, message: '请输入机构名称', trigger: 'blur' },
34
+                    // { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
35
+                ],
36
+                operName: [
37
+                    { required: true, message: '请输入经办人姓名', trigger: 'blur' },
38
+                ],
39
+                operPhone: [
40
+                    { required: true, message: '请输入手机号', trigger: 'blur' },
41
+                    { pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的手机号码', trigger: 'blur', },
42
+                ],
43
+            }
44
+        };
45
+    },
46
+    watch: {
47
+        operateVisable(val) {
48
+            if (val) {
49
+
50
+            }
51
+        }
52
+    },
53
+    created() {
54
+
55
+    },
56
+    methods: {
57
+        // 新增部门
58
+        insertFn(data){
59
+            insert(data).then(res=>{
60
+                this.$modal.msgSuccess("新增成功!");
61
+                this.$emit("cancelFilingreview");
62
+                this.$emit('getList');
63
+            })
64
+        },
65
+        // 提交form表单
66
+        submitForm() {
67
+            this.$refs['ruleForm'].validate((valid) => {
68
+                if (valid) {
69
+                    this.insertFn(this.ruleForm)
70
+                } 
71
+            });
72
+        },
73
+        cancel() {
74
+            this.$emit("cancelFilingreview");
75
+        },
76
+    },
77
+};
78
+</script>
79
+  
80
+<style lang="scss" scoped>
81
+.steps {
82
+    display: flex;
83
+    flex-wrap: wrap;
84
+}
85
+
86
+.radiobox {
87
+    margin-top: 30px;
88
+}
89
+</style>

+ 89
- 0
src/views/officialSeal/components/sealManage.vue Zobrazit soubor

@@ -0,0 +1,89 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="公章列表" :visible="sealVisable" @close="cancel" width="800px" center :distroy-on-close="true">
4
+            <el-table :data="dataList" style="width: 100%">
5
+                <el-table-column label="序号" type="index" align="center">
6
+                    <template slot-scope="scope">
7
+                        <span>{{
8
+                            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
9
+                        }}</span>
10
+                    </template>
11
+                </el-table-column>
12
+                <el-table-column label="印章名称" align="center" prop="sealName"
13
+                    :show-overflow-tooltip="true"></el-table-column>
14
+                <el-table-column label="印章图片" align="center" prop="annexPath">
15
+                    <template slot-scope="scope">
16
+                        <!-- <el-image style="width: 40px; height: 40px;"
17
+                            :src="imgUrl + scope.row.annexPath"
18
+                            :preview-src-list="srcList">
19
+                        </el-image> -->
20
+                        <span>{{ imgUrl + scope.row.annexPath }}</span>
21
+                    </template>
22
+                </el-table-column>
23
+                <el-table-column label="是否启用" align="center" prop="sealStatus">
24
+                    <template slot-scope="scope">
25
+                        <el-tag type="success" v-if="scope.row.isUse == 1">已启用</el-tag>
26
+                        <el-tag type="info" v-if="scope.row.isUse == 0">未启用</el-tag>
27
+                    </template>
28
+                </el-table-column>
29
+                <el-table-column label="操作" align="center">
30
+                    <template slot-scope="scope">
31
+                        <el-button size="mini" @click="DeptIndefiUrl(scope.row)" type="text" icon="el-icon-thumb"
32
+                        v-if="scope.row.isUse == 0">启用</el-button>
33
+                        <el-button size="mini" @click="DeptIndefiUrl(scope.row)" type="text" icon="el-icon-thumb"
34
+                        v-if="scope.row.isUse == 1">禁用</el-button>
35
+                    </template>
36
+                </el-table-column>
37
+            </el-table>
38
+        </el-dialog>
39
+    </div>
40
+</template>
41
+<script>
42
+import {
43
+    sealList
44
+} from "@/api/officialSeal/officialSeal.js";
45
+export default {
46
+    props: ["sealVisable","sealData"],
47
+    data() {
48
+        return {
49
+            srcList: ["https://img2.baidu.com/it/u=1814561676,2470063876&fm=253&fmt=auto&app=138&f=JPEG?w=750&h=500"],
50
+            queryParams: {
51
+                pageNum: 1,
52
+                pageSize: 10,
53
+            },
54
+            dataList: [
55
+                
56
+            ],
57
+            imgUrl:""
58
+        };
59
+    },
60
+    watch: {
61
+        sealVisable(val) {
62
+            if (val) {
63
+                this.sealListFn({id:this.sealData.id})
64
+                // console.log(this.sealData,"LLLLLLLLLLLLLLLLL");
65
+            }
66
+        }
67
+    },
68
+    created() {
69
+        this.UploadUrl()
70
+    },
71
+    methods: {
72
+        UploadUrl() {
73
+            this.imgUrl = window.location.origin;
74
+        },
75
+        // 查询列表数据
76
+        sealListFn(data){
77
+            sealList(data).then(res=>{
78
+                this.dataList = res.rows;
79
+            })
80
+        },
81
+        cancel() {
82
+            this.$emit("cancelSeal");
83
+        },
84
+
85
+    },
86
+};
87
+</script>
88
+  
89
+<style lang="scss" scoped></style>

+ 107
- 0
src/views/officialSeal/components/uploadSeal.vue Zobrazit soubor

@@ -0,0 +1,107 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="上传公章" :visible="uploadVisable" v-if="uploadVisable" @close="cancel" width="600px" center>
4
+            <el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload" :action="UploadUrl()"
5
+                :headers="headers" :data="filedata" :on-remove="handleRemove" :on-change="handleChange"
6
+                :show-file-list="false" :file-list="fileList" :auto-upload="false">
7
+                <img v-if="imageUrl" :src="imageUrl" class="avatar">
8
+                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
9
+            </el-upload>
10
+            <div slot="footer" class="dialog-footer">
11
+                <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
12
+                <el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
13
+            </div>
14
+        </el-dialog>
15
+    </div>
16
+</template>
17
+<script>
18
+import { getToken } from "@/utils/auth";
19
+export default {
20
+    props: ["uploadVisable", "uploadData"],
21
+    data() {
22
+        return {
23
+            fileList: [],
24
+            data: [],
25
+            headers: {
26
+                Authorization: "Bearer " + getToken(),
27
+            },
28
+            filedata: {
29
+                id: this.uploadData.id
30
+            },
31
+            flagBtn: false,
32
+            imageUrl: ""
33
+        };
34
+    },
35
+    watch: {
36
+        uploadVisable(val) {
37
+            if (val) {
38
+                this.imageUrl = ""
39
+            }
40
+        }
41
+    },
42
+    created() {
43
+
44
+    },
45
+    methods: {
46
+        // 提交
47
+        submitForm() {
48
+
49
+        },
50
+        cancel() {
51
+            this.$emit("cancelUpload");
52
+        },
53
+        handleChange(file, fileList) {
54
+            this.imageUrl = URL.createObjectURL(file.raw);
55
+        },
56
+        UploadUrl() {
57
+            return window.location.origin + "/API/deptIdentify/sealUpload";
58
+        },
59
+        submitUpload() {
60
+            this.filedata.id = this.uploadData.id
61
+            this.$refs.upload.submit();
62
+        },
63
+        handleRemove(file, fileList) {
64
+            console.log(file, fileList);
65
+        },
66
+        beforeUpload(file) {
67
+            const isImg = file.type === 'image/png'
68
+            if (!isImg) {
69
+                this.$message.error('只能上传图片格式的文件')
70
+            }
71
+            return isImg
72
+        },
73
+        handleSuccess(){
74
+            this.$message.success('上传成功')
75
+        }
76
+    },
77
+};
78
+</script>
79
+  
80
+<style lang="scss" scoped>
81
+::v-deep .avatar-uploader .el-upload {
82
+    width: 178px;
83
+    height: 178px;
84
+    border: 1px dashed #d9d9d9;
85
+    border-radius: 6px;
86
+    cursor: pointer;
87
+}
88
+
89
+::v-deep .avatar-uploader .el-upload:hover {
90
+    border-color: #409EFF;
91
+}
92
+
93
+::v-deep .avatar-uploader-icon {
94
+    font-size: 28px;
95
+    color: #8c939d;
96
+    width: 178px;
97
+    height: 178px;
98
+    line-height: 178px;
99
+    text-align: center;
100
+}
101
+
102
+::v-deep .avatar {
103
+    width: 178px;
104
+    height: 178px;
105
+    display: block;
106
+}
107
+</style>

+ 59
- 16
src/views/officialSeal/officialSealList.vue Zobrazit soubor

@@ -1,5 +1,11 @@
1 1
 <template>
2 2
     <div class="app-container">
3
+        <el-row :gutter="10" class="mb8">
4
+            <el-col :span="1.5">
5
+                <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addInstitution">新增部门</el-button>
6
+                <!-- v-hasPermi="['caseManagement:list:add']" -->
7
+            </el-col>
8
+        </el-row>
3 9
         <el-table v-loading="loading" :data="dataList" style="width: 100%">
4 10
             <el-table-column label="序号" type="index" align="center">
5 11
                 <template slot-scope="scope">
@@ -8,11 +14,10 @@
8 14
                     }}</span>
9 15
                 </template>
10 16
             </el-table-column>
11
-            <el-table-column label="仲裁机构名称" align="center" prop="deptName" :show-overflow-tooltip="true" />
12
-            <el-table-column label="公章名称" align="center" prop="sealName" :show-overflow-tooltip="true" />
13
-            <el-table-column label="经办人姓名" align="center" prop="nickName" :show-overflow-tooltip="true" />
14
-            <el-table-column label="经办人手机号" align="center" prop="phonenumber" :show-overflow-tooltip="true" />
15
-            <el-table-column label="认证时间" align="center" prop="updateTime" />
17
+            <el-table-column label="仲裁机构名称" align="center" prop="identifyName" :show-overflow-tooltip="true" />
18
+            <el-table-column label="经办人姓名" align="center" prop="operName" :show-overflow-tooltip="true" />
19
+            <el-table-column label="经办人手机号" align="center" prop="operPhone" :show-overflow-tooltip="true" />
20
+            <el-table-column label="认证时间" align="center" prop="identifyDate" />
16 21
             <el-table-column label="认证状态" align="center" prop="identifyStatus" :show-overflow-tooltip="true" />
17 22
             <el-table-column label="是否启用" align="center" prop="isUse"></el-table-column>
18 23
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -21,12 +26,21 @@
21 26
                         v-if="scope.row.identifyStatus == '未认证'">认证</el-button>
22 27
                     <el-button size="mini" @click="changeStatus(scope.row)" type="text" icon="el-icon-thumb"
23 28
                         v-if="scope.row.isUse == '未启用' && scope.row.identifyStatus == '已认证'">启用</el-button>
29
+                    <el-button size="mini" @click="uploadSeal(scope.row)" type="text"
30
+                        v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">上传公章</el-button>
31
+                        <el-button size="mini" @click="sealManage(scope.row)" type="text"
32
+                        v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">公章管理</el-button>
24 33
                 </template>
25 34
             </el-table-column>
26 35
         </el-table>
27 36
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
28 37
             @pagination="getList(queryParams)" />
29
-
38
+        <addInstitution :operateVisable="operateVisable" @cancelFilingreview="cancelFilingreview" @getList="getList">
39
+        </addInstitution>
40
+        <uploadSeal :uploadVisable="uploadVisable" @cancelUpload="cancelUpload" :uploadData="uploadData" @getList="getList">
41
+        </uploadSeal>
42
+        <sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData">
43
+        </sealManage>
30 44
     </div>
31 45
 </template>
32 46
   
@@ -34,21 +48,25 @@
34 48
 import {
35 49
     deptIdentifyList,
36 50
     enableDept,
37
-    selectDeptIndefiUrl
51
+    selectDeptIndefiUrl,
38 52
 } from "@/api/officialSeal/officialSeal.js";
39 53
 
40
-import { getDicts } from '@/api/system/dict/data.js'
54
+import addInstitution from "./components/addInstitution";
55
+import uploadSeal from "./components/uploadSeal";
56
+import sealManage from "./components/sealManage";
41 57
 export default {
42 58
     name: "paymentList",
43
-    dicts: ["case_status"],
44
-    components: {},
59
+    components: {
60
+        addInstitution,
61
+        uploadSeal,
62
+        sealManage
63
+    },
45 64
     data() {
46 65
         return {
47 66
             queryParams: {
48 67
                 pageNum: 1,
49 68
                 pageSize: 10,
50 69
             },
51
-            caseStatus: [],
52 70
             // 遮罩层
53 71
             loading: false,
54 72
             // 总条数
@@ -57,16 +75,41 @@ export default {
57 75
             form: {},
58 76
             // 校验表单
59 77
             rules: {},
60
-            dataList: [],
78
+            dataList: [1],
79
+            operateVisable: false,//新增弹窗
80
+            uploadVisable: false,//上传弹窗
81
+            sealVisable:false,//公章列表弹窗
82
+            uploadData: {},
83
+            sealData:{}
61 84
         };
62 85
     },
63 86
     created() {
64
-        getDicts("case_status").then(res => {
65
-            this.caseStatus = res.data;
66
-            this.getList(this.queryParams);
67
-        })
87
+        this.getList(this.queryParams)
68 88
     },
69 89
     methods: {
90
+        // 公章管理
91
+        sealManage(row){
92
+            this.sealVisable = true;
93
+            this.sealData = row;
94
+        },
95
+        cancelSeal(){
96
+            this.sealVisable = false;
97
+        },
98
+        // 上传公章
99
+        uploadSeal(row) {
100
+            this.uploadVisable = true;
101
+            this.uploadData = row;
102
+        },
103
+        cancelFilingreview() {
104
+            this.operateVisable = false;
105
+        },
106
+        cancelUpload() {
107
+            this.uploadVisable = false;
108
+        },
109
+        // 新增部门
110
+        addInstitution() {
111
+            this.operateVisable = true;
112
+        },
70 113
         // 启用认证按钮
71 114
         changeStatus(row) {
72 115
             this.$modal.confirm('是否进行启用?')

+ 2
- 2
vue.config.js Zobrazit soubor

@@ -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://121.40.189.20:8001'  //测试
14
+// const API = 'http://121.40.189.20:9001'  //生产
15
+const API = 'http://121.40.189.20:8001'  //测试
16 16
 // const API = 'http://192.168.3.18:9001'  //B
17 17
 // const API = 'http://192.168.3.77:9001' //Q
18 18