odc.xiaohui
2023-03-08 d24c9dde20cba23b96082b4db81b5223c75e4ea9
src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/book/index.vue
@@ -7,8 +7,8 @@
                    <!-- 文书种类 -->
                    <el-form-item label="文书种类:" prop="writType">
                        <el-select v-model="book.writType" placeholder="请输入文书种类">
                            <el-option v-for="item in kindList" :key="item.value" :label="item.label"
                                :value="item.value">
                            <el-option v-for="item in kindList" :key="item.id" :label="item.name"
                                :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
@@ -18,17 +18,17 @@
                    </el-form-item>
                </div>
                <!-- 违法类型 -->
                <el-form-item label="违法类型:" prop="illegalType" placeholder="请输入违法类型">
                    <el-input v-model="book.illegalType" placeholder="请输入违法类型"></el-input>
                <el-form-item label="违法类型:" prop="illegalType" >
                    <el-input v-model="basecase" ></el-input>
                </el-form-item>
                <!-- 文书发放时间 -->
                <el-form-item label="文书发放时间:" prop="sendTime">
                    <el-date-picker v-model="book.sendTime" type="datetime" placeholder="请选择年月日">
                    <el-date-picker v-model="book.sendTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择年月日">
                    </el-date-picker>
                </el-form-item>
                <!-- 文书限定时间 -->
                <el-form-item label="文书限定时间" prop="limitTime">
                    <el-date-picker v-model="book.limitTime" type="datetime" placeholder="请选择年月日">
                    <el-date-picker v-model="book.limitTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择年月日">
                    </el-date-picker>
                </el-form-item>
                <!-- 文书发放内容 -->
@@ -37,7 +37,7 @@
                </el-form-item>
                <!-- 实际整改时间 -->
                <el-form-item label="实际整改时间:" prop="rectifyTime">
                    <el-date-picker v-model="book.rectifyTime" type="datetime" placeholder="请选择年月日">
                    <el-date-picker v-model="book.rectifyTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择年月日">
                    </el-date-picker>
                </el-form-item>
                <!-- 整改情况 -->
@@ -51,64 +51,28 @@
                <!-- 文书照片上传 -->
                <el-form-item label="文书照片上传:" prop="writPic">
                    <div class="upImg">
                        <div class="img-list">
                            <img :src="item" alt="" v-for="(item,index) in book.writPic" :key="index">
                        </div>
                        <div class="upload" v-if="book.writPic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess1" :headers="getToken()">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div>
                        <MyUpload  @setPictureUrl="writPic" @delPictureUrl="delWritPic" :picture-list="book.writPic"></MyUpload>
                        <div class="tip">{{book.writPic.length}} / 4</div>
                    </div>
                </el-form-item>
                <!-- 整改前照片 -->
                <el-form-item label="整改前照片:" prop="originalPic">
                    <div class="upImg">
                        <div class="img-list">
                            <img :src="item" alt="" v-for="(item,index) in book.originalPic" :key="index">
                        </div>
                        <div class="upload" v-if="book.originalPic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess2" :headers="getToken()">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div>
                     <div class="upImg">
                        <MyUpload  @setPictureUrl="originalPic" @delPictureUrl="delOriginalPic" :picture-list="book.originalPic"></MyUpload>
                        <div class="tip">{{book.originalPic.length}} / 4</div>
                    </div>
                </el-form-item>
                <!-- 整改后照片 -->
                <el-form-item label="整改后照片:" prop="rectifiedPic">
                    <div class="upImg">
                        <div class="img-list">
                            <img :src="item" alt="" v-for="(item,index) in book.rectifiedPic" :key="index">
                        </div>
                        <div class="upload" v-if="book.rectifiedPic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess3" :headers="getToken()">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div>
                        <MyUpload  @setPictureUrl="rectifiedPic" @delPictureUrl="delRectifiedPic" :picture-list="book.rectifiedPic"></MyUpload>
                        <div class="tip">{{book.rectifiedPic.length}} / 4</div>
                    </div>
                </el-form-item>
                <!-- 其他照片 -->
                <el-form-item label="其他:" prop="otherPic">
                    <div class="upImg">
                        <div class="img-list">
                            <img :src="item" alt="" v-for="(item,index) in book.otherPic" :key="index">
                        </div>
                        <div class="upload" v-if="book.otherPic.length<4">
                            <el-upload :file-list="fileList" class="upload-demo"
                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
                                :limit="4" :on-success="handleSuccess4" :headers="getToken()">
                                <i class="el-icon-plus"></i>
                            </el-upload>
                        </div>
                        <MyUpload  @setPictureUrl="otherPic" @delPictureUrl="delOtherPic" :picture-list="book.otherPic"></MyUpload>
                        <div class="tip">{{book.otherPic.length}} / 4</div>
                    </div>
                </el-form-item>
@@ -117,7 +81,12 @@
    </div>
</template>
<script>
import {deepClone, getCodeList} from '@/utils/helper'
import MyUpload from "@/components/myUpload"
export default {
    components: {
        MyUpload
    },
    data() {
        const checkKind = (rule, value, callback) => {
            if (value) {
@@ -182,6 +151,27 @@
                callback(new Error('发放内容不能为空'));
            }
        }
        const checkRectPic = (rule, value, callback) => {
            if (value.length!==0) {
                callback();
            } else {
                callback(new Error('整改后照片不能为空'));
            }
        }
        const checkWritPic = (rule, value, callback) => {
            if (value.length!==0) {
                callback();
            } else {
                callback(new Error('文书照片不能为空'));
            }
        }
        const checkOrgPic = (rule, value, callback) => {
            if (value.length !==0) {
                callback();
            } else {
                callback(new Error('整改前照片不能为空'));
            }
        }
        return {
            book: {
                writPic: [],
@@ -192,17 +182,12 @@
            bookRules: {
                writType: [
                    {
                        trigger: 'blur', validator: checkKind
                        trigger: 'change', validator: checkKind
                    }
                ],
                idwritCode: [
                writCode: [
                    {
                        trigger: 'blur', validator: checkId
                    }
                ],
                illegalType: [
                    {
                        trigger: 'blur', validator: checkVio
                    }
                ],
                sendTime: [
@@ -235,6 +220,19 @@
                        trigger: 'blur', validator: checkNote
                    }
                ],
                writPic: [{
                    trigger: 'blur', validator: checkWritPic
                }],
                rectifiedPic: [
                    {
                        trigger: 'blur', validator: checkRectPic
                    }
                ],
                originalPic: [
                    {
                        trigger: 'blur', validator: checkOrgPic
                    }
                ],
            },
            fileList: [],
            kindList: [
@@ -246,40 +244,43 @@
                    label: '书籍2',
                    value: 2,
                },
            ]
            ],
            basecase:""
        }
    },
    created() {
        console.log(this.book.writPic)
      this.getBookType();
      this.basecase = this.illegalType;
      if (this.writ) {
        this.book = deepClone(this.writ);
        this.book.originalPic = this.writ.originalPic.split(',');
        this.book.writPic = this.writ.writPic.split(',');
        this.book.otherPic = this.writ.otherPic.split(',');
        this.book.rectifiedPic = this.writ.rectifiedPic.split(',');
      }
    },
    props: ['caseId', 'closeDialog'],
    props: ['caseId', 'closeDialog','mycode', 'writ', 'illegalType'],
    methods: {
        handleSuccess1(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(res);
            // this.$set(this.book, 'writPic', baseUrl + res.data.url1);
            // console.log(this.book.writPic);
            if (this.book.writPic.length < 4) {
                this.book.writPic.push(baseUrl + res.data.url1)
            }
        },
        handleSuccess2(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(res);
            if (this.book.originalPic.length < 4) {
                this.book.originalPic.push(baseUrl + res.data.url1)
            }
        },
        handleSuccess3(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(res);
            if (this.book.rectifiedPic.length < 4) {
                this.book.rectifiedPic.push(baseUrl + res.data.url1)
            }
        },
        handleSuccess4(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(res);
            if (this.book.otherPic.length < 4) {
                this.book.otherPic.push(baseUrl + res.data.url1)
            }
@@ -291,6 +292,90 @@
                return { Authorization: tokenHead + token }
            }
        },
            // 设置上传成功之后的图片地址
            writPic({ url }) {
            const baseUrl = 'http://140.143.152.226:8410/';
            if (this.book.originalPic.length < 4) {
                this.book.writPic.push(baseUrl + url)
            }
        },
        //删除图片
        delWritPic({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            this.book.writPic.splice(this.book.writPic.indexOf(baseUrl + url),1);
        },
 // 设置上传成功之后的图片地址
        otherPic({ url }) {
            const baseUrl = 'http://140.143.152.226:8410/';
            if (this.book.otherPic.length < 4) {
                this.book.otherPic.push(baseUrl + url)
            }
        },
        //删除图片
        delOtherPic({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            this.book.otherPic.splice(this.book.otherPic.indexOf(baseUrl + url),1);
        },
         // 设置上传成功之后的图片地址
         rectifiedPic({ url }) {
            const baseUrl = 'http://140.143.152.226:8410/';
            if (this.book.otherPic.length < 4) {
                this.book.rectifiedPic.push(baseUrl + url)
            }
        },
        //删除图片
        delRectifiedPic({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            this.book.rectifiedPic.splice(this.book.rectifiedPic.indexOf(baseUrl + url),1);
        },
         // 设置上传成功之后的图片地址
         originalPic({ url }) {
            const baseUrl = 'http://140.143.152.226:8410/';
            if (this.book.otherPic.length < 4) {
                this.book.originalPic.push(baseUrl + url)
            }
        },
        //删除图片
        delOriginalPic({url}){
            const baseUrl = 'http://140.143.152.226:8410/';
            this.book.originalPic.splice(this.book.originalPic.indexOf(baseUrl + url),1);
        },
        // 获取文书种类
        async getBookType(){
            let arr
            arr = await getCodeList('15');
            this.kindList = arr;
        }
    },
    watch: {
        'book.writPic.length': {
            handler(newLen, oldLen) {
                if (newLen !== 0) {
                    this.$refs.bookForm.validateField('writPic');
                }
            },
            deep: true,
        },
        'book.rectifiedPic.length': {
            handler(newLen, oldLen) {
                if (newLen !== 0) {
                    this.$refs.bookForm.validateField('rectifiedPic');
                }
            },
            deep: true,
        },
        'book.originalPic.length': {
            handler(newLen, oldLen) {
                if (newLen !== 0) {
                    this.$refs.bookForm.validateField('originalPic');
                }
            },
            deep: true,
        }
    }
}
</script>
@@ -331,26 +416,40 @@
    }
    .img-list {
        height: 80px;
        height: 60px;
        position: relative;
        display: flex;
        img {
            width: 60px;
            height: 60px;
        }
        .img {
            height: 60px;
            position: relative;
            margin-right: 10px;
        }
        .myicon {
            position: absolute;
            top: 0px;
            right: 0px;
            color: #4b9bb7;
        }
    }
}
::v-deep .el-textarea__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
}
// ::v-deep .el-textarea__inner {
//     // background-color: #09152f;
//     border: 1px solid #17324c;
// }
::v-deep .el-input__count {
    background-color: #09152f;
}
// ::v-deep .el-input__count {
//     // background-color: #09152f;
// }
::v-deep .el-form-item__label {
    color: #4b9bb7;
}
// ::v-deep .el-form-item__label {
//     color: #4b9bb7;
// }
</style>