Commit 006cc67aa111e4ef604c78ecb33f2bfd6824d0dd
1 parent
51ff8a48
巡查上报
Showing
7 changed files
with
560 additions
and
315 deletions
src/views/DisposalSuggestions/Form.vue
| ... | ... | @@ -7,59 +7,46 @@ |
| 7 | 7 | <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" :disabled="!!isDetail" :rules="rules" v-loading="loading"> |
| 8 | 8 | <el-col :span="24" v-if="false" > |
| 9 | 9 | <el-form-item label="主键" prop="id"> |
| 10 | - <el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 10 | + <el-input v-model="dataForm.id" placeholder="--" clearable :style='{"width":"100%"}' > | |
| 11 | 11 | </el-input> |
| 12 | 12 | </el-form-item> |
| 13 | 13 | </el-col> |
| 14 | - <el-col :span="24"> | |
| 15 | - <el-form-item label="来源" prop="source"> | |
| 16 | - <el-select v-model="dataForm.source" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 17 | - <el-option v-for="(item, index) in sourceOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 18 | - </el-select> | |
| 19 | - </el-form-item> | |
| 20 | - </el-col> | |
| 21 | - <el-col :span="24"> | |
| 14 | + <el-col :span="12"> | |
| 22 | 15 | <el-form-item label="平台名称" prop="platformName"> |
| 23 | - <el-input v-model="dataForm.platformName" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 16 | + <el-input v-model="dataForm.platformName" placeholder="--" clearable :style='{"width":"100%"}' > | |
| 24 | 17 | </el-input> |
| 25 | 18 | </el-form-item> |
| 26 | 19 | </el-col> |
| 27 | - <el-col :span="24"> | |
| 20 | + <el-col :span="12"> | |
| 28 | 21 | <el-form-item label="平台类型" prop="platformType"> |
| 29 | - <el-select v-model="dataForm.platformType" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 22 | + <el-select v-model="dataForm.platformType" placeholder="--" clearable :style='{"width":"100%"}' > | |
| 30 | 23 | <el-option v-for="(item, index) in platformTypeOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> |
| 31 | 24 | </el-select> |
| 32 | 25 | </el-form-item> |
| 33 | 26 | </el-col> |
| 34 | - <el-col :span="24"> | |
| 35 | - <el-form-item label="部门" prop="department"> | |
| 36 | - <dep-select v-model="dataForm.department" placeholder="请选择" clearable > | |
| 37 | - </dep-select> | |
| 38 | - </el-form-item> | |
| 39 | - </el-col> | |
| 40 | - <el-col :span="24"> | |
| 27 | + <el-col :span="12"> | |
| 41 | 28 | <el-form-item label="问题类型" prop="questionType"> |
| 42 | 29 | <el-radio-group v-model="dataForm.questionType" :style='{}' > |
| 43 | - <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.id" >{{item.fullName}}</el-radio> | |
| 30 | + <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.id" >{{item.fullName || '--'}}</el-radio> | |
| 44 | 31 | </el-radio-group> |
| 45 | 32 | </el-form-item> |
| 46 | 33 | </el-col> |
| 47 | - <el-col :span="24"> | |
| 34 | + <el-col :span="12"> | |
| 48 | 35 | <el-form-item label="问题分类" prop="questionClass"> |
| 49 | - <el-select v-model="dataForm.questionClass" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 36 | + <el-select v-model="dataForm.questionClass" placeholder="--" clearable :style='{"width":"100%"}' > | |
| 50 | 37 | <el-option v-for="(item, index) in questionClassOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> |
| 51 | 38 | </el-select> |
| 52 | 39 | </el-form-item> |
| 53 | 40 | </el-col> |
| 54 | 41 | <el-col :span="24"> |
| 55 | 42 | <el-form-item label="问题内容" prop="questionContent"> |
| 56 | - <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 43 | + <el-input v-model="dataForm.questionContent" placeholder="--" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 57 | 44 | </el-input> |
| 58 | 45 | </el-form-item> |
| 59 | 46 | </el-col> |
| 60 | 47 | <el-col :span="24"> |
| 61 | 48 | <el-form-item label="有害链接" prop="link"> |
| 62 | - <el-input v-model="dataForm.link" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 49 | + <el-input v-model="dataForm.link" placeholder="--" clearable :style='{"width":"100%"}' > | |
| 63 | 50 | </el-input> |
| 64 | 51 | </el-form-item> |
| 65 | 52 | </el-col> |
| ... | ... | @@ -75,43 +62,6 @@ |
| 75 | 62 | </NCC-UploadFz> |
| 76 | 63 | </el-form-item> |
| 77 | 64 | </el-col> |
| 78 | - <el-col :span="24"> | |
| 79 | - <el-form-item label="处置建议" prop="disposalSuggestions"> | |
| 80 | - <el-input v-model="dataForm.disposalSuggestions" placeholder="请输入" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 81 | - </el-input> | |
| 82 | - </el-form-item> | |
| 83 | - </el-col> | |
| 84 | - <el-col :span="24"> | |
| 85 | - <el-form-item label="阶段" prop="stage"> | |
| 86 | - <el-select v-model="dataForm.stage" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 87 | - <el-option v-for="(item, index) in stageOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 88 | - </el-select> | |
| 89 | - </el-form-item> | |
| 90 | - </el-col> | |
| 91 | - <el-col :span="24" v-if="false" > | |
| 92 | - <el-form-item label="创建用户" prop="creatorUserId"> | |
| 93 | - <el-input v-model="dataForm.creatorUserId" placeholder="系统自动生成" readonly > | |
| 94 | - </el-input> | |
| 95 | - </el-form-item> | |
| 96 | - </el-col> | |
| 97 | - <el-col :span="24" v-if="false" > | |
| 98 | - <el-form-item label="创建时间" prop="creatorTime"> | |
| 99 | - <el-input v-model="dataForm.creatorTime" placeholder="系统自动生成" readonly > | |
| 100 | - </el-input> | |
| 101 | - </el-form-item> | |
| 102 | - </el-col> | |
| 103 | - <el-col :span="24" v-if="false" > | |
| 104 | - <el-form-item label="修改用户" prop="lastModifyUserId"> | |
| 105 | - <el-input v-model="dataForm.lastModifyUserId" placeholder="系统自动生成" readonly > | |
| 106 | - </el-input> | |
| 107 | - </el-form-item> | |
| 108 | - </el-col> | |
| 109 | - <el-col :span="24" v-if="false" > | |
| 110 | - <el-form-item label="修改时间" prop="lastModifyTime"> | |
| 111 | - <el-input v-model="dataForm.lastModifyTime" placeholder="系统自动生成" readonly > | |
| 112 | - </el-input> | |
| 113 | - </el-form-item> | |
| 114 | - </el-col> | |
| 115 | 65 | </el-form> |
| 116 | 66 | <el-col :span="24" class="form_title"> |
| 117 | 67 | 判研建议 |
| ... | ... | @@ -156,24 +106,15 @@ |
| 156 | 106 | visible: false, |
| 157 | 107 | isDetail: true, |
| 158 | 108 | dataForm: { |
| 159 | - id:'', | |
| 160 | 109 | id:undefined, |
| 161 | - source:undefined, | |
| 162 | 110 | platformName:undefined, |
| 163 | 111 | platformType:undefined, |
| 164 | - department:undefined, | |
| 165 | 112 | questionType:undefined, |
| 166 | 113 | questionClass:undefined, |
| 167 | 114 | questionContent:undefined, |
| 168 | 115 | link:undefined, |
| 169 | 116 | obtainEvidence:[], |
| 170 | 117 | annex:[], |
| 171 | - disposalSuggestions:undefined, | |
| 172 | - stage:undefined, | |
| 173 | - creatorUserId:undefined, | |
| 174 | - creatorTime:undefined, | |
| 175 | - lastModifyUserId:undefined, | |
| 176 | - lastModifyTime:undefined, | |
| 177 | 118 | }, |
| 178 | 119 | rules: { |
| 179 | 120 | }, | ... | ... |
src/views/baseInspectionReport/Form.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" :visible.sync="visible" class="NCC-dialog NCC-dialog_center" lock-scroll width="70%"> | |
| 3 | - <el-row :gutter="15" class="" > | |
| 4 | - <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" :disabled="!!isDetail" :rules="rules"> | |
| 5 | - <el-col :span="24" v-if="false" > | |
| 6 | - <el-form-item label="主键" prop="id"> | |
| 7 | - <el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 8 | - </el-input> | |
| 9 | - </el-form-item> | |
| 10 | - </el-col> | |
| 11 | - <el-col :span="24"> | |
| 12 | - <el-form-item label="来源" prop="source"> | |
| 13 | - <el-select v-model="dataForm.source" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 14 | - <el-option v-for="(item, index) in sourceOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 15 | - </el-select> | |
| 16 | - </el-form-item> | |
| 17 | - </el-col> | |
| 18 | - <el-col :span="24"> | |
| 19 | - <el-form-item label="平台名称" prop="platformName"> | |
| 20 | - <el-input v-model="dataForm.platformName" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 21 | - </el-input> | |
| 22 | - </el-form-item> | |
| 23 | - </el-col> | |
| 24 | - <el-col :span="24"> | |
| 25 | - <el-form-item label="平台类型" prop="platformType"> | |
| 26 | - <el-select v-model="dataForm.platformType" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 27 | - <el-option v-for="(item, index) in platformTypeOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 28 | - </el-select> | |
| 29 | - </el-form-item> | |
| 30 | - </el-col> | |
| 31 | - <el-col :span="24"> | |
| 32 | - <el-form-item label="部门" prop="department"> | |
| 33 | - <dep-select v-model="dataForm.department" placeholder="请选择" clearable > | |
| 34 | - </dep-select> | |
| 35 | - </el-form-item> | |
| 36 | - </el-col> | |
| 37 | - <el-col :span="24"> | |
| 38 | - <el-form-item label="问题类型" prop="questionType"> | |
| 39 | - <el-radio-group v-model="dataForm.questionType" :style='{}' > | |
| 40 | - <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.id" >{{item.fullName}}</el-radio> | |
| 41 | - </el-radio-group> | |
| 42 | - </el-form-item> | |
| 43 | - </el-col> | |
| 44 | - <el-col :span="24"> | |
| 45 | - <el-form-item label="问题分类" prop="questionClass"> | |
| 46 | - <el-select v-model="dataForm.questionClass" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 47 | - <el-option v-for="(item, index) in questionClassOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 48 | - </el-select> | |
| 49 | - </el-form-item> | |
| 50 | - </el-col> | |
| 51 | - <el-col :span="24"> | |
| 52 | - <el-form-item label="问题内容" prop="questionContent"> | |
| 53 | - <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 54 | - </el-input> | |
| 55 | - </el-form-item> | |
| 56 | - </el-col> | |
| 57 | - <el-col :span="24"> | |
| 58 | - <el-form-item label="有害链接" prop="link"> | |
| 59 | - <el-input v-model="dataForm.link" placeholder="请输入" clearable :style='{"width":"100%"}' > | |
| 60 | - </el-input> | |
| 61 | - </el-form-item> | |
| 62 | - </el-col> | |
| 63 | - <el-col :span="24"> | |
| 64 | - <el-form-item label="取证内容" prop="obtainEvidence"> | |
| 65 | - <NCC-UploadFz v-model="dataForm.obtainEvidence" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | |
| 66 | - </NCC-UploadFz> | |
| 67 | - </el-form-item> | |
| 68 | - </el-col> | |
| 69 | - <el-col :span="24"> | |
| 70 | - <el-form-item label="附件上传" prop="annex"> | |
| 71 | - <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | |
| 72 | - </NCC-UploadFz> | |
| 73 | - </el-form-item> | |
| 74 | - </el-col> | |
| 75 | - <el-col :span="24"> | |
| 76 | - <el-form-item label="处置建议" prop="disposalSuggestions"> | |
| 77 | - <el-input v-model="dataForm.disposalSuggestions" placeholder="请输入" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 78 | - </el-input> | |
| 79 | - </el-form-item> | |
| 80 | - </el-col> | |
| 81 | - <el-col :span="24"> | |
| 82 | - <el-form-item label="阶段" prop="stage"> | |
| 83 | - <el-select v-model="dataForm.stage" placeholder="请选择" clearable :style='{"width":"100%"}' > | |
| 84 | - <el-option v-for="(item, index) in stageOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | |
| 85 | - </el-select> | |
| 86 | - </el-form-item> | |
| 87 | - </el-col> | |
| 88 | - <el-col :span="24" v-if="false" > | |
| 89 | - <el-form-item label="创建用户" prop="creatorUserId"> | |
| 90 | - <el-input v-model="dataForm.creatorUserId" placeholder="系统自动生成" readonly > | |
| 91 | - </el-input> | |
| 92 | - </el-form-item> | |
| 93 | - </el-col> | |
| 94 | - <el-col :span="24" v-if="false" > | |
| 95 | - <el-form-item label="创建时间" prop="creatorTime"> | |
| 96 | - <el-input v-model="dataForm.creatorTime" placeholder="系统自动生成" readonly > | |
| 97 | - </el-input> | |
| 98 | - </el-form-item> | |
| 99 | - </el-col> | |
| 100 | - <el-col :span="24" v-if="false" > | |
| 101 | - <el-form-item label="修改用户" prop="lastModifyUserId"> | |
| 102 | - <el-input v-model="dataForm.lastModifyUserId" placeholder="系统自动生成" readonly > | |
| 103 | - </el-input> | |
| 104 | - </el-form-item> | |
| 105 | - </el-col> | |
| 106 | - <el-col :span="24" v-if="false" > | |
| 107 | - <el-form-item label="修改时间" prop="lastModifyTime"> | |
| 108 | - <el-input v-model="dataForm.lastModifyTime" placeholder="系统自动生成" readonly > | |
| 109 | - </el-input> | |
| 110 | - </el-form-item> | |
| 111 | - </el-col> | |
| 112 | - </el-form> | |
| 113 | - </el-row> | |
| 114 | - <span slot="footer" class="dialog-footer"> | |
| 115 | - <el-button @click="visible = false">取 消</el-button> | |
| 116 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> | |
| 117 | - </span> | |
| 118 | - </el-dialog> | |
| 2 | + <el-dialog | |
| 3 | + :title="!dataForm.id ? '新建' : isDetail ? '详情' : '编辑'" | |
| 4 | + :close-on-click-modal="false" | |
| 5 | + :visible.sync="visible" | |
| 6 | + class="NCC-dialog NCC-dialog_center" | |
| 7 | + lock-scroll | |
| 8 | + width="70%" | |
| 9 | + > | |
| 10 | + <el-row :gutter="15" class=""> | |
| 11 | + <el-form | |
| 12 | + ref="elForm" | |
| 13 | + :model="dataForm" | |
| 14 | + size="small" | |
| 15 | + label-width="100px" | |
| 16 | + label-position="right" | |
| 17 | + :disabled="!!isDetail" | |
| 18 | + :rules="rules" | |
| 19 | + > | |
| 20 | + <el-col :span="24" v-if="false"> | |
| 21 | + <el-form-item label="主键" prop="id"> | |
| 22 | + <el-input | |
| 23 | + v-model="dataForm.id" | |
| 24 | + placeholder="请输入" | |
| 25 | + clearable | |
| 26 | + :style="{ width: '100%' }" | |
| 27 | + > | |
| 28 | + </el-input> | |
| 29 | + </el-form-item> | |
| 30 | + </el-col> | |
| 31 | + <el-col :span="24"> | |
| 32 | + <el-form-item label="平台名称" prop="platformName"> | |
| 33 | + <el-input | |
| 34 | + v-model="dataForm.platformName" | |
| 35 | + placeholder="请输入" | |
| 36 | + clearable | |
| 37 | + :style="{ width: '100%' }" | |
| 38 | + > | |
| 39 | + </el-input> | |
| 40 | + </el-form-item> | |
| 41 | + </el-col> | |
| 42 | + <el-col :span="24"> | |
| 43 | + <el-form-item label="平台类型" prop="platformType"> | |
| 44 | + <el-select | |
| 45 | + v-model="dataForm.platformType" | |
| 46 | + placeholder="请选择" | |
| 47 | + clearable | |
| 48 | + :style="{ width: '100%' }" | |
| 49 | + > | |
| 50 | + <el-option | |
| 51 | + v-for="(item, index) in platformTypeOptions" | |
| 52 | + :key="index" | |
| 53 | + :label="item.FullName" | |
| 54 | + :value="item.Id" | |
| 55 | + ></el-option> | |
| 56 | + </el-select> | |
| 57 | + </el-form-item> | |
| 58 | + </el-col> | |
| 59 | + | |
| 60 | + <el-col :span="24"> | |
| 61 | + <el-form-item label="问题类型" prop="questionType"> | |
| 62 | + <el-radio-group v-model="dataForm.questionType" :style="{}"> | |
| 63 | + <el-radio | |
| 64 | + v-for="(item, index) in questionTypeOptions" | |
| 65 | + :key="index" | |
| 66 | + :label="item.id" | |
| 67 | + >{{ item.fullName }}</el-radio | |
| 68 | + > | |
| 69 | + </el-radio-group> | |
| 70 | + </el-form-item> | |
| 71 | + </el-col> | |
| 72 | + <el-col :span="24"> | |
| 73 | + <el-form-item label="问题分类" prop="questionClass"> | |
| 74 | + <el-select | |
| 75 | + v-model="dataForm.questionClass" | |
| 76 | + placeholder="请选择" | |
| 77 | + clearable | |
| 78 | + :style="{ width: '100%' }" | |
| 79 | + > | |
| 80 | + <el-option | |
| 81 | + v-for="(item, index) in questionClassOptions" | |
| 82 | + :key="index" | |
| 83 | + :label="item.fullName" | |
| 84 | + :value="item.id" | |
| 85 | + ></el-option> | |
| 86 | + </el-select> | |
| 87 | + </el-form-item> | |
| 88 | + </el-col> | |
| 89 | + <el-col :span="24"> | |
| 90 | + <el-form-item label="问题内容" prop="questionContent"> | |
| 91 | + <el-input | |
| 92 | + v-model="dataForm.questionContent" | |
| 93 | + placeholder="请输入" | |
| 94 | + show-word-limit | |
| 95 | + :style="{ width: '100%' }" | |
| 96 | + type="textarea" | |
| 97 | + :autosize="{ minRows: 4, maxRows: 4 }" | |
| 98 | + > | |
| 99 | + </el-input> | |
| 100 | + </el-form-item> | |
| 101 | + </el-col> | |
| 102 | + <el-col :span="24"> | |
| 103 | + <el-form-item label="有害链接" prop="link"> | |
| 104 | + <el-input | |
| 105 | + v-model="dataForm.link" | |
| 106 | + placeholder="请输入" | |
| 107 | + clearable | |
| 108 | + :style="{ width: '100%' }" | |
| 109 | + > | |
| 110 | + </el-input> | |
| 111 | + </el-form-item> | |
| 112 | + </el-col> | |
| 113 | + <el-col :span="24"> | |
| 114 | + <el-form-item label="取证内容" prop="obtainEvidence"> | |
| 115 | + <NCC-UploadFz | |
| 116 | + v-model="dataForm.obtainEvidence" | |
| 117 | + :fileSize="5" | |
| 118 | + sizeUnit="MB" | |
| 119 | + :limit="9" | |
| 120 | + buttonText="点击上传" | |
| 121 | + > | |
| 122 | + </NCC-UploadFz> | |
| 123 | + </el-form-item> | |
| 124 | + </el-col> | |
| 125 | + <el-col :span="24"> | |
| 126 | + <el-form-item label="附件上传" prop="annex"> | |
| 127 | + <NCC-UploadFz | |
| 128 | + v-model="dataForm.annex" | |
| 129 | + :fileSize="5" | |
| 130 | + sizeUnit="MB" | |
| 131 | + :limit="9" | |
| 132 | + buttonText="点击上传" | |
| 133 | + > | |
| 134 | + </NCC-UploadFz> | |
| 135 | + </el-form-item> | |
| 136 | + </el-col> | |
| 137 | + </el-form> | |
| 138 | + </el-row> | |
| 139 | + <span slot="footer" class="dialog-footer"> | |
| 140 | + <el-button @click="visible = false">取 消</el-button> | |
| 141 | + <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" | |
| 142 | + >确 定</el-button | |
| 143 | + > | |
| 144 | + </span> | |
| 145 | + </el-dialog> | |
| 119 | 146 | </template> |
| 120 | 147 | <script> |
| 121 | - import request from '@/utils/request' | |
| 122 | - import { getDictionaryDataSelector } from '@/api/systemData/dictionary' | |
| 123 | - import { getDetail, addForm, updataForm } from '@/api/systemData/dataInterface' | |
| 124 | - export default { | |
| 125 | - components: {}, | |
| 126 | - props: [], | |
| 127 | - data() { | |
| 128 | - return { | |
| 129 | - loading: false, | |
| 130 | - visible: false, | |
| 131 | - isDetail: false, | |
| 132 | - dataForm: { | |
| 133 | - id:'', | |
| 134 | - id:undefined, | |
| 135 | - source:undefined, | |
| 136 | - platformName:undefined, | |
| 137 | - platformType:undefined, | |
| 138 | - department:undefined, | |
| 139 | - questionType:undefined, | |
| 140 | - questionClass:undefined, | |
| 141 | - questionContent:undefined, | |
| 142 | - link:undefined, | |
| 143 | - obtainEvidence:[], | |
| 144 | - annex:[], | |
| 145 | - disposalSuggestions:undefined, | |
| 146 | - stage:undefined, | |
| 147 | - creatorUserId:undefined, | |
| 148 | - creatorTime:undefined, | |
| 149 | - lastModifyUserId:undefined, | |
| 150 | - lastModifyTime:undefined, | |
| 151 | - }, | |
| 152 | - rules: { | |
| 153 | - }, | |
| 154 | - sourceOptions:[{"fullName":"市网信办线索","id":"市网信办线索"},{"fullName":"自主巡查发现","id":"自主巡查发现"}], | |
| 155 | - platformTypeOptions : [], | |
| 156 | - questionTypeOptions : [], | |
| 157 | - questionClassOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], | |
| 158 | - stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], | |
| 159 | - } | |
| 160 | - }, | |
| 161 | - computed: {}, | |
| 162 | - watch: {}, | |
| 163 | - created() { | |
| 164 | - this.getplatformTypeOptions(); | |
| 165 | - this.getquestionTypeOptions(); | |
| 166 | - }, | |
| 167 | - mounted() { | |
| 168 | - }, | |
| 169 | - methods: { | |
| 170 | - getplatformTypeOptions(){ | |
| 171 | - getDictionaryDataSelector('576279943168656645').then(res => { | |
| 172 | - this.platformTypeOptions = res.data.list | |
| 173 | - }); | |
| 174 | - }, | |
| 175 | - getquestionTypeOptions(){ | |
| 176 | - getDictionaryDataSelector('577006814432855301').then(res => { | |
| 177 | - this.questionTypeOptions = res.data.list | |
| 178 | - }); | |
| 179 | - }, | |
| 180 | - goBack() { | |
| 181 | - this.$emit('refresh') | |
| 148 | +import request from "@/utils/request"; | |
| 149 | +import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | |
| 150 | +import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface"; | |
| 151 | +export default { | |
| 152 | + components: {}, | |
| 153 | + props: [], | |
| 154 | + data() { | |
| 155 | + return { | |
| 156 | + loading: false, | |
| 157 | + visible: false, | |
| 158 | + isDetail: false, | |
| 159 | + dataForm: { | |
| 160 | + id: "", | |
| 161 | + id: undefined, | |
| 162 | + platformName: undefined, | |
| 163 | + platformType: undefined, | |
| 164 | + questionType: undefined, | |
| 165 | + questionClass: undefined, | |
| 166 | + questionContent: undefined, | |
| 167 | + link: undefined, | |
| 168 | + obtainEvidence: [], | |
| 169 | + annex: [], | |
| 170 | + }, | |
| 171 | + rules: {}, | |
| 172 | + sourceOptions: [ | |
| 173 | + { fullName: "市网信办线索", id: "市网信办线索" }, | |
| 174 | + { fullName: "自主巡查发现", id: "自主巡查发现" }, | |
| 175 | + ], | |
| 176 | + platformTypeOptions: [], | |
| 177 | + questionTypeOptions: [], | |
| 178 | + questionClassOptions: [ | |
| 179 | + { fullName: "选项一", id: "1" }, | |
| 180 | + { fullName: "选项二", id: "2" }, | |
| 181 | + ], | |
| 182 | + stageOptions: [ | |
| 183 | + { fullName: "选项一", id: "1" }, | |
| 184 | + { fullName: "选项二", id: "2" }, | |
| 185 | + ], | |
| 186 | + }; | |
| 187 | + }, | |
| 188 | + computed: {}, | |
| 189 | + watch: {}, | |
| 190 | + created() { | |
| 191 | + this.getplatformTypeOptions(); | |
| 192 | + this.getquestionTypeOptions(); | |
| 193 | + }, | |
| 194 | + mounted() {}, | |
| 195 | + methods: { | |
| 196 | + async getplatformTypeOptions() { | |
| 197 | + let list = this.$store.state.meta.system; | |
| 198 | + !list && | |
| 199 | + (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 200 | + this.platformTypeOptions = list; | |
| 201 | + }, | |
| 202 | + getquestionTypeOptions() { | |
| 203 | + getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 204 | + this.questionTypeOptions = res.data.list; | |
| 205 | + }); | |
| 206 | + }, | |
| 207 | + goBack() { | |
| 208 | + this.$emit("refresh"); | |
| 209 | + }, | |
| 210 | + init(id, isDetail) { | |
| 211 | + this.dataForm.id = id || 0; | |
| 212 | + this.visible = true; | |
| 213 | + this.isDetail = isDetail || false; | |
| 214 | + this.$nextTick(async () => { | |
| 215 | + this.$refs["elForm"].resetFields(); | |
| 216 | + if (this.dataForm.id) { | |
| 217 | + let res = await getDetail(this.dataForm.id); | |
| 218 | + this.dataForm = res.data; | |
| 219 | + if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = []; | |
| 220 | + if (!this.dataForm.annex) this.dataForm.annex = []; | |
| 221 | + } | |
| 222 | + }); | |
| 223 | + }, | |
| 224 | + dataFormSubmit() { | |
| 225 | + this.$refs["elForm"].validate(async (valid) => { | |
| 226 | + if (valid) { | |
| 227 | + let res = !this.dataForm.id | |
| 228 | + ? await addForm(this.dataForm) | |
| 229 | + : await updataForm(this.dataForm); | |
| 230 | + this.$message({ | |
| 231 | + message: res.msg, | |
| 232 | + type: "success", | |
| 233 | + duration: 1000, | |
| 234 | + onClose: () => { | |
| 235 | + (this.visible = false), this.$emit("refresh", true); | |
| 182 | 236 | }, |
| 183 | - init(id, isDetail) { | |
| 184 | - this.dataForm.id = id || 0; | |
| 185 | - this.visible = true; | |
| 186 | - this.isDetail = isDetail || false; | |
| 187 | - this.$nextTick(async () => { | |
| 188 | - this.$refs['elForm'].resetFields(); | |
| 189 | - if (this.dataForm.id) { | |
| 190 | - let res = await getDetail(this.dataForm.id) | |
| 191 | - this.dataForm = res.data; | |
| 192 | - if(!this.dataForm.obtainEvidence)this.dataForm.obtainEvidence=[]; | |
| 193 | - if(!this.dataForm.annex)this.dataForm.annex=[]; | |
| 194 | - } | |
| 195 | - }) | |
| 196 | - }, | |
| 197 | - dataFormSubmit() { | |
| 198 | - this.$refs['elForm'].validate(async (valid) => { | |
| 199 | - if (valid) { | |
| 200 | - let res = !this.dataForm.id ? await addForm(this.dataForm) : await updataForm(this.dataForm); | |
| 201 | - this.$message({ | |
| 202 | - message: res.msg, | |
| 203 | - type: 'success', | |
| 204 | - duration: 1000, | |
| 205 | - onClose: () => { | |
| 206 | - this.visible = false, this.$emit('refresh', true) | |
| 207 | - } | |
| 208 | - }) | |
| 209 | - } | |
| 210 | - }) | |
| 211 | - }, | |
| 212 | - } | |
| 213 | - } | |
| 237 | + }); | |
| 238 | + } | |
| 239 | + }); | |
| 240 | + }, | |
| 241 | + }, | |
| 242 | +}; | |
| 214 | 243 | </script> | ... | ... |
src/views/baseSystemInfo/InspectForm.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <el-dialog | |
| 3 | + title="上报" | |
| 4 | + :close-on-click-modal="false" | |
| 5 | + :visible.sync="visible" | |
| 6 | + class="NCC-dialog NCC-dialog_center" | |
| 7 | + lock-scroll | |
| 8 | + width="70%" | |
| 9 | + > | |
| 10 | + <el-row :gutter="15" class=""> | |
| 11 | + <el-form | |
| 12 | + ref="elForm" | |
| 13 | + :model="dataForm" | |
| 14 | + size="small" | |
| 15 | + label-width="100px" | |
| 16 | + label-position="right" | |
| 17 | + :disabled="!!isDetail" | |
| 18 | + :rules="rules" | |
| 19 | + > | |
| 20 | + <el-col :span="24"> | |
| 21 | + <el-form-item label="平台名称" prop="platformName"> | |
| 22 | + <el-input | |
| 23 | + v-model="dataForm.platformName" | |
| 24 | + placeholder="请输入" | |
| 25 | + clearable | |
| 26 | + :style="{ width: '100%' }" | |
| 27 | + :disabled="true" | |
| 28 | + > | |
| 29 | + </el-input> | |
| 30 | + </el-form-item> | |
| 31 | + </el-col> | |
| 32 | + <el-col :span="24"> | |
| 33 | + <el-form-item label="平台类型" prop="platformType"> | |
| 34 | + <el-select | |
| 35 | + v-model="dataForm.platformType" | |
| 36 | + placeholder="请选择" | |
| 37 | + clearable | |
| 38 | + :style="{ width: '100%' }" | |
| 39 | + :disabled="true" | |
| 40 | + > | |
| 41 | + <el-option | |
| 42 | + v-for="(item, index) in platformTypeOptions" | |
| 43 | + :key="index" | |
| 44 | + :label="item.FullName" | |
| 45 | + :value="item.Id" | |
| 46 | + ></el-option> | |
| 47 | + </el-select> | |
| 48 | + </el-form-item> | |
| 49 | + </el-col> | |
| 50 | + <el-col :span="24"> | |
| 51 | + <el-form-item label="问题类型" prop="questionType"> | |
| 52 | + <el-radio-group v-model="dataForm.questionType" :style="{}"> | |
| 53 | + <el-radio | |
| 54 | + v-for="(item, index) in questionTypeOptions" | |
| 55 | + :key="index" | |
| 56 | + :label="item.id" | |
| 57 | + >{{ item.fullName }}</el-radio | |
| 58 | + > | |
| 59 | + </el-radio-group> | |
| 60 | + </el-form-item> | |
| 61 | + </el-col> | |
| 62 | + <el-col :span="24"> | |
| 63 | + <el-form-item label="问题分类" prop="questionClass"> | |
| 64 | + <el-select | |
| 65 | + v-model="dataForm.questionClass" | |
| 66 | + placeholder="请选择" | |
| 67 | + clearable | |
| 68 | + :style="{ width: '100%' }" | |
| 69 | + > | |
| 70 | + <el-option | |
| 71 | + v-for="(item, index) in questionClassOptions" | |
| 72 | + :key="index" | |
| 73 | + :label="item.fullName" | |
| 74 | + :value="item.id" | |
| 75 | + ></el-option> | |
| 76 | + </el-select> | |
| 77 | + </el-form-item> | |
| 78 | + </el-col> | |
| 79 | + <el-col :span="24"> | |
| 80 | + <el-form-item label="问题内容" prop="questionContent"> | |
| 81 | + <el-input | |
| 82 | + v-model="dataForm.questionContent" | |
| 83 | + placeholder="请输入" | |
| 84 | + show-word-limit | |
| 85 | + :style="{ width: '100%' }" | |
| 86 | + type="textarea" | |
| 87 | + :autosize="{ minRows: 4, maxRows: 4 }" | |
| 88 | + > | |
| 89 | + </el-input> | |
| 90 | + </el-form-item> | |
| 91 | + </el-col> | |
| 92 | + <el-col :span="24"> | |
| 93 | + <el-form-item label="有害链接" prop="link"> | |
| 94 | + <el-input | |
| 95 | + v-model="dataForm.link" | |
| 96 | + placeholder="请输入" | |
| 97 | + clearable | |
| 98 | + :style="{ width: '100%' }" | |
| 99 | + > | |
| 100 | + </el-input> | |
| 101 | + </el-form-item> | |
| 102 | + </el-col> | |
| 103 | + <el-col :span="24"> | |
| 104 | + <el-form-item label="取证内容" prop="obtainEvidence"> | |
| 105 | + <NCC-UploadFz | |
| 106 | + v-model="dataForm.obtainEvidence" | |
| 107 | + :fileSize="5" | |
| 108 | + sizeUnit="MB" | |
| 109 | + :limit="9" | |
| 110 | + buttonText="点击上传" | |
| 111 | + > | |
| 112 | + </NCC-UploadFz> | |
| 113 | + </el-form-item> | |
| 114 | + </el-col> | |
| 115 | + <el-col :span="24"> | |
| 116 | + <el-form-item label="附件上传" prop="annex"> | |
| 117 | + <NCC-UploadFz | |
| 118 | + v-model="dataForm.annex" | |
| 119 | + :fileSize="5" | |
| 120 | + sizeUnit="MB" | |
| 121 | + :limit="9" | |
| 122 | + buttonText="点击上传" | |
| 123 | + > | |
| 124 | + </NCC-UploadFz> | |
| 125 | + </el-form-item> | |
| 126 | + </el-col> | |
| 127 | + </el-form> | |
| 128 | + </el-row> | |
| 129 | + <span slot="footer" class="dialog-footer"> | |
| 130 | + <el-button @click="visible = false">取 消</el-button> | |
| 131 | + <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" | |
| 132 | + >确 定</el-button | |
| 133 | + > | |
| 134 | + </span> | |
| 135 | + </el-dialog> | |
| 136 | +</template> | |
| 137 | +<script> | |
| 138 | +import request from "@/utils/request"; | |
| 139 | +import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | |
| 140 | +import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface"; | |
| 141 | +export default { | |
| 142 | + components: {}, | |
| 143 | + props: [], | |
| 144 | + data() { | |
| 145 | + return { | |
| 146 | + loading: false, | |
| 147 | + visible: false, | |
| 148 | + isDetail: false, | |
| 149 | + dataForm: { | |
| 150 | + platformName: undefined, | |
| 151 | + platformType: undefined, | |
| 152 | + questionType: undefined, | |
| 153 | + questionClass: undefined, | |
| 154 | + questionContent: undefined, | |
| 155 | + link: undefined, | |
| 156 | + obtainEvidence: [], | |
| 157 | + annex: [], | |
| 158 | + }, | |
| 159 | + rules: {}, | |
| 160 | + sourceOptions: [ | |
| 161 | + { fullName: "市网信办线索", id: "市网信办线索" }, | |
| 162 | + { fullName: "自主巡查发现", id: "自主巡查发现" }, | |
| 163 | + ], | |
| 164 | + platformTypeOptions: [], | |
| 165 | + questionTypeOptions: [], | |
| 166 | + questionClassOptions: [ | |
| 167 | + { fullName: "选项一", id: "1" }, | |
| 168 | + { fullName: "选项二", id: "2" }, | |
| 169 | + ], | |
| 170 | + stageOptions: [ | |
| 171 | + { fullName: "选项一", id: "1" }, | |
| 172 | + { fullName: "选项二", id: "2" }, | |
| 173 | + ], | |
| 174 | + }; | |
| 175 | + }, | |
| 176 | + computed: {}, | |
| 177 | + watch: {}, | |
| 178 | + created() { | |
| 179 | + this.getplatformTypeOptions(); | |
| 180 | + this.getquestionTypeOptions(); | |
| 181 | + }, | |
| 182 | + mounted() {}, | |
| 183 | + methods: { | |
| 184 | + async getplatformTypeOptions() { | |
| 185 | + let list = this.$store.state.meta.system; | |
| 186 | + !list && | |
| 187 | + (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 188 | + this.platformTypeOptions = list; | |
| 189 | + }, | |
| 190 | + getquestionTypeOptions() { | |
| 191 | + getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 192 | + this.questionTypeOptions = res.data.list; | |
| 193 | + }); | |
| 194 | + }, | |
| 195 | + goBack() { | |
| 196 | + this.$emit("refresh"); | |
| 197 | + }, | |
| 198 | + init(row, isDetail) { | |
| 199 | + this.visible = true; | |
| 200 | + this.isDetail = isDetail || false; | |
| 201 | + this.$nextTick(async () => { | |
| 202 | + this.$refs["elForm"].resetFields(); | |
| 203 | + this.dataForm.platformName = row.Id; | |
| 204 | + this.dataForm.platformType = row.systemType; | |
| 205 | + this.dataForm.obtainEvidence = []; | |
| 206 | + this.dataForm.annex = []; | |
| 207 | + }); | |
| 208 | + }, | |
| 209 | + dataFormSubmit() { | |
| 210 | + this.$refs["elForm"].validate(async (valid) => { | |
| 211 | + if (valid) { | |
| 212 | + let res = !this.dataForm.id | |
| 213 | + ? await addForm(this.dataForm) | |
| 214 | + : await updataForm(this.dataForm); | |
| 215 | + this.$message({ | |
| 216 | + message: res.msg, | |
| 217 | + type: "success", | |
| 218 | + duration: 1000, | |
| 219 | + onClose: () => { | |
| 220 | + (this.visible = false), this.$emit("refresh", true); | |
| 221 | + }, | |
| 222 | + }); | |
| 223 | + } | |
| 224 | + }); | |
| 225 | + }, | |
| 226 | + }, | |
| 227 | +}; | |
| 228 | +</script> | ... | ... |
src/views/baseSystemInfo/index.vue
| ... | ... | @@ -131,6 +131,9 @@ |
| 131 | 131 | <el-table-column label="操作" width="200"> |
| 132 | 132 | <!-- 查看,修改,归属地变更,上报 --> |
| 133 | 133 | <template slot-scope="scope"> |
| 134 | + <InfoEditRecord class="btn_dialog" :systemId="scope.row.Id"> | |
| 135 | + <el-button size="mini" type="text">查看</el-button> | |
| 136 | + </InfoEditRecord> | |
| 134 | 137 | <infoForm |
| 135 | 138 | class="btn_dialog" |
| 136 | 139 | type="edit" |
| ... | ... | @@ -139,12 +142,6 @@ |
| 139 | 142 | > |
| 140 | 143 | <el-button size="mini" type="text">修改</el-button> |
| 141 | 144 | </infoForm> |
| 142 | - <InfoEditRecord | |
| 143 | - class="btn_dialog" | |
| 144 | - :systemId="scope.row.Id" | |
| 145 | - > | |
| 146 | - <el-button size="mini" type="text">查看</el-button> | |
| 147 | - </InfoEditRecord> | |
| 148 | 145 | <el-button |
| 149 | 146 | size="mini" |
| 150 | 147 | type="text" |
| ... | ... | @@ -154,7 +151,7 @@ |
| 154 | 151 | <el-button |
| 155 | 152 | size="mini" |
| 156 | 153 | type="text" |
| 157 | - @click="toDetail(scope.row)" | |
| 154 | + @click="toInspection(scope.row)" | |
| 158 | 155 | >上报</el-button |
| 159 | 156 | > |
| 160 | 157 | </template> |
| ... | ... | @@ -207,6 +204,11 @@ |
| 207 | 204 | <el-button type="primary" @click="areaSubmit">确 定</el-button> |
| 208 | 205 | </span> |
| 209 | 206 | </el-dialog> |
| 207 | + <InspectionForm | |
| 208 | + v-if="InspectionFormVisible" | |
| 209 | + ref="InspectionForm" | |
| 210 | + @refresh="refresh" | |
| 211 | + /> | |
| 210 | 212 | </div> |
| 211 | 213 | </div> |
| 212 | 214 | </div> |
| ... | ... | @@ -216,9 +218,14 @@ |
| 216 | 218 | import { getInfoList } from "@/api/baseData/info"; |
| 217 | 219 | import { applnyChageArea } from "@/api/baseData/info"; |
| 218 | 220 | import infoMixin from "@/mixins/info"; |
| 221 | +import InspectionForm from "./InspectForm.vue"; | |
| 222 | + | |
| 219 | 223 | export default { |
| 220 | 224 | name: "SystemInfo", |
| 221 | 225 | mixins: [infoMixin], |
| 226 | + components: { | |
| 227 | + InspectionForm, | |
| 228 | + }, | |
| 222 | 229 | data() { |
| 223 | 230 | return { |
| 224 | 231 | loading: false, |
| ... | ... | @@ -254,6 +261,9 @@ export default { |
| 254 | 261 | }, |
| 255 | 262 | }, |
| 256 | 263 | activeSystemId: "", |
| 264 | + | |
| 265 | + // 上报 | |
| 266 | + InspectionFormVisible: false, | |
| 257 | 267 | }; |
| 258 | 268 | }, |
| 259 | 269 | created() { |
| ... | ... | @@ -275,6 +285,19 @@ export default { |
| 275 | 285 | this.query.systemClass = ""; |
| 276 | 286 | this.initSystemClassList(val); |
| 277 | 287 | }, |
| 288 | + | |
| 289 | + reset() { | |
| 290 | + for (let key in this.query) { | |
| 291 | + this.query[key] = undefined; | |
| 292 | + } | |
| 293 | + this.listQuery = { | |
| 294 | + currentPage: 1, | |
| 295 | + pageSize: 20, | |
| 296 | + sort: "desc", | |
| 297 | + sidx: "", | |
| 298 | + }; | |
| 299 | + this.initList(); | |
| 300 | + }, | |
| 278 | 301 | search() { |
| 279 | 302 | this.listQuery = { |
| 280 | 303 | pageIndex: 1, |
| ... | ... | @@ -313,7 +336,16 @@ export default { |
| 313 | 336 | }); |
| 314 | 337 | }, |
| 315 | 338 | // 上报 |
| 316 | - toDetail(row) {}, | |
| 339 | + toInspection(row) { | |
| 340 | + this.InspectionFormVisible = true; | |
| 341 | + this.$nextTick(() => { | |
| 342 | + this.$refs.InspectionForm.init(row); | |
| 343 | + }); | |
| 344 | + }, | |
| 345 | + refresh(isrRefresh) { | |
| 346 | + this.InspectionFormVisible = false; | |
| 347 | + if (isrRefresh) this.reset(); | |
| 348 | + }, | |
| 317 | 349 | async toChangeArea(row) { |
| 318 | 350 | this.areaChangeVisible = true; |
| 319 | 351 | this.areaDialogLoading = true; | ... | ... |
src/views/homePage/HomePage.vue
| ... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 | > |
| 28 | 28 | </div> |
| 29 | 29 | <div class="info"> |
| 30 | - <router-view></router-view> | |
| 30 | + <router-view ref="info"></router-view> | |
| 31 | 31 | </div> |
| 32 | 32 | </div> |
| 33 | 33 | <div class="news"> |
| ... | ... | @@ -53,8 +53,12 @@ export default { |
| 53 | 53 | searchKeyword: "", |
| 54 | 54 | }; |
| 55 | 55 | }, |
| 56 | - created() {}, | |
| 57 | - mounted() {}, | |
| 56 | + created() { | |
| 57 | + }, | |
| 58 | + mounted() { | |
| 59 | + console.log(this.$route.path, 'this.$router'); | |
| 60 | + | |
| 61 | + }, | |
| 58 | 62 | watch: { |
| 59 | 63 | // $route: { |
| 60 | 64 | // handler: function (route) { |
| ... | ... | @@ -66,10 +70,14 @@ export default { |
| 66 | 70 | computed: {}, |
| 67 | 71 | methods: { |
| 68 | 72 | toSearchInfoList() { |
| 69 | - this.$router.push({ | |
| 70 | - path: "/baseSystemInfo/index.vue", | |
| 71 | - query: { keyword: this.searchKeyword }, | |
| 72 | - }); | |
| 73 | + if(this.$route.path == '/baseSystemInfo/index.vue') { | |
| 74 | + this.$refs.info.search(); | |
| 75 | + } else { | |
| 76 | + this.$router.push({ | |
| 77 | + path: "/baseSystemInfo/index.vue", | |
| 78 | + query: { keyword: this.searchKeyword }, | |
| 79 | + }); | |
| 80 | + } | |
| 73 | 81 | }, |
| 74 | 82 | }, |
| 75 | 83 | }; | ... | ... |
src/views/homePage/components/news/NewsDialog.vue
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | <div class="news-title"> |
| 4 | 4 | <div class="left">我的消息</div> |
| 5 | 5 | <div class="right"> |
| 6 | - <el-button type="primary" size="small">标记全部已读</el-button> | |
| 6 | + <el-button type="primary" size="small" @click="toReadAll">标记全部已读</el-button> | |
| 7 | 7 | </div> |
| 8 | 8 | </div> |
| 9 | 9 | <div class="infinite-list-wrapper" style="overflow: auto"> |
| ... | ... | @@ -18,7 +18,9 @@ |
| 18 | 18 | <!-- <p>这个应用应该归属到青羊区,不在金牛区的管辖范围内。</p> --> |
| 19 | 19 | <div class="item-info"> |
| 20 | 20 | <div class="left">发送人:{{v.creatorUser}}</div> |
| 21 | - <div class="left">时间:{{v.lastModifyTime}}</div> | |
| 21 | + </div> | |
| 22 | + <div class="item-info"> | |
| 23 | + <div class="right">时间:{{ncc.dateFormat(v.lastModifyTime)}}</div> | |
| 22 | 24 | </div> |
| 23 | 25 | </li> |
| 24 | 26 | </ul> |
| ... | ... | @@ -61,11 +63,17 @@ export default { |
| 61 | 63 | this.loading = true; |
| 62 | 64 | getMessageList(this.searchList).then(({data}) => { |
| 63 | 65 | this.messageList = this.messageList.concat(data.list); |
| 64 | - console.log(this.messageList); | |
| 65 | 66 | this.total = data.pagination.total; |
| 66 | 67 | this.loading = false; |
| 68 | + this.searchList.pageIndex += 1 | |
| 69 | + this.$emit('changeMagNum', data.pagination.total); | |
| 67 | 70 | }); |
| 68 | 71 | }, |
| 72 | + toReadAll() { | |
| 73 | + MessageAllRead().then(() => { | |
| 74 | + this.load(); | |
| 75 | + }) | |
| 76 | + } | |
| 69 | 77 | }, |
| 70 | 78 | }; |
| 71 | 79 | </script> | ... | ... |
src/views/homePage/components/news/index.vue
| ... | ... | @@ -4,16 +4,14 @@ |
| 4 | 4 | placement="left" |
| 5 | 5 | width="300" |
| 6 | 6 | trigger="click" |
| 7 | - v-for="(item, index) in itemList" | |
| 8 | - :key="index" | |
| 9 | 7 | > |
| 10 | - <NewsDialog /> | |
| 11 | - <div slot="reference" class="news-item" @click="activeItem = index"> | |
| 8 | + <NewsDialog ref="MessageDialog" @changeMagNum="changeMagNum"/> | |
| 9 | + <div slot="reference" class="news-item"> | |
| 12 | 10 | <div class="icon-item"> |
| 13 | - <div class="red-spot" v-show="item.hasInfo"></div> | |
| 14 | - <i :class="item.icon"></i> | |
| 11 | + <div class="red-spot" v-show="isHaveMsg"></div> | |
| 12 | + <i class="el-icon-message-solid"></i> | |
| 15 | 13 | </div> |
| 16 | - <div class="nav-title">{{ item.title }}</div> | |
| 14 | + <div class="nav-title">我的消息</div> | |
| 17 | 15 | </div> |
| 18 | 16 | </el-popover> |
| 19 | 17 | </div> |
| ... | ... | @@ -27,10 +25,7 @@ export default { |
| 27 | 25 | components: { NewsDialog }, |
| 28 | 26 | data() { |
| 29 | 27 | return { |
| 30 | - itemList: [ | |
| 31 | - // { icon: "el-icon-s-order", title: "我的待办", hasInfo: false }, | |
| 32 | - { icon: "el-icon-message-solid", title: "我的消息", hasInfo: true }, | |
| 33 | - ], | |
| 28 | + isHaveMsg: false | |
| 34 | 29 | }; |
| 35 | 30 | }, |
| 36 | 31 | created() { |
| ... | ... | @@ -38,15 +33,19 @@ export default { |
| 38 | 33 | }, |
| 39 | 34 | computed: {}, |
| 40 | 35 | mounted() {}, |
| 36 | + watch: {}, | |
| 41 | 37 | destroyed() { |
| 42 | 38 | if (this.socket) { |
| 43 | 39 | //离开路由之后断开websocket连接 |
| 44 | - this.socket.close() | |
| 45 | - this.socket = null | |
| 46 | - this.$store.commit('SET_SOCKET', this.socket) | |
| 40 | + this.socket.close(); | |
| 41 | + this.socket = null; | |
| 42 | + this.$store.commit("SET_SOCKET", this.socket); | |
| 47 | 43 | } |
| 48 | 44 | }, |
| 49 | 45 | methods: { |
| 46 | + changeMagNum(val) { | |
| 47 | + this.isHaveMsg = val ? true : false; | |
| 48 | + }, | |
| 50 | 49 | initWebSocket() { |
| 51 | 50 | this.socket = this.$store.getters.socket || null; |
| 52 | 51 | if ("WebSocket" in window) { |
| ... | ... | @@ -79,7 +78,7 @@ export default { |
| 79 | 78 | } |
| 80 | 79 | //消息推送(消息公告用的) |
| 81 | 80 | if (data.method == "messagePush") { |
| 82 | - console.log('messagePush', '消息推送(消息公告用的)', data); | |
| 81 | + console.log("messagePush", "消息推送(消息公告用的)", data); | |
| 83 | 82 | this.messageCount += data.unreadNoticeCount; |
| 84 | 83 | if (this.$refs.MessageList.visible) this.$refs.MessageList.init(); |
| 85 | 84 | } |
| ... | ... | @@ -98,7 +97,7 @@ export default { |
| 98 | 97 | } |
| 99 | 98 | //接收对方发送的消息 |
| 100 | 99 | if (data.method == "receiveMessage") { |
| 101 | - console.log('receiveMessage', '接收对方发送的消息', data); | |
| 100 | + console.log("receiveMessage", "接收对方发送的消息", data); | |
| 102 | 101 | //判断是否打开窗口 |
| 103 | 102 | if ( |
| 104 | 103 | this.$refs.UserList && |
| ... | ... | @@ -132,7 +131,7 @@ export default { |
| 132 | 131 | } |
| 133 | 132 | //显示自己发送的消息 |
| 134 | 133 | if (data.method == "sendMessage") { |
| 135 | - console.log('sendMessage', '显示自己发送的消息', data); | |
| 134 | + console.log("sendMessage", "显示自己发送的消息", data); | |
| 136 | 135 | if (this.$refs.UserList.$refs.NCCIm.info.id !== data.toUserId) |
| 137 | 136 | return; |
| 138 | 137 | //添加到客户端 |
| ... | ... | @@ -147,7 +146,7 @@ export default { |
| 147 | 146 | } |
| 148 | 147 | //消息列表 |
| 149 | 148 | if (data.method == "messageList") { |
| 150 | - console.log('messageList', '消息列表', data); | |
| 149 | + console.log("messageList", "消息列表", data); | |
| 151 | 150 | this.$refs.UserList.$refs.NCCIm.getList(data); |
| 152 | 151 | } |
| 153 | 152 | }; | ... | ... |