Commit fcbf44a086edca6177dd0c83e344e34bcedd3151

Authored by monkeyhouyi
1 parent 5a14192c

1

src/views/DisposalSuggestions/Form.vue
1 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 155 </template>
90 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 281 </script>
195 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 288 </style>
... ...
src/views/baseInspectionReport/Form.vue
... ... @@ -29,9 +29,9 @@
29 29 </el-form-item>
30 30 </el-col>
31 31 <el-col :span="23">
32   - <el-form-item label="问题来源" prop="platformName">
  32 + <el-form-item label="问题来源" prop="source">
33 33 <el-input
34   - v-model="dataForm.platformName"
  34 + v-model="dataForm.source"
35 35 placeholder="请输入问题来源"
36 36 clearable
37 37 :style="{ width: '100%' }"
... ... @@ -41,7 +41,21 @@
41 41 </el-col>
42 42 <el-col :span="23">
43 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 59 </el-form-item>
46 60 </el-col>
47 61 <el-col :span="23">
... ... @@ -56,19 +70,54 @@
56 70 </el-radio-group>
57 71 </el-form-item>
58 72 </el-col>
59   -
60   - <el-col :span="23">
  73 + <el-col :span="13">
61 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 76 <el-radio
64 77 v-for="(item, index) in questionTypeOptions"
65 78 :key="index"
66   - :label="item.id"
  79 + :label="item.fullName"
67 80 >{{ item.fullName }}</el-radio
68 81 >
  82 + <el-radio label="其他">其他</el-radio>
69 83 </el-radio-group>
70 84 </el-form-item>
71 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 121 <el-col :span="23">
73 122 <el-form-item label="关键词" prop="questionClass">
74 123 <el-input
... ... @@ -104,28 +153,7 @@
104 153 </el-input>
105 154 </el-form-item>
106 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 157 <el-col :span="23">
130 158 <el-form-item label="取证内容" prop="obtainEvidence">
131 159 <NCC-UploadFz
... ... @@ -152,6 +180,7 @@
152 180 import request from "@/utils/request";
153 181 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
154 182 import { getDetail, addForm, updataForm } from "@/api/systemData/dataInterface";
  183 +import { getInfoList } from "@/api/baseData/info";
155 184 export default {
156 185 components: {},
157 186 props: [],
... ... @@ -159,18 +188,22 @@ export default {
159 188 return {
160 189 loading: false,
161 190 visible: false,
  191 + name_loading: false,
162 192 isDetail: false,
163 193 dataForm: {
164   - id: "",
165 194 id: undefined,
  195 + source: undefined,
166 196 platformName: undefined,
167 197 platformType: undefined,
168 198 questionType: undefined,
169 199 questionClass: undefined,
170 200 questionContent: undefined,
171 201 link: undefined,
  202 + accurateDescription: undefined,
  203 + incorrectDescription: undefined,
172 204 obtainEvidence: [],
173 205 annex: [],
  206 + otherQuestionType: undefined
174 207 },
175 208 rules: {
176 209 platformType: [
... ... @@ -197,16 +230,39 @@ export default {
197 230 { fullName: "选项一", id: "1" },
198 231 { fullName: "选项二", id: "2" },
199 232 ],
  233 + showErrflag: false,
  234 + otherQuestion: false,
  235 + nameOptions: [],
200 236 };
201 237 },
202 238 computed: {},
203 239 watch: {},
204 240 created() {
  241 + this.loadList();
205 242 this.getplatformTypeOptions();
206 243 this.getquestionTypeOptions();
207 244 },
208 245 mounted() {},
209 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 266 async getplatformTypeOptions() {
211 267 let list = this.$store.state.meta.system;
212 268 !list &&
... ... @@ -224,20 +280,37 @@ export default {
224 280 init(id, isDetail) {
225 281 this.dataForm.id = id || 0;
226 282 this.visible = true;
  283 + this.otherQuestion = false;
  284 + this.showErrflag = false;
227 285 this.isDetail = isDetail || false;
228 286 this.$nextTick(async () => {
229 287 this.$refs["elForm"].resetFields();
230 288 if (this.dataForm.id) {
231 289 let res = await getDetail(this.dataForm.id);
232 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 295 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
234 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 310 dataFormSubmit() {
239 311 this.$refs["elForm"].validate(async (valid) => {
240 312 if (valid) {
  313 + this.dataForm.questionType = this.getQuestionTypeName();
241 314 let res = !this.dataForm.id
242 315 ? await addForm(this.dataForm)
243 316 : await updataForm(this.dataForm);
... ...
src/views/baseInspectionReport/index.vue
1 1 <template>
2 2 <div class="SystemInfo item-box common-info-box">
3   - <div class="item-title">巡查上报</div>
  3 + <div class="item-title">{{isSHILevel ? '线索录入' : '巡查上报'}}</div>
4 4 <div class="item-body">
5 5 <div class="NCC-common-layout">
6 6 <div class="NCC-common-layout-center">
... ... @@ -131,7 +131,12 @@
131 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 140 created() {
136 141 this.initData()
137 142 this.getplatformTypeOptions();
... ...
src/views/baseSpecialAction/Form.vue
... ... @@ -59,39 +59,7 @@
59 59 </NCC-UploadFz>
60 60 </el-form-item>
61 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 63 <el-form-item label="传达区域" prop="communicationArea">
96 64 <el-checkbox-group v-model="dataForm.communicationArea" :style="{}">
97 65 <el-checkbox
... ... @@ -107,7 +75,7 @@
107 75 </div>
108 76 </el-form-item>
109 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 79 <el-form-item label="传达外协" prop="communicationOut">
112 80 <el-checkbox-group v-model="dataForm.communicationOut" :style="{}">
113 81 <el-checkbox
... ... @@ -177,8 +145,6 @@ export default {
177 145 title: undefined,
178 146 content: undefined,
179 147 releaseTime: undefined,
180   - recordCommunicationOut: [],
181   - recordCommunicationArea: [],
182 148 annex: [],
183 149 communicationArea: [],
184 150 communicationOut: [],
... ... @@ -319,12 +285,12 @@ export default {
319 285 if (valid) {
320 286 this.btnLoading = true;
321 287 if (!this.dataForm.id) {
322   - let {title, content} = this.dataForm;
  288 + let {title, content, annex, communicationArea, communicationOut} = this.dataForm;
323 289 // 新增
324 290 request({
325 291 url: `/Extend/BaseSpecialAction`,
326 292 method: "post",
327   - data: { title, content },
  293 + data: { title, content, annex, communicationArea, communicationOut },
328 294 }).then((res) => {
329 295 this.$message({
330 296 message: res.msg,
... ...
src/views/baseSpecialAction/index.vue
... ... @@ -103,10 +103,10 @@ export default {
103 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 111 computed: {
112 112 isSHILevel() {
... ...
src/views/baseSpecialAction/infoForm.vue
... ... @@ -23,7 +23,16 @@
23 23 <el-table :data="tableData" style="width: 100%" v-loading="loading" stripe>
24 24 <el-table-column type="index" width="50" />
25 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 36 </el-table>
28 37 <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initList"/>
29 38 </el-col>
... ... @@ -83,6 +92,9 @@ export default {
83 92 });
84 93 }
85 94 },
  95 + toDetail(row) {
  96 +
  97 + }
86 98 };
87 99 </script>
88 100 <style lang="scss" scoped>
... ...
src/views/overView/msgForm.vue
... ... @@ -43,8 +43,8 @@
43 43 </el-form-item>
44 44 </el-col>
45 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 48 <el-checkbox
49 49 v-for="(item, index) in areaOptions"
50 50 :key="index"
... ... @@ -63,8 +63,8 @@
63 63 </el-form-item>
64 64 </el-col>
65 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 68 <el-checkbox
69 69 v-for="(item, index) in communicationOutOptions"
70 70 :key="index"
... ... @@ -116,8 +116,8 @@ export default {
116 116 imgUrl: [],
117 117 categoryId: "cc225c68421644f79037aaf624ccccc0",
118 118 isType: "0",
119   - communicationArea: [],
120   - communicationOut: [],
  119 + communicationAreas: [],
  120 + communicationOuts: [],
121 121 },
122 122 rules: {
123 123 title: [{ required: true, message: "请输入标题", trigger: "blur" }],
... ... @@ -176,11 +176,11 @@ export default {
176 176 // 全选
177 177 selectAreaAll(type) {
178 178 if (type == "area") {
179   - this.dataForm.communicationArea = this.areaOptions.map(
  179 + this.dataForm.communicationAreas = this.areaOptions.map(
180 180 (option) => option.id
181 181 );
182 182 } else {
183   - this.dataForm.communicationOut = this.communicationOutOptions.map(
  183 + this.dataForm.communicationOuts = this.communicationOutOptions.map(
184 184 (option) => option.id
185 185 );
186 186 }
... ... @@ -188,15 +188,15 @@ export default {
188 188 // 反选
189 189 closeAreaAll(type) {
190 190 if (type == "area") {
191   - this.dataForm.communicationArea = this.areaOptions
  191 + this.dataForm.communicationAreas = this.areaOptions
192 192 .filter(
193   - (option) => !this.dataForm.communicationArea.includes(option.id)
  193 + (option) => !this.dataForm.communicationAreas.includes(option.id)
194 194 )
195 195 .map((option) => option.id);
196 196 } else {
197   - this.dataForm.communicationOut = this.communicationOutOptions
  197 + this.dataForm.communicationOuts = this.communicationOutOptions
198 198 .filter(
199   - (option) => !this.dataForm.communicationOut.includes(option.id)
  199 + (option) => !this.dataForm.communicationOuts.includes(option.id)
200 200 )
201 201 .map((option) => option.id);
202 202 }
... ...