Commit 61009cfc74119047aa3169d20989698e765b924b
1 parent
1ba4f6e3
2024/8/8
Showing
16 changed files
with
504 additions
and
500 deletions
src/components/CompanyForm/index.vue
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | width="60%" | 14 | width="60%" |
| 15 | top="15vh" | 15 | top="15vh" |
| 16 | :modal-append-to-body="false" | 16 | :modal-append-to-body="false" |
| 17 | - class="NCC-dialog company-dialog" | 17 | + class="NCC-dialog NCC-dialog_center company-dialog" |
| 18 | > | 18 | > |
| 19 | <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" | 19 | <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" |
| 20 | :rules="rules" v-lodding="loading"> | 20 | :rules="rules" v-lodding="loading"> |
src/components/InfoEditRecord/index.vue
| @@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
| 12 | width="80%" | 12 | width="80%" |
| 13 | top="10vh" | 13 | top="10vh" |
| 14 | :modal-append-to-body="false" | 14 | :modal-append-to-body="false" |
| 15 | - class="NCC-dialog dialog-box" | 15 | + class="NCC-dialog NCC-dialog_center dialog-box" |
| 16 | destroy-on-close | 16 | destroy-on-close |
| 17 | > | 17 | > |
| 18 | <el-row :gutter="20"> | 18 | <el-row :gutter="20"> |
src/components/InfoForm/index.vue
| @@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
| 12 | width="80%" | 12 | width="80%" |
| 13 | top="10vh" | 13 | top="10vh" |
| 14 | :modal-append-to-body="false" | 14 | :modal-append-to-body="false" |
| 15 | - class="NCC-dialog dialog-box" | 15 | + class="NCC-dialog NCC-dialog_center dialog-box" |
| 16 | destroy-on-close | 16 | destroy-on-close |
| 17 | > | 17 | > |
| 18 | <el-form | 18 | <el-form |
src/components/PasswordForm/index.vue
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | append-to-body | 11 | append-to-body |
| 12 | width="600px" | 12 | width="600px" |
| 13 | :modal-append-to-body="false" | 13 | :modal-append-to-body="false" |
| 14 | - class="NCC-dialog dialog-box" | 14 | + class="NCC-dialog NCC-dialog_center dialog-box" |
| 15 | destroy-on-close | 15 | destroy-on-close |
| 16 | > | 16 | > |
| 17 | <el-form ref="form" :model="user" :rules="rules" label-width="80px"> | 17 | <el-form ref="form" :model="user" :rules="rules" label-width="80px"> |
src/utils/ncc.js
| @@ -233,6 +233,21 @@ const ncc = { | @@ -233,6 +233,21 @@ const ncc = { | ||
| 233 | return 'primary' | 233 | return 'primary' |
| 234 | } | 234 | } |
| 235 | }, | 235 | }, |
| 236 | + stateDeadLine(time){ | ||
| 237 | + let date = (new Date()).getTime(); | ||
| 238 | + let timeDiff = time - date; | ||
| 239 | + | ||
| 240 | + if(timeDiff < 0) { | ||
| 241 | + // 超时 | ||
| 242 | + return `(已超时)` | ||
| 243 | + } else if(timeDiff / (1000 * 60 * 60 * 24) < 3) { | ||
| 244 | + // 小于三天警告即将超时 | ||
| 245 | + return `(即将超时)` | ||
| 246 | + } else { | ||
| 247 | + // 未超时 | ||
| 248 | + return '' | ||
| 249 | + } | ||
| 250 | + }, | ||
| 236 | storageSet(obj) { | 251 | storageSet(obj) { |
| 237 | for (let i in obj) { | 252 | for (let i in obj) { |
| 238 | cacheItem(i, obj[i]) | 253 | cacheItem(i, obj[i]) |
src/views/DisposalSuggestions/Form.vue
| @@ -86,7 +86,7 @@ | @@ -86,7 +86,7 @@ | ||
| 86 | label-width="100px" | 86 | label-width="100px" |
| 87 | label-position="right" | 87 | label-position="right" |
| 88 | > | 88 | > |
| 89 | - <el-col :span="24"> | 89 | + <!-- <el-col :span="24"> |
| 90 | <el-form-item | 90 | <el-form-item |
| 91 | :label="isSHILevel ? '处置要求' : '处置建议'" | 91 | :label="isSHILevel ? '处置要求' : '处置建议'" |
| 92 | prop="disposalSuggestions" | 92 | prop="disposalSuggestions" |
| @@ -102,7 +102,7 @@ | @@ -102,7 +102,7 @@ | ||
| 102 | > | 102 | > |
| 103 | </el-input> | 103 | </el-input> |
| 104 | </el-form-item> | 104 | </el-form-item> |
| 105 | - </el-col> | 105 | + </el-col> --> |
| 106 | <!-- <el-col :span="24"> | 106 | <!-- <el-col :span="24"> |
| 107 | <el-form-item label="截止时间" prop="deadline"> | 107 | <el-form-item label="截止时间" prop="deadline"> |
| 108 | <el-date-picker | 108 | <el-date-picker |
| @@ -195,6 +195,9 @@ export default { | @@ -195,6 +195,9 @@ export default { | ||
| 195 | judgmentClass: [ | 195 | judgmentClass: [ |
| 196 | { required: true, message: "请选择审核类型", trigger: "change" }, | 196 | { required: true, message: "请选择审核类型", trigger: "change" }, |
| 197 | ], | 197 | ], |
| 198 | + judgmentOpinions: [ | ||
| 199 | + { required: true, message: "请填写研判意见", trigger: "bulr" } | ||
| 200 | + ] | ||
| 198 | }, | 201 | }, |
| 199 | showSuggsetion: false, | 202 | showSuggsetion: false, |
| 200 | judgmentClassOption: [], | 203 | judgmentClassOption: [], |
src/views/baseCaseHandling/Form.vue
| 1 | <template> | 1 | <template> |
| 2 | - <div> | ||
| 3 | - <el-row :gutter="15"> | ||
| 4 | - <el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="125px" label-position="right" :disabled="setting.readonly"> | ||
| 5 | - <el-col :span="24" v-if="false" > | ||
| 6 | - <el-form-item label="主键" prop="id"> | ||
| 7 | - <el-input v-model="dataForm.id" placeholder="请输入" clearable :disabled="judgeWrite('id')" :style='{"width":"100%"}' > | ||
| 8 | - </el-input> | ||
| 9 | - </el-form-item> | ||
| 10 | - </el-col> | ||
| 11 | - <el-col :span="24" v-if="judgeShow('registrationTime')"> | ||
| 12 | - <el-form-item label="登记时间" prop="registrationTime"> | ||
| 13 | - <el-date-picker v-model="dataForm.registrationTime" placeholder="请选择" clearable :disabled="judgeWrite('registrationTime')" :style='{"width":"100%"}' type='datetime' format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" > | ||
| 14 | - </el-date-picker> | ||
| 15 | - </el-form-item> | ||
| 16 | - </el-col> | ||
| 17 | - <el-col :span="24" v-if="judgeShow('number')"> | ||
| 18 | - <el-form-item label="文号" prop="number"> | ||
| 19 | - <el-input v-model="dataForm.number" placeholder="请输入" clearable :disabled="judgeWrite('number')" :style='{"width":"100%"}' > | ||
| 20 | - </el-input> | ||
| 21 | - </el-form-item> | ||
| 22 | - </el-col> | ||
| 23 | - <el-col :span="24" v-if="judgeShow('systemName')"> | ||
| 24 | - <el-form-item label="网站/APP名称" prop="systemName"> | ||
| 25 | - <el-input v-model="dataForm.systemName" placeholder="请输入" clearable :disabled="judgeWrite('systemName')" :style='{"width":"100%"}' > | ||
| 26 | - </el-input> | ||
| 27 | - </el-form-item> | ||
| 28 | - </el-col> | ||
| 29 | - <el-col :span="24" v-if="judgeShow('registeredEntity')"> | ||
| 30 | - <el-form-item label="注册主体" prop="registeredEntity"> | ||
| 31 | - <el-input v-model="dataForm.registeredEntity" placeholder="请输入" clearable :disabled="judgeWrite('registeredEntity')" :style='{"width":"100%"}' > | ||
| 32 | - </el-input> | ||
| 33 | - </el-form-item> | ||
| 34 | - </el-col> | ||
| 35 | - <el-col :span="24" v-if="judgeShow('category')"> | ||
| 36 | - <el-form-item label="类别" prop="category"> | ||
| 37 | - <el-select v-model="dataForm.category" placeholder="请选择" clearable :disabled="judgeWrite('category')" :style='{"width":"100%"}' > | ||
| 38 | - <el-option v-for="(item, index) in categoryOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | ||
| 39 | - </el-select> | ||
| 40 | - </el-form-item> | ||
| 41 | - </el-col> | ||
| 42 | - <el-col :span="24" v-if="judgeShow('recordNumber')"> | ||
| 43 | - <el-form-item label="备案号" prop="recordNumber"> | ||
| 44 | - <el-input v-model="dataForm.recordNumber" placeholder="请输入" clearable :disabled="judgeWrite('recordNumber')" :style='{"width":"100%"}' > | ||
| 45 | - </el-input> | ||
| 46 | - </el-form-item> | ||
| 47 | - </el-col> | ||
| 48 | - <el-col :span="24" v-if="judgeShow('districtCounty')"> | ||
| 49 | - <el-form-item label="所属区(市)县" prop="districtCounty"> | ||
| 50 | - <NCC-Address v-model="dataForm.districtCounty" placeholder="请选择" clearable :disabled="judgeWrite('districtCounty')" :level="2" > | ||
| 51 | - </NCC-Address> | ||
| 52 | - </el-form-item> | ||
| 53 | - </el-col> | ||
| 54 | - <el-col :span="24" v-if="judgeShow('illegalReasons')"> | ||
| 55 | - <el-form-item label="违法原因" prop="illegalReasons"> | ||
| 56 | - <el-input v-model="dataForm.illegalReasons" placeholder="请输入" clearable :disabled="judgeWrite('illegalReasons')" :style='{"width":"100%"}' > | ||
| 57 | - </el-input> | ||
| 58 | - </el-form-item> | ||
| 59 | - </el-col> | ||
| 60 | - <el-col :span="24" v-if="judgeShow('punishmentRequirements')"> | ||
| 61 | - <el-form-item label="处罚要求" prop="punishmentRequirements"> | ||
| 62 | - <el-input v-model="dataForm.punishmentRequirements" placeholder="请输入" clearable :disabled="judgeWrite('punishmentRequirements')" :style='{"width":"100%"}' > | ||
| 63 | - </el-input> | ||
| 64 | - </el-form-item> | ||
| 65 | - </el-col> | ||
| 66 | - <el-col :span="24" v-if="judgeShow('punishmentContent')"> | ||
| 67 | - <el-form-item label="处罚内容" prop="punishmentContent"> | ||
| 68 | - <el-input v-model="dataForm.punishmentContent" placeholder="请输入" :disabled="judgeWrite('punishmentContent')" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | ||
| 69 | - </el-input> | ||
| 70 | - </el-form-item> | ||
| 71 | - </el-col> | ||
| 72 | - <el-col :span="24" v-if="judgeShow('state')"> | ||
| 73 | - <el-form-item label="状态" prop="state"> | ||
| 74 | - <el-select v-model="dataForm.state" placeholder="请选择" clearable :disabled="judgeWrite('state')" :style='{"width":"100%"}' > | ||
| 75 | - <el-option v-for="(item, index) in stateOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option> | ||
| 76 | - </el-select> | ||
| 77 | - </el-form-item> | ||
| 78 | - </el-col> | ||
| 79 | - <el-col :span="24" v-if="judgeShow('record')"> | ||
| 80 | - <el-form-item label="笔录" prop="record"> | ||
| 81 | - <NCC-UploadFz v-model="dataForm.record" :disabled="judgeWrite('record')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 82 | - </NCC-UploadFz> | ||
| 83 | - </el-form-item> | ||
| 84 | - </el-col> | ||
| 85 | - <el-col :span="24" v-if="judgeShow('caseHandlingOpinions')"> | ||
| 86 | - <el-form-item label="案件处理意见" prop="caseHandlingOpinions"> | ||
| 87 | - <NCC-UploadFz v-model="dataForm.caseHandlingOpinions" :disabled="judgeWrite('caseHandlingOpinions')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 88 | - </NCC-UploadFz> | ||
| 89 | - </el-form-item> | ||
| 90 | - </el-col> | ||
| 91 | - <el-col :span="24" v-if="judgeShow('enforcementRecords')"> | ||
| 92 | - <el-form-item label="执法记录" prop="enforcementRecords"> | ||
| 93 | - <NCC-UploadFz v-model="dataForm.enforcementRecords" :disabled="judgeWrite('enforcementRecords')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 94 | - </NCC-UploadFz> | ||
| 95 | - </el-form-item> | ||
| 96 | - </el-col> | ||
| 97 | - <el-col :span="24" v-if="judgeShow('noticeLetter')"> | ||
| 98 | - <el-form-item label="行政处罚意见告知" prop="noticeLetter"> | ||
| 99 | - <NCC-UploadFz v-model="dataForm.noticeLetter" :disabled="judgeWrite('noticeLetter')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 100 | - </NCC-UploadFz> | ||
| 101 | - </el-form-item> | ||
| 102 | - </el-col> | ||
| 103 | - <el-col :span="24" v-if="judgeShow('punishmentDecision')"> | ||
| 104 | - <el-form-item label="行政处罚决定" prop="punishmentDecision"> | ||
| 105 | - <NCC-UploadFz v-model="dataForm.punishmentDecision" :disabled="judgeWrite('punishmentDecision')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 106 | - </NCC-UploadFz> | ||
| 107 | - </el-form-item> | ||
| 108 | - </el-col> | ||
| 109 | - <el-col :span="24" v-if="judgeShow('closingReport')"> | ||
| 110 | - <el-form-item label="行政处罚结案报告" prop="closingReport"> | ||
| 111 | - <NCC-UploadFz v-model="dataForm.closingReport" :disabled="judgeWrite('closingReport')" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" > | ||
| 112 | - </NCC-UploadFz> | ||
| 113 | - </el-form-item> | ||
| 114 | - </el-col> | ||
| 115 | - <el-col :span="24" v-if="false" > | ||
| 116 | - <el-form-item label="工作流ID" prop="taskId"> | ||
| 117 | - <el-input v-model="dataForm.taskId" placeholder="请输入" clearable :disabled="judgeWrite('taskId')" :style='{"width":"100%"}' > | ||
| 118 | - </el-input> | ||
| 119 | - </el-form-item> | ||
| 120 | - </el-col> | ||
| 121 | - <el-col :span="24" v-if="false" > | ||
| 122 | - <el-form-item label="创建用户" prop="creatorUserId"> | ||
| 123 | - <el-input v-model="dataForm.creatorUserId" placeholder="系统自动生成" readonly :disabled="judgeWrite('creatorUserId')" > | ||
| 124 | - </el-input> | ||
| 125 | - </el-form-item> | ||
| 126 | - </el-col> | ||
| 127 | - <el-col :span="24" v-if="false" > | ||
| 128 | - <el-form-item label="创建时间" prop="creatorTime"> | ||
| 129 | - <el-input v-model="dataForm.creatorTime" placeholder="系统自动生成" readonly :disabled="judgeWrite('creatorTime')" > | ||
| 130 | - </el-input> | ||
| 131 | - </el-form-item> | ||
| 132 | - </el-col> | ||
| 133 | - <el-col :span="24" v-if="false" > | ||
| 134 | - <el-form-item label="修改用户" prop="lastModifyUserId"> | ||
| 135 | - <el-input v-model="dataForm.lastModifyUserId" placeholder="系统自动生成" readonly :disabled="judgeWrite('lastModifyUserId')" > | ||
| 136 | - </el-input> | ||
| 137 | - </el-form-item> | ||
| 138 | - </el-col> | ||
| 139 | - <el-col :span="24" v-if="false" > | ||
| 140 | - <el-form-item label="修改时间" prop="lastModifyTime"> | ||
| 141 | - <el-input v-model="dataForm.lastModifyTime" placeholder="系统自动生成" readonly :disabled="judgeWrite('lastModifyTime')" > | ||
| 142 | - </el-input> | ||
| 143 | - </el-form-item> | ||
| 144 | - </el-col> | ||
| 145 | - </el-form> | ||
| 146 | - </el-row> | ||
| 147 | - <UserBox v-if="userBoxVisible" ref="userBox" @submit="submit" /> | ||
| 148 | - </div> | 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="50%" | ||
| 9 | + v-loading="loading" | ||
| 10 | + > | ||
| 11 | + <el-row :gutter="15"> | ||
| 12 | + <el-form | ||
| 13 | + ref="elForm" | ||
| 14 | + :model="dataForm" | ||
| 15 | + size="small" | ||
| 16 | + label-width="110px" | ||
| 17 | + label-position="right" | ||
| 18 | + :disabled="!!isDetail" | ||
| 19 | + :rules="rules" | ||
| 20 | + > | ||
| 21 | + <el-col :span="24" v-if="false"> | ||
| 22 | + <el-form-item label="主键" prop="id"> | ||
| 23 | + <el-input v-model="dataForm.id" placeholder="请输入" clearable /> | ||
| 24 | + </el-form-item> | ||
| 25 | + </el-col> | ||
| 26 | + <el-col :span="24"> | ||
| 27 | + <el-form-item label="系统名称" prop="systemName"> | ||
| 28 | + <el-select | ||
| 29 | + v-model="dataForm.systemName" | ||
| 30 | + filterable | ||
| 31 | + remote | ||
| 32 | + reserve-keyword | ||
| 33 | + placeholder="请输入关键词" | ||
| 34 | + :remote-method="getSystemSelect" | ||
| 35 | + @change="systemChange" | ||
| 36 | + :loading="system_loading"> | ||
| 37 | + <el-option | ||
| 38 | + v-for="item in systemOption" | ||
| 39 | + :key="item.value" | ||
| 40 | + :label="item.systemName" | ||
| 41 | + :value="item.id"> | ||
| 42 | + </el-option> | ||
| 43 | + </el-select> | ||
| 44 | + </el-form-item> | ||
| 45 | + </el-col> | ||
| 46 | + <el-col :span="24"> | ||
| 47 | + <el-form-item label="注册主体" prop="registeredEntity"> | ||
| 48 | + <el-input v-model="dataForm.registeredEntity" placeholder="选择系统自动带出" clearable disabled/> | ||
| 49 | + </el-form-item> | ||
| 50 | + </el-col> | ||
| 51 | + <el-col :span="24"> | ||
| 52 | + <el-form-item label="系统类别" prop="category"> | ||
| 53 | + <el-input v-model="dataForm.category" placeholder="选择系统自动带出" clearable disabled/> | ||
| 54 | + </el-form-item> | ||
| 55 | + </el-col> | ||
| 56 | + <el-col :span="24"> | ||
| 57 | + <el-form-item label="备案号" prop="recordNumber"> | ||
| 58 | + <el-input v-model="dataForm.recordNumber" placeholder="选择系统自动带出" clearable disabled/> | ||
| 59 | + </el-form-item> | ||
| 60 | + </el-col> | ||
| 61 | + <el-col :span="24"> | ||
| 62 | + <el-form-item label="所属区县" prop="districtCounty"> | ||
| 63 | + <el-radio-group | ||
| 64 | + v-model="dataForm.districtCounty" | ||
| 65 | + placeholder="请选择所属区县" | ||
| 66 | + style="line-height: 22px" | ||
| 67 | + > | ||
| 68 | + <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ | ||
| 69 | + v.fullName | ||
| 70 | + }}</el-radio> | ||
| 71 | + </el-radio-group> | ||
| 72 | + </el-form-item> | ||
| 73 | + </el-col> | ||
| 74 | + <el-col :span="24"> | ||
| 75 | + <el-form-item label="违法原因" prop="illegalReasons"> | ||
| 76 | + <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200"/> | ||
| 77 | + </el-form-item> | ||
| 78 | + </el-col> | ||
| 79 | + <el-col :span="24"> | ||
| 80 | + <el-form-item label="处罚要求" prop="punishmentRequirements"> | ||
| 81 | + <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200"/> | ||
| 82 | + </el-form-item> | ||
| 83 | + </el-col> | ||
| 84 | + <el-col :span="24"> | ||
| 85 | + <el-form-item label="处罚内容" prop="punishmentContent"> | ||
| 86 | + <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200"/> | ||
| 87 | + </el-form-item> | ||
| 88 | + </el-col> | ||
| 89 | + </el-form> | ||
| 90 | + </el-row> | ||
| 91 | + | ||
| 92 | + <span slot="footer" class="dialog-footer"> | ||
| 93 | + <el-button @click="visible = false">取 消</el-button> | ||
| 94 | + <el-button type="primary" v-if="!isDetail" @click="submit(1)">{{isSHILevel ? '下 发' : '上 报'}}</el-button> | ||
| 95 | + <el-button type="info" v-if="!isDetail" @click="submit(0)">保 存</el-button> | ||
| 96 | + </span> | ||
| 97 | + </el-dialog> | ||
| 149 | </template> | 98 | </template> |
| 150 | <script> | 99 | <script> |
| 151 | - import request from '@/utils/request' | ||
| 152 | - import { getDictionaryDataSelector } from '@/api/systemData/dictionary' | ||
| 153 | - import { previewDataInterface } from '@/api/systemData/dataInterface' | ||
| 154 | - export default { | ||
| 155 | - data(){ | ||
| 156 | - return { | ||
| 157 | - visible: false, | ||
| 158 | - setting:{}, | ||
| 159 | - eventType: '', | ||
| 160 | - userBoxVisible:false, | ||
| 161 | - dataForm: { | ||
| 162 | - id:'', | ||
| 163 | - id:undefined, | ||
| 164 | - registrationTime:undefined, | ||
| 165 | - number:undefined, | ||
| 166 | - systemName:undefined, | ||
| 167 | - registeredEntity:undefined, | ||
| 168 | - category:undefined, | ||
| 169 | - recordNumber:undefined, | ||
| 170 | - districtCounty:[], | ||
| 171 | - illegalReasons:undefined, | ||
| 172 | - punishmentRequirements:undefined, | ||
| 173 | - punishmentContent:undefined, | ||
| 174 | - state:undefined, | ||
| 175 | - record:[], | ||
| 176 | - caseHandlingOpinions:[], | ||
| 177 | - enforcementRecords:[], | ||
| 178 | - noticeLetter:[], | ||
| 179 | - punishmentDecision:[], | ||
| 180 | - closingReport:[], | ||
| 181 | - taskId:undefined, | ||
| 182 | - creatorUserId:undefined, | ||
| 183 | - creatorTime:undefined, | ||
| 184 | - lastModifyUserId:undefined, | ||
| 185 | - lastModifyTime:undefined, | ||
| 186 | - }, | ||
| 187 | - rules: { | ||
| 188 | - }, | ||
| 189 | - categoryOptions:[{"fullName":"选项一","id":"选项一"},{"fullName":"","id":"选项二"}], | ||
| 190 | - stateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], | ||
| 191 | - } | ||
| 192 | - }, | ||
| 193 | - computed: {}, | ||
| 194 | - watch: {}, | ||
| 195 | - created() { | ||
| 196 | - }, | ||
| 197 | - mounted() {}, | ||
| 198 | - methods: { | ||
| 199 | - goBack() { | ||
| 200 | - this.$emit('refresh') | ||
| 201 | - }, | ||
| 202 | - init(data) { | ||
| 203 | - this.dataForm.id = data.id || 0; | ||
| 204 | - this.loading = true | ||
| 205 | - this.setting = data | ||
| 206 | - this.visible = true; | ||
| 207 | - this.$nextTick(() => { | ||
| 208 | - this.$refs['elForm'].resetFields(); | ||
| 209 | - if (this.dataForm.id) { | ||
| 210 | - request({ | ||
| 211 | - url: '/Extend/BaseCaseHandling/' + this.dataForm.id, | ||
| 212 | - method: 'get' | ||
| 213 | - }).then(res =>{ | ||
| 214 | - this.dataForm = res.data; | ||
| 215 | - if(!this.dataForm.districtCounty)this.dataForm.districtCounty=[]; | ||
| 216 | - if(!this.dataForm.record)this.dataForm.record=[]; | ||
| 217 | - if(!this.dataForm.caseHandlingOpinions)this.dataForm.caseHandlingOpinions=[]; | ||
| 218 | - if(!this.dataForm.enforcementRecords)this.dataForm.enforcementRecords=[]; | ||
| 219 | - if(!this.dataForm.noticeLetter)this.dataForm.noticeLetter=[]; | ||
| 220 | - if(!this.dataForm.punishmentDecision)this.dataForm.punishmentDecision=[]; | ||
| 221 | - if(!this.dataForm.closingReport)this.dataForm.closingReport=[]; | ||
| 222 | - }) | ||
| 223 | - } | ||
| 224 | - else{ | ||
| 225 | - this.dataForm.flowId = data.flowId | ||
| 226 | - } | ||
| 227 | - this.loading = false | ||
| 228 | - this.$emit('setPageLoad') | ||
| 229 | - }) | ||
| 230 | - }, | ||
| 231 | - dataFormSubmit(eventType) { | ||
| 232 | - this.$refs['elForm'].validate((valid) => { | ||
| 233 | - if (valid) { | ||
| 234 | - if (eventType === 'audit' || eventType === 'reject') { | ||
| 235 | - this.$emit('eventReciver', this.dataForm, eventType) | ||
| 236 | - return | ||
| 237 | - } | ||
| 238 | - this.dataForm.flowState = eventType === 'submit' ? 0 : 1 | ||
| 239 | - this.eventType = eventType | ||
| 240 | - if (this.eventType === 'submit') { | ||
| 241 | - this.$confirm('您确定要提交当前流程吗, 是否继续?', '提示', { | ||
| 242 | - type: 'warning' | ||
| 243 | - }).then(() => { | ||
| 244 | - this.request() | ||
| 245 | - }).catch(() => { }); | ||
| 246 | - } else { | ||
| 247 | - this.request() | ||
| 248 | - } | ||
| 249 | - } | ||
| 250 | - }) | ||
| 251 | - }, | ||
| 252 | - request() { | ||
| 253 | - if (!this.dataForm.id) { | ||
| 254 | - delete (this.dataForm.id) | ||
| 255 | - request({ | ||
| 256 | - url: '/Extend/BaseCaseHandling', | ||
| 257 | - method: 'post', | ||
| 258 | - data: this.dataForm | ||
| 259 | - }).then((res) => { | ||
| 260 | - this.$message({ | ||
| 261 | - message: res.msg, | ||
| 262 | - type: 'success', | ||
| 263 | - duration: 1000, | ||
| 264 | - onClose: () => { | ||
| 265 | - this.visible = false | ||
| 266 | - this.$emit('close', true) | ||
| 267 | - } | ||
| 268 | - }) | ||
| 269 | - }) | ||
| 270 | - }else{ | ||
| 271 | - request({ | ||
| 272 | - url: '/Extend/BaseCaseHandling/' + this.dataForm.id, | ||
| 273 | - method: 'PUT', | ||
| 274 | - data: this.dataForm | ||
| 275 | - }).then((res) => { | ||
| 276 | - this.$message({ | ||
| 277 | - message: res.msg, | ||
| 278 | - type: 'success', | ||
| 279 | - duration: 1000, | ||
| 280 | - onClose: () => { | ||
| 281 | - this.visible = false | ||
| 282 | - this.$emit('close', true) | ||
| 283 | - } | ||
| 284 | - }) | ||
| 285 | - }) | ||
| 286 | - } | ||
| 287 | - }, | ||
| 288 | - judgeShow(id) { | ||
| 289 | - if (!this.setting.formOperates || !this.setting.formOperates.length) return true | ||
| 290 | - let arr = this.setting.formOperates.filter(o => o.id === id) || [] | ||
| 291 | - if (!arr.length) return true | ||
| 292 | - let item = arr[0] | ||
| 293 | - return item.read | ||
| 294 | - }, | ||
| 295 | - judgeWrite(id) { | ||
| 296 | - if (!this.setting.formOperates || !this.setting.formOperates.length) return false | ||
| 297 | - let arr = this.setting.formOperates.filter(o => o.id === id) || [] | ||
| 298 | - if (!arr.length) return true | ||
| 299 | - let item = arr[0] | ||
| 300 | - return !item.write | ||
| 301 | - }, | ||
| 302 | - } | ||
| 303 | - } | ||
| 304 | -</script> | 100 | +import infoMixin from "@/mixins/info"; |
| 101 | +import request from "@/utils/request"; | ||
| 102 | +import { getSystemDetail } from "@/api/baseData/info"; | ||
| 103 | +import { dynamicTextUP } from "@/filters/index"; | ||
| 305 | 104 | ||
| 105 | +export default { | ||
| 106 | + mixins: [infoMixin], | ||
| 107 | + data() { | ||
| 108 | + return { | ||
| 109 | + visible: false, | ||
| 110 | + loading: false, | ||
| 111 | + isDetail: false, | ||
| 112 | + dataForm: { | ||
| 113 | + id: undefined, | ||
| 114 | + registrationTime: undefined, | ||
| 115 | + systemName: undefined, | ||
| 116 | + registeredEntity: undefined, | ||
| 117 | + category: undefined, | ||
| 118 | + recordNumber: undefined, | ||
| 119 | + districtCounty: undefined, | ||
| 120 | + illegalReasons: undefined, | ||
| 121 | + punishmentRequirements: undefined, | ||
| 122 | + punishmentContent: undefined, | ||
| 123 | + state: undefined, | ||
| 124 | + record: undefined, | ||
| 125 | + caseHandlingOpinions: undefined, | ||
| 126 | + enforcementRecords: undefined, | ||
| 127 | + noticeLetter: undefined, | ||
| 128 | + punishmentDecision: undefined, | ||
| 129 | + closingReport: undefined, | ||
| 130 | + }, | ||
| 131 | + rules: { | ||
| 132 | + systemName: [ | ||
| 133 | + { required: true, message: "请选择系统名称", trigger: "change" } | ||
| 134 | + ], | ||
| 135 | + districtCounty: [ | ||
| 136 | + { required: true, message: "请选择所属区域", trigger: "change" } | ||
| 137 | + ], | ||
| 138 | + }, | ||
| 139 | + systemOption: [], | ||
| 140 | + system_loading: false, | ||
| 141 | + areaOptions: [], | ||
| 142 | + }; | ||
| 143 | + }, | ||
| 144 | + computed: { | ||
| 145 | + isSHILevel() { | ||
| 146 | + // 判断角色是否为‘市级办公室’ | ||
| 147 | + return this.$store.state.user.islader; | ||
| 148 | + }, | ||
| 149 | + }, | ||
| 150 | + watch: {}, | ||
| 151 | + created() { | ||
| 152 | + this.getSystemSelect(); | ||
| 153 | + this.initSystemTypeList(); | ||
| 154 | + this.initAreaTypeList(); | ||
| 155 | + }, | ||
| 156 | + mounted() {}, | ||
| 157 | + methods: { | ||
| 158 | + // 获取系统列表 | ||
| 159 | + getSystemSelect(val) { | ||
| 160 | + let query = { | ||
| 161 | + SystemName: val || "", | ||
| 162 | + }; | ||
| 163 | + this.system_loading = true; | ||
| 164 | + request({ | ||
| 165 | + url: "/Extend/basesysteminfo/GetNoPagingList", | ||
| 166 | + method: "get", | ||
| 167 | + params: query, | ||
| 168 | + }).then(({data}) => { | ||
| 169 | + this.systemOption = data; | ||
| 170 | + this.system_loading = false; | ||
| 171 | + }) | ||
| 172 | + }, | ||
| 173 | + // 系统名称改变 | ||
| 174 | + systemChange(val) { | ||
| 175 | + getSystemDetail(val).then(({data}) => { | ||
| 176 | + this.dataForm.registeredEntity = data.companyId; | ||
| 177 | + this.dataForm.category = dynamicTextUP(data.systemType, this.systemTypeOptions); | ||
| 178 | + this.dataForm.recordNumber = data.specialRecordNumber || '--'; | ||
| 179 | + this.dataForm.districtCounty = data.areaId; | ||
| 180 | + }) | ||
| 181 | + }, | ||
| 182 | + goBack() { | ||
| 183 | + this.$emit("refresh"); | ||
| 184 | + }, | ||
| 185 | + init(id, isDetail) { | ||
| 186 | + this.dataForm.id = id || 0; | ||
| 187 | + this.isDetail = isDetail || false; | ||
| 188 | + // this.loading = true; | ||
| 189 | + this.visible = true; | ||
| 190 | + this.$nextTick(() => { | ||
| 191 | + this.$refs["elForm"].resetFields(); | ||
| 192 | + if (this.dataForm.id) { | ||
| 193 | + request({ | ||
| 194 | + url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, | ||
| 195 | + method: "GET", | ||
| 196 | + }).then((res) => { | ||
| 197 | + this.dataForm = res.data; | ||
| 198 | + // this.loading = false; | ||
| 199 | + }); | ||
| 200 | + } | ||
| 201 | + }); | ||
| 202 | + }, | ||
| 203 | + // 提交 | ||
| 204 | + submit(type) { | ||
| 205 | + // type: 1 上报 0 保存 | ||
| 206 | + let obj = { | ||
| 207 | + ...this.dataForm, | ||
| 208 | + isReport: type, | ||
| 209 | + } | ||
| 210 | + this.$refs['elForm'].validate((valid) => { | ||
| 211 | + if(!type || valid) { | ||
| 212 | + request({ | ||
| 213 | + url: `/Extend/BaseCaseHandling`, | ||
| 214 | + method: "POST", | ||
| 215 | + data: obj, | ||
| 216 | + }).then((res) => { | ||
| 217 | + this.$message({ | ||
| 218 | + type: "success", | ||
| 219 | + message: res.msg, | ||
| 220 | + onClose: () => { | ||
| 221 | + this.visible = false; | ||
| 222 | + this.$emit("refresh", true); | ||
| 223 | + }, | ||
| 224 | + }); | ||
| 225 | + }); | ||
| 226 | + } | ||
| 227 | + }) | ||
| 228 | + } | ||
| 229 | + }, | ||
| 230 | +}; | ||
| 231 | +</script> |
src/views/baseCaseHandling/index.vue
| @@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
| 10 | <el-form-item label=""> | 10 | <el-form-item label=""> |
| 11 | <el-input | 11 | <el-input |
| 12 | v-model="query.number" | 12 | v-model="query.number" |
| 13 | - placeholder="文号" | 13 | + placeholder="档案号" |
| 14 | clearable | 14 | clearable |
| 15 | /> | 15 | /> |
| 16 | </el-form-item> | 16 | </el-form-item> |
| @@ -82,61 +82,23 @@ | @@ -82,61 +82,23 @@ | ||
| 82 | :data="list" | 82 | :data="list" |
| 83 | @sort-change="sortChange" | 83 | @sort-change="sortChange" |
| 84 | > | 84 | > |
| 85 | - <el-table-column prop="id" label="主键" align="left" /> | ||
| 86 | - <el-table-column | ||
| 87 | - prop="registrationTime" | ||
| 88 | - label="登记时间" | ||
| 89 | - align="left" | ||
| 90 | - /> | ||
| 91 | - <el-table-column prop="number" label="文号" align="left" /> | ||
| 92 | - <el-table-column | ||
| 93 | - prop="systemName" | ||
| 94 | - label="网站/APP名称" | ||
| 95 | - align="left" | ||
| 96 | - width="150" | ||
| 97 | - /> | ||
| 98 | - <el-table-column | ||
| 99 | - prop="registeredEntity" | ||
| 100 | - label="注册主体" | ||
| 101 | - align="left" | ||
| 102 | - /> | 85 | + <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> |
| 86 | + <el-table-column prop="number" label="档案号" align="left" show-overflow-tooltip/> | ||
| 87 | + <el-table-column prop="registrationTime" label="登记时间" :formatter="ncc.tableDateFormat" align="left" show-overflow-tooltip/> | ||
| 88 | + <el-table-column prop="systemName" label="网站/APP名称" align="left" width="150" show-overflow-tooltip/> | ||
| 89 | + <el-table-column prop="registeredEntity" label="注册主体" align="left" show-overflow-tooltip/> | ||
| 103 | <el-table-column label="类别" prop="category" align="left"> | 90 | <el-table-column label="类别" prop="category" align="left"> |
| 104 | - <template slot-scope="scope">{{ | ||
| 105 | - scope.row.category | dynamicText(categoryOptions) | ||
| 106 | - }}</template> | 91 | + <template slot-scope="scope">{{ scope.row.category | dynamicText(categoryOptions) }}</template> |
| 107 | </el-table-column> | 92 | </el-table-column> |
| 108 | - <el-table-column | ||
| 109 | - prop="recordNumber" | ||
| 110 | - label="备案号" | ||
| 111 | - align="left" | ||
| 112 | - /> | ||
| 113 | - <el-table-column | ||
| 114 | - prop="districtCounty" | ||
| 115 | - label="所属区(市)县" | ||
| 116 | - align="left" | ||
| 117 | - width="150" | ||
| 118 | - /> | ||
| 119 | - <el-table-column | ||
| 120 | - prop="illegalReasons" | ||
| 121 | - label="违法原因" | ||
| 122 | - align="left" | ||
| 123 | - /> | ||
| 124 | - <el-table-column | ||
| 125 | - prop="punishmentRequirements" | ||
| 126 | - label="处罚要求" | ||
| 127 | - align="left" | ||
| 128 | - /> | ||
| 129 | - <el-table-column | ||
| 130 | - prop="punishmentContent" | ||
| 131 | - label="处罚内容" | ||
| 132 | - align="left" | ||
| 133 | - /> | ||
| 134 | - <el-table-column label="状态" prop="state" align="left"> | ||
| 135 | - <template slot-scope="scope">{{ | ||
| 136 | - scope.row.state | dynamicText(stateOptions) | ||
| 137 | - }}</template> | 93 | + <el-table-column prop="recordNumber" label="备案号" align="left" show-overflow-tooltip/> |
| 94 | + <el-table-column prop="districtCounty" label="所属区(市)县" align="left" width="150"> | ||
| 95 | + <template slot-scope="scope">{{ scope.row.districtCounty | dynamicText(areaOptions) }}</template> | ||
| 138 | </el-table-column> | 96 | </el-table-column> |
| 139 | - <el-table-column prop="flowState" label="状态" width="100"> | 97 | + <el-table-column prop="illegalReasons" label="违法原因" align="left" show-overflow-tooltip/> |
| 98 | + <el-table-column prop="punishmentRequirements" label="处罚要求" align="left" show-overflow-tooltip/> | ||
| 99 | + <el-table-column prop="punishmentContent" label="处罚内容" align="left" show-overflow-tooltip/> | ||
| 100 | + <el-table-column label="状态" prop="state" align="left" /> | ||
| 101 | + <!-- <el-table-column prop="flowState" label="状态" width="100"> | ||
| 140 | <template slot-scope="scope"> | 102 | <template slot-scope="scope"> |
| 141 | <el-tag v-if="scope.row.flowState == 1">等待审核</el-tag> | 103 | <el-tag v-if="scope.row.flowState == 1">等待审核</el-tag> |
| 142 | <el-tag type="success" v-else-if="scope.row.flowState == 2" | 104 | <el-tag type="success" v-else-if="scope.row.flowState == 2" |
| @@ -153,43 +115,20 @@ | @@ -153,43 +115,20 @@ | ||
| 153 | > | 115 | > |
| 154 | <el-tag type="info" v-else>等待提交</el-tag> | 116 | <el-tag type="info" v-else>等待提交</el-tag> |
| 155 | </template> | 117 | </template> |
| 156 | - </el-table-column> | ||
| 157 | - <el-table-column label="操作" fixed="right" width="100"> | 118 | + </el-table-column> --> |
| 119 | + <el-table-column label="操作" fixed="right" width="180"> | ||
| 158 | <template slot-scope="scope"> | 120 | <template slot-scope="scope"> |
| 159 | - <el-button | ||
| 160 | - type="text" | ||
| 161 | - :disabled="[1, 2, 5].indexOf(scope.row.flowState) > -1" | ||
| 162 | - @click="addOrUpdateHandle(scope.row.id)" | ||
| 163 | - >编辑</el-button | ||
| 164 | - > | ||
| 165 | - <el-button | ||
| 166 | - type="text" | ||
| 167 | - :disabled="[1, 2, 3, 5].indexOf(scope.row.flowState) > -1" | ||
| 168 | - @click="handleDel(scope.row.id)" | ||
| 169 | - class="NCC-table-delBtn" | ||
| 170 | - >删除</el-button | ||
| 171 | - > | ||
| 172 | - <el-button | ||
| 173 | - size="mini" | ||
| 174 | - type="text" | ||
| 175 | - :disabled="!scope.row.flowState" | ||
| 176 | - @click=" | ||
| 177 | - addOrUpdateHandle(scope.row.id, scope.row.flowState) | ||
| 178 | - " | ||
| 179 | - >详情</el-button | ||
| 180 | - > | 121 | + <el-button type="text" :disabled="[1, 2, 5].indexOf(scope.row.flowState) > -1" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button> |
| 122 | + <el-button type="text" :disabled="[1, 2, 5].indexOf(scope.row.flowState) > -1" @click="addOrUpdateHandle(scope.row.id)" >{{isSHILevel ? '下发' : '上报'}}</el-button> | ||
| 123 | + <el-button type="text" :disabled="[1, 2, 3, 5].indexOf(scope.row.flowState) > -1" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> | ||
| 124 | + <el-button size="mini" type="text" :disabled="!scope.row.flowState" @click=" addOrUpdateHandle(scope.row.id, scope.row.flowState) " >详情</el-button> | ||
| 181 | </template> | 125 | </template> |
| 182 | </el-table-column> | 126 | </el-table-column> |
| 183 | </NCC-table> | 127 | </NCC-table> |
| 184 | - <pagination | ||
| 185 | - :total="total" | ||
| 186 | - :page.sync="listQuery.currentPage" | ||
| 187 | - :limit.sync="listQuery.pageSize" | ||
| 188 | - @pagination="initData" | ||
| 189 | - /> | 128 | + <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/> |
| 190 | </div> | 129 | </div> |
| 191 | </div> | 130 | </div> |
| 192 | - <FlowBox v-if="flowVisible" ref="FlowBox" @close="colseFlow" /> | 131 | + <FlowBox v-if="flowVisible" ref="FlowBox" @refresh="colseFlow" /> |
| 193 | <ExportBox | 132 | <ExportBox |
| 194 | v-if="exportBoxVisible" | 133 | v-if="exportBoxVisible" |
| 195 | ref="ExportBox" | 134 | ref="ExportBox" |
| @@ -200,12 +139,14 @@ | @@ -200,12 +139,14 @@ | ||
| 200 | </div> | 139 | </div> |
| 201 | </template> | 140 | </template> |
| 202 | <script> | 141 | <script> |
| 142 | +import infoMixin from "@/mixins/info"; | ||
| 203 | import request from "@/utils/request"; | 143 | import request from "@/utils/request"; |
| 204 | import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | 144 | import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; |
| 205 | -import FlowBox from "@/views/workFlow/components/FlowBox"; | 145 | +import FlowBox from "./Form.vue"; |
| 206 | import ExportBox from "./ExportBox"; | 146 | import ExportBox from "./ExportBox"; |
| 207 | import { previewDataInterface } from "@/api/systemData/dataInterface"; | 147 | import { previewDataInterface } from "@/api/systemData/dataInterface"; |
| 208 | export default { | 148 | export default { |
| 149 | + mixins: [infoMixin], | ||
| 209 | components: { FlowBox, ExportBox }, | 150 | components: { FlowBox, ExportBox }, |
| 210 | data() { | 151 | data() { |
| 211 | return { | 152 | return { |
| @@ -231,7 +172,7 @@ export default { | @@ -231,7 +172,7 @@ export default { | ||
| 231 | columnList: [ | 172 | columnList: [ |
| 232 | { prop: "id", label: "主键" }, | 173 | { prop: "id", label: "主键" }, |
| 233 | { prop: "registrationTime", label: "登记时间" }, | 174 | { prop: "registrationTime", label: "登记时间" }, |
| 234 | - { prop: "number", label: "文号" }, | 175 | + { prop: "number", label: "档案号" }, |
| 235 | { prop: "systemName", label: "网站/APP名称" }, | 176 | { prop: "systemName", label: "网站/APP名称" }, |
| 236 | { prop: "registeredEntity", label: "注册主体" }, | 177 | { prop: "registeredEntity", label: "注册主体" }, |
| 237 | { prop: "category", label: "类别" }, | 178 | { prop: "category", label: "类别" }, |
| @@ -250,11 +191,18 @@ export default { | @@ -250,11 +191,18 @@ export default { | ||
| 250 | { fullName: "选项一", id: "1" }, | 191 | { fullName: "选项一", id: "1" }, |
| 251 | { fullName: "选项二", id: "2" }, | 192 | { fullName: "选项二", id: "2" }, |
| 252 | ], | 193 | ], |
| 194 | + areaOptions: [], | ||
| 253 | }; | 195 | }; |
| 254 | }, | 196 | }, |
| 255 | - computed: {}, | 197 | + computed: { |
| 198 | + isSHILevel() { | ||
| 199 | + // 判断角色是否为‘市级办公室’ | ||
| 200 | + return this.$store.state.user.islader; | ||
| 201 | + }, | ||
| 202 | + }, | ||
| 256 | created() { | 203 | created() { |
| 257 | - // this.initData() | 204 | + this.initAreaTypeList(); |
| 205 | + this.initData(); | ||
| 258 | }, | 206 | }, |
| 259 | methods: { | 207 | methods: { |
| 260 | sortChange({ column, prop, order }) { | 208 | sortChange({ column, prop, order }) { |
| @@ -306,18 +254,10 @@ export default { | @@ -306,18 +254,10 @@ export default { | ||
| 306 | }) | 254 | }) |
| 307 | .catch(() => {}); | 255 | .catch(() => {}); |
| 308 | }, | 256 | }, |
| 309 | - addOrUpdateHandle(id, flowState) { | ||
| 310 | - let data = { | ||
| 311 | - id: id || "", | ||
| 312 | - enCode: "#visualDevanjcl", | ||
| 313 | - flowId: "577085427060573445", | ||
| 314 | - formType: 1, | ||
| 315 | - opType: flowState ? 0 : "-1", | ||
| 316 | - status: flowState, | ||
| 317 | - }; | 257 | + addOrUpdateHandle(id, isDetail) { |
| 318 | this.flowVisible = true; | 258 | this.flowVisible = true; |
| 319 | this.$nextTick(() => { | 259 | this.$nextTick(() => { |
| 320 | - this.$refs.FlowBox.init(data); | 260 | + this.$refs.FlowBox.init(id, isDetail); |
| 321 | }); | 261 | }); |
| 322 | }, | 262 | }, |
| 323 | search() { | 263 | search() { |
src/views/baseInspectionReport/Form.vue
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | :visible.sync="visible" | 5 | :visible.sync="visible" |
| 6 | class="NCC-dialog NCC-dialog_center" | 6 | class="NCC-dialog NCC-dialog_center" |
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | - width="70%" | 8 | + width="60%" |
| 9 | > | 9 | > |
| 10 | <el-row :gutter="15" class=""> | 10 | <el-row :gutter="15" class=""> |
| 11 | <el-form | 11 | <el-form |
| @@ -30,13 +30,14 @@ | @@ -30,13 +30,14 @@ | ||
| 30 | </el-col> | 30 | </el-col> |
| 31 | <el-col :span="23"> | 31 | <el-col :span="23"> |
| 32 | <el-form-item label="问题来源" prop="source"> | 32 | <el-form-item label="问题来源" prop="source"> |
| 33 | - <el-input | ||
| 34 | - v-model="dataForm.source" | ||
| 35 | - placeholder="请输入问题来源" | ||
| 36 | - clearable | ||
| 37 | - :style="{ width: '100%' }" | ||
| 38 | - > | ||
| 39 | - </el-input> | 33 | + <el-radio-group v-model="dataForm.source"> |
| 34 | + <el-radio | ||
| 35 | + v-for="(item, index) in sourceOptions" | ||
| 36 | + :key="index" | ||
| 37 | + :label="item.Id" | ||
| 38 | + >{{ item.FullName }}</el-radio | ||
| 39 | + > | ||
| 40 | + </el-radio-group> | ||
| 40 | </el-form-item> | 41 | </el-form-item> |
| 41 | </el-col> | 42 | </el-col> |
| 42 | <el-col :span="23"> | 43 | <el-col :span="23"> |
| @@ -70,7 +71,7 @@ | @@ -70,7 +71,7 @@ | ||
| 70 | </el-radio-group> | 71 | </el-radio-group> |
| 71 | </el-form-item> | 72 | </el-form-item> |
| 72 | </el-col> | 73 | </el-col> |
| 73 | - <el-col :span="13"> | 74 | + <el-col :span="18"> |
| 74 | <el-form-item label="问题类型" prop="questionType"> | 75 | <el-form-item label="问题类型" prop="questionType"> |
| 75 | <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange"> | 76 | <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange"> |
| 76 | <el-radio | 77 | <el-radio |
| @@ -84,7 +85,7 @@ | @@ -84,7 +85,7 @@ | ||
| 84 | </el-form-item> | 85 | </el-form-item> |
| 85 | </el-col> | 86 | </el-col> |
| 86 | <template v-if="otherQuestion"> | 87 | <template v-if="otherQuestion"> |
| 87 | - <el-col :span="10"> | 88 | + <el-col :span="5"> |
| 88 | <el-input | 89 | <el-input |
| 89 | v-model="dataForm.otherQuestionType" | 90 | v-model="dataForm.otherQuestionType" |
| 90 | placeholder="请输入问题类型" | 91 | placeholder="请输入问题类型" |
| @@ -118,17 +119,7 @@ | @@ -118,17 +119,7 @@ | ||
| 118 | </el-form-item> | 119 | </el-form-item> |
| 119 | </el-col> | 120 | </el-col> |
| 120 | </template> | 121 | </template> |
| 121 | - <el-col :span="23"> | ||
| 122 | - <el-form-item label="关键词" prop="questionClass"> | ||
| 123 | - <el-input | ||
| 124 | - v-model="dataForm.questionClass" | ||
| 125 | - placeholder="请输入关键词" | ||
| 126 | - clearable | ||
| 127 | - :style="{ width: '100%' }" | ||
| 128 | - > | ||
| 129 | - </el-input> | ||
| 130 | - </el-form-item> | ||
| 131 | - </el-col> | 122 | + |
| 132 | <el-col :span="23"> | 123 | <el-col :span="23"> |
| 133 | <el-form-item label="问题内容" prop="questionContent"> | 124 | <el-form-item label="问题内容" prop="questionContent"> |
| 134 | <el-input | 125 | <el-input |
| @@ -153,9 +144,19 @@ | @@ -153,9 +144,19 @@ | ||
| 153 | </el-input> | 144 | </el-input> |
| 154 | </el-form-item> | 145 | </el-form-item> |
| 155 | </el-col> | 146 | </el-col> |
| 156 | - | ||
| 157 | <el-col :span="23"> | 147 | <el-col :span="23"> |
| 158 | - <el-form-item label="取证内容" prop="obtainEvidence"> | 148 | + <el-form-item label="关键词" prop="questionClass"> |
| 149 | + <el-input | ||
| 150 | + v-model="dataForm.questionClass" | ||
| 151 | + placeholder="请输入关键词" | ||
| 152 | + clearable | ||
| 153 | + :style="{ width: '100%' }" | ||
| 154 | + > | ||
| 155 | + </el-input> | ||
| 156 | + </el-form-item> | ||
| 157 | + </el-col> | ||
| 158 | + <el-col :span="23"> | ||
| 159 | + <el-form-item label="附件" prop="obtainEvidence"> | ||
| 159 | <NCC-UploadFz | 160 | <NCC-UploadFz |
| 160 | v-model="dataForm.obtainEvidence" | 161 | v-model="dataForm.obtainEvidence" |
| 161 | :fileSize="5" | 162 | :fileSize="5" |
| @@ -212,9 +213,6 @@ export default { | @@ -212,9 +213,6 @@ export default { | ||
| 212 | questionType: [ | 213 | questionType: [ |
| 213 | { required: true, message: "请选择问题类型", trigger: "change" }, | 214 | { required: true, message: "请选择问题类型", trigger: "change" }, |
| 214 | ], | 215 | ], |
| 215 | - questionClass: [ | ||
| 216 | - { required: true, message: "请选择关键词", trigger: "change" }, | ||
| 217 | - ], | ||
| 218 | }, | 216 | }, |
| 219 | sourceOptions: [ | 217 | sourceOptions: [ |
| 220 | { fullName: "市网信办线索", id: "市网信办线索" }, | 218 | { fullName: "市网信办线索", id: "市网信办线索" }, |
| @@ -239,6 +237,7 @@ export default { | @@ -239,6 +237,7 @@ export default { | ||
| 239 | watch: {}, | 237 | watch: {}, |
| 240 | created() { | 238 | created() { |
| 241 | this.loadList(); | 239 | this.loadList(); |
| 240 | + this.getSourceOptions(); | ||
| 242 | this.getplatformTypeOptions(); | 241 | this.getplatformTypeOptions(); |
| 243 | this.getquestionTypeOptions(); | 242 | this.getquestionTypeOptions(); |
| 244 | }, | 243 | }, |
| @@ -269,6 +268,14 @@ export default { | @@ -269,6 +268,14 @@ export default { | ||
| 269 | (list = await this.$store.dispatch("getTypeListByCode", "system")); | 268 | (list = await this.$store.dispatch("getTypeListByCode", "system")); |
| 270 | this.platformTypeOptions = list; | 269 | this.platformTypeOptions = list; |
| 271 | }, | 270 | }, |
| 271 | + async getSourceOptions() { | ||
| 272 | + request({ | ||
| 273 | + url: `/Extend/baseinspectionreport/GetReportSourceList`, | ||
| 274 | + method: "GET", | ||
| 275 | + }).then(({data}) => { | ||
| 276 | + this.sourceOptions = data; | ||
| 277 | + }) | ||
| 278 | + }, | ||
| 272 | getquestionTypeOptions() { | 279 | getquestionTypeOptions() { |
| 273 | getDictionaryDataSelector("577006814432855301").then((res) => { | 280 | getDictionaryDataSelector("577006814432855301").then((res) => { |
| 274 | this.questionTypeOptions = res.data.list; | 281 | this.questionTypeOptions = res.data.list; |
src/views/baseSpecialAction/Form.vue
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
| 6 | class="NCC-dialog NCC-dialog_center" | 6 | class="NCC-dialog NCC-dialog_center" |
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | width="50%" | 8 | width="50%" |
| 9 | + v-loading="loading" | ||
| 9 | > | 10 | > |
| 10 | <el-row :gutter="15" style="padding-top: 10px"> | 11 | <el-row :gutter="15" style="padding-top: 10px"> |
| 11 | <el-form | 12 | <el-form |
| @@ -272,12 +273,17 @@ export default { | @@ -272,12 +273,17 @@ export default { | ||
| 272 | goBack() { | 273 | goBack() { |
| 273 | this.$emit("refresh"); | 274 | this.$emit("refresh"); |
| 274 | }, | 275 | }, |
| 275 | - init(id, isDetail) { | ||
| 276 | - this.dataForm.id = id || 0; | 276 | + init(row, isDetail) { |
| 277 | + this.dataForm.id = row.id || 0; | ||
| 277 | this.visible = true; | 278 | this.visible = true; |
| 278 | this.isDetail = isDetail || false; | 279 | this.isDetail = isDetail || false; |
| 279 | this.$nextTick(() => { | 280 | this.$nextTick(() => { |
| 280 | this.$refs["elForm"].resetFields(); | 281 | this.$refs["elForm"].resetFields(); |
| 282 | + if(this.dataForm.id) { | ||
| 283 | + console.log(row, 'row'); | ||
| 284 | + this.dataForm.communicationArea = JSON.parse(row.communicationArea); | ||
| 285 | + this.dataForm.communicationOut = JSON.parse(row.communicationOut); | ||
| 286 | + } | ||
| 281 | }); | 287 | }); |
| 282 | }, | 288 | }, |
| 283 | dataFormSubmit() { | 289 | dataFormSubmit() { |
src/views/baseSpecialAction/index.vue
| @@ -59,7 +59,7 @@ | @@ -59,7 +59,7 @@ | ||
| 59 | <el-table-column prop="creatorUserId" show-overflow-tooltip label="创建用户" align="left"/> | 59 | <el-table-column prop="creatorUserId" show-overflow-tooltip label="创建用户" align="left"/> |
| 60 | <el-table-column label="操作" fixed="right" width="100"> | 60 | <el-table-column label="操作" fixed="right" width="100"> |
| 61 | <template slot-scope="scope"> | 61 | <template slot-scope="scope"> |
| 62 | - <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" v-if="scope.row.state == '未发布'">发布任务</el-button> | 62 | + <el-button type="text" @click="addOrUpdateHandle(scope.row)" v-if="scope.row.state == '未发布'">发布任务</el-button> |
| 63 | <el-button type="text" @click="toDetail(scope.row)" v-else>处理情况</el-button> | 63 | <el-button type="text" @click="toDetail(scope.row)" v-else>处理情况</el-button> |
| 64 | </template> | 64 | </template> |
| 65 | </el-table-column> | 65 | </el-table-column> |
| @@ -152,10 +152,10 @@ export default { | @@ -152,10 +152,10 @@ export default { | ||
| 152 | }); | 152 | }); |
| 153 | }, | 153 | }, |
| 154 | 154 | ||
| 155 | - addOrUpdateHandle(id, isDetail) { | 155 | + addOrUpdateHandle(row, isDetail) { |
| 156 | this.formVisible = true; | 156 | this.formVisible = true; |
| 157 | this.$nextTick(() => { | 157 | this.$nextTick(() => { |
| 158 | - this.$refs.NCCForm.init(id, isDetail); | 158 | + this.$refs.NCCForm.init(row, isDetail); |
| 159 | }); | 159 | }); |
| 160 | }, | 160 | }, |
| 161 | toDetail(row) { | 161 | toDetail(row) { |
src/views/baseSystemInfo/DetailForm.vue
| @@ -360,12 +360,12 @@ export default { | @@ -360,12 +360,12 @@ export default { | ||
| 360 | }; | 360 | }; |
| 361 | </script> | 361 | </script> |
| 362 | <style lang="scss" scoped> | 362 | <style lang="scss" scoped> |
| 363 | -.NCC-dialog.systemInfoDialog { | ||
| 364 | - :deep(.el-dialog__body) { | ||
| 365 | - overflow: unset !important; | ||
| 366 | - :deep(.el-tabs__content) { | ||
| 367 | - height: calc(65vh - 45px); | ||
| 368 | - } | ||
| 369 | - } | ||
| 370 | -} | 363 | +// .NCC-dialog.systemInfoDialog { |
| 364 | +// :deep(.el-dialog__body) { | ||
| 365 | +// overflow: unset !important; | ||
| 366 | +// :deep(.el-tabs__content) { | ||
| 367 | +// height: calc(65vh - 45px); | ||
| 368 | +// } | ||
| 369 | +// } | ||
| 370 | +// } | ||
| 371 | </style> | 371 | </style> |
src/views/baseSystemInfo/InspectForm.vue
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | :visible.sync="visible" | 5 | :visible.sync="visible" |
| 6 | class="NCC-dialog NCC-dialog_center" | 6 | class="NCC-dialog NCC-dialog_center" |
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | - width="70%" | 8 | + width="60%" |
| 9 | > | 9 | > |
| 10 | <el-row :gutter="15" class=""> | 10 | <el-row :gutter="15" class=""> |
| 11 | <el-form | 11 | <el-form |
| @@ -19,13 +19,14 @@ | @@ -19,13 +19,14 @@ | ||
| 19 | > | 19 | > |
| 20 | <el-col :span="24"> | 20 | <el-col :span="24"> |
| 21 | <el-form-item label="问题来源" prop="source"> | 21 | <el-form-item label="问题来源" prop="source"> |
| 22 | - <el-input | ||
| 23 | - v-model="dataForm.source" | ||
| 24 | - placeholder="请输入问题来源" | ||
| 25 | - clearable | ||
| 26 | - :style="{ width: '100%' }" | ||
| 27 | - > | ||
| 28 | - </el-input> | 22 | + <el-radio-group v-model="dataForm.source"> |
| 23 | + <el-radio | ||
| 24 | + v-for="(item, index) in sourceOptions" | ||
| 25 | + :key="index" | ||
| 26 | + :label="item.Id" | ||
| 27 | + >{{ item.FullName }}</el-radio | ||
| 28 | + > | ||
| 29 | + </el-radio-group> | ||
| 29 | </el-form-item> | 30 | </el-form-item> |
| 30 | </el-col> | 31 | </el-col> |
| 31 | <el-col :span="24"> | 32 | <el-col :span="24"> |
| @@ -59,7 +60,7 @@ | @@ -59,7 +60,7 @@ | ||
| 59 | </el-radio-group> | 60 | </el-radio-group> |
| 60 | </el-form-item> | 61 | </el-form-item> |
| 61 | </el-col> | 62 | </el-col> |
| 62 | - <el-col :span="13"> | 63 | + <el-col :span="18"> |
| 63 | <el-form-item label="问题类型" prop="questionType"> | 64 | <el-form-item label="问题类型" prop="questionType"> |
| 64 | <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange"> | 65 | <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange"> |
| 65 | <el-radio | 66 | <el-radio |
| @@ -73,7 +74,7 @@ | @@ -73,7 +74,7 @@ | ||
| 73 | </el-form-item> | 74 | </el-form-item> |
| 74 | </el-col> | 75 | </el-col> |
| 75 | <template v-if="otherQuestion"> | 76 | <template v-if="otherQuestion"> |
| 76 | - <el-col :span="10"> | 77 | + <el-col :span="5"> |
| 77 | <el-input | 78 | <el-input |
| 78 | v-model="dataForm.otherQuestionType" | 79 | v-model="dataForm.otherQuestionType" |
| 79 | placeholder="请输入问题类型" | 80 | placeholder="请输入问题类型" |
| @@ -107,17 +108,7 @@ | @@ -107,17 +108,7 @@ | ||
| 107 | </el-form-item> | 108 | </el-form-item> |
| 108 | </el-col> | 109 | </el-col> |
| 109 | </template> | 110 | </template> |
| 110 | - <el-col :span="23"> | ||
| 111 | - <el-form-item label="关键词" prop="questionClass"> | ||
| 112 | - <el-input | ||
| 113 | - v-model="dataForm.questionClass" | ||
| 114 | - placeholder="请输入关键词" | ||
| 115 | - clearable | ||
| 116 | - :style="{ width: '100%' }" | ||
| 117 | - > | ||
| 118 | - </el-input> | ||
| 119 | - </el-form-item> | ||
| 120 | - </el-col> | 111 | + |
| 121 | <el-col :span="23"> | 112 | <el-col :span="23"> |
| 122 | <el-form-item label="问题内容" prop="questionContent"> | 113 | <el-form-item label="问题内容" prop="questionContent"> |
| 123 | <el-input | 114 | <el-input |
| @@ -143,7 +134,18 @@ | @@ -143,7 +134,18 @@ | ||
| 143 | </el-form-item> | 134 | </el-form-item> |
| 144 | </el-col> | 135 | </el-col> |
| 145 | <el-col :span="23"> | 136 | <el-col :span="23"> |
| 146 | - <el-form-item label="取证内容" prop="obtainEvidence"> | 137 | + <el-form-item label="关键词" prop="questionClass"> |
| 138 | + <el-input | ||
| 139 | + v-model="dataForm.questionClass" | ||
| 140 | + placeholder="请输入关键词" | ||
| 141 | + clearable | ||
| 142 | + :style="{ width: '100%' }" | ||
| 143 | + > | ||
| 144 | + </el-input> | ||
| 145 | + </el-form-item> | ||
| 146 | + </el-col> | ||
| 147 | + <el-col :span="23"> | ||
| 148 | + <el-form-item label="附件" prop="obtainEvidence"> | ||
| 147 | <NCC-UploadFz | 149 | <NCC-UploadFz |
| 148 | v-model="dataForm.obtainEvidence" | 150 | v-model="dataForm.obtainEvidence" |
| 149 | :fileSize="5" | 151 | :fileSize="5" |
| @@ -205,9 +207,6 @@ export default { | @@ -205,9 +207,6 @@ export default { | ||
| 205 | questionType: [ | 207 | questionType: [ |
| 206 | { required: true, message: "请选择问题类型", trigger: "change" }, | 208 | { required: true, message: "请选择问题类型", trigger: "change" }, |
| 207 | ], | 209 | ], |
| 208 | - questionClass: [ | ||
| 209 | - { required: true, message: "请选择关键词", trigger: "change" }, | ||
| 210 | - ], | ||
| 211 | }, | 210 | }, |
| 212 | sourceOptions: [ | 211 | sourceOptions: [ |
| 213 | { fullName: "市网信办线索", id: "市网信办线索" }, | 212 | { fullName: "市网信办线索", id: "市网信办线索" }, |
| @@ -229,11 +228,20 @@ export default { | @@ -229,11 +228,20 @@ export default { | ||
| 229 | watch: {}, | 228 | watch: {}, |
| 230 | created() { | 229 | created() { |
| 231 | this.loadList(); | 230 | this.loadList(); |
| 231 | + this.getSourceOptions(); | ||
| 232 | this.getplatformTypeOptions(); | 232 | this.getplatformTypeOptions(); |
| 233 | this.getquestionTypeOptions(); | 233 | this.getquestionTypeOptions(); |
| 234 | }, | 234 | }, |
| 235 | mounted() {}, | 235 | mounted() {}, |
| 236 | methods: { | 236 | methods: { |
| 237 | + async getSourceOptions() { | ||
| 238 | + request({ | ||
| 239 | + url: `/Extend/baseinspectionreport/GetReportSourceList`, | ||
| 240 | + method: "GET", | ||
| 241 | + }).then(({data}) => { | ||
| 242 | + this.sourceOptions = data; | ||
| 243 | + }) | ||
| 244 | + }, | ||
| 237 | loadList(query) { | 245 | loadList(query) { |
| 238 | this.name_loading = true; | 246 | this.name_loading = true; |
| 239 | getInfoList({pageIndex: 1, pageSize: 100, keyword: query }).then(({ data }) => { | 247 | getInfoList({pageIndex: 1, pageSize: 100, keyword: query }).then(({ data }) => { |
src/views/homePage/components/news/NewsDialog.vue
| @@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
| 38 | </template> | 38 | </template> |
| 39 | 39 | ||
| 40 | <script> | 40 | <script> |
| 41 | -import { getMessageList, ReadInfo } from "@/api/system/message"; | 41 | +import { getMessageList, ReadInfo, MessageAllRead } from "@/api/system/message"; |
| 42 | import { message } from '@/utils/message'; | 42 | import { message } from '@/utils/message'; |
| 43 | export default { | 43 | export default { |
| 44 | name: "NewsDialog", | 44 | name: "NewsDialog", |
src/views/overView/Overview.vue
| @@ -20,9 +20,9 @@ | @@ -20,9 +20,9 @@ | ||
| 20 | <el-table-column prop="taskType" label="任务类型" show-overflow-tooltip width="100"/> | 20 | <el-table-column prop="taskType" label="任务类型" show-overflow-tooltip width="100"/> |
| 21 | <el-table-column prop="taskState" label="状态" show-overflow-tooltip width="80"/> | 21 | <el-table-column prop="taskState" label="状态" show-overflow-tooltip width="80"/> |
| 22 | <el-table-column prop="taskContent" label="任务内容" show-overflow-tooltip /> | 22 | <el-table-column prop="taskContent" label="任务内容" show-overflow-tooltip /> |
| 23 | - <el-table-column prop="deadLine" label="任务期限" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="140"> | 23 | + <el-table-column prop="deadLine" label="任务期限" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="170"> |
| 24 | <template slot-scope="scope"> | 24 | <template slot-scope="scope"> |
| 25 | - <el-tag :type="ncc.timeDeadLine(scope.row.deadLine)">{{ ncc.tableDateFormat(scope.row, 'deadLine', scope.row.deadLine) }}</el-tag> | 25 | + <el-tag :type="`${ncc.timeDeadLine(scope.row.deadLine)}`">{{ncc.stateDeadLine(scope.row.deadLine)}}{{ ncc.tableDateFormat(scope.row, 'deadLine', scope.row.deadLine) }}</el-tag> |
| 26 | </template> | 26 | </template> |
| 27 | </el-table-column> | 27 | </el-table-column> |
| 28 | <el-table-column label="操作" width="100"> | 28 | <el-table-column label="操作" width="100"> |
| @@ -111,13 +111,15 @@ | @@ -111,13 +111,15 @@ | ||
| 111 | <el-table :data="msgList" style="width: 100%" stripe v-loading="msgLoading"> | 111 | <el-table :data="msgList" style="width: 100%" stripe v-loading="msgLoading"> |
| 112 | <el-table-column prop="title" label="标题" show-overflow-tooltip> | 112 | <el-table-column prop="title" label="标题" show-overflow-tooltip> |
| 113 | </el-table-column> | 113 | </el-table-column> |
| 114 | - <el-table-column label="操作" fixed="right" width="80"> | 114 | + <el-table-column label="操作" fixed="right" width="150"> |
| 115 | <template slot-scope="scope"> | 115 | <template slot-scope="scope"> |
| 116 | - <el-button type="text" @click="checkDetail(scope.row)">详情</el-button> | 116 | + <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button> |
| 117 | + <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button> | ||
| 118 | + <el-button type="text" style="color: #909399;" @click="checkDetail(scope.row, true)">详情</el-button> | ||
| 117 | </template> | 119 | </template> |
| 118 | </el-table-column> | 120 | </el-table-column> |
| 119 | </el-table> | 121 | </el-table> |
| 120 | - <pagination :total="msgTotal" :page.sync="msgListQuery.currentPage" :limit.sync="msgListQuery.pageSize" @pagination="getAllMsgList" /> | 122 | + <pagination :total="msgTotal" :page.sync="msgListQuery.currentPage" :limit.sync="msgListQuery.pageSize" @pagination="getAllMsgList" layout="prev, pager, next"/> |
| 121 | </template> | 123 | </template> |
| 122 | </div> | 124 | </div> |
| 123 | </div> | 125 | </div> |
| @@ -220,13 +222,30 @@ export default { | @@ -220,13 +222,30 @@ export default { | ||
| 220 | this.MsgFormVisible = false; | 222 | this.MsgFormVisible = false; |
| 221 | val && this.getAllMsgList(); | 223 | val && this.getAllMsgList(); |
| 222 | }, | 224 | }, |
| 223 | - checkDetail(row) { | ||
| 224 | - console.log(row); | 225 | + checkDetail(row, isDetail) { |
| 225 | this.MsgFormVisible = true; | 226 | this.MsgFormVisible = true; |
| 226 | this.$nextTick(() => { | 227 | this.$nextTick(() => { |
| 227 | - this.$refs.MsgForm.init(row.id, true); | 228 | + this.$refs.MsgForm.init(row.id, isDetail); |
| 228 | }) | 229 | }) |
| 229 | }, | 230 | }, |
| 231 | + delNew(row) { | ||
| 232 | + this.$confirm('此操作将永久删除该消息, 是否继续?', '提示', { | ||
| 233 | + confirmButtonText: '确定', | ||
| 234 | + cancelButtonText: '取消', | ||
| 235 | + type: 'warning' | ||
| 236 | + }).then(async () => { | ||
| 237 | + let res = await request({ | ||
| 238 | + url: `/SubDev/ZyOaArticle/${row.id}`, | ||
| 239 | + method: "DELETE", | ||
| 240 | + }); | ||
| 241 | + this.$message({ | ||
| 242 | + message: res.msg, | ||
| 243 | + type: 'success' | ||
| 244 | + }); | ||
| 245 | + this.getAllMsgList(); | ||
| 246 | + }); | ||
| 247 | + }, | ||
| 248 | + | ||
| 230 | // 发布消息通知 | 249 | // 发布消息通知 |
| 231 | announceMsg() { | 250 | announceMsg() { |
| 232 | this.MsgFormVisible = true; | 251 | this.MsgFormVisible = true; |
src/views/overView/msgForm.vue
| @@ -44,7 +44,7 @@ | @@ -44,7 +44,7 @@ | ||
| 44 | </el-col> | 44 | </el-col> |
| 45 | <el-col :span="24"> | 45 | <el-col :span="24"> |
| 46 | <el-form-item label="传达区域" prop="communicationAreas"> | 46 | <el-form-item label="传达区域" prop="communicationAreas"> |
| 47 | - <el-checkbox-group v-model="dataForm.communicationAreas" :style="{}"> | 47 | + <el-checkbox-group v-model="dataForm.communicationAreas" @change="selectChange"> |
| 48 | <el-checkbox | 48 | <el-checkbox |
| 49 | v-for="(item, index) in areaOptions" | 49 | v-for="(item, index) in areaOptions" |
| 50 | :key="index" | 50 | :key="index" |
| @@ -64,7 +64,7 @@ | @@ -64,7 +64,7 @@ | ||
| 64 | </el-col> | 64 | </el-col> |
| 65 | <el-col :span="24"> | 65 | <el-col :span="24"> |
| 66 | <el-form-item label="传达外协" prop="communicationOuts"> | 66 | <el-form-item label="传达外协" prop="communicationOuts"> |
| 67 | - <el-checkbox-group v-model="dataForm.communicationOuts" :style="{}"> | 67 | + <el-checkbox-group v-model="dataForm.communicationOuts" @change="selectChange"> |
| 68 | <el-checkbox | 68 | <el-checkbox |
| 69 | v-for="(item, index) in communicationOutOptions" | 69 | v-for="(item, index) in communicationOutOptions" |
| 70 | :key="index" | 70 | :key="index" |
| @@ -88,13 +88,33 @@ | @@ -88,13 +88,33 @@ | ||
| 88 | > | 88 | > |
| 89 | <div class="msg-title">{{ dataForm.title }}</div> | 89 | <div class="msg-title">{{ dataForm.title }}</div> |
| 90 | <div class="content" v-html="dataForm.bodyContent"></div> | 90 | <div class="content" v-html="dataForm.bodyContent"></div> |
| 91 | - <div class="files"></div> | 91 | + <div class="files" v-if="isSHILevel"> |
| 92 | + <h4>查看情况</h4> | ||
| 93 | + <div class="tag-group"> | ||
| 94 | + <span class="tag-group__title title-tag">传递区域:</span> | ||
| 95 | + <el-tag | ||
| 96 | + v-for="(v, i) in dataForm.communicationAreaList" | ||
| 97 | + :key="i" | ||
| 98 | + :type="`${v.IsRead ? 'success' : 'danger'}`" | ||
| 99 | + :effect="`${v.IsRead ? 'dark' : 'plain'}`"> | ||
| 100 | + {{ v.FullName }} | ||
| 101 | + </el-tag> | ||
| 102 | + </div> | ||
| 103 | + <div class="tag-group"> | ||
| 104 | + <span class="tag-group__title title-tag">传达外协:</span> | ||
| 105 | + <el-tag | ||
| 106 | + v-for="(v, i) in dataForm.communicationOutList" | ||
| 107 | + :key="i" | ||
| 108 | + :type="`${v.IsRead ? 'success' : 'danger'}`" | ||
| 109 | + :effect="`${v.IsRead ? 'dark' : 'plain'}`"> | ||
| 110 | + {{ v.FullName }} | ||
| 111 | + </el-tag> | ||
| 112 | + </div> | ||
| 113 | + </div> | ||
| 92 | </div> | 114 | </div> |
| 93 | <span slot="footer" class="dialog-footer"> | 115 | <span slot="footer" class="dialog-footer"> |
| 94 | <el-button @click="visible = false">取 消</el-button> | 116 | <el-button @click="visible = false">取 消</el-button> |
| 95 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" | ||
| 96 | - >确 定</el-button | ||
| 97 | - > | 117 | + <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" :loading="btnLoading">确 定</el-button> |
| 98 | </span> | 118 | </span> |
| 99 | </el-dialog> | 119 | </el-dialog> |
| 100 | </template> | 120 | </template> |
| @@ -104,6 +124,20 @@ export default { | @@ -104,6 +124,20 @@ export default { | ||
| 104 | components: {}, | 124 | components: {}, |
| 105 | props: [], | 125 | props: [], |
| 106 | data() { | 126 | data() { |
| 127 | + var validatecommunicationAreas = (rule, value, callback) => { | ||
| 128 | + if (!this.dataForm.communicationOuts.length && !value?.length) { | ||
| 129 | + callback(new Error('请输入传达区域')); | ||
| 130 | + } else { | ||
| 131 | + callback(); | ||
| 132 | + } | ||
| 133 | + }; | ||
| 134 | + var validatecommunicationOuts = (rule, value, callback) => { | ||
| 135 | + if (!this.dataForm.communicationAreas.length && !value?.length) { | ||
| 136 | + callback(new Error('请选择传达外协')); | ||
| 137 | + } else { | ||
| 138 | + callback(); | ||
| 139 | + } | ||
| 140 | + } | ||
| 107 | return { | 141 | return { |
| 108 | loading: false, | 142 | loading: false, |
| 109 | visible: false, | 143 | visible: false, |
| @@ -123,12 +157,24 @@ export default { | @@ -123,12 +157,24 @@ export default { | ||
| 123 | bodyContent: [ | 157 | bodyContent: [ |
| 124 | { required: true, message: "请输入内容", trigger: "blur" }, | 158 | { required: true, message: "请输入内容", trigger: "blur" }, |
| 125 | ], | 159 | ], |
| 160 | + communicationAreas: [ | ||
| 161 | + { validator: validatecommunicationAreas, trigger: 'change' } | ||
| 162 | + ], | ||
| 163 | + communicationOuts: [ | ||
| 164 | + { validator: validatecommunicationOuts, trigger: 'change' } | ||
| 165 | + ], | ||
| 126 | }, | 166 | }, |
| 127 | areaOptions: [], | 167 | areaOptions: [], |
| 128 | communicationOutOptions: [], | 168 | communicationOutOptions: [], |
| 169 | + btnLoading: false, | ||
| 129 | }; | 170 | }; |
| 130 | }, | 171 | }, |
| 131 | - computed: {}, | 172 | + computed: { |
| 173 | + isSHILevel() { | ||
| 174 | + // 判断角色是否为‘市级办公室’ | ||
| 175 | + return this.$store.state.user.islader; | ||
| 176 | + }, | ||
| 177 | + }, | ||
| 132 | watch: {}, | 178 | watch: {}, |
| 133 | created() { | 179 | created() { |
| 134 | this.initAreaTypeList(); | 180 | this.initAreaTypeList(); |
| @@ -145,7 +191,7 @@ export default { | @@ -145,7 +191,7 @@ export default { | ||
| 145 | this.visible = true; | 191 | this.visible = true; |
| 146 | this.isDetail = isDetail || false; | 192 | this.isDetail = isDetail || false; |
| 147 | this.$nextTick(() => { | 193 | this.$nextTick(() => { |
| 148 | - !this.dataForm.id && this.$refs["elForm"].resetFields(); | 194 | + !this.isDetail && this.$refs["elForm"].resetFields(); |
| 149 | if (this.dataForm.id) { | 195 | if (this.dataForm.id) { |
| 150 | this.loading = true; | 196 | this.loading = true; |
| 151 | request({ | 197 | request({ |
| @@ -153,6 +199,16 @@ export default { | @@ -153,6 +199,16 @@ export default { | ||
| 153 | method: "GET", | 199 | method: "GET", |
| 154 | }).then((res) => { | 200 | }).then((res) => { |
| 155 | this.dataForm = res.data; | 201 | this.dataForm = res.data; |
| 202 | + let AreaList = []; | ||
| 203 | + res.data.communicationAreaList && res.data.communicationAreaList.forEach(v => { | ||
| 204 | + AreaList.push(v.Id); | ||
| 205 | + }); | ||
| 206 | + this.dataForm.communicationAreas = AreaList; | ||
| 207 | + let OutList = []; | ||
| 208 | + res.data.communicationOutList && res.data.communicationOutList.forEach(v => { | ||
| 209 | + OutList.push(v.Id); | ||
| 210 | + }); | ||
| 211 | + this.dataForm.communicationOuts = OutList; | ||
| 156 | this.loading = false; | 212 | this.loading = false; |
| 157 | }); | 213 | }); |
| 158 | } | 214 | } |
| @@ -183,6 +239,7 @@ export default { | @@ -183,6 +239,7 @@ export default { | ||
| 183 | (option) => option.id | 239 | (option) => option.id |
| 184 | ); | 240 | ); |
| 185 | } | 241 | } |
| 242 | + this.$forceUpdate(); | ||
| 186 | }, | 243 | }, |
| 187 | // 反选 | 244 | // 反选 |
| 188 | closeAreaAll(type) { | 245 | closeAreaAll(type) { |
| @@ -199,27 +256,37 @@ export default { | @@ -199,27 +256,37 @@ export default { | ||
| 199 | ) | 256 | ) |
| 200 | .map((option) => option.id); | 257 | .map((option) => option.id); |
| 201 | } | 258 | } |
| 259 | + this.$forceUpdate(); | ||
| 260 | + }, | ||
| 261 | + selectChange() { | ||
| 262 | + this.$forceUpdate(); | ||
| 202 | }, | 263 | }, |
| 203 | dataFormSubmit() { | 264 | dataFormSubmit() { |
| 204 | this.$refs["elForm"].validate((valid) => { | 265 | this.$refs["elForm"].validate((valid) => { |
| 205 | if (valid) { | 266 | if (valid) { |
| 206 | - request({ | ||
| 207 | - url: `/SubDev/ZyOaArticle`, | ||
| 208 | - method: "post", | ||
| 209 | - data: this.dataForm, | ||
| 210 | - }).then((res) => { | ||
| 211 | - this.$message({ | ||
| 212 | - message: res.msg, | ||
| 213 | - type: "success", | ||
| 214 | - duration: 1000, | ||
| 215 | - onClose: () => { | ||
| 216 | - (this.visible = false), this.$emit("refresh", true); | ||
| 217 | - }, | ||
| 218 | - }); | ||
| 219 | - }); | 267 | + !this.dataForm.id ? this.toPostForm('/SubDev/ZyOaArticle', 'post') : this.toPostForm(`/SubDev/ZyOaArticle/${this.dataForm.id}`, 'put'); |
| 220 | } | 268 | } |
| 221 | }); | 269 | }); |
| 222 | }, | 270 | }, |
| 271 | + toPostForm(url, method) { | ||
| 272 | + this.btnLoading = true; | ||
| 273 | + request({ | ||
| 274 | + url, | ||
| 275 | + method, | ||
| 276 | + data: this.dataForm, | ||
| 277 | + }).then((res) => { | ||
| 278 | + this.$message({ | ||
| 279 | + message: res.msg, | ||
| 280 | + type: "success", | ||
| 281 | + duration: 1000, | ||
| 282 | + onClose: () => { | ||
| 283 | + this.btnLoading = false; | ||
| 284 | + this.visible = false; | ||
| 285 | + this.$emit("refresh", true); | ||
| 286 | + }, | ||
| 287 | + }); | ||
| 288 | + }); | ||
| 289 | + } | ||
| 223 | }, | 290 | }, |
| 224 | }; | 291 | }; |
| 225 | </script> | 292 | </script> |
| @@ -234,5 +301,18 @@ export default { | @@ -234,5 +301,18 @@ export default { | ||
| 234 | margin-bottom: 8px; | 301 | margin-bottom: 8px; |
| 235 | color: #000; | 302 | color: #000; |
| 236 | } | 303 | } |
| 304 | + .files { | ||
| 305 | + border-top: #e8e8e8 1px solid; | ||
| 306 | + padding-top: 10px; | ||
| 307 | + margin-top: 10px; | ||
| 308 | + .title-tag { | ||
| 309 | + line-height: 40px; | ||
| 310 | + font-size: 12px; | ||
| 311 | + margin-right: 10px; | ||
| 312 | + } | ||
| 313 | + :deep(.el-tag) { | ||
| 314 | + margin: 0 5px; | ||
| 315 | + } | ||
| 316 | + } | ||
| 237 | } | 317 | } |
| 238 | </style> | 318 | </style> |