Commit 73755355953fb70bb66a63013f7a2e0df3c48328
1 parent
65aeaaa1
优化
Showing
24 changed files
with
688 additions
and
544 deletions
src/assets/style/common.scss
| @@ -68,10 +68,10 @@ a { | @@ -68,10 +68,10 @@ a { | ||
| 68 | justify-content: flex-start; | 68 | justify-content: flex-start; |
| 69 | align-items: center; | 69 | align-items: center; |
| 70 | flex-direction: row; | 70 | flex-direction: row; |
| 71 | - color: #757678; | 71 | + color: #000; |
| 72 | line-height: 30px; | 72 | line-height: 30px; |
| 73 | .label { | 73 | .label { |
| 74 | - color: #000; | 74 | + color: #757678; |
| 75 | text-align: right; | 75 | text-align: right; |
| 76 | padding: 0 5px; | 76 | padding: 0 5px; |
| 77 | &.w-100 { | 77 | &.w-100 { |
src/components/CompanyForm/index.vue
| @@ -11,13 +11,14 @@ | @@ -11,13 +11,14 @@ | ||
| 11 | :visible.sync="visible" | 11 | :visible.sync="visible" |
| 12 | lock-scroll | 12 | lock-scroll |
| 13 | append-to-body | 13 | append-to-body |
| 14 | - width="60%" | 14 | + width="70%" |
| 15 | top="15vh" | 15 | top="15vh" |
| 16 | :modal-append-to-body="false" | 16 | :modal-append-to-body="false" |
| 17 | class="NCC-dialog NCC-dialog_center company-dialog" | 17 | class="NCC-dialog NCC-dialog_center company-dialog" |
| 18 | > | 18 | > |
| 19 | - <el-form ref="elForm" :model="dataForm" size="small" label-width="120px" label-position="right" | ||
| 20 | - :rules="rules" v-lodding="loading"> | 19 | + <el-row :gutter="15" class="NCC-dialog-content"> |
| 20 | + <el-form ref="elForm" :model="dataForm" size="small" label-width="120px" label-position="right" | ||
| 21 | + :disabled="!!isDetail" :rules="rules"> | ||
| 21 | <el-col :span="24" v-if="false"> | 22 | <el-col :span="24" v-if="false"> |
| 22 | <el-form-item label="主键" prop="id"> | 23 | <el-form-item label="主键" prop="id"> |
| 23 | <el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{ "width": "100%" }'> | 24 | <el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{ "width": "100%" }'> |
| @@ -26,61 +27,72 @@ | @@ -26,61 +27,72 @@ | ||
| 26 | </el-col> | 27 | </el-col> |
| 27 | <el-col :span="24"> | 28 | <el-col :span="24"> |
| 28 | <el-form-item label="运营主体名称" prop="companyName"> | 29 | <el-form-item label="运营主体名称" prop="companyName"> |
| 29 | - <el-input v-model="dataForm.companyName" placeholder="请输入" clearable required | 30 | + <el-input v-model="dataForm.companyName" placeholder="请输入运营主体名称" clearable required |
| 30 | :style='{ "width": "100%" }'> | 31 | :style='{ "width": "100%" }'> |
| 31 | </el-input> | 32 | </el-input> |
| 32 | </el-form-item> | 33 | </el-form-item> |
| 33 | </el-col> | 34 | </el-col> |
| 34 | <el-col :span="24"> | 35 | <el-col :span="24"> |
| 35 | <el-form-item label="社会信用代" prop="socialCreditAgency"> | 36 | <el-form-item label="社会信用代" prop="socialCreditAgency"> |
| 36 | - <el-input v-model="dataForm.socialCreditAgency" placeholder="请输入" clearable | 37 | + <el-input v-model="dataForm.socialCreditAgency" placeholder="请输入社会信用代" clearable |
| 37 | :style='{ "width": "100%" }'> | 38 | :style='{ "width": "100%" }'> |
| 38 | </el-input> | 39 | </el-input> |
| 39 | </el-form-item> | 40 | </el-form-item> |
| 40 | </el-col> | 41 | </el-col> |
| 41 | <el-col :span="24"> | 42 | <el-col :span="24"> |
| 42 | <el-form-item label="运营主体法人" prop="legalPerson"> | 43 | <el-form-item label="运营主体法人" prop="legalPerson"> |
| 43 | - <el-input v-model="dataForm.legalPerson" placeholder="请输入" clearable :style='{ "width": "100%" }'> | 44 | + <el-input v-model="dataForm.legalPerson" placeholder="请输入运营主体法人" clearable :style='{ "width": "100%" }'> |
| 44 | </el-input> | 45 | </el-input> |
| 45 | </el-form-item> | 46 | </el-form-item> |
| 46 | </el-col> | 47 | </el-col> |
| 47 | <el-col :span="24"> | 48 | <el-col :span="24"> |
| 48 | <el-form-item label="运营主体地址" prop="address"> | 49 | <el-form-item label="运营主体地址" prop="address"> |
| 49 | - <el-input v-model="dataForm.address" placeholder="请输入" clearable :style='{ "width": "100%" }'> | 50 | + <el-input v-model="dataForm.address" placeholder="请输入运营主体地址" clearable :style='{ "width": "100%" }'> |
| 50 | </el-input> | 51 | </el-input> |
| 51 | </el-form-item> | 52 | </el-form-item> |
| 52 | </el-col> | 53 | </el-col> |
| 53 | <el-col :span="24"> | 54 | <el-col :span="24"> |
| 54 | <el-form-item label="联系方式" prop="contactInformation"> | 55 | <el-form-item label="联系方式" prop="contactInformation"> |
| 55 | - <el-input v-model="dataForm.contactInformation" placeholder="请输入" clearable | 56 | + <el-input v-model="dataForm.contactInformation" placeholder="请输入联系方式" clearable |
| 56 | :style='{ "width": "100%" }'> | 57 | :style='{ "width": "100%" }'> |
| 57 | </el-input> | 58 | </el-input> |
| 58 | </el-form-item> | 59 | </el-form-item> |
| 59 | </el-col> | 60 | </el-col> |
| 60 | <el-col :span="24"> | 61 | <el-col :span="24"> |
| 62 | + <el-form-item label="所属区县" prop="areaId"> | ||
| 63 | + <el-radio-group v-model="dataForm.areaId" placeholder="请选择所属区县" style="line-height: 22px"> | ||
| 64 | + <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio> | ||
| 65 | + </el-radio-group> | ||
| 66 | + </el-form-item> | ||
| 67 | + </el-col> | ||
| 68 | + <el-col :span="24"> | ||
| 61 | <el-form-item label="其他信息" prop="otherInfo"> | 69 | <el-form-item label="其他信息" prop="otherInfo"> |
| 62 | <NCC-Quill v-model="dataForm.otherInfo" placeholder="请输入内容..."> | 70 | <NCC-Quill v-model="dataForm.otherInfo" placeholder="请输入内容..."> |
| 63 | </NCC-Quill> | 71 | </NCC-Quill> |
| 64 | </el-form-item> | 72 | </el-form-item> |
| 65 | </el-col> | 73 | </el-col> |
| 66 | </el-form> | 74 | </el-form> |
| 75 | + </el-row> | ||
| 67 | <span slot="footer" class="dialog-footer"> | 76 | <span slot="footer" class="dialog-footer"> |
| 68 | - <el-button @click="close">取消</el-button> | ||
| 69 | - <el-button type="primary" @click="confirm" :loading="btnLoading">确认</el-button> | 77 | + <el-button @click="visible = false">取消</el-button> |
| 78 | + <el-button type="primary" @click="dataFormSubmit" :loading="btnLoading">确认</el-button> | ||
| 70 | </span> | 79 | </span> |
| 71 | </el-dialog> | 80 | </el-dialog> |
| 72 | </div> | 81 | </div> |
| 73 | </template> | 82 | </template> |
| 74 | 83 | ||
| 75 | <script> | 84 | <script> |
| 85 | +import infoMixin from "@/mixins/info"; | ||
| 76 | import request from '@/utils/request' | 86 | import request from '@/utils/request' |
| 77 | export default { | 87 | export default { |
| 78 | name: "companyForm", | 88 | name: "companyForm", |
| 79 | - props: {}, | 89 | + mixins: [infoMixin], |
| 90 | + props: {}, | ||
| 80 | data() { | 91 | data() { |
| 81 | return { | 92 | return { |
| 82 | visible: false, | 93 | visible: false, |
| 83 | loading: false, | 94 | loading: false, |
| 95 | + areaOptions: [], | ||
| 84 | dataForm: { | 96 | dataForm: { |
| 85 | id: '', | 97 | id: '', |
| 86 | id: undefined, | 98 | id: undefined, |
| @@ -113,7 +125,9 @@ export default { | @@ -113,7 +125,9 @@ export default { | ||
| 113 | }, | 125 | }, |
| 114 | watch: {}, | 126 | watch: {}, |
| 115 | mounted() {}, | 127 | mounted() {}, |
| 116 | - created() {}, | 128 | + created() { |
| 129 | + this.initAreaTypeList(); | ||
| 130 | + }, | ||
| 117 | methods: { | 131 | methods: { |
| 118 | close() { | 132 | close() { |
| 119 | this.visible = false; | 133 | this.visible = false; |
| @@ -122,7 +136,7 @@ export default { | @@ -122,7 +136,7 @@ export default { | ||
| 122 | this.visible = true; | 136 | this.visible = true; |
| 123 | this.$refs['elForm'].resetFields(); | 137 | this.$refs['elForm'].resetFields(); |
| 124 | }, | 138 | }, |
| 125 | - async confirm() { | 139 | + async dataFormSubmit() { |
| 126 | this.$refs['elForm'].validate((valid) => { | 140 | this.$refs['elForm'].validate((valid) => { |
| 127 | if (valid) { | 141 | if (valid) { |
| 128 | this.btnLoading = true; | 142 | this.btnLoading = true; |
src/components/InfoForm/index.vue
| @@ -376,13 +376,14 @@ export default { | @@ -376,13 +376,14 @@ export default { | ||
| 376 | }, | 376 | }, |
| 377 | // 无限下拉 | 377 | // 无限下拉 |
| 378 | nextCompanyList() { | 378 | nextCompanyList() { |
| 379 | - if (this.total_company == this.listQuery_company.length) return; | 379 | + if (this.total_company != 0 && this.total_company == this.companyOptions.length) return; |
| 380 | this.listQuery_company.pageIndex++; | 380 | this.listQuery_company.pageIndex++; |
| 381 | this.initCompanyList(); | 381 | this.initCompanyList(); |
| 382 | }, | 382 | }, |
| 383 | async companyChange(val) { | 383 | async companyChange(val) { |
| 384 | // 公司信息 | 384 | // 公司信息 |
| 385 | let { data } = await getCompanyInfoById(val); | 385 | let { data } = await getCompanyInfoById(val); |
| 386 | + if(!data) return; | ||
| 386 | this.companyInfo = data; | 387 | this.companyInfo = data; |
| 387 | this.isShowCompanyInfo = true; | 388 | this.isShowCompanyInfo = true; |
| 388 | }, | 389 | }, |
src/styles/variables.scss
| @@ -12,6 +12,7 @@ $panGreen: #30B08F; | @@ -12,6 +12,7 @@ $panGreen: #30B08F; | ||
| 12 | $menuText:#fff; | 12 | $menuText:#fff; |
| 13 | $menuActiveText:#409EFF; | 13 | $menuActiveText:#409EFF; |
| 14 | $subMenuActiveText:#fff; // https://github.com/ElemeFE/element/issues/12951 | 14 | $subMenuActiveText:#fff; // https://github.com/ElemeFE/element/issues/12951 |
| 15 | +// $subMenuActiveText: #e4e7ed3b; // https://github.com/ElemeFE/element/issues/12951 | ||
| 15 | 16 | ||
| 16 | $menuBg:#001529; | 17 | $menuBg:#001529; |
| 17 | $menuHover:#1890ff; | 18 | $menuHover:#1890ff; |
src/utils/ncc.js
| @@ -233,6 +233,12 @@ const ncc = { | @@ -233,6 +233,12 @@ const ncc = { | ||
| 233 | return 'primary' | 233 | return 'primary' |
| 234 | } | 234 | } |
| 235 | }, | 235 | }, |
| 236 | + timeStartTime(time){ | ||
| 237 | + if(!time) return; | ||
| 238 | + let date = (new Date()).getTime(); | ||
| 239 | + let timeDiff = (time - date) / (1000 * 60 * 60 * 24); | ||
| 240 | + return Boolean(timeDiff < 1 && timeDiff > -1) | ||
| 241 | + }, | ||
| 236 | stateDeadLine(time){ | 242 | stateDeadLine(time){ |
| 237 | let date = (new Date()).getTime(); | 243 | let date = (new Date()).getTime(); |
| 238 | let timeDiff = time - date; | 244 | let timeDiff = time - date; |
src/views/DisposalSuggestions/Form.vue
| @@ -11,80 +11,80 @@ | @@ -11,80 +11,80 @@ | ||
| 11 | <el-row :gutter="15" class="NCC-dialog-content"> | 11 | <el-row :gutter="15" class="NCC-dialog-content"> |
| 12 | <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px;"> | 12 | <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px;"> |
| 13 | <el-row> | 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 == '错误表述'"> | 14 | + <el-col :span="24" class="form_title"> 巡查上报详情 </el-col> |
| 40 | <el-col :span="24"> | 15 | <el-col :span="24"> |
| 41 | <div class="form-item"> | 16 | <div class="form-item"> |
| 42 | - <div class="label w-100">正确描述</div> | ||
| 43 | - {{ dataForm.accurateDescription || "--" }} | 17 | + <div class="label w-100">问题来源:</div> |
| 18 | + {{ dataForm.source || "--" }} | ||
| 44 | </div> | 19 | </div> |
| 45 | </el-col> | 20 | </el-col> |
| 46 | <el-col :span="24"> | 21 | <el-col :span="24"> |
| 47 | <div class="form-item"> | 22 | <div class="form-item"> |
| 48 | - <div class="label w-100">错误描述</div> | ||
| 49 | - {{ dataForm.incorrectDescription || "--" }} | 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-col :span="24"> | ||
| 77 | + <div class="form-item"> | ||
| 78 | + <div class="label w-100">所属区域:</div> | ||
| 79 | + {{ dataForm.areaName || "--" }} | ||
| 80 | + </div> | ||
| 81 | + </el-col> | ||
| 82 | + <el-col :span="24" v-if="dataForm.disposalSuggestions"> | ||
| 83 | + <div class="form-item"> | ||
| 84 | + <div class="label w-100">区县处理说明:</div> | ||
| 85 | + {{ dataForm.disposalSuggestions || "--" }} | ||
| 50 | </div> | 86 | </div> |
| 51 | </el-col> | 87 | </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-col :span="24"> | ||
| 77 | - <div class="form-item"> | ||
| 78 | - <div class="label w-100">所属区域</div> | ||
| 79 | - {{ dataForm.areaName || "--" }} | ||
| 80 | - </div> | ||
| 81 | - </el-col> | ||
| 82 | - <el-col :span="24" v-if="dataForm.disposalSuggestions"> | ||
| 83 | - <div class="form-item"> | ||
| 84 | - <div class="label w-100">区县处理说明</div> | ||
| 85 | - {{ dataForm.disposalSuggestions || "--" }} | ||
| 86 | - </div> | ||
| 87 | - </el-col> | ||
| 88 | </el-row> | 88 | </el-row> |
| 89 | </el-col> | 89 | </el-col> |
| 90 | <el-col :span="14"> | 90 | <el-col :span="14"> |
src/views/DisposalSuggestions/HandleForm.vue
| @@ -10,76 +10,76 @@ | @@ -10,76 +10,76 @@ | ||
| 10 | > | 10 | > |
| 11 | <el-row :gutter="15" class="NCC-dialog-content"> | 11 | <el-row :gutter="15" class="NCC-dialog-content"> |
| 12 | <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px;"> | 12 | <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px;"> |
| 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 == '错误表述'"> | 13 | + <el-row> |
| 14 | + <el-col :span="24" class="form_title"> 巡查上报详情 </el-col> | ||
| 40 | <el-col :span="24"> | 15 | <el-col :span="24"> |
| 41 | <div class="form-item"> | 16 | <div class="form-item"> |
| 42 | - <div class="label w-100">正确描述</div> | ||
| 43 | - {{ dataForm.accurateDescription || "--" }} | 17 | + <div class="label w-100">问题来源:</div> |
| 18 | + {{ dataForm.source || "--" }} | ||
| 44 | </div> | 19 | </div> |
| 45 | </el-col> | 20 | </el-col> |
| 46 | <el-col :span="24"> | 21 | <el-col :span="24"> |
| 47 | <div class="form-item"> | 22 | <div class="form-item"> |
| 48 | - <div class="label w-100">错误描述</div> | ||
| 49 | - {{ dataForm.incorrectDescription || "--" }} | 23 | + <div class="label w-100">应用名称:</div> |
| 24 | + {{ dataForm.platformName || "--" }} | ||
| 50 | </div> | 25 | </div> |
| 51 | </el-col> | 26 | </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-col :span="24"> | ||
| 77 | - <div class="form-item"> | ||
| 78 | - <div class="label w-100">研判意见</div> | ||
| 79 | - {{ dataForm.judgmentOpinions || "--" }} | ||
| 80 | - </div> | ||
| 81 | - </el-col> | ||
| 82 | - </el-row> | 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-col :span="24"> | ||
| 77 | + <div class="form-item"> | ||
| 78 | + <div class="label w-100">研判意见:</div> | ||
| 79 | + {{ dataForm.judgmentOpinions || "--" }} | ||
| 80 | + </div> | ||
| 81 | + </el-col> | ||
| 82 | + </el-row> | ||
| 83 | </el-col> | 83 | </el-col> |
| 84 | <el-col :span="14"> | 84 | <el-col :span="14"> |
| 85 | <el-row> | 85 | <el-row> |
src/views/DisposalSuggestions/index.vue
| @@ -8,12 +8,12 @@ | @@ -8,12 +8,12 @@ | ||
| 8 | <el-form @submit.native.prevent size="mini"> | 8 | <el-form @submit.native.prevent size="mini"> |
| 9 | <el-col :span="4"> | 9 | <el-col :span="4"> |
| 10 | <el-form-item label=""> | 10 | <el-form-item label=""> |
| 11 | - <el-input v-model="query.platformName" placeholder="请输入平台名称" clearable /> | 11 | + <el-input v-model="query.platformName" placeholder="请输入应用名称" clearable /> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | </el-col> | 13 | </el-col> |
| 14 | <el-col :span="4"> | 14 | <el-col :span="4"> |
| 15 | <el-form-item label=""> | 15 | <el-form-item label=""> |
| 16 | - <el-select v-model="query.platformType" placeholder="请选择平台类型" clearable > | 16 | + <el-select v-model="query.platformType" placeholder="请选择应用类型" clearable > |
| 17 | <el-option v-for="(item, index) in systemTypeOptions" :key="index" :label="item.FullName" :value="item.Id" /> | 17 | <el-option v-for="(item, index) in systemTypeOptions" :key="index" :label="item.FullName" :value="item.Id" /> |
| 18 | </el-select> | 18 | </el-select> |
| 19 | </el-form-item> | 19 | </el-form-item> |
| @@ -37,8 +37,8 @@ | @@ -37,8 +37,8 @@ | ||
| 37 | </el-row> | 37 | </el-row> |
| 38 | <div class="NCC-common-layout-main NCC-flex-main"> | 38 | <div class="NCC-common-layout-main NCC-flex-main"> |
| 39 | <NCC-table v-loading="listLoading" :data="list"> | 39 | <NCC-table v-loading="listLoading" :data="list"> |
| 40 | - <el-table-column show-overflow-tooltip prop="platformNameStr" label="系统名称" align="left" /> | ||
| 41 | - <el-table-column show-overflow-tooltip label="系统类型" prop="platformType" align="left"> | 40 | + <el-table-column show-overflow-tooltip prop="platformNameStr" label="应用名称" align="left" /> |
| 41 | + <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left"> | ||
| 42 | <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template> | 42 | <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template> |
| 43 | </el-table-column> | 43 | </el-table-column> |
| 44 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left"> | 44 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left"> |
src/views/Login.vue
| @@ -56,8 +56,8 @@ export default { | @@ -56,8 +56,8 @@ export default { | ||
| 56 | data() { | 56 | data() { |
| 57 | return { | 57 | return { |
| 58 | form: { | 58 | form: { |
| 59 | - account: "wd", // cdoffice | ||
| 60 | - password: "123456", // 123456 | 59 | + account: "", // cdoffice, xin |
| 60 | + password: "", // 123456 | ||
| 61 | }, | 61 | }, |
| 62 | rules: { | 62 | rules: { |
| 63 | account: { required: true, message: "用户名不能为空", trigger: "blur" }, | 63 | account: { required: true, message: "用户名不能为空", trigger: "blur" }, |
src/views/baseCaseHandling/Form.vue
| @@ -7,8 +7,9 @@ | @@ -7,8 +7,9 @@ | ||
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | width="50%" | 8 | width="50%" |
| 9 | v-loading="loading" | 9 | v-loading="loading" |
| 10 | + :modal="false" | ||
| 10 | > | 11 | > |
| 11 | - <el-row :gutter="15" class="NCC-dialog-content"> | 12 | + <el-row :gutter="15" class="NCC-dialog-content" v-if="!isDetail"> |
| 12 | <el-form | 13 | <el-form |
| 13 | ref="elForm" | 14 | ref="elForm" |
| 14 | :model="dataForm" | 15 | :model="dataForm" |
| @@ -24,39 +25,51 @@ | @@ -24,39 +25,51 @@ | ||
| 24 | </el-form-item> | 25 | </el-form-item> |
| 25 | </el-col> | 26 | </el-col> |
| 26 | <el-col :span="24"> | 27 | <el-col :span="24"> |
| 27 | - <el-form-item label="系统名称" prop="systemName"> | 28 | + <el-form-item label="案件名称" prop="systemName"> |
| 28 | <el-select | 29 | <el-select |
| 30 | + ref="select" | ||
| 29 | v-model="dataForm.systemName" | 31 | v-model="dataForm.systemName" |
| 30 | filterable | 32 | filterable |
| 31 | remote | 33 | remote |
| 32 | reserve-keyword | 34 | reserve-keyword |
| 33 | - placeholder="请输入关键词" | ||
| 34 | - :remote-method="getSystemSelect" | ||
| 35 | - @change="systemChange" | 35 | + placeholder="请输入案件名称" |
| 36 | + @blur.native.capture="selectBlur" | ||
| 37 | + @visible-change="visibleNameChange" | ||
| 38 | + @change="(val) => platformNameChange(val, 'change')" | ||
| 36 | :disabled="formType" | 39 | :disabled="formType" |
| 37 | :loading="system_loading"> | 40 | :loading="system_loading"> |
| 38 | - <el-option | ||
| 39 | - v-for="item in systemOption" | ||
| 40 | - :key="item.value" | ||
| 41 | - :label="item.systemName" | ||
| 42 | - :value="item.id"> | ||
| 43 | - </el-option> | 41 | + <el-option v-for="item in systemOption" :key="item.value" :label="item.systemName" :value="item.id" /> |
| 44 | </el-select> | 42 | </el-select> |
| 45 | </el-form-item> | 43 | </el-form-item> |
| 46 | </el-col> | 44 | </el-col> |
| 47 | <el-col :span="24"> | 45 | <el-col :span="24"> |
| 48 | - <el-form-item label="主体企业" prop="registeredEntity"> | ||
| 49 | - <el-input v-model="dataForm.registeredEntity" placeholder="选择系统自动带出" clearable disabled/> | 46 | + <el-form-item label="运营主体" prop="registeredEntity"> |
| 47 | + <el-select | ||
| 48 | + v-model="dataForm.registeredEntity" | ||
| 49 | + placeholder="请选择运营主体" | ||
| 50 | + clearable | ||
| 51 | + filterable | ||
| 52 | + style="width: 100%" | ||
| 53 | + :disabled="formType || dataForm.isHaveSystem" | ||
| 54 | + > | ||
| 55 | + <el-option | ||
| 56 | + v-for="item in companyOptions" | ||
| 57 | + :key="item.id" | ||
| 58 | + :label="item.companyName" | ||
| 59 | + :value="item.id" | ||
| 60 | + > | ||
| 61 | + </el-option> | ||
| 62 | + </el-select> | ||
| 50 | </el-form-item> | 63 | </el-form-item> |
| 51 | </el-col> | 64 | </el-col> |
| 52 | <el-col :span="24"> | 65 | <el-col :span="24"> |
| 53 | - <el-form-item label="系统类别" prop="category"> | ||
| 54 | - <el-input v-model="dataForm.category" placeholder="选择系统自动带出" clearable disabled/> | 66 | + <el-form-item label="应用类别" prop="category"> |
| 67 | + <el-input v-model="dataForm.category" placeholder="选择系统类别" clearable :disabled="formType || dataForm.isHaveSystem"/> | ||
| 55 | </el-form-item> | 68 | </el-form-item> |
| 56 | </el-col> | 69 | </el-col> |
| 57 | <el-col :span="24"> | 70 | <el-col :span="24"> |
| 58 | <el-form-item label="备案号" prop="recordNumber"> | 71 | <el-form-item label="备案号" prop="recordNumber"> |
| 59 | - <el-input v-model="dataForm.recordNumber" placeholder="选择系统自动带出" clearable disabled/> | 72 | + <el-input v-model="dataForm.recordNumber" placeholder="选择备案号" clearable :disabled="formType || dataForm.isHaveSystem"/> |
| 60 | </el-form-item> | 73 | </el-form-item> |
| 61 | </el-col> | 74 | </el-col> |
| 62 | <el-col :span="24"> | 75 | <el-col :span="24"> |
| @@ -103,7 +116,40 @@ | @@ -103,7 +116,40 @@ | ||
| 103 | </el-col> | 116 | </el-col> |
| 104 | </el-form> | 117 | </el-form> |
| 105 | </el-row> | 118 | </el-row> |
| 106 | - | 119 | + <el-row v-if="isDetail"> |
| 120 | + <el-col class="form-item"> | ||
| 121 | + <div class="label">案件名称:</div> | ||
| 122 | + <div class="text">{{ dataForm.systemNameStr || '--' }}</div> | ||
| 123 | + </el-col> | ||
| 124 | + <el-col class="form-item"> | ||
| 125 | + <div class="label">运营主体:</div> | ||
| 126 | + <div class="text">{{ dataForm.registeredEntityStr || '--' }}</div> | ||
| 127 | + </el-col> | ||
| 128 | + <el-col class="form-item"> | ||
| 129 | + <div class="label">应用类别:</div> | ||
| 130 | + <div class="text">{{ dataForm.category || '--' }}</div> | ||
| 131 | + </el-col> | ||
| 132 | + <el-col class="form-item"> | ||
| 133 | + <div class="label">备案号:</div> | ||
| 134 | + <div class="text">{{ dataForm.recordNumber || '--' }}</div> | ||
| 135 | + </el-col> | ||
| 136 | + <el-col class="form-item"> | ||
| 137 | + <div class="label">所属区县:</div> | ||
| 138 | + <div class="text">{{ areaOptions.find(item => item.id == dataForm.districtCounty).fullName }}</div> | ||
| 139 | + </el-col> | ||
| 140 | + <el-col class="form-item"> | ||
| 141 | + <div class="label">违法原因:</div> | ||
| 142 | + <p class="text">{{ dataForm.illegalReasons || '--' }}</p> | ||
| 143 | + </el-col> | ||
| 144 | + <el-col class="form-item"> | ||
| 145 | + <div class="label">处罚要求:</div> | ||
| 146 | + <p class="text">{{ dataForm.punishmentRequirements || '--' }}</p> | ||
| 147 | + </el-col> | ||
| 148 | + <el-col class="form-item"> | ||
| 149 | + <div class="label">处罚内容:</div> | ||
| 150 | + <p class="text">{{ dataForm.punishmentContent || '--' }}</p> | ||
| 151 | + </el-col> | ||
| 152 | + </el-row> | ||
| 107 | <span slot="footer" class="dialog-footer"> | 153 | <span slot="footer" class="dialog-footer"> |
| 108 | <el-button @click="visible = false">取 消</el-button> | 154 | <el-button @click="visible = false">取 消</el-button> |
| 109 | <template v-if="!isDetail && !formType"> | 155 | <template v-if="!isDetail && !formType"> |
| @@ -120,6 +166,7 @@ | @@ -120,6 +166,7 @@ | ||
| 120 | import infoMixin from "@/mixins/info"; | 166 | import infoMixin from "@/mixins/info"; |
| 121 | import request from "@/utils/request"; | 167 | import request from "@/utils/request"; |
| 122 | import { getSystemDetail } from "@/api/baseData/info"; | 168 | import { getSystemDetail } from "@/api/baseData/info"; |
| 169 | +import { getCompanyInfoList, getCompanyInfoById } from "@/api/baseData/company"; | ||
| 123 | import { dynamicTextUP } from "@/filters/index"; | 170 | import { dynamicTextUP } from "@/filters/index"; |
| 124 | 171 | ||
| 125 | export default { | 172 | export default { |
| @@ -150,6 +197,7 @@ export default { | @@ -150,6 +197,7 @@ export default { | ||
| 150 | closingReport: undefined, | 197 | closingReport: undefined, |
| 151 | enforceType: undefined, | 198 | enforceType: undefined, |
| 152 | enforcecontent: undefined, | 199 | enforcecontent: undefined, |
| 200 | + isHaveSystem: undefined, | ||
| 153 | }, | 201 | }, |
| 154 | rules: { | 202 | rules: { |
| 155 | systemName: [ | 203 | systemName: [ |
| @@ -159,7 +207,7 @@ export default { | @@ -159,7 +207,7 @@ export default { | ||
| 159 | { required: true, message: "请选择所属区域", trigger: "change" } | 207 | { required: true, message: "请选择所属区域", trigger: "change" } |
| 160 | ], | 208 | ], |
| 161 | enforceType: [ | 209 | enforceType: [ |
| 162 | - { required: true, message: "请选择执法方式", trigger: "change" } | 210 | + { required: true, message: "请选择执法方式", trigger: "bulr" } |
| 163 | ], | 211 | ], |
| 164 | enforcecontent: [ | 212 | enforcecontent: [ |
| 165 | { required: true, message: "请填写执法说明", trigger: "bulr" } | 213 | { required: true, message: "请填写执法说明", trigger: "bulr" } |
| @@ -169,6 +217,7 @@ export default { | @@ -169,6 +217,7 @@ export default { | ||
| 169 | system_loading: false, | 217 | system_loading: false, |
| 170 | areaOptions: [], | 218 | areaOptions: [], |
| 171 | btnLoading: false, | 219 | btnLoading: false, |
| 220 | + companyOptions: [] | ||
| 172 | }; | 221 | }; |
| 173 | }, | 222 | }, |
| 174 | computed: { | 223 | computed: { |
| @@ -182,24 +231,46 @@ export default { | @@ -182,24 +231,46 @@ export default { | ||
| 182 | this.getSystemSelect(); | 231 | this.getSystemSelect(); |
| 183 | this.initSystemTypeList(); | 232 | this.initSystemTypeList(); |
| 184 | this.initAreaTypeList(); | 233 | this.initAreaTypeList(); |
| 234 | + this.initCompanyList(); | ||
| 185 | }, | 235 | }, |
| 186 | mounted() {}, | 236 | mounted() {}, |
| 187 | methods: { | 237 | methods: { |
| 238 | + // 请求公司列表 | ||
| 239 | + async initCompanyList() { | ||
| 240 | + request({ | ||
| 241 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | ||
| 242 | + method: "GET", | ||
| 243 | + }).then(({data}) => { | ||
| 244 | + this.companyOptions = data; | ||
| 245 | + }) | ||
| 246 | + }, | ||
| 188 | // 获取系统列表 | 247 | // 获取系统列表 |
| 189 | - getSystemSelect(val) { | ||
| 190 | - let query = { | ||
| 191 | - SystemName: val || "", | ||
| 192 | - }; | 248 | + getSystemSelect() { |
| 193 | this.system_loading = true; | 249 | this.system_loading = true; |
| 194 | request({ | 250 | request({ |
| 195 | url: "/Extend/basesysteminfo/GetNoPagingList", | 251 | url: "/Extend/basesysteminfo/GetNoPagingList", |
| 196 | method: "get", | 252 | method: "get", |
| 197 | - params: query, | ||
| 198 | }).then(({data}) => { | 253 | }).then(({data}) => { |
| 199 | this.systemOption = data; | 254 | this.systemOption = data; |
| 200 | this.system_loading = false; | 255 | this.system_loading = false; |
| 201 | }) | 256 | }) |
| 202 | }, | 257 | }, |
| 258 | + selectBlur(e) { | ||
| 259 | + if(!this.isSHILevel) return; | ||
| 260 | + let value = e.target.value; | ||
| 261 | + if(!value) return; | ||
| 262 | + this.dataForm.systemName = e.target.value; | ||
| 263 | + this.platformNameChange(value, 'blur'); | ||
| 264 | + }, | ||
| 265 | + platformNameChange(val, type) { | ||
| 266 | + let obj = this.systemOption.find(v => type == 'blur' ? val == v.fullName : val == v.id); | ||
| 267 | + this.dataForm.isHaveSystem = obj ? true : false; | ||
| 268 | + if(!obj) return; | ||
| 269 | + this.dataForm.systemName = obj ? obj.id : val; | ||
| 270 | + this.dataForm.registeredEntity = obj ? obj.companyId : val; | ||
| 271 | + this.dataForm.category = obj ? obj.systemType : ''; | ||
| 272 | + this.dataForm.recordNumber = obj ? obj.platform : ''; | ||
| 273 | + }, | ||
| 203 | // 系统名称改变 | 274 | // 系统名称改变 |
| 204 | systemChange(val) { | 275 | systemChange(val) { |
| 205 | getSystemDetail(val).then(({data}) => { | 276 | getSystemDetail(val).then(({data}) => { |
| @@ -209,6 +280,11 @@ export default { | @@ -209,6 +280,11 @@ export default { | ||
| 209 | this.dataForm.districtCounty = data.areaId; | 280 | this.dataForm.districtCounty = data.areaId; |
| 210 | }) | 281 | }) |
| 211 | }, | 282 | }, |
| 283 | + visibleNameChange(val) { | ||
| 284 | + if (val) return | ||
| 285 | + let input = this.$refs.select.$children[0].$refs.input; | ||
| 286 | + input.blur(); | ||
| 287 | + }, | ||
| 212 | goBack() { | 288 | goBack() { |
| 213 | this.$emit("refresh"); | 289 | this.$emit("refresh"); |
| 214 | }, | 290 | }, |
| @@ -218,19 +294,17 @@ export default { | @@ -218,19 +294,17 @@ export default { | ||
| 218 | this.dataForm.id = id || 0; | 294 | this.dataForm.id = id || 0; |
| 219 | this.isDetail = isDetail || false; | 295 | this.isDetail = isDetail || false; |
| 220 | this.visible = true; | 296 | this.visible = true; |
| 297 | + this.$forceUpdate(); | ||
| 221 | this.$nextTick(() => { | 298 | this.$nextTick(() => { |
| 222 | - this.$refs["elForm"].resetFields(); | 299 | + !isDetail && this.$refs["elForm"].resetFields(); |
| 223 | if (this.dataForm.id) { | 300 | if (this.dataForm.id) { |
| 224 | this.loading = true; | 301 | this.loading = true; |
| 225 | request({ | 302 | request({ |
| 226 | url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, | 303 | url: `/Extend/BaseCaseHandling/${this.dataForm.id}`, |
| 227 | method: "GET", | 304 | method: "GET", |
| 228 | - }).then((res) => { | 305 | + }).then(async (res) => { |
| 229 | this.dataForm = res.data; | 306 | this.dataForm = res.data; |
| 230 | this.loading = false; | 307 | this.loading = false; |
| 231 | - this.$nextTick(() => { | ||
| 232 | - this.$refs["elForm"].clearValidate(); | ||
| 233 | - }) | ||
| 234 | }).catch(() => { | 308 | }).catch(() => { |
| 235 | this.loading = false; | 309 | this.loading = false; |
| 236 | }); | 310 | }); |
src/views/baseComapnyInfo/Form.vue
| @@ -12,33 +12,33 @@ | @@ -12,33 +12,33 @@ | ||
| 12 | </el-col> | 12 | </el-col> |
| 13 | <el-col :span="24"> | 13 | <el-col :span="24"> |
| 14 | <el-form-item label="运营主体名称" prop="companyName"> | 14 | <el-form-item label="运营主体名称" prop="companyName"> |
| 15 | - <el-input v-model="dataForm.companyName" placeholder="请输入" clearable required | 15 | + <el-input v-model="dataForm.companyName" placeholder="请输入运营主体名称" clearable required |
| 16 | :style='{ "width": "100%" }'> | 16 | :style='{ "width": "100%" }'> |
| 17 | </el-input> | 17 | </el-input> |
| 18 | </el-form-item> | 18 | </el-form-item> |
| 19 | </el-col> | 19 | </el-col> |
| 20 | <el-col :span="24"> | 20 | <el-col :span="24"> |
| 21 | <el-form-item label="社会信用代" prop="socialCreditAgency"> | 21 | <el-form-item label="社会信用代" prop="socialCreditAgency"> |
| 22 | - <el-input v-model="dataForm.socialCreditAgency" placeholder="请输入" clearable | 22 | + <el-input v-model="dataForm.socialCreditAgency" placeholder="请输入社会信用代" clearable |
| 23 | :style='{ "width": "100%" }'> | 23 | :style='{ "width": "100%" }'> |
| 24 | </el-input> | 24 | </el-input> |
| 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="legalPerson"> | 28 | <el-form-item label="运营主体法人" prop="legalPerson"> |
| 29 | - <el-input v-model="dataForm.legalPerson" placeholder="请输入" clearable :style='{ "width": "100%" }'> | 29 | + <el-input v-model="dataForm.legalPerson" placeholder="请输入运营主体法人" clearable :style='{ "width": "100%" }'> |
| 30 | </el-input> | 30 | </el-input> |
| 31 | </el-form-item> | 31 | </el-form-item> |
| 32 | </el-col> | 32 | </el-col> |
| 33 | <el-col :span="24"> | 33 | <el-col :span="24"> |
| 34 | <el-form-item label="运营主体地址" prop="address"> | 34 | <el-form-item label="运营主体地址" prop="address"> |
| 35 | - <el-input v-model="dataForm.address" placeholder="请输入" clearable :style='{ "width": "100%" }'> | 35 | + <el-input v-model="dataForm.address" placeholder="请输入运营主体地址" clearable :style='{ "width": "100%" }'> |
| 36 | </el-input> | 36 | </el-input> |
| 37 | </el-form-item> | 37 | </el-form-item> |
| 38 | </el-col> | 38 | </el-col> |
| 39 | <el-col :span="24"> | 39 | <el-col :span="24"> |
| 40 | <el-form-item label="联系方式" prop="contactInformation"> | 40 | <el-form-item label="联系方式" prop="contactInformation"> |
| 41 | - <el-input v-model="dataForm.contactInformation" placeholder="请输入" clearable | 41 | + <el-input v-model="dataForm.contactInformation" placeholder="请输入联系方式" clearable |
| 42 | :style='{ "width": "100%" }'> | 42 | :style='{ "width": "100%" }'> |
| 43 | </el-input> | 43 | </el-input> |
| 44 | </el-form-item> | 44 | </el-form-item> |
| @@ -60,7 +60,7 @@ | @@ -60,7 +60,7 @@ | ||
| 60 | </el-row> | 60 | </el-row> |
| 61 | <span slot="footer" class="dialog-footer"> | 61 | <span slot="footer" class="dialog-footer"> |
| 62 | <el-button @click="visible = false">取 消</el-button> | 62 | <el-button @click="visible = false">取 消</el-button> |
| 63 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> | 63 | + <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" :loading="btnLoading">确 定</el-button> |
| 64 | </span> | 64 | </span> |
| 65 | </el-dialog> | 65 | </el-dialog> |
| 66 | </template> | 66 | </template> |
| @@ -108,6 +108,7 @@ export default { | @@ -108,6 +108,7 @@ export default { | ||
| 108 | }, | 108 | }, |
| 109 | ], | 109 | ], |
| 110 | }, | 110 | }, |
| 111 | + btnLoading: false, | ||
| 111 | } | 112 | } |
| 112 | }, | 113 | }, |
| 113 | computed: {}, | 114 | computed: {}, |
| @@ -143,6 +144,7 @@ export default { | @@ -143,6 +144,7 @@ export default { | ||
| 143 | dataFormSubmit() { | 144 | dataFormSubmit() { |
| 144 | this.$refs['elForm'].validate((valid) => { | 145 | this.$refs['elForm'].validate((valid) => { |
| 145 | if (valid) { | 146 | if (valid) { |
| 147 | + this.btnLoading = true; | ||
| 146 | if (!this.dataForm.id) { | 148 | if (!this.dataForm.id) { |
| 147 | request({ | 149 | request({ |
| 148 | url: `/Extend/BaseComapnyInfo`, | 150 | url: `/Extend/BaseComapnyInfo`, |
| @@ -155,10 +157,11 @@ export default { | @@ -155,10 +157,11 @@ export default { | ||
| 155 | duration: 1000, | 157 | duration: 1000, |
| 156 | onClose: () => { | 158 | onClose: () => { |
| 157 | this.visible = false, | 159 | this.visible = false, |
| 158 | - this.$emit('refresh', true) | ||
| 159 | - } | ||
| 160 | - }) | ||
| 161 | - }) | 160 | + this.$emit('refresh', true); |
| 161 | + } | ||
| 162 | + }); | ||
| 163 | + this.btnLoading = false; | ||
| 164 | + }).catch(() => this.btnLoading = false); | ||
| 162 | } else { | 165 | } else { |
| 163 | request({ | 166 | request({ |
| 164 | url: '/Extend/BaseComapnyInfo/' + this.dataForm.id, | 167 | url: '/Extend/BaseComapnyInfo/' + this.dataForm.id, |
| @@ -171,10 +174,11 @@ export default { | @@ -171,10 +174,11 @@ export default { | ||
| 171 | duration: 1000, | 174 | duration: 1000, |
| 172 | onClose: () => { | 175 | onClose: () => { |
| 173 | this.visible = false | 176 | this.visible = false |
| 174 | - this.$emit('refresh', true) | 177 | + this.$emit('refresh', true); |
| 175 | } | 178 | } |
| 176 | - }) | ||
| 177 | - }) | 179 | + }); |
| 180 | + this.btnLoading = false; | ||
| 181 | + }).catch(() => this.btnLoading = false); | ||
| 178 | } | 182 | } |
| 179 | } | 183 | } |
| 180 | }) | 184 | }) |
src/views/baseComapnyInfo/index.vue
| @@ -57,7 +57,7 @@ | @@ -57,7 +57,7 @@ | ||
| 57 | <el-table-column label="操作" fixed="right" width="100"> | 57 | <el-table-column label="操作" fixed="right" width="100"> |
| 58 | <template slot-scope="scope"> | 58 | <template slot-scope="scope"> |
| 59 | <el-button type="text" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button> | 59 | <el-button type="text" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button> |
| 60 | - <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> | 60 | + <!-- <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button> --> |
| 61 | </template> | 61 | </template> |
| 62 | </el-table-column> | 62 | </el-table-column> |
| 63 | </NCC-table> | 63 | </NCC-table> |
src/views/baseInspectionReport/Form.vue
| @@ -6,8 +6,9 @@ | @@ -6,8 +6,9 @@ | ||
| 6 | class="NCC-dialog NCC-dialog_center baseInspectionReportForm" | 6 | class="NCC-dialog NCC-dialog_center baseInspectionReportForm" |
| 7 | lock-scroll | 7 | lock-scroll |
| 8 | width="50%" | 8 | width="50%" |
| 9 | + :modal="false" | ||
| 9 | > | 10 | > |
| 10 | - <el-row :gutter="15" class="NCC-dialog-content"> | 11 | + <el-row :gutter="15" class="NCC-dialog-content" v-if="!isDetail"> |
| 11 | <el-form | 12 | <el-form |
| 12 | ref="elForm" | 13 | ref="elForm" |
| 13 | :model="dataForm" | 14 | :model="dataForm" |
| @@ -30,14 +31,14 @@ | @@ -30,14 +31,14 @@ | ||
| 30 | </el-form-item> | 31 | </el-form-item> |
| 31 | </el-col> | 32 | </el-col> |
| 32 | <el-col :span="23"> | 33 | <el-col :span="23"> |
| 33 | - <el-form-item label="系统名称" prop="platformName"> | 34 | + <el-form-item label="应用名称" prop="platformName"> |
| 34 | <el-select | 35 | <el-select |
| 35 | ref="select" | 36 | ref="select" |
| 36 | v-model="dataForm.platformName" | 37 | v-model="dataForm.platformName" |
| 37 | filterable | 38 | filterable |
| 38 | remote | 39 | remote |
| 39 | reserve-keyword | 40 | reserve-keyword |
| 40 | - placeholder="请输入系统名称" | 41 | + placeholder="请输入应用名称" |
| 41 | @blur.native.capture="selectBlur" | 42 | @blur.native.capture="selectBlur" |
| 42 | @visible-change="visibleNameChange" | 43 | @visible-change="visibleNameChange" |
| 43 | @change="(val) => platformNameChange(val, 'change')" | 44 | @change="(val) => platformNameChange(val, 'change')" |
| @@ -48,7 +49,7 @@ | @@ -48,7 +49,7 @@ | ||
| 48 | </el-form-item> | 49 | </el-form-item> |
| 49 | </el-col> | 50 | </el-col> |
| 50 | <el-col :span="23"> | 51 | <el-col :span="23"> |
| 51 | - <el-form-item label="系统类型" prop="platformType"> | 52 | + <el-form-item label="应用类型" prop="platformType"> |
| 52 | <el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'> | 53 | <el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'> |
| 53 | <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> | 54 | <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> |
| 54 | </el-radio-group> | 55 | </el-radio-group> |
| @@ -86,11 +87,11 @@ | @@ -86,11 +87,11 @@ | ||
| 86 | <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style="{ width: '100%' }" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" /> | 87 | <el-input v-model="dataForm.questionContent" placeholder="请输入" show-word-limit :style="{ width: '100%' }" type="textarea" :autosize="{ minRows: 4, maxRows: 4 }" /> |
| 87 | </el-form-item> | 88 | </el-form-item> |
| 88 | </el-col> | 89 | </el-col> |
| 89 | - <el-col :span="23"> | 90 | + <!-- <el-col :span="23"> |
| 90 | <el-form-item label="链接" prop="link"> | 91 | <el-form-item label="链接" prop="link"> |
| 91 | <el-input v-model="dataForm.link" placeholder="请输入链接" clearable :style="{ width: '100%' }"></el-input> | 92 | <el-input v-model="dataForm.link" placeholder="请输入链接" clearable :style="{ width: '100%' }"></el-input> |
| 92 | </el-form-item> | 93 | </el-form-item> |
| 93 | - </el-col> | 94 | + </el-col> --> |
| 94 | <el-col :span="23"> | 95 | <el-col :span="23"> |
| 95 | <el-form-item label="关键词" prop="questionClass"> | 96 | <el-form-item label="关键词" prop="questionClass"> |
| 96 | <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input> | 97 | <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input> |
| @@ -103,6 +104,48 @@ | @@ -103,6 +104,48 @@ | ||
| 103 | </el-col> | 104 | </el-col> |
| 104 | </el-form> | 105 | </el-form> |
| 105 | </el-row> | 106 | </el-row> |
| 107 | + <el-row v-else> | ||
| 108 | + <el-col class="form-item"> | ||
| 109 | + <div class="label">问题来源:</div> | ||
| 110 | + <div class="text">{{ dataForm.source || '--' }}</div> | ||
| 111 | + </el-col> | ||
| 112 | + <el-col class="form-item"> | ||
| 113 | + <div class="label">应用名称:</div> | ||
| 114 | + <div class="text">{{ dataForm.platformName || '--' }}</div> | ||
| 115 | + </el-col> | ||
| 116 | + <el-col class="form-item"> | ||
| 117 | + <div class="label">应用类型:</div> | ||
| 118 | + <div class="text">{{ dataForm.platformType || '--' }}</div> | ||
| 119 | + </el-col> | ||
| 120 | + <el-col class="form-item"> | ||
| 121 | + <div class="label">归属平台:</div> | ||
| 122 | + <div class="text">{{ dataForm.selfMediaPlatformType || '--' }}</div> | ||
| 123 | + </el-col> | ||
| 124 | + <el-col class="form-item"> | ||
| 125 | + <div class="label">问题类型:</div> | ||
| 126 | + <div class="text">{{ dataForm.questionType || '--' }}</div> | ||
| 127 | + </el-col> | ||
| 128 | + <el-col class="form-item" v-show="dataForm.questionType == '错误表述'"> | ||
| 129 | + <div class="label">正确描述:</div> | ||
| 130 | + <div class="text">{{ dataForm.accurateDescription || '--' }}</div> | ||
| 131 | + </el-col> | ||
| 132 | + <el-col class="form-item" v-show="dataForm.questionType == '错误表述'"> | ||
| 133 | + <div class="label">错误描述:</div> | ||
| 134 | + <div class="text">{{ dataForm.incorrectDescription || '--' }}</div> | ||
| 135 | + </el-col> | ||
| 136 | + <el-col class="form-item"> | ||
| 137 | + <div class="label">问题内容:</div> | ||
| 138 | + <div class="text">{{ dataForm.questionContent || '--' }}</div> | ||
| 139 | + </el-col> | ||
| 140 | + <el-col class="form-item"> | ||
| 141 | + <div class="label">关键词:</div> | ||
| 142 | + <div class="text">{{ dataForm.questionClass || '--' }}</div> | ||
| 143 | + </el-col> | ||
| 144 | + <el-col class="form-item"> | ||
| 145 | + <div class="label">附件:</div> | ||
| 146 | + <!-- <div class="text">{{ dataForm.questionContent || '--' }}</div> --> | ||
| 147 | + </el-col> | ||
| 148 | + </el-row> | ||
| 106 | <span slot="footer" class="dialog-footer"> | 149 | <span slot="footer" class="dialog-footer"> |
| 107 | <el-button @click="visible = false">取 消</el-button> | 150 | <el-button @click="visible = false">取 消</el-button> |
| 108 | <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> | 151 | <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> |
| @@ -183,8 +226,9 @@ export default { | @@ -183,8 +226,9 @@ export default { | ||
| 183 | }, | 226 | }, |
| 184 | platformNameChange(val, type) { | 227 | platformNameChange(val, type) { |
| 185 | let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); | 228 | let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); |
| 229 | + if(!obj) return; | ||
| 186 | this.dataForm.platformName = obj ? obj.id : val; | 230 | this.dataForm.platformName = obj ? obj.id : val; |
| 187 | - this.dataForm.platformType = obj ? obj.systemType : ''; | 231 | + this.dataForm.platformType = this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id; |
| 188 | this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; | 232 | this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; |
| 189 | }, | 233 | }, |
| 190 | visibleNameChange(val) { | 234 | visibleNameChange(val) { |
| @@ -228,9 +272,10 @@ export default { | @@ -228,9 +272,10 @@ export default { | ||
| 228 | this.visible = true; | 272 | this.visible = true; |
| 229 | this.isDetail = isDetail || false; | 273 | this.isDetail = isDetail || false; |
| 230 | this.$nextTick(async () => { | 274 | this.$nextTick(async () => { |
| 231 | - this.$refs["elForm"].resetFields(); | 275 | + !isDetail && this.$refs["elForm"].resetFields(); |
| 232 | if (this.dataForm.id) { | 276 | if (this.dataForm.id) { |
| 233 | let res = await getDetail(this.dataForm.id); | 277 | let res = await getDetail(this.dataForm.id); |
| 278 | + if(!res.data) return; | ||
| 234 | this.dataForm = res.data; | 279 | this.dataForm = res.data; |
| 235 | if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) { | 280 | if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) { |
| 236 | this.dataForm.otherQuestionType = res.data.questionType; | 281 | this.dataForm.otherQuestionType = res.data.questionType; |
src/views/baseInspectionReport/index.vue
| @@ -30,7 +30,22 @@ | @@ -30,7 +30,22 @@ | ||
| 30 | </el-col> | 30 | </el-col> |
| 31 | <div class="NCC-common-search-box-right"> | 31 | <div class="NCC-common-search-box-right"> |
| 32 | <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button> | 32 | <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button> |
| 33 | - <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> --> | 33 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button> |
| 34 | + <el-upload | ||
| 35 | + class="uploadXlax" | ||
| 36 | + :action="define.APIURl + '/api/Extend/BaseInspectionReport/Actions/ImportByExcel'" | ||
| 37 | + :headers="uploadHeaders" | ||
| 38 | + :on-success="uploadSuccess" | ||
| 39 | + :on-error="uploadError" | ||
| 40 | + :show-file-list="false" | ||
| 41 | + name="excelfile" | ||
| 42 | + accept="image/*" | ||
| 43 | + > | ||
| 44 | + <div class="avatar-box"> | ||
| 45 | + <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button> | ||
| 46 | + </div> | ||
| 47 | + </el-upload> | ||
| 48 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> | ||
| 34 | </div> | 49 | </div> |
| 35 | </el-form> | 50 | </el-form> |
| 36 | </el-row> | 51 | </el-row> |
| @@ -73,6 +88,7 @@ | @@ -73,6 +88,7 @@ | ||
| 73 | import infoMixin from "@/mixins/info"; | 88 | import infoMixin from "@/mixins/info"; |
| 74 | import ExportBox from './ExportBox' | 89 | import ExportBox from './ExportBox' |
| 75 | import { getList, previewDataInterface } from '@/api/systemData/dataInterface' | 90 | import { getList, previewDataInterface } from '@/api/systemData/dataInterface' |
| 91 | +import { message } from '@/utils/message'; | ||
| 76 | export default { | 92 | export default { |
| 77 | mixins: [infoMixin], | 93 | mixins: [infoMixin], |
| 78 | components: { NCCForm, ExportBox }, | 94 | components: { NCCForm, ExportBox }, |
| @@ -113,6 +129,7 @@ | @@ -113,6 +129,7 @@ | ||
| 113 | questionTypeOptions : [], | 129 | questionTypeOptions : [], |
| 114 | questionClassOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], | 130 | questionClassOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], |
| 115 | stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], | 131 | stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}], |
| 132 | + uploadHeaders: { Authorization: this.$store.getters.token }, | ||
| 116 | } | 133 | } |
| 117 | }, | 134 | }, |
| 118 | computed: { | 135 | computed: { |
| @@ -173,6 +190,53 @@ | @@ -173,6 +190,53 @@ | ||
| 173 | this.$refs.NCCForm.init(id, isDetail) | 190 | this.$refs.NCCForm.init(id, isDetail) |
| 174 | }) | 191 | }) |
| 175 | }, | 192 | }, |
| 193 | + uploadSuccess(response, file, fileList) { | ||
| 194 | + this.$message({ | ||
| 195 | + showClose: true, | ||
| 196 | + message: response.msg, | ||
| 197 | + type: response.code == 200 ? 'success' : 'error', | ||
| 198 | + }); | ||
| 199 | + }, | ||
| 200 | + uploadError() { | ||
| 201 | + console.log('erroe'); | ||
| 202 | + }, | ||
| 203 | + exportData(type) { | ||
| 204 | + let obj = {} | ||
| 205 | + if(type) { | ||
| 206 | + obj = { | ||
| 207 | + url: '/Extend/BaseInspectionReport/Actions/GenerateImportTemplate', | ||
| 208 | + method: "GET", | ||
| 209 | + } | ||
| 210 | + } else { | ||
| 211 | + this.listLoading = true; | ||
| 212 | + let _query = { | ||
| 213 | + ...this.listQuery, | ||
| 214 | + ...this.query | ||
| 215 | + }; | ||
| 216 | + let query = {} | ||
| 217 | + for (let key in _query) { | ||
| 218 | + if (Array.isArray(_query[key])) { | ||
| 219 | + query[key] = _query[key].join() | ||
| 220 | + } else { | ||
| 221 | + query[key] = _query[key] | ||
| 222 | + } | ||
| 223 | + } | ||
| 224 | + obj = { | ||
| 225 | + url: '/Extend/BaseInspectionReport/Actions/Export', | ||
| 226 | + method: "POST", | ||
| 227 | + data: query, | ||
| 228 | + } | ||
| 229 | + } | ||
| 230 | + request(obj).then((res) => { | ||
| 231 | + console.log(res); | ||
| 232 | + const url = define.APIURl + res.data.url; | ||
| 233 | + const link = document.createElement("a"); | ||
| 234 | + link.href = url; | ||
| 235 | + link.download = res.data.name; | ||
| 236 | + link.click(); | ||
| 237 | + }); | ||
| 238 | + this.listLoading = false; | ||
| 239 | + }, | ||
| 176 | search() { | 240 | search() { |
| 177 | this.listQuery = { | 241 | this.listQuery = { |
| 178 | currentPage: 1, | 242 | currentPage: 1, |
| @@ -208,4 +272,8 @@ | @@ -208,4 +272,8 @@ | ||
| 208 | overflow-y: scroll; | 272 | overflow-y: scroll; |
| 209 | } | 273 | } |
| 210 | } | 274 | } |
| 275 | +.uploadXlax { | ||
| 276 | + display: inline-block; | ||
| 277 | + margin: 0 8px; | ||
| 278 | +} | ||
| 211 | </style> | 279 | </style> |
| 212 | \ No newline at end of file | 280 | \ No newline at end of file |
src/views/baseListHazardousSamples/index.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="item-box common-info-box"> | 2 | <div class="item-box common-info-box"> |
| 3 | - <div class="item-title">有害清单</div> | 3 | + <div class="item-title">问题督导整改清单</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"> |
| @@ -83,7 +83,7 @@ | @@ -83,7 +83,7 @@ | ||
| 83 | <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> | 83 | <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> |
| 84 | <el-table-column prop="inputTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip/> | 84 | <el-table-column prop="inputTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip/> |
| 85 | <el-table-column label="运营主体" prop="companyStr" align="left" show-overflow-tooltip /> | 85 | <el-table-column label="运营主体" prop="companyStr" align="left" show-overflow-tooltip /> |
| 86 | - <el-table-column label="网站平台" prop="websitePlatformStr" align="left" show-overflow-tooltip /> | 86 | + <el-table-column label="应用名称" prop="websitePlatformStr" align="left" show-overflow-tooltip /> |
| 87 | <el-table-column label="来源" prop="source" align="left" show-overflow-tooltip /> | 87 | <el-table-column label="来源" prop="source" align="left" show-overflow-tooltip /> |
| 88 | <el-table-column label="问题类型" prop="questionType" align="left" show-overflow-tooltip /> | 88 | <el-table-column label="问题类型" prop="questionType" align="left" show-overflow-tooltip /> |
| 89 | <el-table-column label="问题内容" prop="questionContent" align="left" show-overflow-tooltip /> | 89 | <el-table-column label="问题内容" prop="questionContent" align="left" show-overflow-tooltip /> |
| @@ -93,26 +93,20 @@ | @@ -93,26 +93,20 @@ | ||
| 93 | <!-- <el-table-column prop="creatorTime" label="创建时间" align="left" show-overflow-tooltip :formatter="ncc.tableDateFormat"/> --> | 93 | <!-- <el-table-column prop="creatorTime" label="创建时间" align="left" show-overflow-tooltip :formatter="ncc.tableDateFormat"/> --> |
| 94 | <!-- <el-table-column prop="lastModifyUserId" label="修改用户" align="left" show-overflow-tooltip/> --> | 94 | <!-- <el-table-column prop="lastModifyUserId" label="修改用户" align="left" show-overflow-tooltip/> --> |
| 95 | <!-- <el-table-column prop="lastModifyTime" label="修改时间" :formatter="ncc.tableDateFormat" show-overflow-tooltip align="left"/> --> | 95 | <!-- <el-table-column prop="lastModifyTime" label="修改时间" :formatter="ncc.tableDateFormat" show-overflow-tooltip align="left"/> --> |
| 96 | - <!-- <el-table-column label="操作" fixed="right" width="100"> | 96 | + <el-table-column label="操作" fixed="right" width="100"> |
| 97 | <template slot-scope="scope"> | 97 | <template slot-scope="scope"> |
| 98 | - <el-button type="text" @click="addOrUpdateHandle(scope.row, ture)">详情</el-button> | 98 | + <el-button type="text" @click="addOrUpdateHandle(scope.row, true)">详情</el-button> |
| 99 | </template> | 99 | </template> |
| 100 | - </el-table-column> --> | 100 | + </el-table-column> |
| 101 | </NCC-table> | 101 | </NCC-table> |
| 102 | - <pagination | ||
| 103 | - :total="total" | ||
| 104 | - :page.sync="listQuery.currentPage" | ||
| 105 | - :limit.sync="listQuery.pageSize" | ||
| 106 | - @pagination="initData" | ||
| 107 | - /> | 102 | + <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/> |
| 108 | </div> | 103 | </div> |
| 109 | </div> | 104 | </div> |
| 110 | <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> | 105 | <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> |
| 111 | - <ExportBox | ||
| 112 | - v-if="exportBoxVisible" | ||
| 113 | - ref="ExportBox" | ||
| 114 | - @download="download" | ||
| 115 | - /> | 106 | + <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/> |
| 107 | + <!-- 案件处理 --> | ||
| 108 | + <HandForm v-if="HandFormVisible" ref="HandForm" @refresh="(val) => {taskRefresh('HandFormVisible', val)}" /> | ||
| 109 | + <ReportForm v-if="ReportFormVisible" ref="ReportForm" @refresh="(val) => {taskRefresh('ReportFormVisible', val)}" /> | ||
| 116 | </div> | 110 | </div> |
| 117 | </div> | 111 | </div> |
| 118 | </div> | 112 | </div> |
| @@ -123,8 +117,10 @@ import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | @@ -123,8 +117,10 @@ import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | ||
| 123 | import NCCForm from "./Form"; | 117 | import NCCForm from "./Form"; |
| 124 | import ExportBox from "./ExportBox"; | 118 | import ExportBox from "./ExportBox"; |
| 125 | import { previewDataInterface } from "@/api/systemData/dataInterface"; | 119 | import { previewDataInterface } from "@/api/systemData/dataInterface"; |
| 120 | +import HandForm from '@/views/baseCaseHandling/Form.vue' // 案件处理 | ||
| 121 | +import ReportForm from '@/views/baseInspectionReport/Form.vue' // 案件处理 | ||
| 126 | export default { | 122 | export default { |
| 127 | - components: { NCCForm, ExportBox }, | 123 | + components: { NCCForm, ExportBox, HandForm, ReportForm }, |
| 128 | data() { | 124 | data() { |
| 129 | return { | 125 | return { |
| 130 | showAll: false, | 126 | showAll: false, |
| @@ -171,6 +167,8 @@ export default { | @@ -171,6 +167,8 @@ export default { | ||
| 171 | 167 | ||
| 172 | // 导出 | 168 | // 导出 |
| 173 | exportBtnLoading: false, | 169 | exportBtnLoading: false, |
| 170 | + HandFormVisible: false, | ||
| 171 | + ReportFormVisible: false, | ||
| 174 | }; | 172 | }; |
| 175 | }, | 173 | }, |
| 176 | computed: {}, | 174 | computed: {}, |
| @@ -268,22 +266,25 @@ export default { | @@ -268,22 +266,25 @@ export default { | ||
| 268 | .catch(() => {}); | 266 | .catch(() => {}); |
| 269 | }, | 267 | }, |
| 270 | addOrUpdateHandle(row, isDetail) { | 268 | addOrUpdateHandle(row, isDetail) { |
| 271 | - row.harmfulInformationTypes == '' | ||
| 272 | - switch (row.harmfulInformationTypes) { | ||
| 273 | - case '巡查上报 ': | ||
| 274 | - | 269 | + console.log(row); |
| 270 | + | ||
| 271 | + switch (row.source) { | ||
| 272 | + case "核查处置": | ||
| 273 | + this.ReportFormVisible = true; | ||
| 274 | + this.$nextTick(() => { | ||
| 275 | + this.$refs.ReportForm.init(row.inspectionReportId, true); | ||
| 276 | + }); | ||
| 275 | break; | 277 | break; |
| 276 | - case '网信执法 ': | ||
| 277 | - | 278 | + case "网信执法": |
| 279 | + this.HandFormVisible = true; | ||
| 280 | + this.$nextTick(() => { | ||
| 281 | + this.$refs.HandForm.init(row.caseHandlingId, true); | ||
| 282 | + }); | ||
| 278 | break; | 283 | break; |
| 279 | 284 | ||
| 280 | default: | 285 | default: |
| 281 | break; | 286 | break; |
| 282 | } | 287 | } |
| 283 | - this.formVisible = true; | ||
| 284 | - this.$nextTick(() => { | ||
| 285 | - this.$refs.NCCForm.init(row.id, isDetail); | ||
| 286 | - }); | ||
| 287 | }, | 288 | }, |
| 288 | search() { | 289 | search() { |
| 289 | this.listQuery = { | 290 | this.listQuery = { |
| @@ -294,8 +295,8 @@ export default { | @@ -294,8 +295,8 @@ export default { | ||
| 294 | }; | 295 | }; |
| 295 | this.initData(); | 296 | this.initData(); |
| 296 | }, | 297 | }, |
| 297 | - refresh(isrRefresh) { | ||
| 298 | - this.formVisible = false; | 298 | + taskRefresh(key ,isrRefresh) { |
| 299 | + this[`${key}`] = false; | ||
| 299 | if (isrRefresh) this.reset(); | 300 | if (isrRefresh) this.reset(); |
| 300 | }, | 301 | }, |
| 301 | reset() { | 302 | reset() { |
src/views/baseSpecialAction/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 | > | 10 | > |
| 11 | <el-row :gutter="15" class="NCC-dialog-content"> | 11 | <el-row :gutter="15" class="NCC-dialog-content"> |
| @@ -43,9 +43,8 @@ | @@ -43,9 +43,8 @@ | ||
| 43 | </el-col> | 43 | </el-col> |
| 44 | <el-col :span="23" v-if="ncc.hasFormP('content')"> | 44 | <el-col :span="23" v-if="ncc.hasFormP('content')"> |
| 45 | <el-form-item label="内容" prop="content"> | 45 | <el-form-item label="内容" prop="content"> |
| 46 | - <el-input v-model="dataForm.content" placeholder="请输入" show-word-limit :style="{ width: '100%' }" | ||
| 47 | - type="textarea" :autosize="{ minRows: 4, maxRows: 4 }"> | ||
| 48 | - </el-input> | 46 | + <NCC-Quill v-model="dataForm.content" placeholder="请输入内容..."> |
| 47 | + </NCC-Quill> | ||
| 49 | </el-form-item> | 48 | </el-form-item> |
| 50 | </el-col> | 49 | </el-col> |
| 51 | <el-col :span="23" v-if="ncc.hasFormP('annex')"> | 50 | <el-col :span="23" v-if="ncc.hasFormP('annex')"> |
| @@ -104,15 +103,16 @@ | @@ -104,15 +103,16 @@ | ||
| 104 | </el-form-item> | 103 | </el-form-item> |
| 105 | </el-col> | 104 | </el-col> |
| 106 | <el-col :span="23" v-if="ncc.hasFormP('deadline')"> | 105 | <el-col :span="23" v-if="ncc.hasFormP('deadline')"> |
| 107 | - <el-form-item label="截止日期" prop="deadline"> | 106 | + <el-form-item label="截止时间" prop="deadline"> |
| 108 | <el-date-picker | 107 | <el-date-picker |
| 109 | v-model="dataForm.deadline" | 108 | v-model="dataForm.deadline" |
| 110 | - type="date" | 109 | + type="datetime" |
| 111 | :disabled="editType == '已发布并部署'" | 110 | :disabled="editType == '已发布并部署'" |
| 112 | - placeholder="选择截止日期"> | 111 | + placeholder="选择截止时间"> |
| 113 | </el-date-picker> | 112 | </el-date-picker> |
| 114 | </el-form-item> | 113 | </el-form-item> |
| 115 | </el-col> | 114 | </el-col> |
| 115 | + | ||
| 116 | </el-form> | 116 | </el-form> |
| 117 | </el-row> | 117 | </el-row> |
| 118 | <span slot="footer" class="dialog-footer"> | 118 | <span slot="footer" class="dialog-footer"> |
| @@ -288,6 +288,9 @@ export default { | @@ -288,6 +288,9 @@ export default { | ||
| 288 | }); | 288 | }); |
| 289 | }, | 289 | }, |
| 290 | dataFormSubmit(type) { | 290 | dataFormSubmit(type) { |
| 291 | + console.log(this.dataForm); | ||
| 292 | + return | ||
| 293 | + | ||
| 291 | this.validateForm(type, () => { | 294 | this.validateForm(type, () => { |
| 292 | let obj = { | 295 | let obj = { |
| 293 | ...this.dataForm, | 296 | ...this.dataForm, |
src/views/baseSpecialAction/FormPage.vue
| 1 | <template> | 1 | <template> |
| 2 | - <div class="item-box common-info-box"> | ||
| 3 | - <div class="item-title">安排部署</div> | ||
| 4 | - <div class="item-body"> | ||
| 5 | - <div style=" | ||
| 6 | - background-color: #fff; | ||
| 7 | - width: 100%; | ||
| 8 | - height: 100%; | ||
| 9 | - padding: 15px; | ||
| 10 | - "> | ||
| 11 | - <el-row :gutter="15" class=""> | ||
| 12 | - <el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" | ||
| 13 | - :disabled="!!isDetail" :rules="rules"> | ||
| 14 | - <el-col :span="24" v-if="false"> | ||
| 15 | - <el-form-item label="主键" prop="id"> | ||
| 16 | - <el-input v-model="dataForm.id" placeholder="请输入" clearable :style="{ width: '100%' }"> | ||
| 17 | - </el-input> | ||
| 18 | - </el-form-item> | ||
| 19 | - </el-col> | ||
| 20 | - <el-col :span="24" v-if="ncc.hasFormP('specialActionType')"> | ||
| 21 | - <el-form-item label="类型" prop="specialActionType"> | ||
| 22 | - <el-select v-model="dataForm.specialActionType" placeholder="请选择" clearable required | ||
| 23 | - :style="{ width: '100%' }"> | ||
| 24 | - <el-option v-for="(item, index) in specialActionTypeOptions" :key="index" :label="item.fullName" | ||
| 25 | - :value="item.id"></el-option> | ||
| 26 | - </el-select> | ||
| 27 | - </el-form-item> | ||
| 28 | - </el-col> | ||
| 29 | - <el-col :span="24" v-if="ncc.hasFormP('title')"> | ||
| 30 | - <el-form-item label="标题" prop="title"> | ||
| 31 | - <el-input v-model="dataForm.title" placeholder="请输入" clearable required :style="{ width: '100%' }"> | ||
| 32 | - </el-input> | ||
| 33 | - </el-form-item> | ||
| 34 | - </el-col> | ||
| 35 | - <el-col :span="24" v-if="ncc.hasFormP('content')"> | ||
| 36 | - <el-form-item label="内容" prop="content"> | ||
| 37 | - <el-input v-model="dataForm.content" placeholder="请输入" show-word-limit :style="{ width: '100%' }" | ||
| 38 | - type="textarea" :autosize="{ minRows: 4, maxRows: 4 }"> | ||
| 39 | - </el-input> | ||
| 40 | - </el-form-item> | ||
| 41 | - </el-col> | ||
| 42 | - <el-col :span="12"> | ||
| 43 | - <el-form-item label="发布时间" prop="releaseTime"> | ||
| 44 | - <el-date-picker v-model="dataForm.releaseTime" placeholder="请选择" clearable :style="{ width: '100%' }" | ||
| 45 | - type="datetime"> | ||
| 46 | - </el-date-picker> | ||
| 47 | - </el-form-item> | ||
| 48 | - </el-col> | ||
| 49 | - <el-col :span="12"> | ||
| 50 | - <el-form-item label="发布周期" prop="releaseCount"> | ||
| 51 | - <el-select v-model="dataForm.releaseCycle" placeholder="请选择"> | ||
| 52 | - <el-option v-for="item in CycleOptions" :key="item.value" :label="item.label" :value="item.value"> | ||
| 53 | - </el-option> | ||
| 54 | - </el-select> | ||
| 55 | - </el-form-item> | ||
| 56 | - </el-col> | ||
| 57 | - <el-col :span="12"> | ||
| 58 | - <el-form-item label="自动发布" prop="isOpenRelease"> | ||
| 59 | - <el-radio-group v-model="dataForm.isOpenRelease"> | ||
| 60 | - <el-radio :label="true">是</el-radio> | ||
| 61 | - <el-radio :label="false">否</el-radio> | ||
| 62 | - </el-radio-group> | ||
| 63 | - </el-form-item> | ||
| 64 | - </el-col> | ||
| 65 | - <el-col :span="12"> | ||
| 66 | - <el-form-item label="发布次数" prop="releaseCount"> | ||
| 67 | - <el-input-number v-model="dataForm.releaseCount" :min="1" :max="100"></el-input-number> | ||
| 68 | - </el-form-item> | ||
| 69 | - </el-col> | ||
| 70 | - <el-col :span="24" v-if="ncc.hasFormP('annex')"> | ||
| 71 | - <el-form-item label="附件" prop="annex"> | ||
| 72 | - <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传"> | ||
| 73 | - </NCC-UploadFz> | ||
| 74 | - </el-form-item> | ||
| 75 | - </el-col> | ||
| 76 | - <el-col :span="24" v-if="ncc.hasFormP('communicationArea')"> | ||
| 77 | - <el-form-item label="传达区域" prop="communicationArea"> | ||
| 78 | - <el-checkbox-group v-model="dataForm.communicationArea" :style="{}"> | ||
| 79 | - <el-checkbox v-for="(item, index) in communicationAreaOptions" :key="index" :label="item.id">{{ | ||
| 80 | - item.fullName }}</el-checkbox> | ||
| 81 | - </el-checkbox-group> | ||
| 82 | - <div style="margin-top: 10px;"> | ||
| 83 | - <el-button size="mini" @click="selectAll">全选</el-button> | ||
| 84 | - <el-button size="mini" @click="invertSelection">反选</el-button> | ||
| 85 | - </div> | ||
| 86 | - </el-form-item> | ||
| 87 | - </el-col> | ||
| 88 | - <el-col :span="24" v-if="ncc.hasFormP('communicationArea')"> | ||
| 89 | - <el-form-item label="填报表单" prop="communicationArea"> | ||
| 90 | - <el-select v-model="dataForm.relationId" placeholder="请选择专项行动填报表单" style="margin-right: 10px;width: 300px;"> | ||
| 91 | - <el-option v-for="item in BaseList" :key="item.id" :label="item.fullName" :value="item.id"> | ||
| 92 | - </el-option> | ||
| 93 | - </el-select> | ||
| 94 | - <el-button size="mini" type="text" @click="dialogVisible = true">没有找到表单?点击设计表单</el-button> | ||
| 95 | - </el-form-item> | ||
| 96 | - </el-col> | ||
| 97 | - <el-col :span="24" v-if="false"> | ||
| 98 | - <el-form-item label="状态" prop="state"> | ||
| 99 | - <el-input v-model="dataForm.state" placeholder="请输入" clearable :style="{ width: '100%' }"> | ||
| 100 | - </el-input> | ||
| 101 | - </el-form-item> | ||
| 102 | - </el-col> | ||
| 103 | - <el-col :span="24" v-if="false"> | ||
| 104 | - <el-form-item label="创建用户" prop="creatorUserId"> | ||
| 105 | - <el-input v-model="dataForm.creatorUserId" placeholder="系统自动生成" readonly> | ||
| 106 | - </el-input> | ||
| 107 | - </el-form-item> | ||
| 108 | - </el-col> | ||
| 109 | - <el-col :span="24" v-if="false"> | ||
| 110 | - <el-form-item label="创建时间" prop="creatorTime"> | ||
| 111 | - <el-input v-model="dataForm.creatorTime" placeholder="系统自动生成" readonly> | ||
| 112 | - </el-input> | ||
| 113 | - </el-form-item> | ||
| 114 | - </el-col> | ||
| 115 | - <el-col :span="24" v-if="false"> | ||
| 116 | - <el-form-item label="修改用户" prop="lastModifyUserId"> | ||
| 117 | - <el-input v-model="dataForm.lastModifyUserId" placeholder="系统自动生成" readonly> | ||
| 118 | - </el-input> | ||
| 119 | - </el-form-item> | ||
| 120 | - </el-col> | ||
| 121 | - <el-col :span="24" v-if="false"> | ||
| 122 | - <el-form-item label="修改时间" prop="lastModifyTime"> | ||
| 123 | - <el-input v-model="dataForm.lastModifyTime" placeholder="系统自动生成" readonly> | ||
| 124 | - </el-input> | ||
| 125 | - </el-form-item> | ||
| 126 | - </el-col> | ||
| 127 | - </el-form> | ||
| 128 | - </el-row> | ||
| 129 | - <span slot="footer" class="dialog-footer"> | ||
| 130 | - <el-button @click="visible = false">取 消</el-button> | ||
| 131 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> | ||
| 132 | - </span> | 2 | + <el-dialog |
| 3 | + title="行动详情" | ||
| 4 | + :close-on-click-modal="false" | ||
| 5 | + :visible.sync="visible" | ||
| 6 | + class="NCC-dialog NCC-dialog_center baseSpecialAction" | ||
| 7 | + lock-scroll | ||
| 8 | + width="60%" | ||
| 9 | + v-loading="loading" | ||
| 10 | + > | ||
| 11 | + <el-row :gutter="15" class="NCC-dialog-content"> | ||
| 12 | + <h4>{{dataForm.title}}</h4> | ||
| 13 | + <div class="content" v-html="dataForm.content"></div> | ||
| 14 | + <div class="tag-group" v-if="isSHILevel"> | ||
| 15 | + <span class="tag-group__title title-tag">传递区域:</span> | ||
| 16 | + <el-tag v-for="(v, i) in dataForm.communicationAreasList" :key="i"> | ||
| 17 | + {{ v }} | ||
| 18 | + </el-tag> | ||
| 133 | </div> | 19 | </div> |
| 134 | - </div> | ||
| 135 | - <el-dialog title="专项行动表单设计" :visible.sync="dialogVisible" fullscreen @close="handleClose"> | ||
| 136 | - <iframe | ||
| 137 | - :src="nestedPageUrl" | ||
| 138 | - width="100%" | ||
| 139 | - :height="viewportHeight - 58 + 'px'" | ||
| 140 | - frameborder="0" | ||
| 141 | - allowfullscreen> | ||
| 142 | - </iframe> | ||
| 143 | - </el-dialog> | ||
| 144 | - </div> | 20 | + <div class="tag-group" v-if="isSHILevel"> |
| 21 | + <span class="tag-group__title title-tag">传达外协:</span> | ||
| 22 | + <el-tag v-for="(v, i) in dataForm.communicationOutsList" :key="i"> | ||
| 23 | + {{ v }} | ||
| 24 | + </el-tag> | ||
| 25 | + </div> | ||
| 26 | + <div class="tag-group" v-if="dataForm.deadline"> | ||
| 27 | + <span class="tag-group__title title-tag">截止时间:</span> | ||
| 28 | + {{ ncc.dateFormat(dataForm.deadline) || '--' }} | ||
| 29 | + </div> | ||
| 30 | + </el-row> | ||
| 31 | + <span slot="footer" class="dialog-footer"> | ||
| 32 | + <el-button type="primary" @click="visible = false">取 消</el-button> | ||
| 33 | + </span> | ||
| 34 | + </el-dialog> | ||
| 145 | </template> | 35 | </template> |
| 146 | <script> | 36 | <script> |
| 147 | import request from "@/utils/request"; | 37 | import request from "@/utils/request"; |
| 148 | import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; | 38 | import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; |
| 149 | import { previewDataInterface } from "@/api/systemData/dataInterface"; | 39 | import { previewDataInterface } from "@/api/systemData/dataInterface"; |
| 150 | -import webDesignForm from './webDesign/Form.vue'; | ||
| 151 | - | ||
| 152 | export default { | 40 | export default { |
| 153 | - components: { webDesignForm }, | 41 | + components: {}, |
| 154 | props: [], | 42 | props: [], |
| 155 | data() { | 43 | data() { |
| 44 | + var validatecommunicationArea = (rule, value, callback) => { | ||
| 45 | + if (!this.dataForm.communicationOut.length && !value.length) { | ||
| 46 | + callback(new Error('传输区域和传输外协不能同时为空!')); | ||
| 47 | + } else { | ||
| 48 | + callback(); | ||
| 49 | + } | ||
| 50 | + }; | ||
| 51 | + var validatecommunicationOut = (rule, value, callback) => { | ||
| 52 | + if (!this.dataForm.communicationArea.length && !value.length) { | ||
| 53 | + callback(new Error('传输区域和传输外协不能同时为空!')); | ||
| 54 | + } else { | ||
| 55 | + callback(); | ||
| 56 | + } | ||
| 57 | + }; | ||
| 156 | return { | 58 | return { |
| 157 | loading: false, | 59 | loading: false, |
| 158 | visible: false, | 60 | visible: false, |
| 159 | isDetail: false, | 61 | isDetail: false, |
| 160 | - dialogVisible: false, | ||
| 161 | - viewportHeight: 0, | ||
| 162 | - nestedPageUrl:"http://8.130.38.56:8043/old/#/onlineDev/webDesign/indexNew", | ||
| 163 | - // nestedPageUrl:"http://localhost:3000/#/onlineDev/webDesign/indexNew", | 62 | + editType: '', // 修改类型 |
| 164 | dataForm: { | 63 | dataForm: { |
| 64 | + id: "", | ||
| 165 | id: undefined, | 65 | id: undefined, |
| 166 | - specialActionType: undefined, | ||
| 167 | title: undefined, | 66 | title: undefined, |
| 168 | content: undefined, | 67 | content: undefined, |
| 169 | - releaseTime: null, | 68 | + releaseTime: undefined, |
| 170 | annex: [], | 69 | annex: [], |
| 171 | communicationArea: [], | 70 | communicationArea: [], |
| 71 | + communicationOut: [], | ||
| 172 | state: undefined, | 72 | state: undefined, |
| 173 | creatorUserId: undefined, | 73 | creatorUserId: undefined, |
| 174 | creatorTime: undefined, | 74 | creatorTime: undefined, |
| 175 | lastModifyUserId: undefined, | 75 | lastModifyUserId: undefined, |
| 176 | lastModifyTime: undefined, | 76 | lastModifyTime: undefined, |
| 177 | - isOpenRelease: false, | 77 | + deadline: undefined, |
| 78 | + relationId: undefined, | ||
| 79 | + communicationAreasList: [], | ||
| 80 | + communicationOutsList: [], | ||
| 178 | }, | 81 | }, |
| 179 | rules: { | 82 | rules: { |
| 180 | - specialActionType: [ | ||
| 181 | - { | ||
| 182 | - required: true, | ||
| 183 | - message: "请输入类型", | ||
| 184 | - trigger: "change", | ||
| 185 | - }, | ||
| 186 | - ], | ||
| 187 | - title: [ | ||
| 188 | - { | ||
| 189 | - required: true, | ||
| 190 | - message: "请输入标题", | ||
| 191 | - trigger: "blur", | ||
| 192 | - }, | ||
| 193 | - ], | 83 | + title: [{ required: true, message: "请输入标题", trigger: "blur" }], |
| 84 | + content: [{ required: true, message: "请输入内容", trigger: "blur" }], | ||
| 85 | + communicationArea: [{validator: validatecommunicationArea, trigger: 'blur'}], | ||
| 86 | + communicationOut: [{validator: validatecommunicationOut, trigger: 'blur'}], | ||
| 87 | + relationId: [{ required: true, message: "请选择专项行动填报表单", trigger: "blur"}], | ||
| 88 | + deadline: [{ required: true, message: "请选择截止日期", trigger: "blur" }], | ||
| 194 | }, | 89 | }, |
| 195 | - CycleOptions: [ | ||
| 196 | - { | ||
| 197 | - value: '天', | ||
| 198 | - label: '天' | ||
| 199 | - }, { | ||
| 200 | - value: '月', | ||
| 201 | - label: '月' | ||
| 202 | - }, | ||
| 203 | - { | ||
| 204 | - value: '季', | ||
| 205 | - label: '季' | ||
| 206 | - }, | ||
| 207 | - { | ||
| 208 | - value: '年', | ||
| 209 | - label: '年' | ||
| 210 | - }, | ||
| 211 | - ], | ||
| 212 | - specialActionTypeOptions: [], | ||
| 213 | - communicationAreaOptions: [], | ||
| 214 | - BaseList:[] | 90 | + areaOptions: [], |
| 91 | + communicationOutOptions: [], | ||
| 92 | + BaseList:[], | ||
| 93 | + viewportHeight: 0, | ||
| 94 | + nestedPageUrl:"http://8.130.38.56:8043/old/#/onlineDev/webDesign/indexNew", | ||
| 95 | + dialogVisible: false, | ||
| 96 | + btnLoading: false | ||
| 215 | }; | 97 | }; |
| 216 | }, | 98 | }, |
| 217 | - computed: {}, | 99 | + computed: { |
| 100 | + isSHILevel() { | ||
| 101 | + // 判断角色是否为‘市级办公室’ | ||
| 102 | + return this.$store.state.user.islader; | ||
| 103 | + }, | ||
| 104 | + }, | ||
| 218 | watch: {}, | 105 | watch: {}, |
| 219 | created() { | 106 | created() { |
| 220 | - this.getspecialActionTypeOptions(); | ||
| 221 | - this.getcommunicationAreaOptions(); | ||
| 222 | - this.getDataForm(); | ||
| 223 | - this.updateViewportHeight(); | ||
| 224 | - // 监听窗口大小变化事件 | ||
| 225 | - window.addEventListener('resize', this.updateViewportHeight); | 107 | + this.initAreaTypeList(); // 区县 |
| 108 | + this.initCommunicationOutOptions(); // 外协 | ||
| 226 | }, | 109 | }, |
| 227 | - mounted() { }, | 110 | + mounted() {}, |
| 228 | beforeDestroy() { | 111 | beforeDestroy() { |
| 229 | - // 移除窗口大小变化事件监听器 | ||
| 230 | - window.removeEventListener('resize', this.updateViewportHeight); | ||
| 231 | }, | 112 | }, |
| 232 | methods: { | 113 | methods: { |
| 233 | - handleClose() { | ||
| 234 | - // 这里是对话框关闭后需要执行的代码 | ||
| 235 | - this.getDataForm(); | ||
| 236 | - // 例如,你可以在这里添加任何其他的逻辑 | ||
| 237 | - }, | ||
| 238 | - //查询所有区县 | ||
| 239 | - getcommunicationAreaOptions() { | ||
| 240 | - request({ | ||
| 241 | - url: "/extend/systeminformation/GetRegionList", | ||
| 242 | - method: "get", | ||
| 243 | - }).then((res) => { | ||
| 244 | - this.communicationAreaOptions = res.data; | ||
| 245 | - }); | ||
| 246 | - }, | ||
| 247 | - //查询表单 | ||
| 248 | - getDataForm() { | ||
| 249 | - request({ | ||
| 250 | - url: "/visualdev/Base?type=1", | ||
| 251 | - method: "get", | ||
| 252 | - }).then((res) => { | ||
| 253 | - this.BaseList = res.data.list[0].children; | ||
| 254 | - console.log(this.BaseList) | ||
| 255 | - }); | ||
| 256 | - }, | ||
| 257 | - updateViewportHeight() { | ||
| 258 | - // 获取页面显示高度 | ||
| 259 | - this.viewportHeight = window.innerHeight || document.documentElement.clientHeight; | ||
| 260 | - }, | ||
| 261 | - getspecialActionTypeOptions() { | ||
| 262 | - getDictionaryDataSelector("576310654982423813").then((res) => { | ||
| 263 | - this.specialActionTypeOptions = res.data.list; | ||
| 264 | - }); | 114 | + async initAreaTypeList() { |
| 115 | + let list = this.$store.state.meta.area; | ||
| 116 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "area")); | ||
| 117 | + this.areaOptions = list; | ||
| 265 | }, | 118 | }, |
| 266 | - selectAll() { | ||
| 267 | - this.dataForm.communicationArea = this.communicationAreaOptions.map(option => option.id); | 119 | + async initCommunicationOutOptions() { |
| 120 | + let list = this.$store.state.meta.externalAssistanceList; | ||
| 121 | + !list && (list = await this.$store.dispatch("getTypeListByCode", "externalAssistance")); | ||
| 122 | + this.communicationOutOptions = list; | ||
| 268 | }, | 123 | }, |
| 269 | - invertSelection() { | ||
| 270 | - this.dataForm.communicationArea = this.communicationAreaOptions | ||
| 271 | - .filter(option => !this.dataForm.communicationArea.includes(option.id)) | ||
| 272 | - .map(option => option.id); | ||
| 273 | - }, | ||
| 274 | - goBack() { | ||
| 275 | - this.$emit("refresh"); | ||
| 276 | - }, | ||
| 277 | - init(id, isDetail) { | ||
| 278 | - this.dataForm.id = id || 0; | 124 | + init(row, isDetail) { |
| 125 | + this.dataForm.id = row ? row.id : ''; | ||
| 279 | this.visible = true; | 126 | this.visible = true; |
| 280 | this.isDetail = isDetail || false; | 127 | this.isDetail = isDetail || false; |
| 128 | + this.editType = row ? row.state : ''; | ||
| 281 | this.$nextTick(() => { | 129 | this.$nextTick(() => { |
| 282 | - this.$refs["elForm"].resetFields(); | ||
| 283 | - if (this.dataForm.id) { | 130 | + if(this.dataForm.id) { |
| 131 | + this.loading = true; | ||
| 284 | request({ | 132 | request({ |
| 285 | - url: "/Extend/BaseSpecialAction/" + this.dataForm.id, | ||
| 286 | - method: "get", | 133 | + url: `/Extend/BaseSpecialAction/${this.dataForm.id} `, |
| 134 | + method: "GET", | ||
| 287 | }).then((res) => { | 135 | }).then((res) => { |
| 288 | this.dataForm = res.data; | 136 | this.dataForm = res.data; |
| 289 | - if (!this.dataForm.annex) this.dataForm.annex = []; | ||
| 290 | - if (!this.dataForm.communicationArea) | ||
| 291 | - this.dataForm.communicationArea = []; | ||
| 292 | - }); | ||
| 293 | - } | ||
| 294 | - }); | ||
| 295 | - }, | ||
| 296 | - dataFormSubmit() { | ||
| 297 | - this.$refs["elForm"].validate((valid) => { | ||
| 298 | - if (valid) { | ||
| 299 | - if (!this.dataForm.id) { | ||
| 300 | - request({ | ||
| 301 | - url: `/Extend/BaseSpecialAction`, | ||
| 302 | - method: "post", | ||
| 303 | - data: this.dataForm, | ||
| 304 | - }).then((res) => { | ||
| 305 | - this.$message({ | ||
| 306 | - message: res.msg, | ||
| 307 | - type: "success", | ||
| 308 | - duration: 1000, | ||
| 309 | - onClose: () => { | ||
| 310 | - (this.visible = false), this.$emit("refresh", true); | ||
| 311 | - }, | ||
| 312 | - }); | 137 | + let AreaList = []; |
| 138 | + res.data.communicationArea && res.data.communicationArea.forEach(v => { | ||
| 139 | + AreaList.push(this.areaOptions.find(item => item.id == v).fullName); | ||
| 313 | }); | 140 | }); |
| 314 | - } else { | ||
| 315 | - request({ | ||
| 316 | - url: "/Extend/BaseSpecialAction/" + this.dataForm.id, | ||
| 317 | - method: "PUT", | ||
| 318 | - data: this.dataForm, | ||
| 319 | - }).then((res) => { | ||
| 320 | - this.$message({ | ||
| 321 | - message: res.msg, | ||
| 322 | - type: "success", | ||
| 323 | - duration: 1000, | ||
| 324 | - onClose: () => { | ||
| 325 | - this.visible = false; | ||
| 326 | - this.$emit("refresh", true); | ||
| 327 | - }, | ||
| 328 | - }); | 141 | + this.dataForm.communicationAreasList = AreaList; |
| 142 | + let OutList = []; | ||
| 143 | + res.data.communicationOut && res.data.communicationOut.forEach(v => { | ||
| 144 | + OutList.push(this.communicationOutOptions.find(item => item.id == v).fullName); | ||
| 329 | }); | 145 | }); |
| 330 | - } | 146 | + this.dataForm.communicationOutsList = OutList; |
| 147 | + this.dataForm.annex = res.data.annex == null ? [] : res.data.annex; | ||
| 148 | + this.loading = false; | ||
| 149 | + }) | ||
| 331 | } | 150 | } |
| 332 | }); | 151 | }); |
| 333 | }, | 152 | }, |
| 334 | }, | 153 | }, |
| 335 | }; | 154 | }; |
| 155 | + | ||
| 336 | </script> | 156 | </script> |
| 337 | -<style> | ||
| 338 | -/* .el-dialog__body{padding: 0px !important;} */ | 157 | +<style lang="scss" scoped> |
| 158 | +.baseSpecialAction { | ||
| 159 | + h4 { | ||
| 160 | + text-align: center; | ||
| 161 | + line-height: 40px; | ||
| 162 | + border-bottom: 1px solid #ccc; | ||
| 163 | + } | ||
| 164 | + .content { | ||
| 165 | + padding: 20px; | ||
| 166 | + border-bottom: 1px solid #ccc; | ||
| 167 | + } | ||
| 168 | + .tag-group { | ||
| 169 | + margin: 10px 0; | ||
| 170 | + } | ||
| 171 | + .title-tag { | ||
| 172 | + margin: 5px 8px; | ||
| 173 | + } | ||
| 174 | + :deep(.el-tag) { | ||
| 175 | + margin: 4px 4px; | ||
| 176 | + } | ||
| 177 | +} | ||
| 339 | </style> | 178 | </style> |
src/views/baseSpecialAction/index.vue
| @@ -34,8 +34,11 @@ | @@ -34,8 +34,11 @@ | ||
| 34 | <div class="NCC-common-layout-main NCC-flex-main"> | 34 | <div class="NCC-common-layout-main NCC-flex-main"> |
| 35 | <NCC-table v-loading="listLoading" :data="list"> | 35 | <NCC-table v-loading="listLoading" :data="list"> |
| 36 | <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> | 36 | <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> |
| 37 | - <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip/> | ||
| 38 | - | 37 | + <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip> |
| 38 | + <template slot-scope="scope"> | ||
| 39 | + <div :class="`${ncc.timeStartTime(scope.row.creatorTime) ? 'red-start' : ''}`">{{scope.row.title}}</div> | ||
| 40 | + </template> | ||
| 41 | + </el-table-column> | ||
| 39 | <el-table-column prop="creatorTime" label="发布时间" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip/> | 42 | <el-table-column prop="creatorTime" label="发布时间" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip/> |
| 40 | <el-table-column label="传达区域" prop="communicationArea" align="left" show-overflow-tooltip> | 43 | <el-table-column label="传达区域" prop="communicationArea" align="left" show-overflow-tooltip> |
| 41 | <template slot-scope="scope">{{ JSON.parse(scope.row.communicationArea) | dynamicText(communicationAreaOptions) }}</template> | 44 | <template slot-scope="scope">{{ JSON.parse(scope.row.communicationArea) | dynamicText(communicationAreaOptions) }}</template> |
| @@ -43,19 +46,21 @@ | @@ -43,19 +46,21 @@ | ||
| 43 | <el-table-column label="传达外协" prop="communicationOut" align="left" show-overflow-tooltip> | 46 | <el-table-column label="传达外协" prop="communicationOut" align="left" show-overflow-tooltip> |
| 44 | <template slot-scope="scope">{{ JSON.parse(scope.row.communicationOut) | dynamicText(communicationOutOptions) }}</template> | 47 | <template slot-scope="scope">{{ JSON.parse(scope.row.communicationOut) | dynamicText(communicationOutOptions) }}</template> |
| 45 | </el-table-column> | 48 | </el-table-column> |
| 49 | + <!-- <el-table-column label="内容" prop="content" align="left" show-overflow-tooltip /> --> | ||
| 46 | <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip width="100"> | 50 | <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip width="100"> |
| 47 | <template slot-scope="scope"> | 51 | <template slot-scope="scope"> |
| 48 | <el-tag :type="stateColor[`${scope.row.state}`]">{{scope.row.state}}</el-tag> | 52 | <el-tag :type="stateColor[`${scope.row.state}`]">{{scope.row.state}}</el-tag> |
| 49 | </template> | 53 | </template> |
| 50 | </el-table-column> | 54 | </el-table-column> |
| 51 | - <el-table-column prop="deadline" label="截止日期" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="200" align="left"> | 55 | + <el-table-column prop="deadline" label="截止时间" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="200" align="left"> |
| 52 | <template slot-scope="scope"> | 56 | <template slot-scope="scope"> |
| 53 | <el-tag v-if="scope.row.deadline" :type="`${ncc.timeDeadLine(scope.row.deadline)}`">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag> | 57 | <el-tag v-if="scope.row.deadline" :type="`${ncc.timeDeadLine(scope.row.deadline)}`">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag> |
| 54 | </template> | 58 | </template> |
| 55 | </el-table-column> | 59 | </el-table-column> |
| 56 | <!-- <el-table-column prop="creatorUserId" show-overflow-tooltip label="创建用户" align="left"/> --> | 60 | <!-- <el-table-column prop="creatorUserId" show-overflow-tooltip label="创建用户" align="left"/> --> |
| 57 | - <el-table-column label="操作" fixed="right" width="150"> | 61 | + <el-table-column label="操作" fixed="right" width="200"> |
| 58 | <template slot-scope="scope"> | 62 | <template slot-scope="scope"> |
| 63 | + <el-button type="text" @click="toFormDetail(scope.row)">行动详情</el-button> | ||
| 59 | <el-button type="text" @click="addOrUpdateHandle(scope.row)">修改</el-button> | 64 | <el-button type="text" @click="addOrUpdateHandle(scope.row)">修改</el-button> |
| 60 | <el-button type="text" @click="toDetail(scope.row)" v-if="scope.row.state == '已发布并部署' && isSHILevel">处理情况</el-button> | 65 | <el-button type="text" @click="toDetail(scope.row)" v-if="scope.row.state == '已发布并部署' && isSHILevel">处理情况</el-button> |
| 61 | </template> | 66 | </template> |
| @@ -67,6 +72,7 @@ | @@ -67,6 +72,7 @@ | ||
| 67 | <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> | 72 | <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> |
| 68 | <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/> | 73 | <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/> |
| 69 | <InfoForm v-if="InfoFormVisible" ref="InfoForm" @refresh="InfoFormVisible = false"/> | 74 | <InfoForm v-if="InfoFormVisible" ref="InfoForm" @refresh="InfoFormVisible = false"/> |
| 75 | + <FormPage v-if="FormPageVisible" ref="FormPage" @refresh="FormPageVisible = false"/> | ||
| 70 | </div> | 76 | </div> |
| 71 | </div> | 77 | </div> |
| 72 | </div> | 78 | </div> |
| @@ -76,8 +82,9 @@ import request from "@/utils/request"; | @@ -76,8 +82,9 @@ import request from "@/utils/request"; | ||
| 76 | import NCCForm from "./Form"; | 82 | import NCCForm from "./Form"; |
| 77 | import ExportBox from "./ExportBox"; | 83 | import ExportBox from "./ExportBox"; |
| 78 | import InfoForm from "./infoForm.vue"; | 84 | import InfoForm from "./infoForm.vue"; |
| 85 | +import FormPage from "./FormPage.vue"; | ||
| 79 | export default { | 86 | export default { |
| 80 | - components: { NCCForm, ExportBox, InfoForm }, | 87 | + components: { NCCForm, ExportBox, InfoForm, FormPage }, |
| 81 | data() { | 88 | data() { |
| 82 | return { | 89 | return { |
| 83 | query: { | 90 | query: { |
| @@ -96,6 +103,7 @@ export default { | @@ -96,6 +103,7 @@ export default { | ||
| 96 | formVisible: false, | 103 | formVisible: false, |
| 97 | exportBoxVisible: false, | 104 | exportBoxVisible: false, |
| 98 | InfoFormVisible: false, | 105 | InfoFormVisible: false, |
| 106 | + FormPageVisible: false, | ||
| 99 | communicationAreaOptions: [], | 107 | communicationAreaOptions: [], |
| 100 | communicationOutOptions: [], | 108 | communicationOutOptions: [], |
| 101 | stateColor: { | 109 | stateColor: { |
| @@ -169,6 +177,12 @@ export default { | @@ -169,6 +177,12 @@ export default { | ||
| 169 | this.$refs.InfoForm.init(row); | 177 | this.$refs.InfoForm.init(row); |
| 170 | }); | 178 | }); |
| 171 | }, | 179 | }, |
| 180 | + toFormDetail(row) { | ||
| 181 | + this.FormPageVisible = true; | ||
| 182 | + this.$nextTick(() => { | ||
| 183 | + this.$refs.FormPage.init(row); | ||
| 184 | + }); | ||
| 185 | + }, | ||
| 172 | exportData() { | 186 | exportData() { |
| 173 | this.exportBoxVisible = true; | 187 | this.exportBoxVisible = true; |
| 174 | this.$nextTick(() => { | 188 | this.$nextTick(() => { |
| @@ -223,4 +237,15 @@ export default { | @@ -223,4 +237,15 @@ export default { | ||
| 223 | overflow-y: scroll; | 237 | overflow-y: scroll; |
| 224 | } | 238 | } |
| 225 | } | 239 | } |
| 240 | +.red-start { | ||
| 241 | + &::before { | ||
| 242 | + content: ""; | ||
| 243 | + display: inline-block; | ||
| 244 | + margin-right: 4px; | ||
| 245 | + width: 8px; | ||
| 246 | + height: 8px; | ||
| 247 | + background: red; | ||
| 248 | + border-radius: 50%; | ||
| 249 | + } | ||
| 250 | +} | ||
| 226 | </style> | 251 | </style> |
src/views/baseSpecialAction/infoForm.vue
| @@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
| 15 | <div>{{ form.title }}</div> | 15 | <div>{{ form.title }}</div> |
| 16 | </el-col> | 16 | </el-col> |
| 17 | <el-col :span="10" class="form-item"> | 17 | <el-col :span="10" class="form-item"> |
| 18 | - <div class="label w-100">截止日期:</div> | 18 | + <div class="label w-100">截止时间:</div> |
| 19 | <div>{{ ncc.dateFormat(form.deadline) }}</div> | 19 | <div>{{ ncc.dateFormat(form.deadline) }}</div> |
| 20 | </el-col> | 20 | </el-col> |
| 21 | <el-col :span="2" class="form-item"> | 21 | <el-col :span="2" class="form-item"> |
src/views/baseSpecialhandle/index.vue
| @@ -27,27 +27,30 @@ | @@ -27,27 +27,30 @@ | ||
| 27 | </el-col> | 27 | </el-col> |
| 28 | </el-form> | 28 | </el-form> |
| 29 | <div class="NCC-common-search-box-right"> | 29 | <div class="NCC-common-search-box-right"> |
| 30 | - <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> | 30 | + <!-- <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button> --> |
| 31 | + <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> --> | ||
| 31 | </div> | 32 | </div> |
| 32 | </el-row> | 33 | </el-row> |
| 33 | <div class="NCC-common-layout-main NCC-flex-main"> | 34 | <div class="NCC-common-layout-main NCC-flex-main"> |
| 34 | <NCC-table v-loading="listLoading" :data="list"> | 35 | <NCC-table v-loading="listLoading" :data="list"> |
| 35 | - <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip /> | 36 | + <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip /> --> |
| 36 | <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip /> | 37 | <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip /> |
| 38 | + <!-- <el-table-column prop="content" label="内容" align="left" show-overflow-tooltip /> --> | ||
| 37 | <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip > | 39 | <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip > |
| 38 | <template slot-scope="scope"> | 40 | <template slot-scope="scope"> |
| 39 | <el-tag :type="scope.row.state == '已填写' ? 'success' : 'warning'">{{ scope.row.state }}</el-tag> | 41 | <el-tag :type="scope.row.state == '已填写' ? 'success' : 'warning'">{{ scope.row.state }}</el-tag> |
| 40 | </template> | 42 | </template> |
| 41 | </el-table-column> | 43 | </el-table-column> |
| 42 | - <el-table-column prop="deadline" label="截止日期" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip width="200"> | 44 | + <el-table-column prop="deadline" label="截止日期" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip> |
| 43 | <template slot-scope="scope"> | 45 | <template slot-scope="scope"> |
| 44 | <el-tag v-if="scope.row.deadline" :type="ncc.timeDeadLine(scope.row.deadline)">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag> | 46 | <el-tag v-if="scope.row.deadline" :type="ncc.timeDeadLine(scope.row.deadline)">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag> |
| 45 | </template> | 47 | </template> |
| 46 | </el-table-column> | 48 | </el-table-column> |
| 47 | - <el-table-column label="操作" fixed="right" width="130"> | 49 | + <el-table-column label="操作" fixed="right" width="200"> |
| 48 | <template slot-scope="scope"> | 50 | <template slot-scope="scope"> |
| 51 | + <el-button type="text" @click="toDetail(scope.row)">行动详情</el-button> | ||
| 49 | <el-button type="text" @click="toFillForm(scope.row)" :disabled="ncc.timeDeadLine(scope.row.deadline) == 'danger' && scope.row.state == '已填写'">{{scope.row.state == '已填写' ? '修改' : '处理'}}</el-button> | 52 | <el-button type="text" @click="toFillForm(scope.row)" :disabled="ncc.timeDeadLine(scope.row.deadline) == 'danger' && scope.row.state == '已填写'">{{scope.row.state == '已填写' ? '修改' : '处理'}}</el-button> |
| 50 | - <el-button type="text" @click="toFillForm(scope.row, true)" :disabled="scope.row.state != '已填写'">详情</el-button> | 53 | + <el-button type="text" @click="toFillForm(scope.row, true)" :disabled="scope.row.state != '已填写'" v-if="isSHILevel">处理情况</el-button> |
| 51 | </template> | 54 | </template> |
| 52 | </el-table-column> | 55 | </el-table-column> |
| 53 | </NCC-table> | 56 | </NCC-table> |
| @@ -58,6 +61,7 @@ | @@ -58,6 +61,7 @@ | ||
| 58 | </div> | 61 | </div> |
| 59 | </div> | 62 | </div> |
| 60 | <NCCForm v-if="dialogVisible" ref="NCCForm" @refreshDataList="refresh" /> | 63 | <NCCForm v-if="dialogVisible" ref="NCCForm" @refreshDataList="refresh" /> |
| 64 | + <FormPage v-if="FormPageVisible" ref="FormPage" @refresh="FormPageVisible = false"/> | ||
| 61 | <!-- <el-dialog title="专项行动处理" :visible.sync="dialogVisible" fullscreen :modal="false"> | 65 | <!-- <el-dialog title="专项行动处理" :visible.sync="dialogVisible" fullscreen :modal="false"> |
| 62 | <iframe | 66 | <iframe |
| 63 | :src="nestedPageUrl" | 67 | :src="nestedPageUrl" |
| @@ -72,8 +76,10 @@ | @@ -72,8 +76,10 @@ | ||
| 72 | <script> | 76 | <script> |
| 73 | import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form' | 77 | import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form' |
| 74 | import request from "@/utils/request"; | 78 | import request from "@/utils/request"; |
| 79 | +import FormPage from "@/views/baseSpecialAction/FormPage.vue"; | ||
| 80 | + | ||
| 75 | export default { | 81 | export default { |
| 76 | - components: { NCCForm }, | 82 | + components: { NCCForm, FormPage }, |
| 77 | data() { | 83 | data() { |
| 78 | return { | 84 | return { |
| 79 | query: { | 85 | query: { |
| @@ -95,6 +101,7 @@ export default { | @@ -95,6 +101,7 @@ export default { | ||
| 95 | nestedPageUrl: '', | 101 | nestedPageUrl: '', |
| 96 | viewportHeight: 0, | 102 | viewportHeight: 0, |
| 97 | taskId: '', | 103 | taskId: '', |
| 104 | + FormPageVisible: false, | ||
| 98 | }; | 105 | }; |
| 99 | }, | 106 | }, |
| 100 | created() { | 107 | created() { |
| @@ -142,6 +149,13 @@ export default { | @@ -142,6 +149,13 @@ export default { | ||
| 142 | this.listLoading = false; | 149 | this.listLoading = false; |
| 143 | }); | 150 | }); |
| 144 | }, | 151 | }, |
| 152 | + toDetail(row) { | ||
| 153 | + this.FormPageVisible = true; | ||
| 154 | + this.$nextTick(() => { | ||
| 155 | + row.id = row.specialActionId; | ||
| 156 | + this.$refs.FormPage.init(row); | ||
| 157 | + }); | ||
| 158 | + }, | ||
| 145 | toFillForm(row, isDetail) { | 159 | toFillForm(row, isDetail) { |
| 146 | this.dialogVisible = true; | 160 | this.dialogVisible = true; |
| 147 | var Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改 | 161 | var Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改 |
src/views/baseSystemInfo/DetailForm.vue
| @@ -180,6 +180,11 @@ | @@ -180,6 +180,11 @@ | ||
| 180 | <el-table-column show-overflow-tooltip prop="companyStr" label="运营主体"></el-table-column> | 180 | <el-table-column show-overflow-tooltip prop="companyStr" label="运营主体"></el-table-column> |
| 181 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" /> | 181 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" /> |
| 182 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词"></el-table-column> | 182 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词"></el-table-column> |
| 183 | + <el-table-column label="操作" fixed="right" width="100"> | ||
| 184 | + <template slot-scope="scope"> | ||
| 185 | + <el-button type="text" @click="addOrUpdateHandle(scope.row, true)">详情</el-button> | ||
| 186 | + </template> | ||
| 187 | + </el-table-column> | ||
| 183 | </el-table> | 188 | </el-table> |
| 184 | </el-tab-pane> | 189 | </el-tab-pane> |
| 185 | <el-tab-pane label="网信执法记录" name="4"> | 190 | <el-tab-pane label="网信执法记录" name="4"> |
| @@ -196,6 +201,11 @@ | @@ -196,6 +201,11 @@ | ||
| 196 | <el-tag v-if="scope.row.state" :type="ncc.getStateTagType(scope.row.state, stateOptions)">{{ scope.row.state | dynamicTextUP(stateOptions) }}</el-tag> | 201 | <el-tag v-if="scope.row.state" :type="ncc.getStateTagType(scope.row.state, stateOptions)">{{ scope.row.state | dynamicTextUP(stateOptions) }}</el-tag> |
| 197 | </template> | 202 | </template> |
| 198 | </el-table-column> | 203 | </el-table-column> |
| 204 | + <el-table-column label="操作" fixed="right" width="100"> | ||
| 205 | + <template slot-scope="scope"> | ||
| 206 | + <el-button type="text" @click="addOrUpdateHandle(scope.row, true)">详情</el-button> | ||
| 207 | + </template> | ||
| 208 | + </el-table-column> | ||
| 199 | </el-table> | 209 | </el-table> |
| 200 | </el-tab-pane> | 210 | </el-tab-pane> |
| 201 | <el-tab-pane label="数据日志" name="5"> | 211 | <el-tab-pane label="数据日志" name="5"> |
| @@ -229,6 +239,9 @@ | @@ -229,6 +239,9 @@ | ||
| 229 | </el-tab-pane> | 239 | </el-tab-pane> |
| 230 | </el-tabs> | 240 | </el-tabs> |
| 231 | </el-row> | 241 | </el-row> |
| 242 | + <!-- 案件处理 --> | ||
| 243 | + <HandForm v-if="HandFormVisible" ref="HandForm" @refresh="(val) => {taskRefresh('HandFormVisible', val)}" /> | ||
| 244 | + <ReportForm v-if="ReportFormVisible" ref="ReportForm" @refresh="(val) => {taskRefresh('ReportFormVisible', val)}" /> | ||
| 232 | <span slot="footer" class="dialog-footer"> | 245 | <span slot="footer" class="dialog-footer"> |
| 233 | <el-button @click="visible = false">取 消</el-button> | 246 | <el-button @click="visible = false">取 消</el-button> |
| 234 | </span> | 247 | </span> |
| @@ -238,8 +251,10 @@ | @@ -238,8 +251,10 @@ | ||
| 238 | import request from "@/utils/request"; | 251 | import request from "@/utils/request"; |
| 239 | import { getSystemDetail, getUpdataRecord } from "@/api/baseData/info"; | 252 | import { getSystemDetail, getUpdataRecord } from "@/api/baseData/info"; |
| 240 | import { getCompanyInfoById } from "@/api/baseData/company"; | 253 | import { getCompanyInfoById } from "@/api/baseData/company"; |
| 254 | +import HandForm from '@/views/baseCaseHandling/Form.vue' // 案件处理 | ||
| 255 | +import ReportForm from '@/views/baseInspectionReport/Form.vue' // 案件处理 | ||
| 241 | export default { | 256 | export default { |
| 242 | - components: {}, | 257 | + components: {HandForm, ReportForm}, |
| 243 | props: [], | 258 | props: [], |
| 244 | data() { | 259 | data() { |
| 245 | return { | 260 | return { |
| @@ -282,6 +297,8 @@ export default { | @@ -282,6 +297,8 @@ export default { | ||
| 282 | record_total: '', | 297 | record_total: '', |
| 283 | questionTypeOptions : [], | 298 | questionTypeOptions : [], |
| 284 | stateOptions: [], | 299 | stateOptions: [], |
| 300 | + HandFormVisible: false, | ||
| 301 | + ReportFormVisible: false, | ||
| 285 | }; | 302 | }; |
| 286 | }, | 303 | }, |
| 287 | computed: { | 304 | computed: { |
| @@ -412,6 +429,31 @@ export default { | @@ -412,6 +429,31 @@ export default { | ||
| 412 | this.queryList.pageIndex += 1; | 429 | this.queryList.pageIndex += 1; |
| 413 | }); | 430 | }); |
| 414 | }, | 431 | }, |
| 432 | + | ||
| 433 | + addOrUpdateHandle(row, isDetail) { | ||
| 434 | + switch (this.activeName) { | ||
| 435 | + case "3": | ||
| 436 | + this.ReportFormVisible = true; | ||
| 437 | + this.$nextTick(() => { | ||
| 438 | + this.$refs.ReportForm.init(row.id, true); | ||
| 439 | + }); | ||
| 440 | + break; | ||
| 441 | + case "4": | ||
| 442 | + this.HandFormVisible = true; | ||
| 443 | + this.$nextTick(() => { | ||
| 444 | + this.$refs.HandForm.init(row.id, true); | ||
| 445 | + }); | ||
| 446 | + break; | ||
| 447 | + | ||
| 448 | + default: | ||
| 449 | + break; | ||
| 450 | + } | ||
| 451 | + }, | ||
| 452 | + | ||
| 453 | + taskRefresh(key ,isrRefresh) { | ||
| 454 | + this[`${key}`] = false; | ||
| 455 | + if (isrRefresh) this.reset(); | ||
| 456 | + }, | ||
| 415 | 457 | ||
| 416 | goBack() { | 458 | goBack() { |
| 417 | this.$emit("refresh"); | 459 | this.$emit("refresh"); |
src/views/baseSystemInfo/index.vue
| @@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
| 79 | </el-form> | 79 | </el-form> |
| 80 | <div class="NCC-common-search-box-right"> | 80 | <div class="NCC-common-search-box-right"> |
| 81 | <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> --> | 81 | <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> --> |
| 82 | - <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="toExport">导出</el-button> --> | 82 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="toExport">导出</el-button> |
| 83 | </div> | 83 | </div> |
| 84 | </el-row> | 84 | </el-row> |
| 85 | <div class="NCC-common-layout-main NCC-flex-main"> | 85 | <div class="NCC-common-layout-main NCC-flex-main"> |
| @@ -126,13 +126,13 @@ | @@ -126,13 +126,13 @@ | ||
| 126 | <el-button size="mini" type="text" @click="toDetail(scope.row)">查看</el-button> | 126 | <el-button size="mini" type="text" @click="toDetail(scope.row)">查看</el-button> |
| 127 | <el-button size="mini" type="text" @click="toChangeArea(scope.row)" >归属地变更</el-button> | 127 | <el-button size="mini" type="text" @click="toChangeArea(scope.row)" >归属地变更</el-button> |
| 128 | <el-button size="mini" type="text" @click="toInspection(scope.row)" >上报</el-button> | 128 | <el-button size="mini" type="text" @click="toInspection(scope.row)" >上报</el-button> |
| 129 | - <!-- <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button> --> | 129 | + <!-- <el-button type="text" style="color: red;" @click="delNew(scope.row)" v-if="isSHILevel">删除</el-button> --> |
| 130 | </template> | 130 | </template> |
| 131 | </el-table-column> | 131 | </el-table-column> |
| 132 | </NCC-table> | 132 | </NCC-table> |
| 133 | <pagination | 133 | <pagination |
| 134 | :total="total" | 134 | :total="total" |
| 135 | - :page.sync="listQuery.pageIndex" | 135 | + :page.sync="listQuery.currentPage" |
| 136 | :limit.sync="listQuery.pageSize" | 136 | :limit.sync="listQuery.pageSize" |
| 137 | @pagination="initList" | 137 | @pagination="initList" |
| 138 | /> | 138 | /> |
| @@ -222,7 +222,7 @@ export default { | @@ -222,7 +222,7 @@ export default { | ||
| 222 | principalPhone: "", | 222 | principalPhone: "", |
| 223 | }, | 223 | }, |
| 224 | listQuery: { | 224 | listQuery: { |
| 225 | - pageIndex: 1, | 225 | + currentPage: 1, |
| 226 | pageSize: 10, | 226 | pageSize: 10, |
| 227 | sort: "desc", | 227 | sort: "desc", |
| 228 | sidx: "", | 228 | sidx: "", |
| @@ -269,12 +269,19 @@ export default { | @@ -269,12 +269,19 @@ export default { | ||
| 269 | ], | 269 | ], |
| 270 | }; | 270 | }; |
| 271 | }, | 271 | }, |
| 272 | + | ||
| 272 | created() { | 273 | created() { |
| 273 | this.initSystemTypeList(); | 274 | this.initSystemTypeList(); |
| 274 | this.initAreaTypeList(); | 275 | this.initAreaTypeList(); |
| 275 | this.initList(); | 276 | this.initList(); |
| 276 | }, | 277 | }, |
| 277 | mounted() {}, | 278 | mounted() {}, |
| 279 | + computed: { | ||
| 280 | + isSHILevel() { | ||
| 281 | + // 判断角色是否为‘市级办公室’ | ||
| 282 | + return this.$store.state.user.islader; | ||
| 283 | + }, | ||
| 284 | + }, | ||
| 278 | watch: { | 285 | watch: { |
| 279 | $route: { | 286 | $route: { |
| 280 | handler: function (route) { | 287 | handler: function (route) { |
| @@ -304,7 +311,7 @@ export default { | @@ -304,7 +311,7 @@ export default { | ||
| 304 | }, | 311 | }, |
| 305 | search() { | 312 | search() { |
| 306 | this.listQuery = { | 313 | this.listQuery = { |
| 307 | - pageIndex: 1, | 314 | + currentPage: 1, |
| 308 | pageSize: 10, | 315 | pageSize: 10, |
| 309 | sort: "desc", | 316 | sort: "desc", |
| 310 | sidx: "", | 317 | sidx: "", |
src/views/homePage/components/Menu.vue
| @@ -85,7 +85,7 @@ export default { | @@ -85,7 +85,7 @@ export default { | ||
| 85 | color: #fff; | 85 | color: #fff; |
| 86 | padding: 40px 0px !important; | 86 | padding: 40px 0px !important; |
| 87 | &.is-active { | 87 | &.is-active { |
| 88 | - color: #02efff; | 88 | + color: #409EFF; |
| 89 | background-color: #dfdada34; | 89 | background-color: #dfdada34; |
| 90 | } | 90 | } |
| 91 | span { | 91 | span { |
src/views/overView/Overview.vue
| @@ -119,7 +119,7 @@ | @@ -119,7 +119,7 @@ | ||
| 119 | <template slot-scope="scope"> | 119 | <template slot-scope="scope"> |
| 120 | <el-button type="text" @click="checkDetail(scope.row, true)">详情</el-button> | 120 | <el-button type="text" @click="checkDetail(scope.row, true)">详情</el-button> |
| 121 | <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button> | 121 | <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button> |
| 122 | - <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button> | 122 | + <el-button type="text" style="color: red;" @click="delNew(scope.row)" v-if="isSHILevel">删除</el-button> |
| 123 | </template> | 123 | </template> |
| 124 | </el-table-column> | 124 | </el-table-column> |
| 125 | </el-table> | 125 | </el-table> |
| @@ -334,7 +334,7 @@ export default { | @@ -334,7 +334,7 @@ export default { | ||
| 334 | let openObject = this.getDialog(type); | 334 | let openObject = this.getDialog(type); |
| 335 | this[openObject.visible] = true; | 335 | this[openObject.visible] = true; |
| 336 | this.$nextTick(() => { | 336 | this.$nextTick(() => { |
| 337 | - this.$refs[`${openObject.node}`].init(row.taskCorrelationId, true, openObject.isDetail, 1); | 337 | + this.$refs[`${openObject.node}`].init(row.taskCorrelationId, openObject.isDetail, 1); |
| 338 | }) | 338 | }) |
| 339 | } | 339 | } |
| 340 | }, | 340 | }, |