Commit fcbf44a086edca6177dd0c83e344e34bcedd3151

Authored by monkeyhouyi
1 parent 5a14192c

1

src/views/DisposalSuggestions/Form.vue
1 <template> 1 <template>
2 - <el-dialog title="判研建议" :close-on-click-modal="false" :visible.sync="visible" class="NCC-dialog NCC-dialog_center" lock-scroll width="70%">  
3 - <el-row :gutter="15" class="" >  
4 - <el-col :span="24" class="form_title">  
5 - 巡查上报详情  
6 - </el-col>  
7 - <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" :disabled="!!isDetail" :rules="rules" v-loading="loading">  
8 - <el-col :span="24" v-if="false" >  
9 - <el-form-item label="主键" prop="id">  
10 - <el-input v-model="dataForm.id" placeholder="--" clearable :style='{"width":"100%"}' >  
11 - </el-input>  
12 - </el-form-item>  
13 - </el-col>  
14 - <el-col :span="12">  
15 - <el-form-item label="平台名称" prop="platformName">  
16 - <el-input v-model="dataForm.platformName" placeholder="--" clearable :style='{"width":"100%"}' >  
17 - </el-input>  
18 - </el-form-item>  
19 - </el-col>  
20 - <el-col :span="12">  
21 - <el-form-item label="平台类型" prop="platformType">  
22 - <el-select v-model="dataForm.platformType" placeholder="--" clearable :style='{"width":"100%"}' >  
23 - <el-option v-for="(item, index) in platformTypeOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option>  
24 - </el-select>  
25 - </el-form-item>  
26 - </el-col>  
27 - <el-col :span="12">  
28 - <el-form-item label="问题类型" prop="questionType">  
29 - <el-radio-group v-model="dataForm.questionType" :style='{}' >  
30 - <el-radio v-for="(item, index) in questionTypeOptions" :key="index" :label="item.id" >{{item.fullName || '--'}}</el-radio>  
31 - </el-radio-group>  
32 - </el-form-item>  
33 - </el-col>  
34 - <el-col :span="12">  
35 - <el-form-item label="问题分类" prop="questionClass">  
36 - <el-select v-model="dataForm.questionClass" placeholder="--" clearable :style='{"width":"100%"}' >  
37 - <el-option v-for="(item, index) in questionClassOptions" :key="index" :label="item.fullName" :value="item.id" ></el-option>  
38 - </el-select>  
39 - </el-form-item>  
40 - </el-col>  
41 - <el-col :span="24">  
42 - <el-form-item label="问题内容" prop="questionContent">  
43 - <el-input v-model="dataForm.questionContent" placeholder="--" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' >  
44 - </el-input>  
45 - </el-form-item>  
46 - </el-col>  
47 - <el-col :span="24">  
48 - <el-form-item label="有害链接" prop="link">  
49 - <el-input v-model="dataForm.link" placeholder="--" clearable :style='{"width":"100%"}' >  
50 - </el-input>  
51 - </el-form-item>  
52 - </el-col>  
53 - <el-col :span="24">  
54 - <el-form-item label="取证内容" prop="obtainEvidence">  
55 - <NCC-UploadFz v-model="dataForm.obtainEvidence" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >  
56 - </NCC-UploadFz>  
57 - </el-form-item>  
58 - </el-col>  
59 - <el-col :span="24">  
60 - <el-form-item label="附件上传" prop="annex">  
61 - <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >  
62 - </NCC-UploadFz>  
63 - </el-form-item>  
64 - </el-col>  
65 - </el-form>  
66 - <el-col :span="24" class="form_title">  
67 - 判研建议  
68 - </el-col>  
69 - <el-form ref="suggestionForm" :model="suggestionForm" size="small" label-width="100px" label-position="right">  
70 - <el-col :span="24">  
71 - <el-form-item :label="isSHILevel ? '处置要求' : '处置建议'" prop="disposalSuggestions">  
72 - <el-input v-model="suggestionForm.disposalSuggestions" placeholder="请输入处置建议" show-word-limit :style='{"width":"100%"}' type='textarea' :autosize='{"minRows":4,"maxRows":4}' >  
73 - </el-input>  
74 - </el-form-item>  
75 - </el-col>  
76 - <el-col :span="24">  
77 - <el-form-item label="截止时间" prop="deadline">  
78 - <el-date-picker v-model="suggestionForm.deadline" type="date" placeholder="选择日期"></el-date-picker>  
79 - </el-form-item>  
80 - </el-col>  
81 - </el-form>  
82 - </el-row>  
83 - <span slot="footer" class="dialog-footer">  
84 - <el-button @click="visible = false">取 消</el-button>  
85 - <el-button type="primary" @click="dataFormSubmit()">确 定</el-button>  
86 - <el-button type="info" @click="dataFormSubmit()" v-if="isSHILevel">存 档</el-button>  
87 - </span>  
88 - </el-dialog> 2 + <el-dialog
  3 + title="判研建议"
  4 + :close-on-click-modal="false"
  5 + :visible.sync="visible"
  6 + class="NCC-dialog NCC-dialog_center"
  7 + lock-scroll
  8 + width="60%"
  9 + v-loading="loading"
  10 + >
  11 + <el-row :gutter="15" class="">
  12 + <el-col :span="10" style="border-right: 1px solid #e6e6e6;">
  13 + <el-row>
  14 + <el-col :span="24" class="form_title"> 巡查上报详情 </el-col>
  15 + <el-col :span="24">
  16 + <div class="form-item">
  17 + <div class="label w-100">问题来源</div>
  18 + {{ dataForm.source || "--" }}
  19 + </div>
  20 + </el-col>
  21 + <el-col :span="24">
  22 + <div class="form-item">
  23 + <div class="label w-100">平台名称</div>
  24 + {{ dataForm.platformName || "--" }}
  25 + </div>
  26 + </el-col>
  27 + <el-col :span="24">
  28 + <div class="form-item">
  29 + <div class="label w-100">平台类型</div>
  30 + {{ dataForm.platformType || "--" }}
  31 + </div>
  32 + </el-col>
  33 + <el-col :span="24">
  34 + <div class="form-item">
  35 + <div class="label w-100">问题类型</div>
  36 + {{ dataForm.questionType || "--" }}
  37 + </div>
  38 + </el-col>
  39 + <template v-if="dataForm.questionType == '错误表述'">
  40 + <el-col :span="24">
  41 + <div class="form-item">
  42 + <div class="label w-100">正确描述</div>
  43 + {{ dataForm.accurateDescription || "--" }}
  44 + </div>
  45 + </el-col>
  46 + <el-col :span="24">
  47 + <div class="form-item">
  48 + <div class="label w-100">错误描述</div>
  49 + {{ dataForm.incorrectDescription || "--" }}
  50 + </div>
  51 + </el-col>
  52 + </template>
  53 + <el-col :span="24">
  54 + <div class="form-item">
  55 + <div class="label w-100">关键词</div>
  56 + {{ dataForm.questionClass || "--" }}
  57 + </div>
  58 + </el-col>
  59 + <el-col :span="24">
  60 + <div class="form-item">
  61 + <div class="label w-100">问题内容</div>
  62 + {{ dataForm.questionContent || "--" }}
  63 + </div>
  64 + </el-col>
  65 + <el-col :span="24">
  66 + <div class="form-item">
  67 + <div class="label w-100">有害链接</div>
  68 + {{ dataForm.link || "--" }}
  69 + </div>
  70 + </el-col>
  71 + <el-col :span="24">
  72 + <div class="form-item">
  73 + <div class="label w-100">取证内容</div>
  74 + </div>
  75 + </el-col>
  76 + </el-row>
  77 + </el-col>
  78 + <el-col :span="14">
  79 + <el-row>
  80 + <el-col :span="24" class="form_title"> 判研建议 </el-col>
  81 + <el-form
  82 + ref="suggestionForm"
  83 + :rules="rules"
  84 + :model="suggestionForm"
  85 + size="small"
  86 + label-width="100px"
  87 + label-position="right"
  88 + >
  89 + <el-col :span="24">
  90 + <el-form-item
  91 + :label="isSHILevel ? '处置要求' : '处置建议'"
  92 + prop="disposalSuggestions"
  93 + >
  94 + <el-input
  95 + v-model="suggestionForm.disposalSuggestions"
  96 + placeholder="请输入处置建议"
  97 + show-word-limit
  98 + :style="{ width: '100%' }"
  99 + type="textarea"
  100 + :autosize="{ minRows: 4, maxRows: 4 }"
  101 + maxlength="200"
  102 + >
  103 + </el-input>
  104 + </el-form-item>
  105 + </el-col>
  106 + <!-- <el-col :span="24">
  107 + <el-form-item label="截止时间" prop="deadline">
  108 + <el-date-picker
  109 + v-model="suggestionForm.deadline"
  110 + type="date"
  111 + placeholder="选择日期"
  112 + ></el-date-picker>
  113 + </el-form-item>
  114 + </el-col> -->
  115 + <el-col :span="24">
  116 + <el-form-item label="研判类型" prop="judgmentClass">
  117 + <el-radio-group
  118 + v-model="suggestionForm.judgmentClass"
  119 + size="medium"
  120 + @change="judgmentClassChange"
  121 + >
  122 + <el-radio label="不采纳">不采纳</el-radio>
  123 + <el-radio label="执法">执法</el-radio>
  124 + <el-radio label="存档">存档</el-radio>
  125 + <el-radio label="进一步处置">进一步处置</el-radio>
  126 + </el-radio-group>
  127 + </el-form-item>
  128 + </el-col>
  129 + <el-col :span="24" v-if="showSuggsetion">
  130 + <el-form-item
  131 + label="研判意见"
  132 + prop="judgmentOpinions"
  133 + >
  134 + <el-input
  135 + v-model="suggestionForm.judgmentOpinions"
  136 + placeholder="请输入研判意见"
  137 + show-word-limit
  138 + :style="{ width: '100%' }"
  139 + type="textarea"
  140 + :autosize="{ minRows: 4, maxRows: 4 }"
  141 + maxlength="200"
  142 + >
  143 + </el-input>
  144 + </el-form-item>
  145 + </el-col>
  146 + </el-form>
  147 + </el-row>
  148 + </el-col>
  149 + </el-row>
  150 + <span slot="footer" class="dialog-footer">
  151 + <el-button @click="visible = false">取 消</el-button>
  152 + <el-button type="primary" @click="dataFormSubmit()">确 定</el-button>
  153 + </span>
  154 + </el-dialog>
89 </template> 155 </template>
90 <script> 156 <script>
91 - import request from '@/utils/request'  
92 - import { getDictionaryDataSelector } from '@/api/systemData/dictionary'  
93 - import { getDetail, disposalSuggestions } from '@/api/systemData/dataInterface'  
94 - export default {  
95 - components: {},  
96 - props: [],  
97 - data() {  
98 - return {  
99 - loading: true,  
100 - visible: false,  
101 - isDetail: true,  
102 - dataForm: {  
103 - id:undefined,  
104 - platformName:undefined,  
105 - platformType:undefined,  
106 - questionType:undefined,  
107 - questionClass:undefined,  
108 - questionContent:undefined,  
109 - link:undefined,  
110 - obtainEvidence:[],  
111 - annex:[],  
112 - },  
113 - rules: {  
114 - },  
115 - sourceOptions:[{"fullName":"市网信办线索","id":"市网信办线索"},{"fullName":"自主巡查发现","id":"自主巡查发现"}],  
116 - platformTypeOptions : [],  
117 - questionTypeOptions : [],  
118 - questionClassOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],  
119 - stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], 157 +import request from "@/utils/request";
  158 +import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
  159 +import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface";
  160 +export default {
  161 + components: {},
  162 + props: [],
  163 + data() {
  164 + return {
  165 + loading: true,
  166 + visible: false,
  167 + isDetail: true,
  168 + dataForm: {
  169 + id: undefined,
  170 + platformName: undefined,
  171 + platformType: undefined,
  172 + questionType: undefined,
  173 + questionClass: undefined,
  174 + questionContent: undefined,
  175 + link: undefined,
  176 + obtainEvidence: [],
  177 + annex: [],
  178 + },
  179 + sourceOptions: [
  180 + { fullName: "市网信办线索", id: "市网信办线索" },
  181 + { fullName: "自主巡查发现", id: "自主巡查发现" },
  182 + ],
  183 + platformTypeOptions: [],
  184 + questionTypeOptions: [],
  185 + questionClassOptions: [
  186 + { fullName: "选项一", id: "1" },
  187 + { fullName: "选项二", id: "2" },
  188 + ],
  189 + stageOptions: [
  190 + { fullName: "选项一", id: "1" },
  191 + { fullName: "选项二", id: "2" },
  192 + ],
120 193
121 - suggestionForm: {  
122 - disposalSuggestions: "", //处置建议  
123 - judgmentOpinions: "", //判断意见  
124 - judgmentClass: "", //判断分类  
125 - deadline: '',  
126 - }  
127 - }  
128 - },  
129 - computed: {  
130 - isSHILevel() {  
131 - // 判断角色是否为‘市级办公室’  
132 - return this.$store.state.user.islader;  
133 - },  
134 - },  
135 - watch: {},  
136 - created() {  
137 - this.getplatformTypeOptions();  
138 - this.getquestionTypeOptions();  
139 - },  
140 - mounted() {  
141 - },  
142 - methods: {  
143 - getplatformTypeOptions(){  
144 - getDictionaryDataSelector('576279943168656645').then(res => {  
145 - this.platformTypeOptions = res.data.list  
146 - });  
147 - },  
148 - getquestionTypeOptions(){  
149 - getDictionaryDataSelector('577006814432855301').then(res => {  
150 - this.questionTypeOptions = res.data.list  
151 - });  
152 - },  
153 - goBack() {  
154 - this.$emit('refresh') 194 + suggestionForm: {
  195 + disposalSuggestions: "", //处置建议
  196 + judgmentOpinions: "", //判断意见
  197 + judgmentClass: "", //判断分类
  198 + deadline: "",
  199 + judgmentClass: "",
  200 + },
  201 + rules: {
  202 + judgmentClass: [
  203 + { required: true, message: "请选择审核类型", trigger: "change" },
  204 + ],
  205 + },
  206 + showSuggsetion: false,
  207 + };
  208 + },
  209 + computed: {
  210 + isSHILevel() {
  211 + // 判断角色是否为‘市级办公室’
  212 + return this.$store.state.user.islader;
  213 + },
  214 + },
  215 + watch: {},
  216 + created() {
  217 + this.getplatformTypeOptions();
  218 + this.getquestionTypeOptions();
  219 + },
  220 + mounted() {},
  221 + methods: {
  222 + getplatformTypeOptions() {
  223 + getDictionaryDataSelector("576279943168656645").then((res) => {
  224 + this.platformTypeOptions = res.data.list;
  225 + });
  226 + },
  227 + getquestionTypeOptions() {
  228 + getDictionaryDataSelector("577006814432855301").then((res) => {
  229 + this.questionTypeOptions = res.data.list;
  230 + });
  231 + },
  232 + goBack() {
  233 + this.$emit("refresh");
  234 + },
  235 + init(id, isDetail) {
  236 + this.dataForm.id = id || 0;
  237 + this.visible = true;
  238 + this.showSuggsetion = false;
  239 + this.$nextTick(async () => {
  240 + this.$refs["suggestionForm"].resetFields();
  241 + if (this.dataForm.id) {
  242 + this.loading = true;
  243 + let res = await getDetail(this.dataForm.id);
  244 + this.dataForm = res.data;
  245 + this.loading = false;
  246 + if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
  247 + if (!this.dataForm.annex) this.dataForm.annex = [];
  248 + }
  249 + });
  250 + },
  251 + judgmentClassChange(v) {
  252 + this.showSuggsetion = Boolean(v == '进一步处置' || v == '不采纳')
  253 + },
  254 + dataFormSubmit() {
  255 + if (
  256 + !this.suggestionForm.disposalSuggestions &&
  257 + !this.suggestionForm.judgmentOpinions &&
  258 + !this.suggestionForm.judgmentClass
  259 + ) {
  260 + this.$message({
  261 + message: "判研建议不能为空!",
  262 + type: "danger",
  263 + });
  264 + }
  265 + this.$refs["suggestionForm"].validate(async (valid) => {
  266 + if (valid) {
  267 + let res = await disposalSuggestions(this.dataForm);
  268 + this.$message({
  269 + message: res.msg,
  270 + type: "success",
  271 + duration: 1000,
  272 + onClose: () => {
  273 + (this.visible = false), this.$emit("refresh", true);
155 }, 274 },
156 - init(id, isDetail) {  
157 - this.dataForm.id = id || 0;  
158 - this.visible = true;  
159 - this.$nextTick(async () => {  
160 - this.$refs['elForm'].resetFields();  
161 - this.$refs['suggestionForm'].resetFields();  
162 - if (this.dataForm.id) {  
163 - let res = await getDetail(this.dataForm.id)  
164 - this.dataForm = res.data;  
165 - this.loading = false;  
166 - if(!this.dataForm.obtainEvidence)this.dataForm.obtainEvidence=[];  
167 - if(!this.dataForm.annex)this.dataForm.annex=[];  
168 - }  
169 - })  
170 - },  
171 - dataFormSubmit() {  
172 - if(!this.suggestionForm.disposalSuggestions && !this.suggestionForm.judgmentOpinions && !this.suggestionForm.judgmentClass) {  
173 - this.$message({  
174 - message: '判研建议不能为空!',  
175 - type: 'danger',  
176 - })  
177 - }  
178 - this.$refs['suggestionForm'].validate(async (valid) => {  
179 - if (valid) {  
180 - let res = await disposalSuggestions(this.dataForm);  
181 - this.$message({  
182 - message: res.msg,  
183 - type: 'success',  
184 - duration: 1000,  
185 - onClose: () => {  
186 - this.visible = false, this.$emit('refresh', true)  
187 - }  
188 - })  
189 - }  
190 - })  
191 - },  
192 - }  
193 - } 275 + });
  276 + }
  277 + });
  278 + },
  279 + },
  280 +};
194 </script> 281 </script>
195 <style lang="scss" scoped> 282 <style lang="scss" scoped>
196 - .form_title {  
197 - line-height: 30px;  
198 - padding-left: 40px;  
199 - color: #409eff;  
200 - } 283 +.form_title {
  284 + line-height: 30px;
  285 + padding-left: 40px;
  286 + color: #409eff;
  287 +}
201 </style> 288 </style>
src/views/baseInspectionReport/Form.vue
@@ -29,9 +29,9 @@ @@ -29,9 +29,9 @@
29 </el-form-item> 29 </el-form-item>
30 </el-col> 30 </el-col>
31 <el-col :span="23"> 31 <el-col :span="23">
32 - <el-form-item label="问题来源" prop="platformName"> 32 + <el-form-item label="问题来源" prop="source">
33 <el-input 33 <el-input
34 - v-model="dataForm.platformName" 34 + v-model="dataForm.source"
35 placeholder="请输入问题来源" 35 placeholder="请输入问题来源"
36 clearable 36 clearable
37 :style="{ width: '100%' }" 37 :style="{ width: '100%' }"
@@ -41,7 +41,21 @@ @@ -41,7 +41,21 @@
41 </el-col> 41 </el-col>
42 <el-col :span="23"> 42 <el-col :span="23">
43 <el-form-item label="平台名称" prop="platformName"> 43 <el-form-item label="平台名称" prop="platformName">
44 - <SelsctLoad v-model="dataForm.platformName"/> 44 + <el-select
  45 + v-model="dataForm.platformName"
  46 + filterable
  47 + remote
  48 + reserve-keyword
  49 + placeholder="请输入平台名称"
  50 + :remote-method="loadList"
  51 + :loading="name_loading">
  52 + <el-option
  53 + v-for="item in nameOptions"
  54 + :key="item.value"
  55 + :label="item.label"
  56 + :value="item.value">
  57 + </el-option>
  58 + </el-select>
45 </el-form-item> 59 </el-form-item>
46 </el-col> 60 </el-col>
47 <el-col :span="23"> 61 <el-col :span="23">
@@ -56,19 +70,54 @@ @@ -56,19 +70,54 @@
56 </el-radio-group> 70 </el-radio-group>
57 </el-form-item> 71 </el-form-item>
58 </el-col> 72 </el-col>
59 -  
60 - <el-col :span="23"> 73 + <el-col :span="13">
61 <el-form-item label="问题类型" prop="questionType"> 74 <el-form-item label="问题类型" prop="questionType">
62 - <el-radio-group v-model="dataForm.questionType" :style="{}"> 75 + <el-radio-group v-model="dataForm.questionType" @change="questionTypeChange">
63 <el-radio 76 <el-radio
64 v-for="(item, index) in questionTypeOptions" 77 v-for="(item, index) in questionTypeOptions"
65 :key="index" 78 :key="index"
66 - :label="item.id" 79 + :label="item.fullName"
67 >{{ item.fullName }}</el-radio 80 >{{ item.fullName }}</el-radio
68 > 81 >
  82 + <el-radio label="其他">其他</el-radio>
69 </el-radio-group> 83 </el-radio-group>
70 </el-form-item> 84 </el-form-item>
71 </el-col> 85 </el-col>
  86 + <template v-if="otherQuestion">
  87 + <el-col :span="10">
  88 + <el-input
  89 + v-model="dataForm.otherQuestionType"
  90 + placeholder="请输入问题类型"
  91 + clearable
  92 + :style="{ width: '100%' }"
  93 + >
  94 + </el-input>
  95 + </el-col>
  96 + </template>
  97 + <template v-if="showErrflag">
  98 + <el-col :span="12">
  99 + <el-form-item label="正确描述" prop="accurateDescription">
  100 + <el-input
  101 + v-model="dataForm.accurateDescription"
  102 + placeholder="请输入正确描述"
  103 + clearable
  104 + :style="{ width: '100%' }"
  105 + >
  106 + </el-input>
  107 + </el-form-item>
  108 + </el-col>
  109 + <el-col :span="11">
  110 + <el-form-item label="错误描述" prop="incorrectDescription">
  111 + <el-input
  112 + v-model="dataForm.incorrectDescription"
  113 + placeholder="请输入错误描述"
  114 + clearable
  115 + :style="{ width: '100%' }"
  116 + >
  117 + </el-input>
  118 + </el-form-item>
  119 + </el-col>
  120 + </template>
72 <el-col :span="23"> 121 <el-col :span="23">
73 <el-form-item label="关键词" prop="questionClass"> 122 <el-form-item label="关键词" prop="questionClass">
74 <el-input 123 <el-input
@@ -104,28 +153,7 @@ @@ -104,28 +153,7 @@
104 </el-input> 153 </el-input>
105 </el-form-item> 154 </el-form-item>
106 </el-col> 155 </el-col>
107 - <el-col :span="12">  
108 - <el-form-item label="正确描述" prop="platformName">  
109 - <el-input  
110 - v-model="dataForm.platformName"  
111 - placeholder="请输入正确描述"  
112 - clearable  
113 - :style="{ width: '100%' }"  
114 - >  
115 - </el-input>  
116 - </el-form-item>  
117 - </el-col>  
118 - <el-col :span="11">  
119 - <el-form-item label="错误描述" prop="platformName">  
120 - <el-input  
121 - v-model="dataForm.platformName"  
122 - placeholder="请输入错误描述"  
123 - clearable  
124 - :style="{ width: '100%' }"  
125 - >  
126 - </el-input>  
127 - </el-form-item>  
128 - </el-col> 156 +
129 <el-col :span="23"> 157 <el-col :span="23">
130 <el-form-item label="取证内容" prop="obtainEvidence"> 158 <el-form-item label="取证内容" prop="obtainEvidence">
131 <NCC-UploadFz 159 <NCC-UploadFz
@@ -152,6 +180,7 @@ @@ -152,6 +180,7 @@
152 import request from "@/utils/request"; 180 import request from "@/utils/request";
153 import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; 181 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
154 import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface"; 182 import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";
  183 +import { getInfoList } from "@/api/baseData/info";
155 export default { 184 export default {
156 components: {}, 185 components: {},
157 props: [], 186 props: [],
@@ -159,18 +188,22 @@ export default { @@ -159,18 +188,22 @@ export default {
159 return { 188 return {
160 loading: false, 189 loading: false,
161 visible: false, 190 visible: false,
  191 + name_loading: false,
162 isDetail: false, 192 isDetail: false,
163 dataForm: { 193 dataForm: {
164 - id: "",  
165 id: undefined, 194 id: undefined,
  195 + source: undefined,
166 platformName: undefined, 196 platformName: undefined,
167 platformType: undefined, 197 platformType: undefined,
168 questionType: undefined, 198 questionType: undefined,
169 questionClass: undefined, 199 questionClass: undefined,
170 questionContent: undefined, 200 questionContent: undefined,
171 link: undefined, 201 link: undefined,
  202 + accurateDescription: undefined,
  203 + incorrectDescription: undefined,
172 obtainEvidence: [], 204 obtainEvidence: [],
173 annex: [], 205 annex: [],
  206 + otherQuestionType: undefined
174 }, 207 },
175 rules: { 208 rules: {
176 platformType: [ 209 platformType: [
@@ -197,16 +230,39 @@ export default { @@ -197,16 +230,39 @@ export default {
197 { fullName: "选项一", id: "1" }, 230 { fullName: "选项一", id: "1" },
198 { fullName: "选项二", id: "2" }, 231 { fullName: "选项二", id: "2" },
199 ], 232 ],
  233 + showErrflag: false,
  234 + otherQuestion: false,
  235 + nameOptions: [],
200 }; 236 };
201 }, 237 },
202 computed: {}, 238 computed: {},
203 watch: {}, 239 watch: {},
204 created() { 240 created() {
  241 + this.loadList();
205 this.getplatformTypeOptions(); 242 this.getplatformTypeOptions();
206 this.getquestionTypeOptions(); 243 this.getquestionTypeOptions();
207 }, 244 },
208 mounted() {}, 245 mounted() {},
209 methods: { 246 methods: {
  247 + loadList(query) {
  248 + this.name_loading = true;
  249 + getInfoList({pageIndex: 1, pageSize: 100, keyword: query }).then(({ data }) => {
  250 + let list = [];
  251 + data.list.length &&
  252 + data.list.forEach((item) => {
  253 + list.push({
  254 + label: item.SysytemInfo.SystemName,
  255 + value: item.SysytemInfo.Id,
  256 + });
  257 + });
  258 + this.nameOptions = list;
  259 + this.name_loading = false;
  260 + });
  261 + },
  262 + questionTypeChange(v) {
  263 + this.showErrflag = Boolean(v == '错误表述');
  264 + this.otherQuestion = Boolean(v == '其他');
  265 + },
210 async getplatformTypeOptions() { 266 async getplatformTypeOptions() {
211 let list = this.$store.state.meta.system; 267 let list = this.$store.state.meta.system;
212 !list && 268 !list &&
@@ -224,20 +280,37 @@ export default { @@ -224,20 +280,37 @@ export default {
224 init(id, isDetail) { 280 init(id, isDetail) {
225 this.dataForm.id = id || 0; 281 this.dataForm.id = id || 0;
226 this.visible = true; 282 this.visible = true;
  283 + this.otherQuestion = false;
  284 + this.showErrflag = false;
227 this.isDetail = isDetail || false; 285 this.isDetail = isDetail || false;
228 this.$nextTick(async () => { 286 this.$nextTick(async () => {
229 this.$refs["elForm"].resetFields(); 287 this.$refs["elForm"].resetFields();
230 if (this.dataForm.id) { 288 if (this.dataForm.id) {
231 let res = await getDetail(this.dataForm.id); 289 let res = await getDetail(this.dataForm.id);
232 this.dataForm = res.data; 290 this.dataForm = res.data;
  291 + if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) {
  292 + this.dataForm.otherQuestionType = res.data.questionType;
  293 + this.dataForm.questionType = '其他';
  294 + }
233 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = []; 295 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
234 if (!this.dataForm.annex) this.dataForm.annex = []; 296 if (!this.dataForm.annex) this.dataForm.annex = [];
  297 + this.$nextTick(() => {
  298 + this.questionTypeChange(this.dataForm.questionType);
  299 + })
235 } 300 }
236 }); 301 });
237 }, 302 },
  303 + getQuestionTypeName() {
  304 + if(this.dataForm.questionType == '其他') {
  305 + return this.dataForm.otherQuestionType;
  306 + } else {
  307 + return this.dataForm.questionType;
  308 + }
  309 + },
238 dataFormSubmit() { 310 dataFormSubmit() {
239 this.$refs["elForm"].validate(async (valid) => { 311 this.$refs["elForm"].validate(async (valid) => {
240 if (valid) { 312 if (valid) {
  313 + this.dataForm.questionType = this.getQuestionTypeName();
241 let res = !this.dataForm.id 314 let res = !this.dataForm.id
242 ? await addForm(this.dataForm) 315 ? await addForm(this.dataForm)
243 : await updataForm(this.dataForm); 316 : await updataForm(this.dataForm);
src/views/baseInspectionReport/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">巡查上报</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">
@@ -131,7 +131,12 @@ @@ -131,7 +131,12 @@
131 stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], 131 stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
132 } 132 }
133 }, 133 },
134 - computed: {}, 134 + computed: {
  135 + isSHILevel() {
  136 + // 判断角色是否为‘市级办公室’
  137 + return this.$store.state.user.islader;
  138 + },
  139 + },
135 created() { 140 created() {
136 this.initData() 141 this.initData()
137 this.getplatformTypeOptions(); 142 this.getplatformTypeOptions();
src/views/baseSpecialAction/Form.vue
@@ -59,39 +59,7 @@ @@ -59,39 +59,7 @@
59 </NCC-UploadFz> 59 </NCC-UploadFz>
60 </el-form-item> 60 </el-form-item>
61 </el-col> 61 </el-col>
62 - <el-col :span="23" v-if="ncc.hasFormP('recordCommunicationArea') && !dataForm.id">  
63 - <el-form-item label="台账区域" prop="recordCommunicationArea">  
64 - <el-checkbox-group v-model="dataForm.recordCommunicationArea" :style="{}">  
65 - <el-checkbox  
66 - v-for="(item, index) in areaOptions"  
67 - :key="index"  
68 - :label="item.id"  
69 - >{{ item.fullName }}</el-checkbox  
70 - >  
71 - </el-checkbox-group>  
72 - <div style="margin-top: 10px">  
73 - <el-button size="mini" @click="selectAreaAll('area')">全选</el-button>  
74 - <el-button size="mini" @click="closeAreaAll('area')">反选</el-button>  
75 - </div>  
76 - </el-form-item>  
77 - </el-col>  
78 - <el-col :span="23" v-if="ncc.hasFormP('recordCommunicationOut') && !dataForm.id">  
79 - <el-form-item label="台账外协" prop="recordCommunicationOut">  
80 - <el-checkbox-group v-model="dataForm.recordCommunicationOut" :style="{}">  
81 - <el-checkbox  
82 - v-for="(item, index) in communicationOutOptions"  
83 - :key="index"  
84 - :label="item.id"  
85 - >{{ item.fullName }}</el-checkbox  
86 - >  
87 - </el-checkbox-group>  
88 - <div style="margin-top: 10px">  
89 - <el-button size="mini" @click="selectAreaAll">全选</el-button>  
90 - <el-button size="mini" @click="closeAreaAll">反选</el-button>  
91 - </div>  
92 - </el-form-item>  
93 - </el-col>  
94 - <el-col :span="23" v-if="ncc.hasFormP('communicationArea') && dataForm.id"> 62 + <el-col :span="23" v-if="ncc.hasFormP('communicationArea')">
95 <el-form-item label="传达区域" prop="communicationArea"> 63 <el-form-item label="传达区域" prop="communicationArea">
96 <el-checkbox-group v-model="dataForm.communicationArea" :style="{}"> 64 <el-checkbox-group v-model="dataForm.communicationArea" :style="{}">
97 <el-checkbox 65 <el-checkbox
@@ -107,7 +75,7 @@ @@ -107,7 +75,7 @@
107 </div> 75 </div>
108 </el-form-item> 76 </el-form-item>
109 </el-col> 77 </el-col>
110 - <el-col :span="23" v-if="ncc.hasFormP('communicationOut') && dataForm.id"> 78 + <el-col :span="23" v-if="ncc.hasFormP('communicationOut')">
111 <el-form-item label="传达外协" prop="communicationOut"> 79 <el-form-item label="传达外协" prop="communicationOut">
112 <el-checkbox-group v-model="dataForm.communicationOut" :style="{}"> 80 <el-checkbox-group v-model="dataForm.communicationOut" :style="{}">
113 <el-checkbox 81 <el-checkbox
@@ -177,8 +145,6 @@ export default { @@ -177,8 +145,6 @@ export default {
177 title: undefined, 145 title: undefined,
178 content: undefined, 146 content: undefined,
179 releaseTime: undefined, 147 releaseTime: undefined,
180 - recordCommunicationOut: [],  
181 - recordCommunicationArea: [],  
182 annex: [], 148 annex: [],
183 communicationArea: [], 149 communicationArea: [],
184 communicationOut: [], 150 communicationOut: [],
@@ -319,12 +285,12 @@ export default { @@ -319,12 +285,12 @@ export default {
319 if (valid) { 285 if (valid) {
320 this.btnLoading = true; 286 this.btnLoading = true;
321 if (!this.dataForm.id) { 287 if (!this.dataForm.id) {
322 - let {title, content} = this.dataForm; 288 + let {title, content, annex, communicationArea, communicationOut} = this.dataForm;
323 // 新增 289 // 新增
324 request({ 290 request({
325 url: `/Extend/BaseSpecialAction`, 291 url: `/Extend/BaseSpecialAction`,
326 method: "post", 292 method: "post",
327 - data: { title, content }, 293 + data: { title, content, annex, communicationArea, communicationOut },
328 }).then((res) => { 294 }).then((res) => {
329 this.$message({ 295 this.$message({
330 message: res.msg, 296 message: res.msg,
src/views/baseSpecialAction/index.vue
@@ -103,10 +103,10 @@ export default { @@ -103,10 +103,10 @@ export default {
103 communicationOutOptions: [], 103 communicationOutOptions: [],
104 }; 104 };
105 }, 105 },
106 - created() {  
107 - this.initAreaTypeList();  
108 - this.initCommunicationOutOptions();  
109 - this.initData() 106 + async created() {
  107 + await this.initAreaTypeList();
  108 + await this.initCommunicationOutOptions();
  109 + this.initData();
110 }, 110 },
111 computed: { 111 computed: {
112 isSHILevel() { 112 isSHILevel() {
src/views/baseSpecialAction/infoForm.vue
@@ -23,7 +23,16 @@ @@ -23,7 +23,16 @@
23 <el-table :data="tableData" style="width: 100%" v-loading="loading" stripe> 23 <el-table :data="tableData" style="width: 100%" v-loading="loading" stripe>
24 <el-table-column type="index" width="50" /> 24 <el-table-column type="index" width="50" />
25 <el-table-column prop="originName" label="部门名称" /> 25 <el-table-column prop="originName" label="部门名称" />
26 - <el-table-column prop="state" label="状态" /> 26 + <el-table-column prop="state" label="状态" >
  27 + <template slot-scope="scope">
  28 + <el-tag :type="scope.row.state == '已填写' ? 'success' : 'warning'">{{scope.row.state}}</el-tag>
  29 + </template>
  30 + </el-table-column>
  31 + <el-table-column label="操作" fixed="right" width="80" >
  32 + <template slot-scope="scope">
  33 + <el-button type="text" @click="toDetail(scope.row)" v-if="scope.row.state == '已填写'">详情</el-button>
  34 + </template>
  35 + </el-table-column>
27 </el-table> 36 </el-table>
28 <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initList"/> 37 <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initList"/>
29 </el-col> 38 </el-col>
@@ -83,6 +92,9 @@ export default { @@ -83,6 +92,9 @@ export default {
83 }); 92 });
84 } 93 }
85 }, 94 },
  95 + toDetail(row) {
  96 +
  97 + }
86 }; 98 };
87 </script> 99 </script>
88 <style lang="scss" scoped> 100 <style lang="scss" scoped>
src/views/overView/msgForm.vue
@@ -43,8 +43,8 @@ @@ -43,8 +43,8 @@
43 </el-form-item> 43 </el-form-item>
44 </el-col> 44 </el-col>
45 <el-col :span="24"> 45 <el-col :span="24">
46 - <el-form-item label="传达区域" prop="communicationArea">  
47 - <el-checkbox-group v-model="dataForm.communicationArea" :style="{}"> 46 + <el-form-item label="传达区域" prop="communicationAreas">
  47 + <el-checkbox-group v-model="dataForm.communicationAreas" :style="{}">
48 <el-checkbox 48 <el-checkbox
49 v-for="(item, index) in areaOptions" 49 v-for="(item, index) in areaOptions"
50 :key="index" 50 :key="index"
@@ -63,8 +63,8 @@ @@ -63,8 +63,8 @@
63 </el-form-item> 63 </el-form-item>
64 </el-col> 64 </el-col>
65 <el-col :span="24"> 65 <el-col :span="24">
66 - <el-form-item label="传达外协" prop="communicationOut">  
67 - <el-checkbox-group v-model="dataForm.communicationOut" :style="{}"> 66 + <el-form-item label="传达外协" prop="communicationOuts">
  67 + <el-checkbox-group v-model="dataForm.communicationOuts" :style="{}">
68 <el-checkbox 68 <el-checkbox
69 v-for="(item, index) in communicationOutOptions" 69 v-for="(item, index) in communicationOutOptions"
70 :key="index" 70 :key="index"
@@ -116,8 +116,8 @@ export default { @@ -116,8 +116,8 @@ export default {
116 imgUrl: [], 116 imgUrl: [],
117 categoryId: "cc225c68421644f79037aaf624ccccc0", 117 categoryId: "cc225c68421644f79037aaf624ccccc0",
118 isType: "0", 118 isType: "0",
119 - communicationArea: [],  
120 - communicationOut: [], 119 + communicationAreas: [],
  120 + communicationOuts: [],
121 }, 121 },
122 rules: { 122 rules: {
123 title: [{ required: true, message: "请输入标题", trigger: "blur" }], 123 title: [{ required: true, message: "请输入标题", trigger: "blur" }],
@@ -176,11 +176,11 @@ export default { @@ -176,11 +176,11 @@ export default {
176 // 全选 176 // 全选
177 selectAreaAll(type) { 177 selectAreaAll(type) {
178 if (type == "area") { 178 if (type == "area") {
179 - this.dataForm.communicationArea = this.areaOptions.map( 179 + this.dataForm.communicationAreas = this.areaOptions.map(
180 (option) => option.id 180 (option) => option.id
181 ); 181 );
182 } else { 182 } else {
183 - this.dataForm.communicationOut = this.communicationOutOptions.map( 183 + this.dataForm.communicationOuts = this.communicationOutOptions.map(
184 (option) => option.id 184 (option) => option.id
185 ); 185 );
186 } 186 }
@@ -188,15 +188,15 @@ export default { @@ -188,15 +188,15 @@ export default {
188 // 反选 188 // 反选
189 closeAreaAll(type) { 189 closeAreaAll(type) {
190 if (type == "area") { 190 if (type == "area") {
191 - this.dataForm.communicationArea = this.areaOptions 191 + this.dataForm.communicationAreas = this.areaOptions
192 .filter( 192 .filter(
193 - (option) => !this.dataForm.communicationArea.includes(option.id) 193 + (option) => !this.dataForm.communicationAreas.includes(option.id)
194 ) 194 )
195 .map((option) => option.id); 195 .map((option) => option.id);
196 } else { 196 } else {
197 - this.dataForm.communicationOut = this.communicationOutOptions 197 + this.dataForm.communicationOuts = this.communicationOutOptions
198 .filter( 198 .filter(
199 - (option) => !this.dataForm.communicationOut.includes(option.id) 199 + (option) => !this.dataForm.communicationOuts.includes(option.id)
200 ) 200 )
201 .map((option) => option.id); 201 .map((option) => option.id);
202 } 202 }