Commit 7180000ed73203fb5b5ca8ee29b1a52c1ea2de81

Authored by monkeyhouyi
1 parent 541d55ac

优化

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