Commit 6cd34f81fa64dfa165610f0bf130546c72b24a8d

Authored by monkeyhouyi
1 parent dc42979c

对接接口优化

src/api/systemData/dataInterface.js
@@ -40,7 +40,7 @@ export function updataForm(data) { @@ -40,7 +40,7 @@ export function updataForm(data) {
40 }) 40 })
41 } 41 }
42 // 判研 42 // 判研
43 -export function disposalSuggestions(data) { 43 +export function disposalSuggestionsAPI(data) {
44 return request({ 44 return request({
45 url: `/Extend/BaseInspectionReport/${data.id}/disposalSuggestions`, 45 url: `/Extend/BaseInspectionReport/${data.id}/disposalSuggestions`,
46 method: 'PUT', 46 method: 'PUT',
src/assets/style/common.scss
@@ -80,6 +80,9 @@ a { @@ -80,6 +80,9 @@ a {
80 &.w-120 { 80 &.w-120 {
81 width: 120px; 81 width: 120px;
82 } 82 }
  83 + &.w-180 {
  84 + width: 180px;
  85 + }
83 } 86 }
84 .text { 87 .text {
85 flex: 1; 88 flex: 1;
src/views/DisposalSuggestions/Form.vue
@@ -91,10 +91,10 @@ @@ -91,10 +91,10 @@
91 {{ dataForm.disposalSuggestions || "--" }} 91 {{ dataForm.disposalSuggestions || "--" }}
92 </div> 92 </div>
93 </el-col> 93 </el-col>
94 - <el-col :span="24" v-if="dataForm.disposalFiles && dataForm.disposalFiles.length"> 94 + <el-col :span="24" v-if="dataForm.disposalResult && dataForm.disposalResult.length">
95 <div class="form-item"> 95 <div class="form-item">
96 <div class="label w-100">附件:</div> 96 <div class="label w-100">附件:</div>
97 - <NCC-UploadFz v-model="dataForm.disposalFiles" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/> 97 + <NCC-UploadFz v-model="dataForm.disposalResult" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
98 </div> 98 </div>
99 </el-col> 99 </el-col>
100 </el-row> 100 </el-row>
@@ -121,14 +121,14 @@ @@ -121,14 +121,14 @@
121 </el-radio-group> 121 </el-radio-group>
122 </el-form-item> 122 </el-form-item>
123 </el-col> 123 </el-col>
124 - <el-col :span="24" v-show="(!dataForm.areaId || dataForm.areaId == '580548871316383493') && showarea"> 124 + <el-col :span="24" v-if="(!dataForm.areaId || dataForm.areaId == '580548871316383493') && showarea">
125 <el-form-item label="所属区县" prop="area"> 125 <el-form-item label="所属区县" prop="area">
126 <el-radio-group v-removeAriaHidden v-model="suggestionForm.area" placeholder="请选择所属区县" style="line-height: 22px"> 126 <el-radio-group v-removeAriaHidden v-model="suggestionForm.area" placeholder="请选择所属区县" style="line-height: 22px">
127 <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio> 127 <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio>
128 </el-radio-group> 128 </el-radio-group>
129 </el-form-item> 129 </el-form-item>
130 </el-col> 130 </el-col>
131 - <el-col :span="24" v-show="!dataForm.externalAssistanceId && showarea"> 131 + <el-col :span="24" v-if="!dataForm.externalAssistanceId && showarea">
132 <el-form-item label="所属外协" prop="externalAssistanceId"> 132 <el-form-item label="所属外协" prop="externalAssistanceId">
133 <el-radio-group v-removeAriaHidden v-model="suggestionForm.externalAssistanceId" placeholder="请选择所属外协" style="line-height: 22px"> 133 <el-radio-group v-removeAriaHidden v-model="suggestionForm.externalAssistanceId" placeholder="请选择所属外协" style="line-height: 22px">
134 <el-radio v-for="v in communicationOutOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio> 134 <el-radio v-for="v in communicationOutOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio>
@@ -164,7 +164,7 @@ import request from &quot;@/utils/request&quot;; @@ -164,7 +164,7 @@ import request from &quot;@/utils/request&quot;;
164 import infoMixin from "@/mixins/info"; 164 import infoMixin from "@/mixins/info";
165 import { dynamicText } from "@/filters/index"; 165 import { dynamicText } from "@/filters/index";
166 import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; 166 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
167 -import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface"; 167 +import { getDetail, disposalSuggestionsAPI } from "@/api/systemData/dataInterface";
168 export default { 168 export default {
169 components: {}, 169 components: {},
170 mixins: [infoMixin], 170 mixins: [infoMixin],
@@ -305,7 +305,7 @@ export default { @@ -305,7 +305,7 @@ export default {
305 id: this.dataForm.id, 305 id: this.dataForm.id,
306 }; 306 };
307 this.btnLoading = true; 307 this.btnLoading = true;
308 - let res = await disposalSuggestions(obj); 308 + let res = await disposalSuggestionsAPI(obj);
309 if(res.code != 200) return this.btnLoading = false; 309 if(res.code != 200) return this.btnLoading = false;
310 this.$message({ 310 this.$message({
311 message: res.msg, 311 message: res.msg,
src/views/DisposalSuggestions/HandleForm.vue
@@ -96,8 +96,8 @@ @@ -96,8 +96,8 @@
96 </el-form-item> 96 </el-form-item>
97 </el-col> 97 </el-col>
98 <el-col :span="24"> 98 <el-col :span="24">
99 - <el-form-item label="上传附件" prop="disposalFiles">  
100 - <NCC-UploadFz v-model="suggestionForm.disposalFiles" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" /> 99 + <el-form-item label="上传附件" prop="disposalResult">
  100 + <NCC-UploadFz v-model="suggestionForm.disposalResult" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
101 </el-form-item> 101 </el-form-item>
102 </el-col> 102 </el-col>
103 </el-form> 103 </el-form>
@@ -115,7 +115,7 @@ @@ -115,7 +115,7 @@
115 import infoMixin from "@/mixins/info"; 115 import infoMixin from "@/mixins/info";
116 import { dynamicText } from "@/filters/index"; 116 import { dynamicText } from "@/filters/index";
117 import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; 117 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
118 - import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface"; 118 + import { getDetail, disposalSuggestionsAPI } from "@/api/systemData/dataInterface";
119 export default { 119 export default {
120 components: {}, 120 components: {},
121 mixins: [infoMixin], 121 mixins: [infoMixin],
@@ -158,7 +158,7 @@ @@ -158,7 +158,7 @@
158 deadline: "", 158 deadline: "",
159 area: '', 159 area: '',
160 disposalSuggestions: '', // 处置建议 160 disposalSuggestions: '', // 处置建议
161 - disposalFiles: [], 161 + disposalResult: [],
162 }, 162 },
163 rules: { 163 rules: {
164 disposalSuggestions: [ 164 disposalSuggestions: [
@@ -247,7 +247,7 @@ @@ -247,7 +247,7 @@
247 id: this.dataForm.id, 247 id: this.dataForm.id,
248 }; 248 };
249 this.btnLoading = true; 249 this.btnLoading = true;
250 - let res = await disposalSuggestions(obj); 250 + let res = await disposalSuggestionsAPI(obj);
251 if(res.code != 200) return this.btnLoading = false; 251 if(res.code != 200) return this.btnLoading = false;
252 this.$message({ 252 this.$message({
253 message: res.msg, 253 message: res.msg,
src/views/DisposalSuggestions/index.vue
@@ -42,9 +42,7 @@ @@ -42,9 +42,7 @@
42 <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left"> 42 <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left">
43 <template slot-scope="scope">{{ scope.row.platformNameStr || scope.row.platformName }}</template> 43 <template slot-scope="scope">{{ scope.row.platformNameStr || scope.row.platformName }}</template>
44 </el-table-column> 44 </el-table-column>
45 - <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" >  
46 - <template slot-scope="scope">{{ scope.row.questionType }}{{ scope.row.questionCode }}</template>  
47 - </el-table-column> 45 + <el-table-column show-overflow-tooltip label="问题类型" prop="leadNumber" align="left" ></el-table-column>
48 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> 46 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> -->
49 <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> 47 <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" />
50 <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/> 48 <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/>
src/views/baseCaseHandling/Form.vue
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 :visible.sync="visible" 5 :visible.sync="visible"
6 class="NCC-dialog NCC-dialog_center" 6 class="NCC-dialog NCC-dialog_center"
7 lock-scroll 7 lock-scroll
8 - width="50%" 8 + width="60%"
9 v-loading="loading" 9 v-loading="loading"
10 :modal="false" 10 :modal="false"
11 > 11 >
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 ref="elForm" 14 ref="elForm"
15 :model="dataForm" 15 :model="dataForm"
16 size="small" 16 size="small"
17 - label-width="110px" 17 + label-width="180px"
18 label-position="right" 18 label-position="right"
19 :disabled="!!isDetail" 19 :disabled="!!isDetail"
20 :rules="rules" 20 :rules="rules"
@@ -25,26 +25,8 @@ @@ -25,26 +25,8 @@
25 </el-form-item> 25 </el-form-item>
26 </el-col> 26 </el-col>
27 <el-col :span="24"> 27 <el-col :span="24">
28 - <el-form-item label="来源登记" prop="sourceRecord">  
29 - <el-input v-model="dataForm.sourceRecord" placeholder="请输入来源登记" clearable/>  
30 - </el-form-item>  
31 - </el-col>  
32 - <el-col :span="24">  
33 - <el-form-item label="案件名称" prop="systemName">  
34 - <el-select  
35 - ref="select"  
36 - v-model="dataForm.systemName"  
37 - filterable  
38 - remote  
39 - reserve-keyword  
40 - placeholder="请输入案件名称"  
41 - @blur.native.capture="selectBlur"  
42 - @visible-change="visibleNameChange"  
43 - @change="(val) => platformNameChange(val, 'change')"  
44 - :disabled="formType != 0"  
45 - :loading="system_loading">  
46 - <el-option v-for="item in systemOption" :key="item.value" :label="item.systemName" :value="item.id" />  
47 - </el-select> 28 + <el-form-item label="来源登记" prop="sourceRegistration">
  29 + <el-input v-model="dataForm.sourceRegistration" placeholder="请输入来源登记" clearable :disabled="formType != 0"/>
48 </el-form-item> 30 </el-form-item>
49 </el-col> 31 </el-col>
50 <el-col :span="24"> 32 <el-col :span="24">
@@ -58,7 +40,8 @@ @@ -58,7 +40,8 @@
58 style="width: 100%" 40 style="width: 100%"
59 @blur.native.capture="selectCompanyBlur" 41 @blur.native.capture="selectCompanyBlur"
60 @visible-change="visibleNameCompanyChange" 42 @visible-change="visibleNameCompanyChange"
61 - :disabled="formType != 0 || dataForm.isHaveSystem" 43 + :disabled="formType != 0"
  44 + @change="(val) => companyChange(val, 'change')"
62 > 45 >
63 <el-option 46 <el-option
64 v-for="item in companyOptions" 47 v-for="item in companyOptions"
@@ -71,8 +54,26 @@ @@ -71,8 +54,26 @@
71 </el-form-item> 54 </el-form-item>
72 </el-col> 55 </el-col>
73 <el-col :span="24"> 56 <el-col :span="24">
  57 + <el-form-item label="案件名称" prop="systemName">
  58 + <el-select
  59 + ref="select"
  60 + v-model="dataForm.systemName"
  61 + filterable
  62 + remote
  63 + reserve-keyword
  64 + placeholder="请输入案件名称"
  65 + @blur.native.capture="selectBlur"
  66 + @visible-change="visibleNameChange"
  67 + @change="(val) => platformNameChange(val, 'change')"
  68 + :disabled="formType != 0 || !dataForm.registeredEntity"
  69 + :loading="system_loading">
  70 + <el-option v-for="item in systemOption" :key="item.value" :label="item.systemName" :value="item.id" />
  71 + </el-select>
  72 + </el-form-item>
  73 + </el-col>
  74 + <el-col :span="24">
74 <el-form-item label="应用类别" prop="category"> 75 <el-form-item label="应用类别" prop="category">
75 - <el-radio-group v-model="dataForm.category" :disabled="formType != 0 || dataForm.isHaveSystem"> 76 + <el-radio-group v-model="dataForm.category" :disabled="formType != 0">
76 <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> 77 <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
77 </el-radio-group> 78 </el-radio-group>
78 </el-form-item> 79 </el-form-item>
@@ -124,62 +125,208 @@ @@ -124,62 +125,208 @@
124 <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入执法说明" clearable maxlength="200"/> 125 <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入执法说明" clearable maxlength="200"/>
125 </el-form-item> 126 </el-form-item>
126 </el-col> 127 </el-col>
  128 + <!-- 立案审批、调查(询问)笔录、案件处理意见、执法约谈、行政处罚意见告知、行政处罚决定、行政处罚结案报告、其他(每个流程都为填空+上传附件,非必填) -->
  129 + <el-col :span="24">
  130 + <el-form-item label="立案审批" prop="registerApproval">
  131 + <el-input type="textarea" v-model="dataForm.registerApproval" placeholder="请输入立案审批" clearable maxlength="200"/>
  132 + </el-form-item>
  133 + </el-col>
  134 + <el-col :span="24">
  135 + <el-form-item label="立案审批附件" prop="registerApprovalFileModel">
  136 + <NCC-UploadFz v-model="dataForm.registerApprovalFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  137 + </el-form-item>
  138 + </el-col>
  139 + <el-col :span="24">
  140 + <el-form-item label="调查(询问)笔录" prop="record">
  141 + <el-input type="textarea" v-model="dataForm.record" placeholder="请输入调查(询问)笔录" clearable maxlength="200"/>
  142 + </el-form-item>
  143 + </el-col>
  144 + <el-col :span="24">
  145 + <el-form-item label="调查(询问)笔录附件" prop="recordFileModel">
  146 + <NCC-UploadFz v-model="dataForm.recordFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  147 + </el-form-item>
  148 + </el-col>
  149 + <el-col :span="24">
  150 + <el-form-item label="案件处理意见" prop="caseHandlingOpinions">
  151 + <el-input type="textarea" v-model="dataForm.caseHandlingOpinions" placeholder="请输入案件处理意见示例" clearable maxlength="200"/>
  152 + </el-form-item>
  153 + </el-col>
  154 + <el-col :span="24">
  155 + <el-form-item label="案件处理意见附件" prop="caseHandlingOpinionsFileModel">
  156 + <NCC-UploadFz v-model="dataForm.caseHandlingOpinionsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  157 + </el-form-item>
  158 + </el-col>
  159 + <el-col :span="24">
  160 + <el-form-item label="执法约谈" prop="enforcementRecords">
  161 + <el-input type="textarea" v-model="dataForm.enforcementRecords" placeholder="请输入执法约谈" clearable maxlength="200"/>
  162 + </el-form-item>
  163 + </el-col>
  164 + <el-col :span="24">
  165 + <el-form-item label="执法约谈附件" prop="enforcementRecordsFileModel">
  166 + <NCC-UploadFz v-model="dataForm.enforcementRecordsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  167 + </el-form-item>
  168 + </el-col>
  169 + <el-col :span="24">
  170 + <el-form-item label="行政处罚意见告知" prop="noticeLetter">
  171 + <el-input type="textarea" v-model="dataForm.noticeLetter" placeholder="请输入行政处罚意见告知" clearable maxlength="200"/>
  172 + </el-form-item>
  173 + </el-col>
  174 + <el-col :span="24">
  175 + <el-form-item label="行政处罚意见告知附件" prop="noticeLetterFileModel">
  176 + <NCC-UploadFz v-model="dataForm.noticeLetterFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  177 + </el-form-item>
  178 + </el-col>
  179 + <el-col :span="24">
  180 + <el-form-item label="行政处罚决定" prop="punishmentDecision">
  181 + <el-input type="textarea" v-model="dataForm.punishmentDecision" placeholder="请输入行政处罚决定" clearable maxlength="200"/>
  182 + </el-form-item>
  183 + </el-col>
  184 + <el-col :span="24">
  185 + <el-form-item label="行政处罚决定附件" prop="punishmentDecisionFileModel">
  186 + <NCC-UploadFz v-model="dataForm.punishmentDecisionFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  187 + </el-form-item>
  188 + </el-col>
  189 + <el-col :span="24">
  190 + <el-form-item label="行政处罚结案报告" prop="closingReport">
  191 + <el-input type="textarea" v-model="dataForm.closingReport" placeholder="请输入行政处罚结案报告" clearable maxlength="200"/>
  192 + </el-form-item>
  193 + </el-col>
  194 + <el-col :span="24">
  195 + <el-form-item label="行政处罚结案报告附件" prop="closingReportFileModel">
  196 + <NCC-UploadFz v-model="dataForm.closingReportFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  197 + </el-form-item>
  198 + </el-col>
  199 + <el-col :span="24">
  200 + <el-form-item label="其他" prop="other">
  201 + <el-input type="textarea" v-model="dataForm.other" placeholder="请输入其他" clearable maxlength="200"/>
  202 + </el-form-item>
  203 + </el-col>
  204 + <el-col :span="24">
  205 + <el-form-item label="其他附件" prop="otherFileModel">
  206 + <NCC-UploadFz v-model="dataForm.otherFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  207 + </el-form-item>
  208 + </el-col>
127 </el-form> 209 </el-form>
128 </el-row> 210 </el-row>
129 <el-row v-show="!!isDetail"> 211 <el-row v-show="!!isDetail">
130 <el-col class="form-item"> 212 <el-col class="form-item">
131 - <div class="label w-120">来源登记:</div>  
132 - <div class="text">{{ dataForm.sourceRecord || '--' }}</div> 213 + <div class="label w-180">来源登记:</div>
  214 + <div class="text">{{ dataForm.sourceRegistration || '--' }}</div>
133 </el-col> 215 </el-col>
134 <el-col class="form-item"> 216 <el-col class="form-item">
135 - <div class="label w-120">案件名称:</div> 217 + <div class="label w-180">案件名称:</div>
136 <div class="text">{{ dataForm.systemNameStr || '--' }}</div> 218 <div class="text">{{ dataForm.systemNameStr || '--' }}</div>
137 </el-col> 219 </el-col>
138 <el-col class="form-item"> 220 <el-col class="form-item">
139 - <div class="label w-120">运营主体:</div> 221 + <div class="label w-180">运营主体:</div>
140 <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div> 222 <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div>
141 </el-col> 223 </el-col>
142 <el-col class="form-item"> 224 <el-col class="form-item">
143 - <div class="label w-120">应用类别:</div> 225 + <div class="label w-180">应用类别:</div>
144 <div class="text">{{ dataForm.categoryName || '--' }}</div> 226 <div class="text">{{ dataForm.categoryName || '--' }}</div>
145 </el-col> 227 </el-col>
146 <el-col class="form-item"> 228 <el-col class="form-item">
147 - <div class="label w-120">备案号:</div> 229 + <div class="label w-180">备案号:</div>
148 <div class="text">{{ dataForm.recordNumber || '--' }}</div> 230 <div class="text">{{ dataForm.recordNumber || '--' }}</div>
149 </el-col> 231 </el-col>
150 <el-col class="form-item"> 232 <el-col class="form-item">
151 - <div class="label w-120">所属区县:</div> 233 + <div class="label w-180">所属区县:</div>
152 <div class="text">{{ dataForm.districtCountyName }}</div> 234 <div class="text">{{ dataForm.districtCountyName }}</div>
153 </el-col> 235 </el-col>
154 <el-col class="form-item"> 236 <el-col class="form-item">
155 - <div class="label w-120">违法原因:</div> 237 + <div class="label w-180">违法原因:</div>
156 <p class="text">{{ dataForm.illegalReasons || '--' }}</p> 238 <p class="text">{{ dataForm.illegalReasons || '--' }}</p>
157 </el-col> 239 </el-col>
158 <el-col class="form-item"> 240 <el-col class="form-item">
159 - <div class="label w-120">处罚要求:</div> 241 + <div class="label w-180">处罚要求:</div>
160 <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p> 242 <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p>
161 </el-col> 243 </el-col>
162 <el-col class="form-item"> 244 <el-col class="form-item">
163 - <div class="label w-120">处罚内容:</div> 245 + <div class="label w-180">处罚内容:</div>
164 <p class="text">{{ dataForm.punishmentContent || '--' }}</p> 246 <p class="text">{{ dataForm.punishmentContent || '--' }}</p>
165 </el-col> 247 </el-col>
166 <el-col class="form-item" v-if="dataForm.enforceType"> 248 <el-col class="form-item" v-if="dataForm.enforceType">
167 - <div class="label w-120">执法方式:</div> 249 + <div class="label w-180">执法方式:</div>
168 <p class="text">{{ dataForm.enforceType || '--' }}</p> 250 <p class="text">{{ dataForm.enforceType || '--' }}</p>
169 </el-col> 251 </el-col>
170 <el-col class="form-item" v-if="dataForm.enforcecontent"> 252 <el-col class="form-item" v-if="dataForm.enforcecontent">
171 - <div class="label w-120">执法说明:</div> 253 + <div class="label w-180">执法说明:</div>
172 <p class="text">{{ dataForm.enforcecontent || '--' }}</p> 254 <p class="text">{{ dataForm.enforcecontent || '--' }}</p>
173 </el-col> 255 </el-col>
  256 + <el-col class="form-item">
  257 + <div class="label w-180">立案审批:</div>
  258 + <p class="text">{{ dataForm.registerApproval || '--' }}</p>
  259 + </el-col>
  260 + <el-col class="form-item">
  261 + <div class="label w-180">立案审批附件:</div>
  262 + <NCC-UploadFz v-model="dataForm.registerApprovalFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  263 + </el-col>
  264 + <el-col class="form-item">
  265 + <div class="label w-180">调查(询问)笔录:</div>
  266 + <p class="text">{{ dataForm.record || '--' }}</p>
  267 + </el-col>
  268 + <el-col class="form-item">
  269 + <div class="label w-180">调查(询问)笔录附件:</div>
  270 + <NCC-UploadFz v-model="dataForm.recordFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  271 + </el-col>
  272 + <el-col class="form-item">
  273 + <div class="label w-180">案件处理意见:</div>
  274 + <p class="text">{{ dataForm.caseHandlingOpinions || '--' }}</p>
  275 + </el-col>
  276 + <el-col class="form-item">
  277 + <div class="label w-180">案件处理意见附件:</div>
  278 + <NCC-UploadFz v-model="dataForm.caseHandlingOpinionsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  279 + </el-col>
  280 + <el-col class="form-item">
  281 + <div class="label w-180">执法约谈:</div>
  282 + <p class="text">{{ dataForm.enforcementRecords || '--' }}</p>
  283 + </el-col>
  284 + <el-col class="form-item">
  285 + <div class="label w-180">执法约谈附件:</div>
  286 + <NCC-UploadFz v-model="dataForm.enforcementRecordsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  287 + </el-col>
  288 + <el-col class="form-item">
  289 + <div class="label w-180">行政处罚意见告知:</div>
  290 + <p class="text">{{ dataForm.noticeLetter || '--' }}</p>
  291 + </el-col>
  292 + <el-col class="form-item">
  293 + <div class="label w-180">行政处罚意见告知附件:</div>
  294 + <NCC-UploadFz v-model="dataForm.noticeLetterFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  295 + </el-col>
  296 + <el-col class="form-item">
  297 + <div class="label w-180">行政处罚决定:</div>
  298 + <p class="text">{{ dataForm.punishmentDecision || '--' }}</p>
  299 + </el-col>
  300 + <el-col class="form-item">
  301 + <div class="label w-180">行政处罚决定附件:</div>
  302 + <NCC-UploadFz v-model="dataForm.punishmentDecisionFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  303 + </el-col>
  304 + <el-col class="form-item">
  305 + <div class="label w-180">行政处罚结案报告:</div>
  306 + <p class="text">{{ dataForm.closingReport || '--' }}</p>
  307 + </el-col>
  308 + <el-col class="form-item">
  309 + <div class="label w-180">行政处罚结案报告附件:</div>
  310 + <NCC-UploadFz v-model="dataForm.closingReportFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  311 + </el-col>
  312 + <el-col class="form-item">
  313 + <div class="label w-180">其他:</div>
  314 + <p class="text">{{ dataForm.other || '--' }}</p>
  315 + </el-col>
  316 + <el-col class="form-item">
  317 + <div class="label w-180">其他附件:</div>
  318 + <NCC-UploadFz v-model="dataForm.otherFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  319 + </el-col>
174 </el-row> 320 </el-row>
175 <span slot="footer" class="dialog-footer"> 321 <span slot="footer" class="dialog-footer">
176 <el-button @click="visible = false">取 消</el-button> 322 <el-button @click="visible = false">取 消</el-button>
177 <template v-if="!isDetail"> 323 <template v-if="!isDetail">
178 - <el-button type="primary" v-if="!isDetail && formType == '0'" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button>  
179 - <el-button type="info" v-if="!isDetail && formType == '0'" @click="submit(0)" :loading="btnLoading">保 存</el-button> 324 + <el-button type="primary" v-if="!isDetail && formType != '2'" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button>
  325 + <el-button type="info" v-if="!isDetail && formType != '2'" @click="submit(0)" :loading="btnLoading">保 存</el-button>
180 </template> 326 </template>
181 <template v-if="!isDetail"> 327 <template v-if="!isDetail">
182 - <el-button type="primary" v-if="!isDetail && formType != '0'" @click="handle" :loading="btnLoading">提 交</el-button> 328 + <el-button type="primary" v-if="!isDetail && formType == '2'" @click="handle(1)" :loading="btnLoading">办 结</el-button>
  329 + <el-button type="info" v-if="!isDetail && formType == '2'" @click="handle(0)" :loading="btnLoading">保 存</el-button>
183 </template> 330 </template>
184 </span> 331 </span>
185 </el-dialog> 332 </el-dialog>
@@ -201,7 +348,7 @@ export default { @@ -201,7 +348,7 @@ export default {
201 formType: false, // 0 新增 1 编辑 2 处理 348 formType: false, // 0 新增 1 编辑 2 处理
202 dataForm: { 349 dataForm: {
203 id: undefined, 350 id: undefined,
204 - sourceRecord: undefined, 351 + sourceRegistration: undefined,
205 registrationTime: undefined, 352 registrationTime: undefined,
206 systemName: undefined, 353 systemName: undefined,
207 registeredEntity: undefined, 354 registeredEntity: undefined,
@@ -214,18 +361,28 @@ export default { @@ -214,18 +361,28 @@ export default {
214 punishmentRequirements: undefined, 361 punishmentRequirements: undefined,
215 punishmentContent: undefined, 362 punishmentContent: undefined,
216 state: undefined, 363 state: undefined,
217 - record: undefined,  
218 - caseHandlingOpinions: undefined,  
219 - enforcementRecords: undefined,  
220 - noticeLetter: undefined,  
221 - punishmentDecision: undefined,  
222 - closingReport: undefined,  
223 enforceType: undefined, 364 enforceType: undefined,
224 enforcecontent: undefined, 365 enforcecontent: undefined,
225 isHaveSystem: undefined, 366 isHaveSystem: undefined,
  367 + registerApproval: undefined,
  368 + registerApprovalFileModel: [],
  369 + record: undefined,
  370 + recordFileModel: [],
  371 + caseHandlingOpinions: undefined,
  372 + caseHandlingOpinionsFileModel: [],
  373 + enforcementRecords: undefined,
  374 + enforcementRecordsFileModel: [],
  375 + noticeLetter: undefined,
  376 + noticeLetterFileModel: [],
  377 + punishmentDecision: undefined,
  378 + punishmentDecisionFileModel: [],
  379 + closingReport: undefined,
  380 + closingReportFileModel: [],
  381 + other: undefined,
  382 + otherFileModel: [],
226 }, 383 },
227 rules: { 384 rules: {
228 - sourceRecord: [ 385 + sourceRegistration: [
229 { required: true, message: "请输入来源登记", trigger: "bulr" } 386 { required: true, message: "请输入来源登记", trigger: "bulr" }
230 ], 387 ],
231 systemName: [ 388 systemName: [
@@ -261,7 +418,6 @@ export default { @@ -261,7 +418,6 @@ export default {
261 watch: {}, 418 watch: {},
262 created() { 419 created() {
263 this.getplatformTypeOptions(); 420 this.getplatformTypeOptions();
264 - this.getSystemSelect();  
265 this.initSystemTypeList(); 421 this.initSystemTypeList();
266 this.initAreaTypeList(); 422 this.initAreaTypeList();
267 this.initCompanyList(); 423 this.initCompanyList();
@@ -283,11 +439,12 @@ export default { @@ -283,11 +439,12 @@ export default {
283 }) 439 })
284 }, 440 },
285 // 获取系统列表 441 // 获取系统列表
286 - getSystemSelect() { 442 + getSystemSelect(companyId) {
287 this.system_loading = true; 443 this.system_loading = true;
288 request({ 444 request({
289 url: "/Extend/basesysteminfo/GetNoPagingList", 445 url: "/Extend/basesysteminfo/GetNoPagingList",
290 method: "get", 446 method: "get",
  447 + params: { companyId }
291 }).then(({data}) => { 448 }).then(({data}) => {
292 this.systemOption = data; 449 this.systemOption = data;
293 this.system_loading = false; 450 this.system_loading = false;
@@ -301,9 +458,9 @@ export default { @@ -301,9 +458,9 @@ export default {
301 }, 458 },
302 platformNameChange(val, type) { 459 platformNameChange(val, type) {
303 let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id); 460 let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id);
  461 + console.log(obj);
304 this.dataForm.isHaveSystem = obj ? true : false; 462 this.dataForm.isHaveSystem = obj ? true : false;
305 this.dataForm.systemName = obj ? obj.id : val; 463 this.dataForm.systemName = obj ? obj.id : val;
306 - this.dataForm.registeredEntity = obj ? obj.companyId : '';  
307 this.dataForm.category = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : ''; 464 this.dataForm.category = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : '';
308 // this.dataForm.recordNumber = obj ? obj.platform : ''; 465 // this.dataForm.recordNumber = obj ? obj.platform : '';
309 }, 466 },
@@ -321,6 +478,12 @@ export default { @@ -321,6 +478,12 @@ export default {
321 let input = this.$refs.select.$children[0].$refs.input; 478 let input = this.$refs.select.$children[0].$refs.input;
322 input.blur(); 479 input.blur();
323 }, 480 },
  481 + companyChange(val, type) {
  482 + let obj = this.companyOptions.find(v => val == v.id);
  483 + obj ? this.getSystemSelect(val) : (this.systemOption == []);
  484 + this.dataForm.systemName = '';
  485 + this.dataForm.category = '';
  486 + },
324 // 运营主体改变 487 // 运营主体改变
325 selectCompanyBlur(e) { 488 selectCompanyBlur(e) {
326 let value = e.target.value; 489 let value = e.target.value;
@@ -362,10 +525,12 @@ export default { @@ -362,10 +525,12 @@ export default {
362 // 上报/下派 525 // 上报/下派
363 submit(type) { 526 submit(type) {
364 // type: 1 上报 0 保存 527 // type: 1 上报 0 保存
  528 + // status 状态 0保存/1办结
365 let obj = { 529 let obj = {
366 ...this.dataForm, 530 ...this.dataForm,
367 isReport: type, 531 isReport: type,
368 } 532 }
  533 +
369 this.$refs['elForm'].validate((valid) => { 534 this.$refs['elForm'].validate((valid) => {
370 if(valid) { 535 if(valid) {
371 !this.dataForm.id ? this.toRequest('/Extend/BaseCaseHandling', 'POST', obj) : this.toRequest(`/Extend/BaseCaseHandling/${this.dataForm.id}`, 'PUT', obj); 536 !this.dataForm.id ? this.toRequest('/Extend/BaseCaseHandling', 'POST', obj) : this.toRequest(`/Extend/BaseCaseHandling/${this.dataForm.id}`, 'PUT', obj);
@@ -373,15 +538,15 @@ export default { @@ -373,15 +538,15 @@ export default {
373 }) 538 })
374 }, 539 },
375 // 处理 540 // 处理
376 - handle() { 541 + handle(status) {
377 this.$refs['elForm'].validate((valid) => { 542 this.$refs['elForm'].validate((valid) => {
378 if(valid) { 543 if(valid) {
379 this.btnLoading = true; 544 this.btnLoading = true;
380 - let { enforceType, enforcecontent } = this.dataForm; 545 + this.dataForm.status = status;
381 request({ 546 request({
382 url: `/Extend/basecasehandling/HandlingCase/${this.dataForm.id}`, 547 url: `/Extend/basecasehandling/HandlingCase/${this.dataForm.id}`,
383 method: "POST", 548 method: "POST",
384 - data: { enforceType, enforcecontent }, 549 + data: this.dataForm,
385 }).then((res) => { 550 }).then((res) => {
386 this.visible = false; 551 this.visible = false;
387 this.$emit("refresh", true); 552 this.$emit("refresh", true);
src/views/baseCaseHandling/index.vue
@@ -92,6 +92,11 @@ @@ -92,6 +92,11 @@
92 <el-tag :type="ncc.getStateTagType(scope.row.state, stateOptions)">{{ scope.row.state | dynamicTextUP(stateOptions) }}</el-tag> 92 <el-tag :type="ncc.getStateTagType(scope.row.state, stateOptions)">{{ scope.row.state | dynamicTextUP(stateOptions) }}</el-tag>
93 </template> 93 </template>
94 </el-table-column> 94 </el-table-column>
  95 + <el-table-column label="办理状态" prop="status" align="left" >
  96 + <template slot-scope="scope">
  97 + <el-tag v-if='scope.row.status' :type="scope.row.status == '未办结' ? 'danger' : 'success'">{{ scope.row.status }}</el-tag>
  98 + </template>
  99 + </el-table-column>
95 <el-table-column label="操作" fixed="right" width="180"> 100 <el-table-column label="操作" fixed="right" width="180">
96 <template slot-scope="scope"> 101 <template slot-scope="scope">
97 <el-button size="mini" type="text" @click="addOrUpdateHandle(scope.row.id, true) " >详情</el-button> 102 <el-button size="mini" type="text" @click="addOrUpdateHandle(scope.row.id, true) " >详情</el-button>
@@ -282,12 +287,12 @@ export default { @@ -282,12 +287,12 @@ export default {
282 } 287 }
283 } 288 }
284 this.exportBtnLoading = true; 289 this.exportBtnLoading = true;
  290 + console.log(111);
285 request({ 291 request({
286 url: `/Extend/BaseCaseHandling/Actions/Export`, 292 url: `/Extend/BaseCaseHandling/Actions/Export`,
287 method: "POST", 293 method: "POST",
288 data: query, 294 data: query,
289 - responseType: 'blob',  
290 - }).then((res) => { 295 + }).then(res => {
291 const url = process.env.VUE_APP_BASE_API + res.data.url; 296 const url = process.env.VUE_APP_BASE_API + res.data.url;
292 const link = document.createElement("a"); 297 const link = document.createElement("a");
293 link.href = url; 298 link.href = url;
src/views/baseInspectionReport/Form.vue
@@ -32,24 +32,6 @@ @@ -32,24 +32,6 @@
32 </el-form-item> 32 </el-form-item>
33 </el-col> 33 </el-col>
34 <el-col :span="24"> 34 <el-col :span="24">
35 - <el-form-item label="应用名称" prop="platformName">  
36 - <el-select  
37 - ref="select"  
38 - v-model="dataForm.platformName"  
39 - filterable  
40 - remote  
41 - reserve-keyword  
42 - placeholder="请输入应用名称"  
43 - @blur.native.capture="selectBlur"  
44 - @visible-change="visibleNameChange"  
45 - @change="(val) => platformNameChange(val, 'change')"  
46 - :loading="name_loading"  
47 - :disabled="!!this.dataForm.id">  
48 - <el-option v-for="item in nameOptions" :key="item.id" :label="item.systemName" :value="item.id"></el-option>  
49 - </el-select>  
50 - </el-form-item>  
51 - </el-col>  
52 - <el-col :span="24">  
53 <el-form-item label="运营主体" prop="company"> 35 <el-form-item label="运营主体" prop="company">
54 <el-select 36 <el-select
55 ref="companySelect" 37 ref="companySelect"
@@ -60,7 +42,8 @@ @@ -60,7 +42,8 @@
60 style="width: 100%" 42 style="width: 100%"
61 @blur.native.capture="selectCompanyBlur" 43 @blur.native.capture="selectCompanyBlur"
62 @visible-change="visibleNameCompanyChange" 44 @visible-change="visibleNameCompanyChange"
63 - :disabled='isDisabledTypeByName || !!this.dataForm.id' 45 + @change="(val) => companyChange(val, 'change')"
  46 + :disabled='!!this.dataForm.id'
64 > 47 >
65 <el-option 48 <el-option
66 v-for="item in companyOptions" 49 v-for="item in companyOptions"
@@ -73,8 +56,26 @@ @@ -73,8 +56,26 @@
73 </el-form-item> 56 </el-form-item>
74 </el-col> 57 </el-col>
75 <el-col :span="24"> 58 <el-col :span="24">
  59 + <el-form-item label="应用名称" prop="platformName">
  60 + <el-select
  61 + ref="select"
  62 + v-model="dataForm.platformName"
  63 + filterable
  64 + remote
  65 + reserve-keyword
  66 + placeholder="请输入应用名称"
  67 + @blur.native.capture="selectBlur"
  68 + @visible-change="visibleNameChange"
  69 + @change="(val) => platformNameChange(val, 'change')"
  70 + :loading="name_loading"
  71 + :disabled="!!this.dataForm.id || !dataForm.company">
  72 + <el-option v-for="item in nameOptions" :key="item.id" :label="item.systemName" :value="item.id"></el-option>
  73 + </el-select>
  74 + </el-form-item>
  75 + </el-col>
  76 + <el-col :span="24">
76 <el-form-item label="应用类型" prop="platformType"> 77 <el-form-item label="应用类型" prop="platformType">
77 - <el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'> 78 + <el-radio-group v-model="dataForm.platformType" :disabled='!!this.dataForm.id'>
78 <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> 79 <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
79 </el-radio-group> 80 </el-radio-group>
80 </el-form-item> 81 </el-form-item>
@@ -325,15 +326,8 @@ export default { @@ -325,15 +326,8 @@ export default {
325 await getDictionaryDataSelector("577006814432855301").then((res) => { 326 await getDictionaryDataSelector("577006814432855301").then((res) => {
326 this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}]; 327 this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];
327 }); 328 });
328 - this.name_loading = true  
329 - await request({  
330 - url: `/Extend/basesysteminfo/GetNoPagingList`,  
331 - method: "GET",  
332 - }).then(({data}) => {  
333 - if(!data) return;  
334 - this.nameOptions = data;  
335 - this.name_loading = false;  
336 - }); 329 + // this.name_loading = true
  330 + // this.name_loading = false;
337 }, 331 },
338 async initCompanyList() { 332 async initCompanyList() {
339 request({ 333 request({
@@ -352,7 +346,6 @@ export default { @@ -352,7 +346,6 @@ export default {
352 platformNameChange(val, type) { 346 platformNameChange(val, type) {
353 let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); 347 let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id);
354 this.dataForm.platformName = obj ? obj.id : val; 348 this.dataForm.platformName = obj ? obj.id : val;
355 - this.dataForm.company = obj ? this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id : '';  
356 this.dataForm.platformType = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : ''; 349 this.dataForm.platformType = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : '';
357 if(obj && this.dataForm.platformType == '580634746028033285') { 350 if(obj && this.dataForm.platformType == '580634746028033285') {
358 if(this.mediaPlatList.findIndex(j => j == obj.selfMediaPlatformType) == -1) { 351 if(this.mediaPlatList.findIndex(j => j == obj.selfMediaPlatformType) == -1) {
@@ -375,6 +368,20 @@ export default { @@ -375,6 +368,20 @@ export default {
375 if(!value) return; 368 if(!value) return;
376 this.dataForm.company = e.target.value; 369 this.dataForm.company = e.target.value;
377 }, 370 },
  371 + async companyChange(val, type) {
  372 + let obj = this.companyOptions.find(v => val == v.id);
  373 + obj && await request({
  374 + url: `/Extend/basesysteminfo/GetNoPagingList`,
  375 + method: "GET",
  376 + params: { company: val }
  377 + }).then(({data}) => {
  378 + if(!data) return;
  379 + this.nameOptions = data;
  380 + });
  381 + !obj && this.nameOptions == [];
  382 + this.dataForm.platformName = '';
  383 + this.dataForm.platformType = '';
  384 + },
378 visibleNameCompanyChange(val) { 385 visibleNameCompanyChange(val) {
379 if (val) return 386 if (val) return
380 let input = this.$refs.companySelect.$children[0].$refs.input; 387 let input = this.$refs.companySelect.$children[0].$refs.input;
src/views/baseInspectionReport/index.vue
@@ -55,9 +55,7 @@ @@ -55,9 +55,7 @@
55 <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left"> 55 <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left">
56 <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template> 56 <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template>
57 </el-table-column> 57 </el-table-column>
58 - <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" >  
59 - <template slot-scope="scope">{{ scope.row.questionType }}{{ scope.row.questionCode }}</template>  
60 - </el-table-column> 58 + <el-table-column show-overflow-tooltip label="问题类型" prop="leadNumber" align="left" ></el-table-column>
61 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> 59 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> -->
62 <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> 60 <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" />
63 <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/> 61 <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/>
src/views/baseSpecialAction/Form.vue
@@ -136,6 +136,7 @@ @@ -136,6 +136,7 @@
136 </template> 136 </template>
137 <script> 137 <script>
138 import request from "@/utils/request"; 138 import request from "@/utils/request";
  139 +import ncc from "@/utils/ncc.js"
139 import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; 140 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
140 import { previewDataInterface } from "@/api/systemData/dataInterface"; 141 import { previewDataInterface } from "@/api/systemData/dataInterface";
141 export default { 142 export default {
@@ -284,6 +285,7 @@ export default { @@ -284,6 +285,7 @@ export default {
284 method: "GET", 285 method: "GET",
285 }).then((res) => { 286 }).then((res) => {
286 this.dataForm = res.data; 287 this.dataForm = res.data;
  288 + this.dataForm.deadline = new Date(ncc.dateFormat(res.data.deadline, 'YYYY-MM-DD HH:mm:ss'));
287 this.dataForm.annex = res.data.annex == null ? [] : res.data.annex; 289 this.dataForm.annex = res.data.annex == null ? [] : res.data.annex;
288 }) 290 })
289 } 291 }
src/views/baseSystemInfo/InspectForm.vue
1 <template> 1 <template>
2 <el-dialog 2 <el-dialog
3 - title="上报" 3 + title="新建"
4 :close-on-click-modal="false" 4 :close-on-click-modal="false"
5 :visible.sync="visible" 5 :visible.sync="visible"
6 class="NCC-dialog NCC-dialog_center" 6 class="NCC-dialog NCC-dialog_center"
7 lock-scroll 7 lock-scroll
8 width="60%" 8 width="60%"
  9 + v-loading="loading"
  10 + :modal="false"
9 > 11 >
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-row :gutter="15" class="NCC-dialog-content" v-show="!isDetail">
  13 + <el-form
  14 + ref="elForm"
  15 + :model="dataForm"
  16 + size="small"
  17 + label-width="180px"
  18 + label-position="right"
  19 + :disabled="!!isDetail"
  20 + :rules="rules"
  21 + >
  22 + <el-col :span="24" v-if="false">
  23 + <el-form-item label="主键" prop="id">
  24 + <el-input v-model="dataForm.id" placeholder="请输入" clearable />
  25 + </el-form-item>
  26 + </el-col>
12 <el-col :span="24"> 27 <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>  
16 - </el-radio-group> 28 + <el-form-item label="来源登记" prop="sourceRegistration">
  29 + <el-input v-model="dataForm.sourceRegistration" placeholder="请输入来源登记" clearable :disabled="formType != 0"/>
17 </el-form-item> 30 </el-form-item>
18 </el-col> 31 </el-col>
19 - <el-col :span="23">  
20 - <el-form-item label="应用名称" prop="platformName">  
21 - <el-select  
22 - ref="select"  
23 - v-model="dataForm.platformName"  
24 - filterable  
25 - remote  
26 - reserve-keyword  
27 - placeholder="请输入应用名称"  
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> 32 + <el-col :span="24">
  33 + <el-form-item label="运营主体" prop="registeredEntity">
  34 + <el-input v-model="dataForm.registeredEntityStr" placeholder="" clearable disabled/>
35 </el-form-item> 35 </el-form-item>
36 </el-col> 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">  
48 - </el-option>  
49 - </el-select> 37 + <el-col :span="24">
  38 + <el-form-item label="案件名称" prop="systemName">
  39 + <el-input v-model="dataForm.systemNameStr" placeholder="" clearable disabled/>
50 </el-form-item> 40 </el-form-item>
51 </el-col> 41 </el-col>
52 <el-col :span="24"> 42 <el-col :span="24">
53 - <el-form-item label="应用类型" prop="platformType">  
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> 43 + <el-form-item label="应用类别" prop="category">
  44 + <el-radio-group v-model="dataForm.category" disabled>
  45 + <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio>
56 </el-radio-group> 46 </el-radio-group>
57 </el-form-item> 47 </el-form-item>
58 </el-col> 48 </el-col>
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>  
63 - </el-radio-group> 49 + <el-col :span="24">
  50 + <el-form-item label="备案号" prop="recordNumber">
  51 + <el-input v-model="dataForm.recordNumber" placeholder="请输入备案号" clearable :disabled="formType == 2"/>
64 </el-form-item> 52 </el-form-item>
65 </el-col> 53 </el-col>
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%' }" /> 54 + <el-col :span="24" v-if="isSHILevel">
  55 + <el-form-item label="所属区县" prop="districtCounty">
  56 + <el-radio-group
  57 + v-model="dataForm.districtCounty"
  58 + placeholder="请选择所属区县"
  59 + style="line-height: 22px"
  60 + :disabled="formType == 2"
  61 + >
  62 + <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{
  63 + v.fullName
  64 + }}</el-radio>
  65 + </el-radio-group>
  66 + </el-form-item>
  67 + </el-col>
  68 + <el-col :span="24">
  69 + <el-form-item label="违法原因" prop="illegalReasons">
  70 + <el-input type="textarea" v-model="dataForm.illegalReasons" placeholder="请输入违法原因" clearable maxlength="200" :disabled="formType == 2"/>
69 </el-form-item> 71 </el-form-item>
70 </el-col> 72 </el-col>
71 - <el-col :span="23">  
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> 73 + <el-col :span="24">
  74 + <el-form-item label="处罚要求" prop="punishmentRequirements">
  75 + <el-input type="textarea" v-model="dataForm.punishmentRequirements" placeholder="请输入处罚要求" clearable maxlength="200" :disabled="formType == 2"/>
  76 + </el-form-item>
  77 + </el-col>
  78 + <el-col :span="24">
  79 + <el-form-item label="处罚内容" prop="punishmentContent">
  80 + <el-input type="textarea" v-model="dataForm.punishmentContent" placeholder="请输入处罚内容" clearable maxlength="200" :disabled="formType == 2"/>
  81 + </el-form-item>
  82 + </el-col>
  83 + <el-col :span="24" v-if="isSHILevel">
  84 + <el-form-item label="执法方式" prop="enforceType">
  85 + <el-radio-group v-model="dataForm.enforceType">
  86 + <el-radio label="柔性执法">柔性执法</el-radio>
  87 + <el-radio label="行政执法">行政执法</el-radio>
75 </el-radio-group> 88 </el-radio-group>
76 </el-form-item> 89 </el-form-item>
77 </el-col> 90 </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%' }" /> 91 + <el-col :span="24" v-if="!isSHILevel && formType == 2">
  92 + <el-form-item label="执法说明" prop="enforcecontent">
  93 + <el-input type="textarea" v-model="dataForm.enforcecontent" placeholder="请输入执法说明" clearable maxlength="200"/>
  94 + </el-form-item>
  95 + </el-col>
  96 + <!-- 立案审批、调查(询问)笔录、案件处理意见、执法约谈、行政处罚意见告知、行政处罚决定、行政处罚结案报告、其他(每个流程都为填空+上传附件,非必填) -->
  97 + <el-col :span="24">
  98 + <el-form-item label="立案审批" prop="registerApproval">
  99 + <el-input type="textarea" v-model="dataForm.registerApproval" placeholder="请输入立案审批" clearable maxlength="200"/>
  100 + </el-form-item>
  101 + </el-col>
  102 + <el-col :span="24">
  103 + <el-form-item label="立案审批附件" prop="registerApprovalFileModel">
  104 + <NCC-UploadFz v-model="dataForm.registerApprovalFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  105 + </el-form-item>
  106 + </el-col>
  107 + <el-col :span="24">
  108 + <el-form-item label="调查(询问)笔录" prop="record">
  109 + <el-input type="textarea" v-model="dataForm.record" placeholder="请输入调查(询问)笔录" clearable maxlength="200"/>
  110 + </el-form-item>
  111 + </el-col>
  112 + <el-col :span="24">
  113 + <el-form-item label="调查(询问)笔录附件" prop="recordFileModel">
  114 + <NCC-UploadFz v-model="dataForm.recordFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  115 + </el-form-item>
  116 + </el-col>
  117 + <el-col :span="24">
  118 + <el-form-item label="案件处理意见" prop="caseHandlingOpinions">
  119 + <el-input type="textarea" v-model="dataForm.caseHandlingOpinions" placeholder="请输入案件处理意见示例" clearable maxlength="200"/>
  120 + </el-form-item>
  121 + </el-col>
  122 + <el-col :span="24">
  123 + <el-form-item label="案件处理意见附件" prop="caseHandlingOpinionsFileModel">
  124 + <NCC-UploadFz v-model="dataForm.caseHandlingOpinionsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  125 + </el-form-item>
  126 + </el-col>
  127 + <el-col :span="24">
  128 + <el-form-item label="执法约谈" prop="enforcementRecords">
  129 + <el-input type="textarea" v-model="dataForm.enforcementRecords" placeholder="请输入执法约谈" clearable maxlength="200"/>
81 </el-form-item> 130 </el-form-item>
82 </el-col> 131 </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> 132 + <el-col :span="24">
  133 + <el-form-item label="执法约谈附件" prop="enforcementRecordsFileModel">
  134 + <NCC-UploadFz v-model="dataForm.enforcementRecordsFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
86 </el-form-item> 135 </el-form-item>
87 </el-col> 136 </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> 137 + <el-col :span="24">
  138 + <el-form-item label="行政处罚意见告知" prop="noticeLetter">
  139 + <el-input type="textarea" v-model="dataForm.noticeLetter" placeholder="请输入行政处罚意见告知" clearable maxlength="200"/>
91 </el-form-item> 140 </el-form-item>
92 </el-col> 141 </el-col>
93 - <el-col :span="23">  
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 }" /> 142 + <el-col :span="24">
  143 + <el-form-item label="行政处罚意见告知附件" prop="noticeLetterFileModel">
  144 + <NCC-UploadFz v-model="dataForm.noticeLetterFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
96 </el-form-item> 145 </el-form-item>
97 </el-col> 146 </el-col>
98 - <el-col :span="23">  
99 - <el-form-item label="关键词" prop="questionClass">  
100 - <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input> 147 + <el-col :span="24">
  148 + <el-form-item label="行政处罚决定" prop="punishmentDecision">
  149 + <el-input type="textarea" v-model="dataForm.punishmentDecision" placeholder="请输入行政处罚决定" clearable maxlength="200"/>
101 </el-form-item> 150 </el-form-item>
102 </el-col> 151 </el-col>
103 - <el-col :span="23">  
104 - <el-form-item label="附件" prop="annex">  
105 - <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" /> 152 + <el-col :span="24">
  153 + <el-form-item label="行政处罚决定附件" prop="punishmentDecisionFileModel">
  154 + <NCC-UploadFz v-model="dataForm.punishmentDecisionFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  155 + </el-form-item>
  156 + </el-col>
  157 + <el-col :span="24">
  158 + <el-form-item label="行政处罚结案报告" prop="closingReport">
  159 + <el-input type="textarea" v-model="dataForm.closingReport" placeholder="请输入行政处罚结案报告" clearable maxlength="200"/>
  160 + </el-form-item>
  161 + </el-col>
  162 + <el-col :span="24">
  163 + <el-form-item label="行政处罚结案报告附件" prop="closingReportFileModel">
  164 + <NCC-UploadFz v-model="dataForm.closingReportFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
  165 + </el-form-item>
  166 + </el-col>
  167 + <el-col :span="24">
  168 + <el-form-item label="其他" prop="other">
  169 + <el-input type="textarea" v-model="dataForm.other" placeholder="请输入其他" clearable maxlength="200"/>
  170 + </el-form-item>
  171 + </el-col>
  172 + <el-col :span="24">
  173 + <el-form-item label="其他附件" prop="otherFileModel">
  174 + <NCC-UploadFz v-model="dataForm.otherFileModel" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" />
106 </el-form-item> 175 </el-form-item>
107 </el-col> 176 </el-col>
108 </el-form> 177 </el-form>
109 </el-row> 178 </el-row>
110 <span slot="footer" class="dialog-footer"> 179 <span slot="footer" class="dialog-footer">
111 - <el-button @click="visible = false">取 消</el-button>  
112 - <el-button type="primary" @click="dataFormSubmit()">确 定</el-button> 180 + <template>
  181 + <el-button @click="visible = false">取 消</el-button>
  182 + <el-button type="primary" v-if="!isDetail && formType != '2'" @click="submit(1)" :loading="btnLoading">{{isSHILevel ? '下 发' : '上 报'}}</el-button>
  183 + <el-button type="info" v-if="!isDetail && formType != '2'" @click="submit(0)" :loading="btnLoading">保 存</el-button>
  184 + </template>
113 </span> 185 </span>
114 </el-dialog> 186 </el-dialog>
115 </template> 187 </template>
116 <script> 188 <script>
  189 +import infoMixin from "@/mixins/info";
117 import request from "@/utils/request"; 190 import request from "@/utils/request";
118 -import { getDictionaryDataSelector } from "@/api/systemData/dictionary";  
119 -import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";  
120 -import { MediaPlatList } from "@/assets/data" 191 +import { getSystemDetail } from "@/api/baseData/info";
  192 +import { getCompanyInfoList, getCompanyInfoById } from "@/api/baseData/company";
  193 +import { dynamicTextUP } from "@/filters/index";
  194 +
121 export default { 195 export default {
122 - components: {},  
123 - props: [], 196 + mixins: [infoMixin],
124 data() { 197 data() {
125 return { 198 return {
126 - loading: false,  
127 visible: false, 199 visible: false,
128 - name_loading: false, 200 + loading: false,
129 isDetail: false, 201 isDetail: false,
130 - form_loading: true, 202 + formType: false, // 0 新增 1 编辑 2 处理
131 dataForm: { 203 dataForm: {
132 - id: undefined,  
133 - reportSource: undefined,  
134 - platformNameStr: undefined,  
135 - platformTypeStr: undefined,  
136 - companyStr: undefined,  
137 - platformName: '',  
138 - selfMediaPlatformType: '',  
139 - platformType: undefined,  
140 - questionType: undefined,  
141 - questionClass: undefined,  
142 - questionContent: undefined,  
143 - link: undefined,  
144 - accurateDescription: undefined,  
145 - incorrectDescription: undefined,  
146 - annex: [],  
147 - otherQuestionType: undefined,  
148 - selfMediaPlatformTypeOther: undefined,  
149 - company: undefined,  
150 - }, 204 + id: undefined,
  205 + sourceRegistration: undefined,
  206 + registrationTime: undefined,
  207 + systemName: undefined,
  208 + registeredEntity: undefined,
  209 + category: undefined,
  210 + recordNumber: undefined,
  211 + registeredEntityStr: undefined,
  212 + districtCounty: undefined,
  213 + systemNameStr: undefined,
  214 + illegalReasons: undefined,
  215 + punishmentRequirements: undefined,
  216 + punishmentContent: undefined,
  217 + state: undefined,
  218 + enforceType: undefined,
  219 + enforcecontent: undefined,
  220 + isHaveSystem: undefined,
  221 + registerApproval: undefined,
  222 + registerApprovalFileModel: [],
  223 + record: undefined,
  224 + recordFileModel: [],
  225 + caseHandlingOpinions: undefined,
  226 + caseHandlingOpinionsFileModel: [],
  227 + enforcementRecords: undefined,
  228 + enforcementRecordsFileModel: [],
  229 + noticeLetter: undefined,
  230 + noticeLetterFileModel: [],
  231 + punishmentDecision: undefined,
  232 + punishmentDecisionFileModel: [],
  233 + closingReport: undefined,
  234 + closingReportFileModel: [],
  235 + other: undefined,
  236 + otherFileModel: [],
  237 + },
151 rules: { 238 rules: {
152 - platformName: [  
153 - { required: true, message: "请选择应用名称", trigger: "blur" }, 239 + sourceRegistration: [
  240 + { required: true, message: "请输入来源登记", trigger: "bulr" }
  241 + ],
  242 + systemName: [
  243 + { required: true, message: "请选择应用名称", trigger: "bulr" }
  244 + ],
  245 + registeredEntity: [
  246 + { required: true, message: "请选择运营主体", trigger: "bulr" }
154 ], 247 ],
155 - company: [  
156 - { required: true, message: "请选择运营主体", trigger: "blur" }, 248 + districtCounty: [
  249 + { required: true, message: "请选择所属区域", trigger: "change" }
157 ], 250 ],
158 - platformType: [  
159 - { required: true, message: "请选择应用类型", trigger: "blur" }, 251 + enforceType: [
  252 + { required: true, message: "请选择执法方式", trigger: "bulr" }
160 ], 253 ],
161 - questionType: [  
162 - { required: true, message: "请选择问题类型", trigger: "blur" }, 254 + enforcecontent: [
  255 + { required: true, message: "请填写执法说明", trigger: "bulr" }
163 ], 256 ],
164 - // otherQuestionType: [  
165 - // { required: true, message: "请输入其他问题类型", trigger: "blur" },  
166 - // ],  
167 }, 257 },
168 - sourceOptions: [],  
169 - platformTypeOptions: [],  
170 - questionTypeOptions: [],  
171 - nameOptions: [],  
172 - mediaPlatList: MediaPlatList,  
173 - companyOptions: [], 258 + systemOption: [],
  259 + system_loading: false,
  260 + areaOptions: [],
174 btnLoading: false, 261 btnLoading: false,
  262 + companyOptions: [],
  263 + platformTypeOptions: [],
175 }; 264 };
176 }, 265 },
177 - computed: {}, 266 + computed: {
  267 + isSHILevel() {
  268 + // 判断角色是否为‘市级办公室’
  269 + return this.$store.state.user.islader;
  270 + },
  271 + },
178 watch: {}, 272 watch: {},
179 - created() {}, 273 + created() {
  274 + this.getplatformTypeOptions();
  275 + this.initSystemTypeList();
  276 + this.initAreaTypeList();
  277 + // this.initCompanyList();
  278 + },
180 mounted() {}, 279 mounted() {},
181 methods: { 280 methods: {
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({  
189 - url: `/Extend/baseinspectionreport/GetReportSourceList`,  
190 - method: "GET",  
191 - });  
192 - this.sourceOptions = SourceRes.data; 281 + async getplatformTypeOptions() {
193 let list = this.$store.state.meta.system; 282 let list = this.$store.state.meta.system;
194 !list && (list = await this.$store.dispatch("getTypeListByCode", "system")); 283 !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));
195 this.platformTypeOptions = list; 284 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 }, 285 },
  286 + // 请求公司列表
209 async initCompanyList() { 287 async initCompanyList() {
210 request({ 288 request({
211 url: `/Extend/basecomapnyinfo/GetNoPagingList`, 289 url: `/Extend/basecomapnyinfo/GetNoPagingList`,
@@ -214,96 +292,136 @@ export default { @@ -214,96 +292,136 @@ export default {
214 this.companyOptions = data; 292 this.companyOptions = data;
215 }) 293 })
216 }, 294 },
  295 + // 获取系统列表
  296 + getSystemSelect(companyId) {
  297 + this.system_loading = true;
  298 + request({
  299 + url: "/Extend/basesysteminfo/GetNoPagingList",
  300 + method: "get",
  301 + params: { companyId }
  302 + }).then(({data}) => {
  303 + this.systemOption = data;
  304 + this.system_loading = false;
  305 + })
  306 + },
217 selectBlur(e) { 307 selectBlur(e) {
218 let value = e.target.value; 308 let value = e.target.value;
219 if(!value) return; 309 if(!value) return;
220 - this.dataForm.platformName = e.target.value; 310 + this.dataForm.systemName = e.target.value;
221 this.platformNameChange(value, 'blur'); 311 this.platformNameChange(value, 'blur');
222 }, 312 },
223 platformNameChange(val, type) { 313 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 - } 314 + let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id);
  315 + console.log(obj);
  316 + this.dataForm.isHaveSystem = obj ? true : false;
  317 + this.dataForm.systemName = obj ? obj.id : val;
  318 + this.dataForm.category = obj ? this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id : '';
  319 + // this.dataForm.recordNumber = obj ? obj.platform : '';
  320 + },
  321 + // 系统名称改变
  322 + systemChange(val) {
  323 + getSystemDetail(val).then(({data}) => {
  324 + this.dataForm.registeredEntity = data.companyId;
  325 + this.dataForm.category = dynamicTextUP(data.systemType, this.systemTypeOptions);
  326 + this.dataForm.recordNumber = data.specialRecordNumber || '--';
  327 + this.dataForm.districtCounty = data.areaId;
  328 + })
236 }, 329 },
237 visibleNameChange(val) { 330 visibleNameChange(val) {
238 if (val) return 331 if (val) return
239 let input = this.$refs.select.$children[0].$refs.input; 332 let input = this.$refs.select.$children[0].$refs.input;
240 input.blur(); 333 input.blur();
241 }, 334 },
242 - async loadList() {  
243 - this.name_loading = true;  
244 - request({  
245 - url: `/Extend/basesysteminfo/GetNoPagingList`,  
246 - method: "GET",  
247 - }).then(({data}) => {  
248 - if(!data) return;  
249 - this.nameOptions = data;  
250 - this.name_loading = false;  
251 - }) 335 + companyChange(val, type) {
  336 + let obj = this.companyOptions.find(v => val == v.id);
  337 + obj ? this.getSystemSelect(val) : (this.systemOption == []);
  338 + this.dataForm.systemName = '';
  339 + this.dataForm.category = '';
252 }, 340 },
253 - async getplatformTypeOptions() {  
254 - let list = this.$store.state.meta.system;  
255 - !list && (list = await this.$store.dispatch("getTypeListByCode", "system"));  
256 - this.platformTypeOptions = list;  
257 - },  
258 - async getSourceOptions() {  
259 - let { data } = await request({  
260 - url: `/Extend/baseinspectionreport/GetReportSourceList`,  
261 - method: "GET",  
262 - });  
263 - this.sourceOptions = data; 341 + // 运营主体改变
  342 + selectCompanyBlur(e) {
  343 + let value = e.target.value;
  344 + if(!value) return;
  345 + this.dataForm.registeredEntity = e.target.value;
264 }, 346 },
265 - async getquestionTypeOptions() {  
266 - getDictionaryDataSelector("577006814432855301").then((res) => {  
267 - this.questionTypeOptions = [...res.data.list, {Id: '0', fullName: '其他'}];  
268 - }); 347 + visibleNameCompanyChange(val) {
  348 + if (val) return
  349 + let input = this.$refs.companySelect.$children[0].$refs.input;
  350 + input.blur();
269 }, 351 },
270 goBack() { 352 goBack() {
271 this.$emit("refresh"); 353 this.$emit("refresh");
272 }, 354 },
273 - async init(row) {  
274 - this.dataForm.id = ''; 355 + init(row, isDetail, type) {
  356 + // type 0 上报/下派 1 处理
  357 + this.formType = type || '0';
  358 + this.isDetail = isDetail || false;
275 this.visible = true; 359 this.visible = true;
276 - this.isDetail = false;  
277 - this.form_loading = true;  
278 - await this.initAllList();  
279 - this.$nextTick(async () => { 360 + this.$nextTick(() => {
280 this.$refs["elForm"].resetFields(); 361 this.$refs["elForm"].resetFields();
281 - this.platformNameChange(row.id);  
282 - this.form_loading = false; 362 + this.dataForm.registeredEntity = row.companyId;
  363 + this.dataForm.registeredEntityStr = row.companyName;
  364 + this.dataForm.systemName = row.id;
  365 + this.dataForm.systemNameStr = row.systemName;
  366 + this.dataForm.category = row.systemType;
283 }); 367 });
284 }, 368 },
285 - dataFormSubmit() {  
286 - this.$refs["elForm"].validate(async (valid) => {  
287 - if (valid) {  
288 - let obj = {  
289 - ...this.dataForm,  
290 - questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType,  
291 - selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.selfMediaPlatformType,  
292 - } 369 + // 上报/下派
  370 + submit(type) {
  371 + // type: 1 上报 0 保存
  372 + // status 状态 0保存/1办结
  373 + let obj = {
  374 + ...this.dataForm,
  375 + isReport: type,
  376 + }
  377 + this.$refs['elForm'].validate((valid) => {
  378 + if(valid) {
  379 + !this.dataForm.id ? this.toRequest('/Extend/BaseCaseHandling', 'POST', obj) : this.toRequest(`/Extend/BaseCaseHandling/${this.dataForm.id}`, 'PUT', obj);
  380 + }
  381 + })
  382 + },
  383 + // 处理
  384 + handle(status) {
  385 + this.$refs['elForm'].validate((valid) => {
  386 + if(valid) {
293 this.btnLoading = true; 387 this.btnLoading = true;
294 - let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj);  
295 - if (res.code != 200) return this.btnLoading = false;  
296 - this.$message({  
297 - message: res.msg,  
298 - type: "success",  
299 - duration: 1000,  
300 - onClose: () => {  
301 - (this.visible = false), this.$emit("refresh", true);  
302 - },  
303 - }); 388 + this.dataForm.status = status;
  389 + request({
  390 + url: `/Extend/basecasehandling/HandlingCase/${this.dataForm.id}`,
  391 + method: "POST",
  392 + data: this.dataForm,
  393 + }).then((res) => {
  394 + this.visible = false;
  395 + this.$emit("refresh", true);
  396 + this.$message({
  397 + type: "success",
  398 + message: res.msg,
  399 + })
  400 + }).catch(() => {
  401 + this.btnLoading = false;
  402 + })
304 } 403 }
305 - }); 404 + })
306 }, 405 },
  406 + toRequest(url, method, data) {
  407 + this.btnLoading = true;
  408 + request({
  409 + url,
  410 + method,
  411 + data,
  412 + }).then((res) => {
  413 + this.$message({
  414 + type: "success",
  415 + message: res.msg,
  416 + onClose: () => {
  417 + this.visible = false;
  418 + this.$emit("refresh", true);
  419 + },
  420 + });
  421 + }).catch(() => {
  422 + this.btnLoading = false;
  423 + });
  424 + }
307 }, 425 },
308 }; 426 };
309 </script> 427 </script>