Commit 7180000ed73203fb5b5ca8ee29b1a52c1ea2de81
1 parent
541d55ac
优化
Showing
13 changed files
with
383 additions
and
294 deletions
src/views/DisposalSuggestions/HandleForm.vue
| ... | ... | @@ -82,10 +82,10 @@ |
| 82 | 82 | label-position="right" |
| 83 | 83 | > |
| 84 | 84 | <el-col :span="24"> |
| 85 | - <el-form-item label="处理说明" prop="disposalSuggestions"> | |
| 85 | + <el-form-item label="处理结果" prop="disposalSuggestions"> | |
| 86 | 86 | <el-input |
| 87 | 87 | v-model="suggestionForm.disposalSuggestions" |
| 88 | - placeholder="请输入处理说明" | |
| 88 | + placeholder="请输入处理结果" | |
| 89 | 89 | show-word-limit |
| 90 | 90 | :style="{ width: '100%' }" |
| 91 | 91 | type="textarea" | ... | ... |
src/views/DisposalSuggestions/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="SystemInfo item-box common-info-box"> |
| 3 | - <div class="item-title">{{isSHILevel ? '上报线索研判' : '巡查处理'}}上报线索研判</div> | |
| 3 | + <div class="item-title">{{isSHILevel ? '上报线索研判' : '巡查处理'}}</div> | |
| 4 | 4 | <div class="item-body"> |
| 5 | 5 | <div class="NCC-common-layout"> |
| 6 | 6 | <div class="NCC-common-layout-center"> |
| ... | ... | @@ -31,6 +31,7 @@ |
| 31 | 31 | <el-col :span="4"> |
| 32 | 32 | <el-form-item> |
| 33 | 33 | <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button> |
| 34 | + <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button> | |
| 34 | 35 | </el-form-item> |
| 35 | 36 | </el-col> |
| 36 | 37 | </el-form> |
| ... | ... | @@ -87,6 +88,7 @@ |
| 87 | 88 | showAll: false, |
| 88 | 89 | query: { |
| 89 | 90 | platformName:undefined, |
| 91 | + platformNameStr: undefined, | |
| 90 | 92 | platformType:undefined, |
| 91 | 93 | department:undefined, |
| 92 | 94 | questionType:undefined, | ... | ... |
src/views/baseCaseHandling/Form.vue
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | v-loading="loading" |
| 10 | 10 | :modal="false" |
| 11 | 11 | > |
| 12 | - <el-row :gutter="15" class="NCC-dialog-content" v-if="!isDetail"> | |
| 12 | + <el-row :gutter="15" class="NCC-dialog-content" v-show="!isDetail"> | |
| 13 | 13 | <el-form |
| 14 | 14 | ref="elForm" |
| 15 | 15 | :model="dataForm" |
| ... | ... | @@ -36,7 +36,7 @@ |
| 36 | 36 | @blur.native.capture="selectBlur" |
| 37 | 37 | @visible-change="visibleNameChange" |
| 38 | 38 | @change="(val) => platformNameChange(val, 'change')" |
| 39 | - :disabled="formType" | |
| 39 | + :disabled="formType != 0" | |
| 40 | 40 | :loading="system_loading"> |
| 41 | 41 | <el-option v-for="item in systemOption" :key="item.value" :label="item.systemName" :value="item.id" /> |
| 42 | 42 | </el-select> |
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | clearable |
| 51 | 51 | filterable |
| 52 | 52 | style="width: 100%" |
| 53 | - :disabled="formType || dataForm.isHaveSystem" | |
| 53 | + :disabled="formType != 0 || dataForm.isHaveSystem" | |
| 54 | 54 | > |
| 55 | 55 | <el-option |
| 56 | 56 | v-for="item in companyOptions" |
| ... | ... | @@ -64,21 +64,23 @@ |
| 64 | 64 | </el-col> |
| 65 | 65 | <el-col :span="24"> |
| 66 | 66 | <el-form-item label="应用类别" prop="category"> |
| 67 | - <el-input v-model="dataForm.category" placeholder="选择系统类别" clearable :disabled="formType || dataForm.isHaveSystem"/> | |
| 67 | + <el-radio-group v-model="dataForm.category" :disabled="formType != 0 || dataForm.isHaveSystem"> | |
| 68 | + <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> | |
| 69 | + </el-radio-group> | |
| 68 | 70 | </el-form-item> |
| 69 | 71 | </el-col> |
| 70 | 72 | <el-col :span="24"> |
| 71 | 73 | <el-form-item label="备案号" prop="recordNumber"> |
| 72 | - <el-input v-model="dataForm.recordNumber" placeholder="选择备案号" clearable :disabled="formType || dataForm.isHaveSystem"/> | |
| 74 | + <el-input v-model="dataForm.recordNumber" placeholder="选择备案号" clearable :disabled="formType == 2"/> | |
| 73 | 75 | </el-form-item> |
| 74 | 76 | </el-col> |
| 75 | - <el-col :span="24"> | |
| 77 | + <el-col :span="24" v-if="isSHILevel"> | |
| 76 | 78 | <el-form-item label="所属区县" prop="districtCounty"> |
| 77 | 79 | <el-radio-group |
| 78 | 80 | v-model="dataForm.districtCounty" |
| 79 | 81 | placeholder="请选择所属区县" |
| 80 | 82 | style="line-height: 22px" |
| 81 | - :disabled="formType" | |
| 83 | + :disabled="formType == 2" | |
| 82 | 84 | > |
| 83 | 85 | <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ |
| 84 | 86 | v.fullName |
| ... | ... | @@ -88,76 +90,84 @@ |
| 88 | 90 | </el-col> |
| 89 | 91 | <el-col :span="24"> |
| 90 | 92 | <el-form-item label="违法原因" prop="illegalReasons"> |
| 91 | - <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200" :disabled="formType"/> | |
| 93 | + <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200" :disabled="formType == 2"/> | |
| 92 | 94 | </el-form-item> |
| 93 | 95 | </el-col> |
| 94 | 96 | <el-col :span="24"> |
| 95 | 97 | <el-form-item label="处罚要求" prop="punishmentRequirements"> |
| 96 | - <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200" :disabled="formType"/> | |
| 98 | + <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200" :disabled="formType == 2"/> | |
| 97 | 99 | </el-form-item> |
| 98 | 100 | </el-col> |
| 99 | 101 | <el-col :span="24"> |
| 100 | 102 | <el-form-item label="处罚内容" prop="punishmentContent"> |
| 101 | - <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200" :disabled="formType"/> | |
| 103 | + <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200" :disabled="formType == 2"/> | |
| 102 | 104 | </el-form-item> |
| 103 | 105 | </el-col> |
| 104 | - <el-col :span="24" v-if="(formType && isSHILevel) || dataForm.state == '592592999649641733'"> | |
| 106 | + <el-col :span="24" v-if="isSHILevel"> | |
| 105 | 107 | <el-form-item label="执法方式" prop="enforceType"> |
| 106 | 108 | <el-radio-group v-model="dataForm.enforceType"> |
| 107 | - <el-radio :label="'1'">柔性执法</el-radio> | |
| 108 | - <el-radio :label="'2'">行政执法</el-radio> | |
| 109 | + <el-radio label="柔性执法">柔性执法</el-radio> | |
| 110 | + <el-radio label="行政执法">行政执法</el-radio> | |
| 109 | 111 | </el-radio-group> |
| 110 | 112 | </el-form-item> |
| 111 | 113 | </el-col> |
| 112 | - <el-col :span="24" v-if="formType || dataForm.state == '592592999649641733'"> | |
| 114 | + <el-col :span="24" v-if="!isSHILevel && formType == 2"> | |
| 113 | 115 | <el-form-item label="执法说明" prop="enforcecontent"> |
| 114 | - <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入处罚内容" clearable maxlength="200"/> | |
| 116 | + <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入执法说明" clearable maxlength="200"/> | |
| 115 | 117 | </el-form-item> |
| 116 | 118 | </el-col> |
| 117 | 119 | </el-form> |
| 118 | 120 | </el-row> |
| 119 | - <el-row v-if="isDetail"> | |
| 120 | - <el-col class="form-item"> | |
| 121 | - <div class="label w-120">案件名称:</div> | |
| 122 | - <div class="text">{{ dataForm.systemNameStr || '--' }}</div> | |
| 123 | - </el-col> | |
| 124 | - <el-col class="form-item"> | |
| 125 | - <div class="label w-120">运营主体:</div> | |
| 126 | - <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div> | |
| 127 | - </el-col> | |
| 128 | - <el-col class="form-item"> | |
| 129 | - <div class="label w-120">应用类别:</div> | |
| 130 | - <div class="text">{{ dataForm.category || '--' }}</div> | |
| 131 | - </el-col> | |
| 132 | - <el-col class="form-item"> | |
| 133 | - <div class="label w-120">备案号:</div> | |
| 134 | - <div class="text">{{ dataForm.recordNumber || '--' }}</div> | |
| 135 | - </el-col> | |
| 136 | - <el-col class="form-item"> | |
| 137 | - <div class="label w-120">所属区县:</div> | |
| 138 | - <div class="text">{{ areaOptions.find(item => item.id == dataForm.districtCounty).fullName }}</div> | |
| 139 | - </el-col> | |
| 140 | - <el-col class="form-item"> | |
| 141 | - <div class="label w-120">违法原因:</div> | |
| 142 | - <p class="text">{{ dataForm.illegalReasons || '--' }}</p> | |
| 143 | - </el-col> | |
| 144 | - <el-col class="form-item"> | |
| 145 | - <div class="label w-120">处罚要求:</div> | |
| 146 | - <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p> | |
| 147 | - </el-col> | |
| 148 | - <el-col class="form-item"> | |
| 149 | - <div class="label w-120">处罚内容:</div> | |
| 150 | - <p class="text">{{ dataForm.punishmentContent || '--' }}</p> | |
| 151 | - </el-col> | |
| 121 | + <el-row v-show="!!isDetail"> | |
| 122 | + <el-col class="form-item"> | |
| 123 | + <div class="label w-120">案件名称:</div> | |
| 124 | + <div class="text">{{ dataForm.systemNameStr || '--' }}</div> | |
| 125 | + </el-col> | |
| 126 | + <el-col class="form-item"> | |
| 127 | + <div class="label w-120">运营主体:</div> | |
| 128 | + <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div> | |
| 129 | + </el-col> | |
| 130 | + <el-col class="form-item"> | |
| 131 | + <div class="label w-120">应用类别:</div> | |
| 132 | + <div class="text">{{ dataForm.categoryName || '--' }}</div> | |
| 133 | + </el-col> | |
| 134 | + <el-col class="form-item"> | |
| 135 | + <div class="label w-120">备案号:</div> | |
| 136 | + <div class="text">{{ dataForm.recordNumber || '--' }}</div> | |
| 137 | + </el-col> | |
| 138 | + <el-col class="form-item"> | |
| 139 | + <div class="label w-120">所属区县:</div> | |
| 140 | + <div class="text">{{ dataForm.districtCountyName }}</div> | |
| 141 | + </el-col> | |
| 142 | + <el-col class="form-item"> | |
| 143 | + <div class="label w-120">违法原因:</div> | |
| 144 | + <p class="text">{{ dataForm.illegalReasons || '--' }}</p> | |
| 145 | + </el-col> | |
| 146 | + <el-col class="form-item"> | |
| 147 | + <div class="label w-120">处罚要求:</div> | |
| 148 | + <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p> | |
| 149 | + </el-col> | |
| 150 | + <el-col class="form-item"> | |
| 151 | + <div class="label w-120">处罚内容:</div> | |
| 152 | + <p class="text">{{ dataForm.punishmentContent || '--' }}</p> | |
| 153 | + </el-col> | |
| 154 | + <el-col class="form-item" v-if="dataForm.enforceType"> | |
| 155 | + <div class="label w-120">执法方式:</div> | |
| 156 | + <p class="text">{{ dataForm.enforceType || '--' }}</p> | |
| 157 | + </el-col> | |
| 158 | + <el-col class="form-item" v-if="dataForm.enforcecontent"> | |
| 159 | + <div class="label w-120">执法说明:</div> | |
| 160 | + <p class="text">{{ dataForm.enforcecontent || '--' }}</p> | |
| 161 | + </el-col> | |
| 152 | 162 | </el-row> |
| 153 | 163 | <span slot="footer" class="dialog-footer"> |
| 154 | 164 | <el-button @click="visible = false">取 消</el-button> |
| 155 | - <template v-if="!isDetail && !formType"> | |
| 156 | - <el-button type="primary" v-if="!isDetail" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button> | |
| 157 | - <el-button type="info" v-if="!isDetail" @click="submit(0)" :loading="btnLoading">保 存</el-button> | |
| 165 | + <template v-if="!isDetail"> | |
| 166 | + <el-button type="primary" v-if="!isDetail && formType == '0'" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button> | |
| 167 | + <el-button type="info" v-if="!isDetail && formType == '0'" @click="submit(0)" :loading="btnLoading">保 存</el-button> | |
| 158 | 168 | </template> |
| 159 | - <template v-if="!isDetail && formType"> | |
| 160 | - <el-button type="primary" v-if="!isDetail" @click="handle" :loading="btnLoading">提 交</el-button> | |
| 169 | + <template v-if="!isDetail"> | |
| 170 | + <el-button type="primary" v-if="!isDetail && formType != '0'" @click="handle" :loading="btnLoading">提 交</el-button> | |
| 161 | 171 | </template> |
| 162 | 172 | </span> |
| 163 | 173 | </el-dialog> |
| ... | ... | @@ -176,7 +186,7 @@ export default { |
| 176 | 186 | visible: false, |
| 177 | 187 | loading: false, |
| 178 | 188 | isDetail: false, |
| 179 | - formType: false, | |
| 189 | + formType: false, // 0 新增 1 编辑 2 处理 | |
| 180 | 190 | dataForm: { |
| 181 | 191 | id: undefined, |
| 182 | 192 | registrationTime: undefined, |
| ... | ... | @@ -184,7 +194,9 @@ export default { |
| 184 | 194 | registeredEntity: undefined, |
| 185 | 195 | category: undefined, |
| 186 | 196 | recordNumber: undefined, |
| 197 | + registeredEntityStr: undefined, | |
| 187 | 198 | districtCounty: undefined, |
| 199 | + systemNameStr: undefined, | |
| 188 | 200 | illegalReasons: undefined, |
| 189 | 201 | punishmentRequirements: undefined, |
| 190 | 202 | punishmentContent: undefined, |
| ... | ... | @@ -220,7 +232,8 @@ export default { |
| 220 | 232 | system_loading: false, |
| 221 | 233 | areaOptions: [], |
| 222 | 234 | btnLoading: false, |
| 223 | - companyOptions: [] | |
| 235 | + companyOptions: [], | |
| 236 | + platformTypeOptions: [], | |
| 224 | 237 | }; |
| 225 | 238 | }, |
| 226 | 239 | computed: { |
| ... | ... | @@ -231,6 +244,7 @@ export default { |
| 231 | 244 | }, |
| 232 | 245 | watch: {}, |
| 233 | 246 | created() { |
| 247 | + this.getplatformTypeOptions(); | |
| 234 | 248 | this.getSystemSelect(); |
| 235 | 249 | this.initSystemTypeList(); |
| 236 | 250 | this.initAreaTypeList(); |
| ... | ... | @@ -238,6 +252,11 @@ export default { |
| 238 | 252 | }, |
| 239 | 253 | mounted() {}, |
| 240 | 254 | methods: { |
| 255 | + async getplatformTypeOptions() { | |
| 256 | + let list = this.$store.state.meta.system; | |
| 257 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 258 | + this.platformTypeOptions = list; | |
| 259 | + }, | |
| 241 | 260 | // 请求公司列表 |
| 242 | 261 | async initCompanyList() { |
| 243 | 262 | request({ |
| ... | ... | @@ -268,11 +287,10 @@ export default { |
| 268 | 287 | platformNameChange(val, type) { |
| 269 | 288 | let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id); |
| 270 | 289 | this.dataForm.isHaveSystem = obj ? true : false; |
| 271 | - if(!obj) return; | |
| 272 | 290 | this.dataForm.systemName = obj ? obj.id : val; |
| 273 | - this.dataForm.registeredEntity = obj ? obj.companyId : val; | |
| 274 | - this.dataForm.category = obj ? obj.systemType : ''; | |
| 275 | - this.dataForm.recordNumber = obj ? obj.platform : ''; | |
| 291 | + this.dataForm.registeredEntity = obj ? obj.companyId : ''; | |
| 292 | + this.dataForm.category = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : ''; | |
| 293 | + // this.dataForm.recordNumber = obj ? obj.platform : ''; | |
| 276 | 294 | }, |
| 277 | 295 | // 系统名称改变 |
| 278 | 296 | systemChange(val) { |
| ... | ... | @@ -293,19 +311,20 @@ export default { |
| 293 | 311 | }, |
| 294 | 312 | init(id, isDetail, type) { |
| 295 | 313 | // type 0 上报/下派 1 处理 |
| 296 | - this.formType = Boolean(type) || false; | |
| 297 | - this.dataForm.id = id || 0; | |
| 314 | + this.formType = type || '0'; | |
| 315 | + this.dataForm.id = id || undefined; | |
| 298 | 316 | this.isDetail = isDetail || false; |
| 299 | 317 | this.visible = true; |
| 300 | - this.$forceUpdate(); | |
| 301 | 318 | this.$nextTick(() => { |
| 302 | - !isDetail && this.$refs["elForm"].resetFields(); | |
| 319 | + this.$refs["elForm"].resetFields(); | |
| 303 | 320 | if (this.dataForm.id) { |
| 304 | 321 | this.loading = true; |
| 305 | 322 | request({ |
| 306 | 323 | url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, |
| 307 | 324 | method: "GET", |
| 308 | 325 | }).then(async (res) => { |
| 326 | + res.data.districtCountyName = this.areaOptions.find(item => item.id == res.data.districtCounty).fullName; | |
| 327 | + res.data.categoryName = this.platformTypeOptions.find(v => v.Id == res.data.category || v.FullName == res.data.category).FullName; | |
| 309 | 328 | this.dataForm = res.data; |
| 310 | 329 | this.loading = false; |
| 311 | 330 | }).catch(() => { | ... | ... |
src/views/baseCaseHandling/index.vue
| ... | ... | @@ -26,12 +26,12 @@ |
| 26 | 26 | </el-col> --> |
| 27 | 27 | <el-col :span="4"> |
| 28 | 28 | <el-form-item label=""> |
| 29 | - <el-input v-model="query.systemName" placeholder="请输入系统名称" clearable/> | |
| 29 | + <el-input v-model="query.systemName" placeholder="请输入应用名称" clearable/> | |
| 30 | 30 | </el-form-item> |
| 31 | 31 | </el-col> |
| 32 | 32 | <el-col :span="4"> |
| 33 | 33 | <el-form-item label=""> |
| 34 | - <el-select v-model="query.category" placeholder="系统类别" clearable> | |
| 34 | + <el-select v-model="query.category" placeholder="应用类别" clearable> | |
| 35 | 35 | <el-option |
| 36 | 36 | v-for="(item, index) in systemTypeOptions" |
| 37 | 37 | :key="index" |
| ... | ... | @@ -44,9 +44,10 @@ |
| 44 | 44 | <el-col :span="3"> |
| 45 | 45 | <el-form-item> |
| 46 | 46 | <el-button type="primary" icon="el-icon-search" @click="search()" >查询</el-button> |
| 47 | + <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button> | |
| 47 | 48 | </el-form-item> |
| 48 | 49 | <div class="NCC-common-search-box-right"> |
| 49 | - <el-button type="success" icon="el-icon-plus" size="mini" @click="addOrUpdateHandle()">新增</el-button> | |
| 50 | + <el-button type="success" icon="el-icon-plus" size="mini" @click="addOrUpdateHandle('', false, '0')">新增</el-button> | |
| 50 | 51 | </div> |
| 51 | 52 | </el-col> |
| 52 | 53 | </el-form> |
| ... | ... | @@ -60,8 +61,8 @@ |
| 60 | 61 | <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> |
| 61 | 62 | <el-table-column prop="number" label="档案号" align="left" show-overflow-tooltip/> |
| 62 | 63 | <el-table-column prop="registrationTime" label="登记时间" :formatter="ncc.tableDateFormat" align="left" show-overflow-tooltip/> |
| 63 | - <el-table-column prop="systemName" label="应用名称" align="left" width="150" show-overflow-tooltip/> | |
| 64 | - <el-table-column prop="registeredEntity" label="运营主体" align="left" show-overflow-tooltip/> | |
| 64 | + <el-table-column prop="systemNameStr" label="应用名称" align="left" width="150" show-overflow-tooltip /> | |
| 65 | + <el-table-column prop="registeredEntityStr" label="运营主体" align="left" show-overflow-tooltip/> | |
| 65 | 66 | <el-table-column label="类别" prop="category" align="left"> |
| 66 | 67 | <template slot-scope="scope">{{ scope.row.category | dynamicTextUP(systemTypeOptions) }}</template> |
| 67 | 68 | </el-table-column> |
| ... | ... | @@ -80,8 +81,8 @@ |
| 80 | 81 | <el-table-column label="操作" fixed="right" width="180"> |
| 81 | 82 | <template slot-scope="scope"> |
| 82 | 83 | <el-button size="mini" type="text" @click="addOrUpdateHandle(scope.row.id, true) " >详情</el-button> |
| 83 | - <el-button type="text" v-if="scope.row.state == '592592903172261125' && scope.row.creatorUserId != $store.state.user.id" @click="addOrUpdateHandle(scope.row.id, false, 1)" >处理</el-button> | |
| 84 | - <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button> | |
| 84 | + <el-button type="text" v-if="scope.row.state == '592592903172261125' && scope.row.creatorUserId != $store.state.user.id" @click="addOrUpdateHandle(scope.row.id, false, '2')" >处理</el-button> | |
| 85 | + <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="addOrUpdateHandle(scope.row.id, false, '1')" >编辑</el-button> | |
| 85 | 86 | <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="toReportCase(scope.row.id)" >{{isSHILevel ? '下发' : '上报'}}</el-button> |
| 86 | 87 | <el-button type="text" v-if="scope.row.state == '592592614457345285' || scope.row.state == '592592756363232517'" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> |
| 87 | 88 | </template> |
| ... | ... | @@ -151,6 +152,7 @@ export default { |
| 151 | 152 | ], |
| 152 | 153 | stateOptions: [], |
| 153 | 154 | areaOptions: [], |
| 155 | + systemOptions: [], | |
| 154 | 156 | }; |
| 155 | 157 | }, |
| 156 | 158 | computed: { |
| ... | ... | @@ -160,12 +162,21 @@ export default { |
| 160 | 162 | }, |
| 161 | 163 | }, |
| 162 | 164 | created() { |
| 165 | + this.initSystemOptions(); | |
| 163 | 166 | this.initSystemTypeList(); |
| 164 | 167 | this.initAreaTypeList(); |
| 165 | 168 | this.initStateTypeOption(); |
| 166 | 169 | this.initData(); |
| 167 | 170 | }, |
| 168 | 171 | methods: { |
| 172 | + initSystemOptions() { | |
| 173 | + request({ | |
| 174 | + url: `/Extend/basesysteminfo/GetNoPagingList`, | |
| 175 | + method: "GET", | |
| 176 | + }).then(({data}) => { | |
| 177 | + this.systemOptions = data; | |
| 178 | + }) | |
| 179 | + }, | |
| 169 | 180 | sortChange({ column, prop, order }) { |
| 170 | 181 | this.listQuery.sort = order == "ascending" ? "asc" : "desc"; |
| 171 | 182 | this.listQuery.sidx = !order ? "" : prop; |
| ... | ... | @@ -222,7 +233,7 @@ export default { |
| 222 | 233 | }); |
| 223 | 234 | }, |
| 224 | 235 | toReportCase(id) { |
| 225 | - this.$confirm("确认上报/下发该案件?", "提示", { | |
| 236 | + this.$confirm(`确认${this.isSHILevel ? '下发' : '上报'}该案件?`, "提示", { | |
| 226 | 237 | type: "warning", |
| 227 | 238 | }) |
| 228 | 239 | .then(() => { | ... | ... |
src/views/baseInspectionReport/Form.vue
| ... | ... | @@ -176,6 +176,14 @@ |
| 176 | 176 | <div class="label w-120">附件:</div> |
| 177 | 177 | <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/> |
| 178 | 178 | </el-col> |
| 179 | + <el-col class="form-item" v-if="dataForm.judgmentOpinions"> | |
| 180 | + <div class="label w-120">研判意见:</div> | |
| 181 | + <div class="text">{{ dataForm.judgmentOpinions || '--' }}</div> | |
| 182 | + </el-col> | |
| 183 | + <el-col class="form-item" v-if="dataForm.disposalSuggestions"> | |
| 184 | + <div class="label w-120">处理结果:</div> | |
| 185 | + <div class="text">{{ dataForm.disposalSuggestions || '--' }}</div> | |
| 186 | + </el-col> | |
| 179 | 187 | </el-row> |
| 180 | 188 | <span slot="footer" class="dialog-footer"> |
| 181 | 189 | <el-button @click="visible = false">取 消</el-button> |
| ... | ... | @@ -256,6 +264,33 @@ export default { |
| 256 | 264 | created() {}, |
| 257 | 265 | mounted() {}, |
| 258 | 266 | methods: { |
| 267 | + async initAllList() { | |
| 268 | + let companyRes = await request({ | |
| 269 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | |
| 270 | + method: "GET", | |
| 271 | + }); | |
| 272 | + this.companyOptions = companyRes.data; | |
| 273 | + let SourceRes = await request({ | |
| 274 | + url: `/Extend/baseinspectionreport/GetReportSourceList`, | |
| 275 | + method: "GET", | |
| 276 | + }); | |
| 277 | + this.sourceOptions = SourceRes.data; | |
| 278 | + let list = this.$store.state.meta.system; | |
| 279 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 280 | + this.platformTypeOptions = list; | |
| 281 | + await getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 282 | + this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}]; | |
| 283 | + }); | |
| 284 | + this.name_loading = true | |
| 285 | + await request({ | |
| 286 | + url: `/Extend/basesysteminfo/GetNoPagingList`, | |
| 287 | + method: "GET", | |
| 288 | + }).then(({data}) => { | |
| 289 | + if(!data) return; | |
| 290 | + this.nameOptions = data; | |
| 291 | + this.name_loading = false; | |
| 292 | + }); | |
| 293 | + }, | |
| 259 | 294 | async initCompanyList() { |
| 260 | 295 | request({ |
| 261 | 296 | url: `/Extend/basecomapnyinfo/GetNoPagingList`, |
| ... | ... | @@ -272,12 +307,17 @@ export default { |
| 272 | 307 | }, |
| 273 | 308 | platformNameChange(val, type) { |
| 274 | 309 | let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); |
| 275 | - if(!obj) return; | |
| 276 | 310 | this.dataForm.platformName = obj ? obj.id : val; |
| 277 | - this.dataForm.company = this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id; | |
| 278 | - console.log(this.dataForm.company, 'this.dataForm.company'); | |
| 279 | - this.dataForm.platformType = this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id; | |
| 280 | - this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; | |
| 311 | + this.dataForm.company = obj ? this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id : ''; | |
| 312 | + this.dataForm.platformType = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : ''; | |
| 313 | + if(obj && this.dataForm.platformType == '580634746028033285') { | |
| 314 | + if(this.mediaPlatList.findIndex(j => j == obj.selfMediaPlatformType) == -1) { | |
| 315 | + this.dataForm.selfMediaPlatformType = '其他'; | |
| 316 | + this.dataForm.selfMediaPlatformTypeOther = obj.selfMediaPlatformType; | |
| 317 | + } else { | |
| 318 | + this.dataForm.selfMediaPlatformType = obj.selfMediaPlatformType; | |
| 319 | + } | |
| 320 | + } | |
| 281 | 321 | }, |
| 282 | 322 | visibleNameChange(val) { |
| 283 | 323 | if (val) return |
| ... | ... | @@ -319,11 +359,7 @@ export default { |
| 319 | 359 | this.visible = true; |
| 320 | 360 | this.isDetail = isDetail || false; |
| 321 | 361 | this.form_loading = true; |
| 322 | - await this.initCompanyList(); | |
| 323 | - await this.loadList(); | |
| 324 | - await this.getSourceOptions(); | |
| 325 | - await this.getplatformTypeOptions(); | |
| 326 | - await this.getquestionTypeOptions(); | |
| 362 | + await this.initAllList(); | |
| 327 | 363 | this.$nextTick(async () => { |
| 328 | 364 | !isDetail && this.$refs["elForm"].resetFields(); |
| 329 | 365 | if (this.dataForm.id) { | ... | ... |
src/views/baseInspectionReport/index.vue
| ... | ... | @@ -25,7 +25,8 @@ |
| 25 | 25 | </el-col> |
| 26 | 26 | <el-col :span="4"> |
| 27 | 27 | <el-form-item> |
| 28 | - <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button> | |
| 28 | + <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button> | |
| 29 | + <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button> | |
| 29 | 30 | </el-form-item> |
| 30 | 31 | </el-col> |
| 31 | 32 | <div class="NCC-common-search-box-right"> |
| ... | ... | @@ -67,7 +68,8 @@ |
| 67 | 68 | </el-table-column> --> |
| 68 | 69 | <el-table-column label="操作" fixed="right" width="100"> |
| 69 | 70 | <template slot-scope="scope"> |
| 70 | - <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" >编辑</el-button> | |
| 71 | + <!-- 未研判/未下发可以修改 --> | |
| 72 | + <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" :disabled="scope.row.stage != '577006621985604869' && scope.row.stage !='577006641364189019'">编辑</el-button> | |
| 71 | 73 | <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> |
| 72 | 74 | </template> |
| 73 | 75 | </el-table-column> | ... | ... |
src/views/baseListHazardousSamples/index.vue
| ... | ... | @@ -60,6 +60,7 @@ |
| 60 | 60 | <el-col :span="3"> |
| 61 | 61 | <el-form-item> |
| 62 | 62 | <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button> |
| 63 | + <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button> | |
| 63 | 64 | </el-form-item> |
| 64 | 65 | <div class="NCC-common-search-box-right"> |
| 65 | 66 | <el-button type="primary" icon="el-icon-download" size="mini" @click="toExport" :loading="exportBtnLoading">导出</el-button> |
| ... | ... | @@ -76,8 +77,8 @@ |
| 76 | 77 | <el-table-column label="来源" prop="source" align="left" show-overflow-tooltip /> |
| 77 | 78 | <el-table-column label="问题类型" prop="questionType" align="left" show-overflow-tooltip /> |
| 78 | 79 | <el-table-column label="问题内容" prop="questionContent" align="left" show-overflow-tooltip /> |
| 79 | - <el-table-column label="违法原因" prop="illegalReasons" align="left" show-overflow-tooltip /> | |
| 80 | - <el-table-column label="处罚内容" prop="punishmentContent" align="left" show-overflow-tooltip/> | |
| 80 | + <el-table-column label="违法原因" prop="unlawfulReason" align="left" show-overflow-tooltip /> | |
| 81 | + <el-table-column label="处罚内容" prop="penaltyContent" align="left" show-overflow-tooltip/> | |
| 81 | 82 | <!-- <el-table-column prop="creatorUserId" label="创建用户" show-overflow-tooltip align="left"/> --> |
| 82 | 83 | <!-- <el-table-column prop="creatorTime" label="创建时间" align="left" show-overflow-tooltip :formatter="ncc.tableDateFormat"/> --> |
| 83 | 84 | <!-- <el-table-column prop="lastModifyUserId" label="修改用户" align="left" show-overflow-tooltip/> --> | ... | ... |
src/views/basePrincipalResponsibility/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 basePrincipalResponsibilityForm" lock-scroll width="40%" v-loading="dialogLoading"> | |
| 3 | - <el-row :gutter="15" class="NCC-dialog-content" > | |
| 2 | + <el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" :visible.sync="visible" class="NCC-dialog NCC-dialog_center basePrincipalResponsibilityForm" lock-scroll width="40%"> | |
| 3 | + <el-row :gutter="15" class="NCC-dialog-content" v-loading="dialogLoading"> | |
| 4 | 4 | <el-form ref="elForm" :model="dataForm" size="small" label-width="110px" label-position="right" :disabled="!!isDetail" :rules="rules"> |
| 5 | 5 | <el-col :span="24" v-if="false" > |
| 6 | 6 | <el-form-item label="主键" prop="id"> |
| ... | ... | @@ -27,13 +27,13 @@ |
| 27 | 27 | </el-col> |
| 28 | 28 | <el-col :span="24" v-if="ncc.hasFormP('timeTakingEffect')"> |
| 29 | 29 | <el-form-item label="生效时间" prop="timeTakingEffect"> |
| 30 | - <el-date-picker v-model="dataForm.timeTakingEffect" placeholder="请选择" clearable :style='{"width":"100%"}' type='date' format="yyyy-MM-dd" value-format="timestamp" > | |
| 30 | + <el-date-picker v-model="dataForm.timeTakingEffect" placeholder="请选择生效日期" clearable :style='{"width":"100%"}' type='date' format="yyyy-MM-dd" value-format="timestamp" > | |
| 31 | 31 | </el-date-picker> |
| 32 | 32 | </el-form-item> |
| 33 | 33 | </el-col> |
| 34 | 34 | <el-col :span="24" v-if="ncc.hasFormP('content')"> |
| 35 | 35 | <el-form-item label="具体内容" prop="content"> |
| 36 | - <el-input v-model="dataForm.content" placeholder="请输入" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 36 | + <el-input v-model="dataForm.content" placeholder="请输入具体内容" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' > | |
| 37 | 37 | </el-input> |
| 38 | 38 | </el-form-item> |
| 39 | 39 | </el-col> |
| ... | ... | @@ -121,36 +121,38 @@ |
| 121 | 121 | computed: {}, |
| 122 | 122 | watch: {}, |
| 123 | 123 | created() { |
| 124 | - this.getfileTypeOptions(); | |
| 125 | 124 | }, |
| 126 | 125 | mounted() { |
| 127 | 126 | }, |
| 128 | 127 | methods: { |
| 129 | - getfileTypeOptions(){ | |
| 130 | - getDictionaryDataSelector('577087166203561221').then(res => { | |
| 131 | - this.fileTypeOptions = [...res.data.list, { fullName: '其他', id: '0' }]; | |
| 132 | - }); | |
| 128 | + async getfileTypeOptions(){ | |
| 129 | + let res = await getDictionaryDataSelector('577087166203561221'); | |
| 130 | + this.fileTypeOptions = [...res.data.list, { fullName: '其他', id: '0' }]; | |
| 133 | 131 | }, |
| 134 | 132 | goBack() { |
| 135 | 133 | this.$emit('refresh') |
| 136 | 134 | }, |
| 137 | - init(id, isDetail) { | |
| 135 | + async init(id, isDetail) { | |
| 138 | 136 | this.dataForm.id = id || 0; |
| 139 | 137 | this.visible = true; |
| 140 | 138 | this.isDetail = isDetail || false; |
| 139 | + this.dialogLoading = true; | |
| 140 | + await this.getfileTypeOptions(); | |
| 141 | 141 | this.$nextTick(() => { |
| 142 | 142 | this.$refs['elForm'].resetFields(); |
| 143 | 143 | if (this.dataForm.id) { |
| 144 | - this.dialogLoading = true; | |
| 145 | 144 | request({ |
| 146 | 145 | url: '/Extend/BasePrincipalResponsibility/' + this.dataForm.id, |
| 147 | 146 | method: 'get' |
| 148 | 147 | }).then(res =>{ |
| 148 | + if(res.code != 200) return this.dialogLoading = false; | |
| 149 | 149 | this.dataForm = res.data; |
| 150 | 150 | this.dataForm.fileUrl = res.data.fileUrlModel; |
| 151 | 151 | this.setTileType(res.data.fileType); |
| 152 | 152 | this.dialogLoading = false; |
| 153 | 153 | }).catch(() => this.dialogLoading = false) |
| 154 | + } else { | |
| 155 | + this.dialogLoading = false; | |
| 154 | 156 | } |
| 155 | 157 | }) |
| 156 | 158 | }, | ... | ... |
src/views/basePrincipalResponsibility/index.vue
src/views/baseSystemInfo/InspectForm.vue
| ... | ... | @@ -7,162 +7,109 @@ |
| 7 | 7 | lock-scroll |
| 8 | 8 | width="60%" |
| 9 | 9 | > |
| 10 | - <el-row :gutter="15" class="NCC-dialog-content"> | |
| 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="source"> | |
| 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 | - > | |
| 10 | + <el-row :gutter="15" class="NCC-dialog-content" v-loading="form_loading"> | |
| 11 | + <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" :rules="rules"> | |
| 12 | + <el-col :span="24"> | |
| 13 | + <el-form-item label="问题来源" prop="reportSource"> | |
| 14 | + <el-radio-group v-model="dataForm.reportSource"> | |
| 15 | + <el-radio v-for="(item, index) in sourceOptions" :key="index" :label="item.Id" >{{ item.FullName }}</el-radio> | |
| 29 | 16 | </el-radio-group> |
| 30 | 17 | </el-form-item> |
| 31 | 18 | </el-col> |
| 32 | - <el-col :span="24"> | |
| 19 | + <el-col :span="23"> | |
| 33 | 20 | <el-form-item label="应用名称" prop="platformName"> |
| 34 | 21 | <el-select |
| 22 | + ref="select" | |
| 35 | 23 | v-model="dataForm.platformName" |
| 36 | 24 | filterable |
| 37 | 25 | remote |
| 38 | 26 | reserve-keyword |
| 39 | 27 | placeholder="请输入应用名称" |
| 40 | - :remote-method="loadList" | |
| 41 | - :loading="name_loading"> | |
| 42 | - <el-option | |
| 43 | - v-for="item in nameOptions" | |
| 44 | - :key="item.value" | |
| 45 | - :label="item.label" | |
| 46 | - :value="item.value"> | |
| 28 | + @blur.native.capture="selectBlur" | |
| 29 | + @visible-change="visibleNameChange" | |
| 30 | + @change="(val) => platformNameChange(val, 'change')" | |
| 31 | + :loading="name_loading" | |
| 32 | + disabled> | |
| 33 | + <el-option v-for="item in nameOptions" :key="item.id" :label="item.systemName" :value="item.id"></el-option> | |
| 34 | + </el-select> | |
| 35 | + </el-form-item> | |
| 36 | + </el-col> | |
| 37 | + <el-col :span="23"> | |
| 38 | + <el-form-item label="运营主体" prop="company"> | |
| 39 | + <el-select | |
| 40 | + v-model="dataForm.company" | |
| 41 | + placeholder="请选择运营主体" | |
| 42 | + clearable | |
| 43 | + filterable | |
| 44 | + style="width: 100%" | |
| 45 | + disabled | |
| 46 | + > | |
| 47 | + <el-option v-for="item in companyOptions" :key="item.id" :label="item.companyName" :value="item.id"> | |
| 47 | 48 | </el-option> |
| 48 | 49 | </el-select> |
| 49 | 50 | </el-form-item> |
| 50 | 51 | </el-col> |
| 51 | 52 | <el-col :span="24"> |
| 52 | 53 | <el-form-item label="应用类型" prop="platformType"> |
| 53 | - <el-radio-group v-model="dataForm.platformType" :style="{}"> | |
| 54 | - <el-radio | |
| 55 | - v-for="(item, index) in platformTypeOptions" | |
| 56 | - :key="index" | |
| 57 | - :label="item.Id" | |
| 58 | - >{{ item.FullName }}</el-radio | |
| 59 | - > | |
| 54 | + <el-radio-group v-model="dataForm.platformType" disabled> | |
| 55 | + <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id" >{{ item.FullName }}</el-radio> | |
| 60 | 56 | </el-radio-group> |
| 61 | 57 | </el-form-item> |
| 62 | 58 | </el-col> |
| 63 | - <el-col :span="18"> | |
| 64 | - <el-form-item label="问题类型" prop="questionType"> | |
| 65 | - <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange"> | |
| 66 | - <el-radio | |
| 67 | - v-for="(item, index) in questionTypeOptions" | |
| 68 | - :key="index" | |
| 69 | - :label="item.fullName" | |
| 70 | - >{{ item.fullName }}</el-radio | |
| 71 | - > | |
| 72 | - <el-radio label="其他">其他</el-radio> | |
| 59 | + <el-col :span="23" v-show="dataForm.platformType == '580634746028033285'"> | |
| 60 | + <el-form-item label="归属平台" prop="selfMediaPlatformType"> | |
| 61 | + <el-radio-group v-model="dataForm.selfMediaPlatformType" :disabled="!!this.dataForm.id"> | |
| 62 | + <el-radio v-for="(item, index) in mediaPlatList" :key="index" :label="item" >{{ item }}</el-radio> | |
| 73 | 63 | </el-radio-group> |
| 74 | 64 | </el-form-item> |
| 75 | 65 | </el-col> |
| 76 | - <template v-if="otherQuestion"> | |
| 77 | - <el-col :span="5"> | |
| 78 | - <el-input | |
| 79 | - v-model="dataForm.otherQuestionType" | |
| 80 | - placeholder="请输入问题类型" | |
| 81 | - clearable | |
| 82 | - :style="{ width: '100%' }" | |
| 83 | - > | |
| 84 | - </el-input> | |
| 85 | - </el-col> | |
| 86 | - </template> | |
| 87 | - <template v-if="showErrflag"> | |
| 88 | - <el-col :span="12"> | |
| 89 | - <el-form-item label="正确描述" prop="accurateDescription"> | |
| 90 | - <el-input | |
| 91 | - v-model="dataForm.accurateDescription" | |
| 92 | - placeholder="请输入正确描述" | |
| 93 | - clearable | |
| 94 | - :style="{ width: '100%' }" | |
| 95 | - > | |
| 96 | - </el-input> | |
| 97 | - </el-form-item> | |
| 98 | - </el-col> | |
| 99 | - <el-col :span="11"> | |
| 100 | - <el-form-item label="错误描述" prop="incorrectDescription"> | |
| 101 | - <el-input | |
| 102 | - v-model="dataForm.incorrectDescription" | |
| 103 | - placeholder="请输入错误描述" | |
| 104 | - clearable | |
| 105 | - :style="{ width: '100%' }" | |
| 106 | - > | |
| 107 | - </el-input> | |
| 108 | - </el-form-item> | |
| 109 | - </el-col> | |
| 110 | - </template> | |
| 111 | - | |
| 66 | + <el-col :span="23" v-show="dataForm.selfMediaPlatformType == '其他'"> | |
| 67 | + <el-form-item label="其他归属平台" prop="selfMediaPlatformTypeOther"> | |
| 68 | + <el-input v-model="dataForm.selfMediaPlatformTypeOther" placeholder="请输入其他归属平台" clearable :style="{ width: '100%' }" /> | |
| 69 | + </el-form-item> | |
| 70 | + </el-col> | |
| 112 | 71 | <el-col :span="23"> |
| 113 | - <el-form-item label="问题内容" prop="questionContent"> | |
| 114 | - <el-input | |
| 115 | - v-model="dataForm.questionContent" | |
| 116 | - placeholder="请输入" | |
| 117 | - show-word-limit | |
| 118 | - :style="{ width: '100%' }" | |
| 119 | - type="textarea" | |
| 120 | - :autosize="{ minRows: 4, maxRows: 4 }" | |
| 121 | - > | |
| 122 | - </el-input> | |
| 72 | + <el-form-item label="问题类型" prop="questionType"> | |
| 73 | + <el-radio-group v-model="dataForm.questionType"> | |
| 74 | + <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.fullName" >{{ item.fullName }}</el-radio> | |
| 75 | + </el-radio-group> | |
| 76 | + </el-form-item> | |
| 77 | + </el-col> | |
| 78 | + <el-col :span="23" v-show="dataForm.questionType == '其他'"> | |
| 79 | + <el-form-item label="其他问题类型" prop="otherQuestionType"> | |
| 80 | + <el-input v-model="dataForm.otherQuestionType" placeholder="请输入其他问题类型" clearable :style="{ width: '100%' }" /> | |
| 81 | + </el-form-item> | |
| 82 | + </el-col> | |
| 83 | + <el-col :span="23" v-show="dataForm.questionType == '错误表述'"> | |
| 84 | + <el-form-item label="正确描述" prop="accurateDescription"> | |
| 85 | + <el-input v-model="dataForm.accurateDescription" placeholder="请输入正确描述" clearable :style="{ width: '100%' }"></el-input> | |
| 86 | + </el-form-item> | |
| 87 | + </el-col> | |
| 88 | + <el-col :span="23" v-show="dataForm.questionType == '错误表述'"> | |
| 89 | + <el-form-item label="错误描述" prop="incorrectDescription"> | |
| 90 | + <el-input v-model="dataForm.incorrectDescription" placeholder="请输入错误描述" clearable :style="{ width: '100%' }"></el-input> | |
| 123 | 91 | </el-form-item> |
| 124 | 92 | </el-col> |
| 125 | 93 | <el-col :span="23"> |
| 126 | - <el-form-item label="有害链接" prop="link"> | |
| 127 | - <el-input | |
| 128 | - v-model="dataForm.link" | |
| 129 | - placeholder="请输入" | |
| 130 | - clearable | |
| 131 | - :style="{ width: '100%' }" | |
| 132 | - > | |
| 133 | - </el-input> | |
| 94 | + <el-form-item label="问题内容" prop="questionContent"> | |
| 95 | + <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style="{ width: '100%' }" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" /> | |
| 134 | 96 | </el-form-item> |
| 135 | 97 | </el-col> |
| 136 | 98 | <el-col :span="23"> |
| 137 | 99 | <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> | |
| 100 | + <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input> | |
| 145 | 101 | </el-form-item> |
| 146 | 102 | </el-col> |
| 147 | 103 | <el-col :span="23"> |
| 148 | - <el-form-item label="附件" prop="obtainEvidence"> | |
| 149 | - <NCC-UploadFz | |
| 150 | - v-model="dataForm.obtainEvidence" | |
| 151 | - :fileSize="5" | |
| 152 | - sizeUnit="MB" | |
| 153 | - :limit="9" | |
| 154 | - buttonText="点击上传" | |
| 155 | - > | |
| 156 | - </NCC-UploadFz> | |
| 104 | + <el-form-item label="附件" prop="annex"> | |
| 105 | + <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" /> | |
| 157 | 106 | </el-form-item> |
| 158 | 107 | </el-col> |
| 159 | 108 | </el-form> |
| 160 | 109 | </el-row> |
| 161 | 110 | <span slot="footer" class="dialog-footer"> |
| 162 | 111 | <el-button @click="visible = false">取 消</el-button> |
| 163 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" | |
| 164 | - >确 定</el-button | |
| 165 | - > | |
| 112 | + <el-button type="primary" @click="dataFormSubmit()">确 定</el-button> | |
| 166 | 113 | </span> |
| 167 | 114 | </el-dialog> |
| 168 | 115 | </template> |
| ... | ... | @@ -170,7 +117,7 @@ |
| 170 | 117 | import request from "@/utils/request"; |
| 171 | 118 | import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; |
| 172 | 119 | import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface"; |
| 173 | -import { getInfoList } from "@/api/baseData/info"; | |
| 120 | +import { MediaPlatList } from "@/assets/data" | |
| 174 | 121 | export default { |
| 175 | 122 | components: {}, |
| 176 | 123 | props: [], |
| ... | ... | @@ -178,120 +125,175 @@ export default { |
| 178 | 125 | return { |
| 179 | 126 | loading: false, |
| 180 | 127 | visible: false, |
| 128 | + name_loading: false, | |
| 181 | 129 | isDetail: false, |
| 182 | - | |
| 183 | - name_loading: undefined, | |
| 184 | - nameOptions: [], | |
| 185 | - otherQuestion: false, | |
| 186 | - showErrflag: false, | |
| 130 | + form_loading: true, | |
| 187 | 131 | dataForm: { |
| 188 | 132 | id: undefined, |
| 189 | - source: undefined, | |
| 190 | - questionFrom: undefined, | |
| 191 | - platformName: undefined, | |
| 133 | + reportSource: undefined, | |
| 134 | + platformNameStr: undefined, | |
| 135 | + platformTypeStr: undefined, | |
| 136 | + companyStr: undefined, | |
| 137 | + platformName: '', | |
| 138 | + selfMediaPlatformType: '', | |
| 192 | 139 | platformType: undefined, |
| 193 | 140 | questionType: undefined, |
| 194 | 141 | questionClass: undefined, |
| 195 | 142 | questionContent: undefined, |
| 196 | 143 | link: undefined, |
| 197 | - obtainEvidence: [], | |
| 198 | - annex: [], | |
| 199 | - otherQuestionType: '', | |
| 200 | 144 | accurateDescription: undefined, |
| 201 | 145 | incorrectDescription: undefined, |
| 146 | + annex: [], | |
| 147 | + otherQuestionType: undefined, | |
| 148 | + selfMediaPlatformTypeOther: undefined, | |
| 149 | + company: undefined, | |
| 202 | 150 | }, |
| 203 | 151 | rules: { |
| 152 | + platformName: [ | |
| 153 | + { required: true, message: "请选择应用名称", trigger: "blur" }, | |
| 154 | + ], | |
| 155 | + company: [ | |
| 156 | + { required: true, message: "请选择运营主体", trigger: "blur" }, | |
| 157 | + ], | |
| 204 | 158 | platformType: [ |
| 205 | - { required: true, message: "请选择平台类型", trigger: "change" }, | |
| 159 | + { required: true, message: "请选择应用类型", trigger: "blur" }, | |
| 206 | 160 | ], |
| 207 | 161 | questionType: [ |
| 208 | - { required: true, message: "请选择问题类型", trigger: "change" }, | |
| 162 | + { required: true, message: "请选择问题类型", trigger: "blur" }, | |
| 209 | 163 | ], |
| 164 | + // otherQuestionType: [ | |
| 165 | + // { required: true, message: "请输入其他问题类型", trigger: "blur" }, | |
| 166 | + // ], | |
| 210 | 167 | }, |
| 211 | - sourceOptions: [ | |
| 212 | - { fullName: "市网信办线索", id: "市网信办线索" }, | |
| 213 | - { fullName: "自主巡查发现", id: "自主巡查发现" }, | |
| 214 | - ], | |
| 168 | + sourceOptions: [], | |
| 215 | 169 | platformTypeOptions: [], |
| 216 | 170 | questionTypeOptions: [], |
| 217 | - questionClassOptions: [ | |
| 218 | - { fullName: "选项一", id: "1" }, | |
| 219 | - { fullName: "选项二", id: "2" }, | |
| 220 | - ], | |
| 221 | - stageOptions: [ | |
| 222 | - { fullName: "选项一", id: "1" }, | |
| 223 | - { fullName: "选项二", id: "2" }, | |
| 224 | - ], | |
| 171 | + nameOptions: [], | |
| 172 | + mediaPlatList: MediaPlatList, | |
| 173 | + companyOptions: [], | |
| 174 | + btnLoading: false, | |
| 225 | 175 | }; |
| 226 | 176 | }, |
| 227 | 177 | computed: {}, |
| 228 | 178 | watch: {}, |
| 229 | - created() { | |
| 230 | - this.loadList(); | |
| 231 | - this.getSourceOptions(); | |
| 232 | - this.getplatformTypeOptions(); | |
| 233 | - this.getquestionTypeOptions(); | |
| 234 | - }, | |
| 179 | + created() {}, | |
| 235 | 180 | mounted() {}, |
| 236 | 181 | methods: { |
| 237 | - async getSourceOptions() { | |
| 238 | - request({ | |
| 182 | + async initAllList() { | |
| 183 | + let companyRes = await request({ | |
| 184 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | |
| 185 | + method: "GET", | |
| 186 | + }); | |
| 187 | + this.companyOptions = companyRes.data; | |
| 188 | + let SourceRes = await request({ | |
| 239 | 189 | url: `/Extend/baseinspectionreport/GetReportSourceList`, |
| 240 | 190 | method: "GET", |
| 191 | + }); | |
| 192 | + this.sourceOptions = SourceRes.data; | |
| 193 | + let list = this.$store.state.meta.system; | |
| 194 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 195 | + this.platformTypeOptions = list; | |
| 196 | + await getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 197 | + this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}]; | |
| 198 | + }); | |
| 199 | + this.name_loading = true | |
| 200 | + await request({ | |
| 201 | + url: `/Extend/basesysteminfo/GetNoPagingList`, | |
| 202 | + method: "GET", | |
| 203 | + }).then(({data}) => { | |
| 204 | + if(!data) return; | |
| 205 | + this.nameOptions = data; | |
| 206 | + this.name_loading = false; | |
| 207 | + }); | |
| 208 | + }, | |
| 209 | + async initCompanyList() { | |
| 210 | + request({ | |
| 211 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | |
| 212 | + method: "GET", | |
| 241 | 213 | }).then(({data}) => { |
| 242 | - this.sourceOptions = data; | |
| 214 | + this.companyOptions = data; | |
| 243 | 215 | }) |
| 244 | 216 | }, |
| 245 | - loadList(query) { | |
| 217 | + selectBlur(e) { | |
| 218 | + let value = e.target.value; | |
| 219 | + if(!value) return; | |
| 220 | + this.dataForm.platformName = e.target.value; | |
| 221 | + this.platformNameChange(value, 'blur'); | |
| 222 | + }, | |
| 223 | + platformNameChange(val, type) { | |
| 224 | + let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); | |
| 225 | + this.dataForm.platformName = obj ? obj.id : val; | |
| 226 | + this.dataForm.company = obj ? this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id : ''; | |
| 227 | + this.dataForm.platformType = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : ''; | |
| 228 | + if(obj && obj.selfMediaPlatformType && this.dataForm.platformType == '580634746028033285') { | |
| 229 | + if(this.mediaPlatList.findIndex(j => j == obj.selfMediaPlatformType) == -1) { | |
| 230 | + this.dataForm.selfMediaPlatformType = '其他'; | |
| 231 | + this.dataForm.selfMediaPlatformTypeOther = obj.selfMediaPlatformType; | |
| 232 | + } else { | |
| 233 | + this.dataForm.selfMediaPlatformType = obj.selfMediaPlatformType; | |
| 234 | + } | |
| 235 | + } | |
| 236 | + }, | |
| 237 | + visibleNameChange(val) { | |
| 238 | + if (val) return | |
| 239 | + let input = this.$refs.select.$children[0].$refs.input; | |
| 240 | + input.blur(); | |
| 241 | + }, | |
| 242 | + async loadList() { | |
| 246 | 243 | this.name_loading = true; |
| 247 | - getInfoList({pageIndex: 1, pageSize: 100, keyword: query }).then(({ data }) => { | |
| 248 | - let list = []; | |
| 249 | - data.list.length && | |
| 250 | - data.list.forEach((item) => { | |
| 251 | - list.push({ | |
| 252 | - label: item.SysytemInfo.SystemName, | |
| 253 | - value: item.SysytemInfo.Id, | |
| 254 | - }); | |
| 255 | - }); | |
| 256 | - this.nameOptions = list; | |
| 244 | + request({ | |
| 245 | + url: `/Extend/basesysteminfo/GetNoPagingList`, | |
| 246 | + method: "GET", | |
| 247 | + }).then(({data}) => { | |
| 248 | + if(!data) return; | |
| 249 | + this.nameOptions = data; | |
| 257 | 250 | this.name_loading = false; |
| 258 | - }); | |
| 251 | + }) | |
| 259 | 252 | }, |
| 260 | 253 | async getplatformTypeOptions() { |
| 261 | 254 | let list = this.$store.state.meta.system; |
| 262 | - !list && | |
| 263 | - (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 255 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "system")); | |
| 264 | 256 | this.platformTypeOptions = list; |
| 265 | 257 | }, |
| 266 | - getquestionTypeOptions() { | |
| 267 | - getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 268 | - this.questionTypeOptions = res.data.list; | |
| 258 | + async getSourceOptions() { | |
| 259 | + let { data } = await request({ | |
| 260 | + url: `/Extend/baseinspectionreport/GetReportSourceList`, | |
| 261 | + method: "GET", | |
| 269 | 262 | }); |
| 263 | + this.sourceOptions = data; | |
| 270 | 264 | }, |
| 271 | - questionTypeChange(v) { | |
| 272 | - this.showErrflag = Boolean(v == '错误表述'); | |
| 273 | - this.otherQuestion = Boolean(v == '其他'); | |
| 265 | + async getquestionTypeOptions() { | |
| 266 | + getDictionaryDataSelector("577006814432855301").then((res) => { | |
| 267 | + this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}]; | |
| 268 | + }); | |
| 274 | 269 | }, |
| 275 | 270 | goBack() { |
| 276 | 271 | this.$emit("refresh"); |
| 277 | 272 | }, |
| 278 | - init(row, isDetail) { | |
| 273 | + async init(row) { | |
| 274 | + this.dataForm.id = ''; | |
| 279 | 275 | this.visible = true; |
| 280 | - this.isDetail = isDetail || false; | |
| 276 | + this.isDetail = false; | |
| 277 | + this.form_loading = true; | |
| 278 | + await this.initAllList(); | |
| 281 | 279 | this.$nextTick(async () => { |
| 282 | 280 | this.$refs["elForm"].resetFields(); |
| 283 | - this.dataForm.platformName = row.id; | |
| 284 | - this.dataForm.platformType = row.systemType; | |
| 285 | - this.dataForm.obtainEvidence = []; | |
| 286 | - this.dataForm.annex = []; | |
| 281 | + this.platformNameChange(row.id); | |
| 282 | + this.form_loading = false; | |
| 287 | 283 | }); |
| 288 | 284 | }, |
| 289 | 285 | dataFormSubmit() { |
| 290 | 286 | this.$refs["elForm"].validate(async (valid) => { |
| 291 | 287 | if (valid) { |
| 292 | - let res = !this.dataForm.id | |
| 293 | - ? await addForm(this.dataForm) | |
| 294 | - : await updataForm(this.dataForm); | |
| 288 | + console.log(this.dataForm); | |
| 289 | + let obj = { | |
| 290 | + ...this.dataForm, | |
| 291 | + questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType, | |
| 292 | + selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.selfMediaPlatformType, | |
| 293 | + } | |
| 294 | + this.btnLoading = true; | |
| 295 | + let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj); | |
| 296 | + if (res.code != 200) return this.btnLoading = false; | |
| 295 | 297 | this.$message({ |
| 296 | 298 | message: res.msg, |
| 297 | 299 | type: "success", | ... | ... |
src/views/baseSystemInfo/index.vue
| ... | ... | @@ -113,7 +113,7 @@ |
| 113 | 113 | </infoForm> |
| 114 | 114 | <el-button size="mini" type="text" @click="toDetail(scope.row)">查看</el-button> |
| 115 | 115 | <el-button size="mini" type="text" @click="toChangeArea(scope.row)" >归属地变更</el-button> |
| 116 | - <el-button size="mini" type="text" @click="toInspection(scope.row)" >上报</el-button> | |
| 116 | + <el-button size="mini" type="text" @click="toInspection(scope.row)" v-if="!isSHILevel">上报</el-button> | |
| 117 | 117 | <!-- <el-button type="text" style="color: red;" @click="delNew(scope.row)" v-if="isSHILevel">删除</el-button> --> |
| 118 | 118 | </template> |
| 119 | 119 | </el-table-column> | ... | ... |
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="text" size="small" :disabled="!messageList.length" @click="toReadAll" | |
| 6 | + <el-button type="text" style="color: #fff;" size="small" :disabled="!messageList.length" @click="toReadAll" | |
| 7 | 7 | >标记全部已读</el-button |
| 8 | 8 | > |
| 9 | 9 | </div> |
| ... | ... | @@ -16,7 +16,10 @@ |
| 16 | 16 | infinite-scroll-immediate |
| 17 | 17 | > |
| 18 | 18 | <li class="list-item" v-for="(v, i) in messageList" :key="v.id"> |
| 19 | - <div class="item-title">{{ v.title }}</div> | |
| 19 | + <div class="item-title"> | |
| 20 | + <div class="title-text">{{ v.title }}</div> | |
| 21 | + <div class="img_right"></div> | |
| 22 | + </div> | |
| 20 | 23 | <!-- <p>这个应用应该归属到青羊区,不在金牛区的管辖范围内。</p> --> |
| 21 | 24 | <div class="item-info"> |
| 22 | 25 | <div class="left">发送人:{{ v.creatorUser }}</div> |
| ... | ... | @@ -134,19 +137,29 @@ export default { |
| 134 | 137 | font-weight: 600; |
| 135 | 138 | display: flex; |
| 136 | 139 | flex-direction: row; |
| 137 | - align-items: center; | |
| 140 | + align-items: flex-start; | |
| 138 | 141 | justify-content: space-between; |
| 139 | - &::after { | |
| 140 | - content: ""; | |
| 141 | - display: inline-block; | |
| 142 | - width: 25px; | |
| 143 | - text-align: center; | |
| 144 | - height: 15px; | |
| 142 | + .title-text { | |
| 143 | + flex: 1; | |
| 144 | + } | |
| 145 | + .img_right { | |
| 145 | 146 | background-image: url("@/assets/images/Group.png"); |
| 146 | 147 | background-size: 100% 100%; /* 确保图片覆盖整个元素 */ |
| 147 | - background-position: center; /* 将图片居中显示 */ | |
| 148 | + width: 20px; | |
| 149 | + height: 20px; | |
| 148 | 150 | margin-left: 8px; |
| 149 | 151 | } |
| 152 | + // &::after { | |
| 153 | + // content: ""; | |
| 154 | + // display: inline-block; | |
| 155 | + // width: 25px; | |
| 156 | + // text-align: center; | |
| 157 | + // height: 15px; | |
| 158 | + // background-image: url("@/assets/images/Group.png"); | |
| 159 | + // background-size: 100% 100%; /* 确保图片覆盖整个元素 */ | |
| 160 | + // background-position: center; /* 将图片居中显示 */ | |
| 161 | + // margin-left: 8px; | |
| 162 | + // } | |
| 150 | 163 | } |
| 151 | 164 | p { |
| 152 | 165 | margin: 5px 0; | ... | ... |
src/views/overView/msgForm.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | width="50%" |
| 9 | 9 | > |
| 10 | 10 | <div class="NCC-dialog-content"> |
| 11 | - <div style="padding-top: 10px" v-if="!isDetail"> | |
| 11 | + <div style="padding-top: 10px" v-show="!isDetail"> | |
| 12 | 12 | <el-form |
| 13 | 13 | ref="elForm" |
| 14 | 14 | :model="dataForm" |
| ... | ... | @@ -85,7 +85,7 @@ |
| 85 | 85 | style="padding-top: 10px" |
| 86 | 86 | class="msg-box" |
| 87 | 87 | v-loading="loading" |
| 88 | - v-else | |
| 88 | + v-show="!!isDetail" | |
| 89 | 89 | > |
| 90 | 90 | <div class="msg-title">{{ dataForm.title }}</div> |
| 91 | 91 | <div class="content" v-html="dataForm.bodyContent"></div> |
| ... | ... | @@ -193,7 +193,7 @@ export default { |
| 193 | 193 | this.visible = true; |
| 194 | 194 | this.isDetail = isDetail || false; |
| 195 | 195 | this.$nextTick(() => { |
| 196 | - !this.isDetail && this.$refs["elForm"].resetFields(); | |
| 196 | + this.$refs["elForm"].resetFields(); | |
| 197 | 197 | if (this.dataForm.id) { |
| 198 | 198 | this.loading = true; |
| 199 | 199 | request({ | ... | ... |