package-lock.json
Diff too large src/components/myUpload/index.vue
@@ -1,41 +1,20 @@ <template> <div class="my-upload"> <div v-if="pictureList.length > 0" class="image-box"> <div v-for="image in pictureList" :class="{ 'image-box-item': true, 'image-box-item-cover': isShowUpload }" > <span v-if="isShowUpload" @click="handleDeletePicture(image)" class="image-delete-icon el-icon-delete" ></span> <el-image :key="image" class="image-content" :src="image" :preview-src-list="[image]" ></el-image> <div v-for="image in pictureList" :class="{ 'image-box-item': true, 'image-box-item-cover': isShowUpload }"> <span v-if="isShowUpload" @click="handleDeletePicture(image)" class="image-delete-icon el-icon-delete"></span> <el-image :key="image" class="image-content" :src="setPicUrl(image)" :preview-src-list="[image]"></el-image> </div> </div> <el-upload v-if="isShowUpload && pictureList.length < limit" :file-list="fileList" v-loading="loading" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" action="" :multiple="multiple" :show-file-list="flag" :limit="limit" :list-type="listType" :auto-upload="true" :http-request="handleUpload" style="margin-left: 14px" > <el-upload v-if="isShowUpload && pictureList.length < limit" :file-list="fileList" v-loading="loading" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" action="" :multiple="multiple" :show-file-list="flag" :limit="limit" :list-type="listType" :auto-upload="true" :http-request="handleUpload" style="margin-left: 14px"> <div class="upload-btn"> <i class="el-icon-plus"></i> <span>上传图片</span> @@ -45,6 +24,7 @@ </template> <script> import imageManagement from "@/api/operate/imageManagement"; import { FILE_ORIGINAL_PATH } from "@/utils"; export default { data() { @@ -95,8 +75,6 @@ formData.append('file', file); imageManagement.importImage(formData) .then((url) => { // .then(({ url1, url2, url3, url4 }) => { // const url = url1 ?? url2 ?? url3 ?? url4; this.$emit('setPictureUrl', { url: url }); this.loading = false; }) @@ -109,6 +87,10 @@ handleDeletePicture(imageUrl) { this.$emit("delPictureUrl", { url: imageUrl }); }, setPicUrl(item) { item = item.replace("[", "").replace("]", ""); return FILE_ORIGINAL_PATH + item; } }, props: { pictureList: { @@ -151,6 +133,7 @@ line-height: 22px; } } .image-box { display: flex; flex-wrap: wrap; @@ -193,6 +176,7 @@ width: 100px; height: 100px; } :deep(.el-upload-list__item) { width: 100px; height: 100px; src/components/solveProblem/index.vue
@@ -75,7 +75,6 @@ if (baseCase.dispatchInfo) { this.dispatchInfo = baseCase.dispatchInfo; } debugger if (baseCase.state === 6) { this.active = 1; } else if (baseCase.state === 7) { src/views/layout/components/Main/index.vue
@@ -361,7 +361,7 @@ min-width: 1024px; padding: 0; .content { padding: 11px; padding: 5px; height: 100%; background-color: #F5F9FA; overflow: auto; src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/arrive/index.vue
@@ -2,60 +2,32 @@ <div class="arrive"> <div class="arrive-title">到达现场情况</div> <div class="arrive-form"> <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on" > <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on"> <!-- 到达时间 --> <el-form-item label="到达时间:" prop="arrivalTime"> <el-date-picker v-model="arrive.arrivalTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择到达时间" > <el-date-picker v-model="arrive.arrivalTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择到达时间"> </el-date-picker> </el-form-item> <!-- 到达地址 --> <el-form-item label="到达地址:" prop="arrivalAddress"> <el-input v-model="arrive.arrivalAddress" placeholder="请输入地址" ></el-input> <el-input v-model="arrive.arrivalAddress" placeholder="请输入地址"></el-input> </el-form-item> <!-- 现场情况说明 --> <el-form-item label="现场情况说明:" prop="situationExplain"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.situationExplain" placeholder="请输入情况说明,限制200字以内" ></el-input> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.situationExplain" placeholder="请输入情况说明,限制200字以内"></el-input> </el-form-item> <!-- 信访回复说明 --> <el-form-item label="信访回复说明:" prop="replyExplain"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.replyExplain" placeholder="请输入回访说明,限制200字以内" ></el-input> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.replyExplain" placeholder="请输入回访说明,限制200字以内"></el-input> </el-form-item> <!-- 现场情况照片 --> <el-form-item label="现场情况照片:" prop="situationPic"> <div class="upImg"> <MyUpload :picture-list="arrive.situationPic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl" ></MyUpload> <MyUpload :picture-list="arrive.situationPic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"></MyUpload> <div class="tip"> {{ arrive.situationPic.length }} / 4 </div> @@ -133,6 +105,10 @@ if (this.arriveData) { this.arrive = deepClone(this.arriveData); this.arrive.situationPic = this.arriveData.situationPic.split(','); this.arrive.situationPic.forEach(item => { item = FILE_ORIGINAL_PATH + item }); } }, methods: { @@ -162,8 +138,7 @@ setPicUrl({ url }) { const baseUrl = ''; if (this.arrive.situationPic.length < 4) { this.arrive.situationPic.push(FILE_ORIGINAL_PATH + url) this.arrive.situationPic.push(url) } }, //删除图片 @@ -188,6 +163,7 @@ .upImg { display: flex; overflow: auto; .tip { position: absolute; bottom: 0; @@ -241,5 +217,4 @@ // ::v-deep .el-form-item__label { // color: #4b9bb7; // } </style> // }</style> src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/components/evidence/index.vue
@@ -2,88 +2,45 @@ <div class="evidence"> <div class="evidence-title">调查取证</div> <div class="evidence-form"> <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on" > <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on"> <div class="evidence-item"> <!-- 承办队员 --> <el-form-item label="承办队员:" prop="undertaker"> <el-input v-model="evidence.undertaker" placeholder="请输入姓名" ></el-input> <el-input v-model="evidence.undertaker" placeholder="请输入姓名"></el-input> </el-form-item> <!-- 协办队员 --> <el-form-item label="协办队员:" label-width="100px" prop="assistant" > <el-input v-model="evidence.assistant" placeholder="请输入姓名" ></el-input> <el-form-item label="协办队员:" label-width="100px" prop="assistant"> <el-input v-model="evidence.assistant" placeholder="请输入姓名"></el-input> </el-form-item> </div> <!-- 时间 --> <el-form-item label="时间:" prop="investigationTime"> <el-date-picker v-model="evidence.investigationTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择时间" > <el-date-picker v-model="evidence.investigationTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择时间"> </el-date-picker> </el-form-item> <!-- 地址 --> <el-form-item label="地址:" prop="address"> <el-input v-model="evidence.address" placeholder="请输入地址" ></el-input> <el-input v-model="evidence.address" placeholder="请输入地址"></el-input> </el-form-item> <!-- 案由 --> <el-form-item label="案由:" prop="caseAction"> <el-input v-model="evidence.caseAction" placeholder="请输入案由" ></el-input> <el-input v-model="evidence.caseAction" placeholder="请输入案由"></el-input> </el-form-item> <!-- 当事人信息 --> <el-form-item label="当事人信息:" prop="userInfo" class="sp-user-info" > <el-input suffix-icon="el-icon-s-order" v-model="evidence.userInfo" @focus="openDialog" ></el-input> <el-form-item label="当事人信息:" prop="userInfo" class="sp-user-info"> <el-input suffix-icon="el-icon-s-order" v-model="evidence.userInfo" @focus="openDialog"></el-input> </el-form-item> <!-- 情况描述 --> <el-form-item label="处置结果:" prop="description"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="evidence.description" placeholder="请输入处置结果,限制200字以内" ></el-input> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="evidence.description" placeholder="请输入处置结果,限制200字以内"></el-input> </el-form-item> <!-- 照片附件 --> <el-form-item label="照片附件:" prop="pic"> <div class="upImg"> <MyUpload :picture-list="evidence.pic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl" ></MyUpload> <MyUpload :picture-list="evidence.pic" @setPictureUrl="setPicUrl" @delPictureUrl="delPicUrl"> </MyUpload> <div class="tip">{{ evidence.pic.length }} / 4</div> </div> </el-form-item> @@ -95,19 +52,9 @@ <i class="el-icon-close" @click="closeUserForm"></i> </div> <div class="user-form-content"> <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on" > <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on"> <!-- 类型 --> <el-form-item label="类型:" prop="illegalType" :disabled="true" > <el-form-item label="类型:" prop="illegalType" :disabled="true"> <el-input v-model="user.illegalType"></el-input> </el-form-item> <!-- 姓名、手机号 --> @@ -124,16 +71,9 @@ <!-- 证件 --> <div class="user-item"> <el-form-item label="证件类型:" prop="certificateType"> <el-select v-model="user.certificateType" placeholder="请选择" > <el-option v-for="item in cardOptions" :key="item.id" :label="item.name" :value="item.id" > <el-select v-model="user.certificateType" placeholder="请选择"> <el-option v-for="item in cardOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -145,16 +85,9 @@ <div class="user-item"> <!-- 文化程度 --> <el-form-item label="文化程度:" prop="educationDegree"> <el-select v-model="user.educationDegree" placeholder="请选择" > <el-option v-for="item in degreeOptions" :key="item.id" :label="item.name" :value="item.id" > <el-select v-model="user.educationDegree" placeholder="请选择"> <el-option v-for="item in degreeOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -171,16 +104,9 @@ <div class="user-item"> <!-- 民族 --> <el-form-item label="民族:" prop="nation"> <el-select v-model="user.nation" placeholder="请选择" > <el-option v-for="item in nationOptions" :key="item.id" :label="item.name" :value="item.id" > <el-select v-model="user.nation" placeholder="请选择"> <el-option v-for="item in nationOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -354,6 +280,8 @@ this.$set(this.user, 'illegalType', this.illegalType); if (this.evidenceData) { this.evidence = deepClone(this.evidenceData); console.log(this.evidenceData.pic); this.evidence.pic = this.evidenceData.pic.split(','); this.user = this.evidence.partyInfo; this.evidence.userInfo = this.evidence.partyInfo.name; @@ -420,8 +348,7 @@ setPicUrl({ url }) { const baseUrl = ''; if (this.evidence.pic.length < 4) { this.evidence.pic.push(FILE_ORIGINAL_PATH + url) this.evidence.pic.push(url) } }, //删除图片 @@ -437,9 +364,11 @@ .evidence { line-height: 60px; position: relative; .evidence-item { display: flex; } .evidence-title { line-height: 60px; font-weight: 650; @@ -512,11 +441,13 @@ padding-bottom: 60px; } .sp-user-info { ::v-deep .el-input { width: 200px; } } .user-form-content { padding-top: 20px; src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue
@@ -96,7 +96,7 @@ </script> <style lang="scss" scoped> .vio { padding: 20px 200px 100px; padding: 20px 100px; } .footer { src/views/operate/disposal/casepool/learn/updateUser/uploadResult/components/arrive/index.vue
@@ -2,76 +2,35 @@ <div class="arrive"> <div class="arrive-title">到大现场情况</div> <div class="arrive-form"> <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on" > <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on"> <!-- 到达时间 --> <el-form-item label="到达时间:" prop="arrivalTime"> <el-date-picker v-model="arrive.arrivalTime" type="datetime" placeholder="选择到达时间" > <el-date-picker v-model="arrive.arrivalTime" type="datetime" placeholder="选择到达时间"> </el-date-picker> </el-form-item> <!-- 到达地址 --> <el-form-item label="到达地址:" prop="arrivalAddress"> <el-input v-model="arrive.arrivalAddress" placeholder="请输入地址" ></el-input> <el-input v-model="arrive.arrivalAddress" placeholder="请输入地址"></el-input> </el-form-item> <!-- 现场情况说明 --> <el-form-item label="现场情况说明:" prop="situationExplain"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.situationExplain" placeholder="请输入情况说明,限制200字以内" ></el-input> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.situationExplain" placeholder="请输入情况说明,限制200字以内"></el-input> </el-form-item> <!-- 信访回复说明 --> <el-form-item label="信访回复说明:" prop="replyExplain"> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.replyExplain" placeholder="请输入回访说明,限制200字以内" ></el-input> <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="200" show-word-limit v-model="arrive.replyExplain" placeholder="请输入回访说明,限制200字以内"></el-input> </el-form-item> <!-- 现场情况照片 --> <el-form-item label="现场情况照片:" prop="situationPic"> <div class="upImg"> <div class="img-list"> <img :src="item" alt="" v-for="(item, index) in arrive.situationPic" :key="index" /> <img :src="item" alt="" v-for="(item, index) in arrive.situationPic" :key="index" /> </div> <div class="upload" v-if="arrive.situationPic.length < 4" > <el-upload :file-list="fileList" class="upload-demo" action="/sccg/file/medias" multiple :show-file-list="false" :limit="4" :on-success="handleSuccess" :headers="getToken()" > <div class="upload" v-if="arrive.situationPic.length < 4"> <el-upload :file-list="fileList" class="upload-demo" action="/sccg/file/medias" multiple :show-file-list="false" :limit="4" :on-success="handleSuccess" :headers="getToken()"> <i class="el-icon-plus"></i> </el-upload> </div> @@ -166,6 +125,10 @@ }, // 获取arrive对象 backData() { this.arrive.situationPic.forEach(item => { item = item.replace(FILE_ORIGINAL_PATH, '') }) const { arrive } = this; this.$emit('getArrive', { arrive }); } @@ -225,5 +188,4 @@ // ::v-deep .el-form-item__label { // color: #4b9bb7; // } </style> // }</style> src/views/operate/disposal/casepool/pool/index.vue
@@ -690,7 +690,7 @@ <style lang="scss" scoped> .userList { text-align: left; padding: 10px 20px; padding: 5px 10px; // color: #4b9bb7; border: 1px solid #ccc; header { @@ -722,7 +722,7 @@ // } .el-select { line-height: 40px; line-height: 30px; .el-input { flex: 2; @@ -755,9 +755,6 @@ } main { // background-color: #09152f; margin-top: 20px; .mainTitle { line-height: 60px; } @@ -766,7 +763,7 @@ .nav { display: flex; line-height: 40px; line-height: 30px; .is-active { // background-color: #070f22; //color: #333; @@ -784,7 +781,7 @@ .type-nav { display: flex; line-height: 40px; line-height: 30px; // margin-left: 30px; // margin-top: 2px; src/views/operate/images/updateUser/index.vue
@@ -122,7 +122,6 @@ }, created() { debugger if (this.originalData) { this.imagedata = deepClone(this.originalData); } src/views/operate/management/myIndex/index.vue
@@ -1,6 +1,16 @@ <template> <div class="userList"> <header> <div class="search"> <el-form :inline="true" :model="seachData"> <el-form-item label="事件编号"> <el-input v-model="seachData.code" placeholder="事件编号"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="getUserList">查询</el-button> </el-form-item> </el-form> </div> <div class="problem"> <div class="problem-title">问题类型</div> <el-radio-group v-model="myproblem" @change="changeMyProblem"> @@ -20,21 +30,12 @@ <main> <div class="mainContent"> <!-- 数据展示 --> <el-table border stripe ref="multipleTable" :header-cell-style="{ background: '#F5F5F5', 'font-weight': '650', 'line-height': '45px', }" :data="tableData" style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange" > <el-table-column type="selection" min-width="5"> </el-table-column> <el-table border stripe ref="multipleTable" :header-cell-style="{ background: '#F5F5F5', 'font-weight': '650', 'line-height': '45px', }" :data="tableData" style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange"> <el-table-column type="selection" min-width="5"></el-table-column> <el-table-column prop="code" label="事件编号" min-width="18"> <template slot-scope="scope"> <el-link @click="JumpView(scope.row)">{{ @@ -49,29 +50,17 @@ }}</span> </template> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'category' : 'category'" :label="myproblem === 1 ? '大类名称' : '违建类别'" :min-width="myproblem === 1 ? '10' : '20'" > <el-table-column :prop="myproblem === 1 ? 'category' : 'category'" :label="myproblem === 1 ? '大类名称' : '违建类别'" :min-width="myproblem === 1 ? '10' : '20'"> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'type' : 'site'" :label="myproblem === 1 ? '小类名称' : '违建地点'" min-width="10" > <el-table-column :prop="myproblem === 1 ? 'type' : 'site'" :label="myproblem === 1 ? '小类名称' : '违建地点'" min-width="10"> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'actionCause' : 'communityId'" :label="myproblem === 1 ? '案由' : '所属社区'" min-width="10" > <el-table-column :prop="myproblem === 1 ? 'actionCause' : 'communityId'" :label="myproblem === 1 ? '案由' : '所属社区'" min-width="10"> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'site' : ''" :label="myproblem === 1 ? '报警点位' : '违法建筑长、宽、高'" :min-width="myproblem === 1 ? '10' : '20'" > <el-table-column :prop="myproblem === 1 ? 'site' : ''" :label="myproblem === 1 ? '报警点位' : '违法建筑长、宽、高'" :min-width="myproblem === 1 ? '10' : '20'"> <template slot-scope="scope"> <div v-if="myproblem === 2"> <span>{{ @@ -88,38 +77,23 @@ <div v-else>{{ scope.row.site }}</div> </template> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'street' : 'buildingArea'" :label="myproblem === 1 ? '所属区域' : '违法建筑面积'" min-width="10" > <el-table-column :prop="myproblem === 1 ? 'street' : 'buildingArea'" :label="myproblem === 1 ? '所属区域' : '违法建筑面积'" min-width="10"> </el-table-column> <el-table-column prop="alarmTime" label="报警时间" min-width="15" v-if="myproblem === 1" > <el-table-column prop="alarmTime" label="报警时间" min-width="15" v-if="myproblem === 1"> <template slot-scope="scope"> <span>{{ filterTime(scope.row.alarmTime) }}</span> </template> </el-table-column> <el-table-column :prop="myproblem === 1 ? 'continueTime' : 'materials'" :label="myproblem === 1 ? '持续时间' : '违法建筑材料'" min-width="15" > <el-table-column :prop="myproblem === 1 ? 'continueTime' : 'materials'" :label="myproblem === 1 ? '持续时间' : '违法建筑材料'" min-width="15"> </el-table-column> <el-table-column prop="operation" label="操作" min-width="15"> <template slot-scope="scope"> <div class="btn"> <!-- v-if="instatus===7 ? true : false" --> <span @click="handleExamine(scope.row)" v-if="instatus === 7" >审核</span > <span @click="handleClosure(scope.row)" v-if="instatus === 8" >结案</span > <span style=" color: #2f54eb;" @click="handleExamine(scope.row)" v-if="instatus === 7">审核</span> <span @click="handleClosure(scope.row)" v-if="instatus === 8">结案</span> <span class="line" v-if="instatus !== 9">|</span> <span @click="JumpView(scope.row)">查看</span> </div> @@ -127,82 +101,48 @@ </el-table-column> </el-table> <!-- 审核页面 --> <el-dialog :visible.sync="dialogExamine" width="60%" title="基础信息(人工)" v-if="dialogExamine" :before-close="handleClose" > <MyExamine :info="info" v-if="myproblem === 1" @closeDialog="closeDialog" ></MyExamine> <MyIllExamine :info="info" v-else @closeDialog="closeDialog" ></MyIllExamine> <el-dialog :visible.sync="dialogExamine" width="60%" title="基础信息(人工)" v-if="dialogExamine" :before-close="handleClose"> <MyExamine :info="info" v-if="myproblem === 1" @closeDialog="closeDialog"></MyExamine> <MyIllExamine :info="info" v-else @closeDialog="closeDialog"></MyIllExamine> </el-dialog> <!-- 结案页面 --> <el-dialog :visible.sync="dialogClosure" width="60%" title="基础信息(人工)" v-if="dialogClosure" :before-close="handleClose" > <MyClosure :info="info" v-if="myproblem === 1" @closeDialog="closeDialog" ></MyClosure> <MyIllClosure :info="info" v-else @closeDialog="closeDialog" ></MyIllClosure> <el-dialog :visible.sync="dialogClosure" width="60%" title="基础信息(人工)" v-if="dialogClosure" :before-close="handleClose"> <MyClosure :info="info" v-if="myproblem === 1" @closeDialog="closeDialog"></MyClosure> <MyIllClosure :info="info" v-else @closeDialog="closeDialog"></MyIllClosure> </el-dialog> <!-- 详情页面 --> <el-dialog :visible.sync="dialogView" width="60%" title="基础信息(人工)" v-if="dialogView" :before-close="handleNoClose" > <MyDetail :info="info" v-if="myproblem === 1" :mycode="code" ></MyDetail> <el-dialog :visible.sync="dialogView" width="60%" title="基础信息(人工)" v-if="dialogView" :before-close="handleNoClose"> <MyDetail :info="info" v-if="myproblem === 1" :mycode="code"></MyDetail> <MyIllDetail :info="info" v-else :mycode="code"></MyIllDetail> </el-dialog> <!-- tools --> <!-- <div class="tools"> <div class="funs"> <div class="funsItem funs-sp"> <el-checkbox v-model="all" @change="selectAll()">全选</el-checkbox> </div> <div class="funsItem funs-sp"> <el-checkbox v-model="unsame" @change="disSame(tableData)">反选</el-checkbox> </div> <div class="funsItem"> <el-select v-model="myIdx" placeholder="批量操作" @change="selectChange" disabled> <div class="tools"> <div class="funs"> <div class="funsItem funs-sp"> <el-checkbox v-model="all" @change="selectAll()">全选</el-checkbox> </div> <div class="funsItem funs-sp"> <el-checkbox v-model="unsame" @change="disSame(tableData)">反选</el-checkbox> </div> <div class="funsItem"> <el-button type="primary" @click="mulCheck()">批量通过</el-button> <!-- <el-select v-model="myIdx" placeholder="批量操作" @change="selectChange"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" :disabled="item.disabled"> </el-option> </el-select> </div> </div> <div class="pagination"> <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext"> </el-pagination> </div> </div> --> </el-select> --> </div> </div> <div class="pagination"> <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext"> </el-pagination> </div> </div> </div> </main> </div> @@ -226,6 +166,9 @@ }, data() { return { seachData: { code: "", }, tableData: [], dialogExamine: false, dialogClosure: false, @@ -246,16 +189,8 @@ }, { value: 1, label: "批量启用", }, { value: 2, label: "批量禁用", }, { value: 3, label: "批量删除", }, label: "批量审核", } ], tempList: [], typeList: [ @@ -280,28 +215,42 @@ this.getUserList(); }, methods: { // 批量删除 mulDelete(idArr) { // 批量审核 checkData(idArr) { var url = "" if (this.instatus === 8) { url = "sccg/base_case/end_case_batch" } if (this.instatus === 7) { url = "sccg/check_handle/check_batch" } if(url.length>0){ this.$axios({ method: "delete", url: "sccg/violations/batch_delete?ids=" + idArr, }).then((res) => { this.getUserList(); this.$message({ message: res.message, type: res.code === 200 ? "success" : "warning", }); }); }, // 执行下拉框操作 selectChange(list) { if (this.tempList.length !== 0) { if (list === 3) { this.preMyIdx = list; this.mulDelete(this.tempList); method: 'post', url: url, data: { ids: idArr } }) .then(res => { if (res.code === 200) { this.currentPage = 0; this.getUserList(); this.$message({ message: res.message, type: res.code === 200 ? "success" : "warning", }); } }); } }, // 执行下拉框操作 mulCheck() { if (this.tempList.length !== 0) { this.checkData(this.tempList); } else { this.myIdx = this.preMyIdx; this.$message({ type: "warning", message: "您还没选中任何数据", @@ -312,7 +261,7 @@ tableChange(list) { this.tempList = []; list.forEach((item) => { this.tempList.push(item.code); this.tempList.push(item.id); }); this.all = list.length === this.tableData.length; }, @@ -342,14 +291,21 @@ this.getUserList(); }); }) .catch((_) => {}); .catch((_) => { }); }, // 获取用户列表 getUserList() { const { currentPage, pageSize, instatus, myproblem } = this; if (this.seachData.code.length > 0) { this.instatus = -1 } else if(this.instatus == -1){ this.instatus = 7 } const { currentPage, pageSize, instatus, myproblem, seachData } = this; this.$axios({ method: "get", url: `sccg/base_case/query?state=${instatus}¤t=${currentPage}&size=${pageSize}&type=${myproblem}`, url: `sccg/base_case/query?state=${instatus}¤t=${currentPage}&size=${pageSize}&type=${myproblem}&code=${seachData.code}`, }).then((res) => { this.totalNum = res.data.total; this.tableData = res.data.records; @@ -384,7 +340,7 @@ this.dialogExamine = false; done(); }) .catch((_) => {}); .catch((_) => { }); }, handleNoClose(done) { done(); @@ -439,10 +395,14 @@ }, // 问题类型 changeMyProblem(val) { this.seachData.code = ''; this.currentPage = 0; this.getUserList(); }, // 审核状态 changeInStatus(val) { this.seachData.code = ''; this.currentPage = 0; this.getUserList(); }, filterTime(time) { @@ -452,11 +412,16 @@ }; </script> <style lang="scss" scoped> .search { line-height: 20px; } .userList { text-align: left; padding: 10px 20px; padding: 5px 10px; // color: #4b9bb7; border: 1px solid #ccc; header { // background-color: #09152f; //padding: 10px 20px; @@ -465,7 +430,7 @@ .status { display: flex; align-items: center; line-height: 40px; line-height: 30px; } .problem-title, @@ -476,30 +441,40 @@ &::v-deep .el-input__inner { // background-color: #09152f; border: 1px solid #17324c; // border: 1px solid #17324c; line-height: 30px; } &::v-deep .el-form-item { margin-bottom: 5px; } main { // background-color: #09152f; margin-top: 20px; margin-top: 10px; padding-bottom: 50px; .btn span:hover { cursor: pointer; } .tools { display: flex; justify-content: space-between; align-items: center; //padding: 0 20px; //padding: 0 20px; .funs { display: flex; .funs-first { margin-left: 0 !important; } .funs-sp { border: 1px solid #dcdfe6; } .funsItem { line-height: 28px; display: flex; @@ -538,19 +513,7 @@ line-height: 50px; justify-content: center; .el-pagination { &::v-deep li, &::v-deep .btn-prev, &::v-deep .btn-next { background-color: #071f39; color: #4b9bb7; } &::v-deep .active { background-color: #409eff; color: #fff; } } .el-pagination {} } } @@ -562,9 +525,6 @@ text-overflow: ellipsis; white-space: nowrap; overflow: hidden; .el-checkbox { display: none; } } // &::v-deep .el-table__empty-block { @@ -581,7 +541,9 @@ .line { padding: 0 5px; } color: var(--operation-color); span:hover { cursor: pointer; } @@ -631,11 +593,11 @@ } &::v-deep .el-dialog__header, // &::v-deep .el-dialog__body { // background-color: #06122c; // } // &::v-deep .el-dialog__body { // background-color: #06122c; // } &::v-deep .el-dialog__header { &::v-deep .el-dialog__header { display: flex; align-items: center; background-color: #fff; vue.config.js
@@ -39,9 +39,8 @@ proxy: { // 跨域配置 "/sccg": { // target: `http://42.193.1.25/`, //测试环境 target: `http://111.1.140.92:28081/`, // target: `http://10.88.10.18:8082/`, // target: `http://42.193.1.25/`, target: `http://127.0.0.1:8082/`, changeOrigin: true } },