From a19b20afeacf84c1c743c76b5018bcfbddac2270 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 15 Nov 2024 09:10:12 +0800
Subject: [PATCH] fix: 国控站
---
src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue | 393 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 301 insertions(+), 92 deletions(-)
diff --git a/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue b/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
index 3a5489f..7430bde 100644
--- a/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
+++ b/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
@@ -1,15 +1,36 @@
<template>
<div>
- <el-dialog :title="title" :visible.sync="visible" top="30px" width="900px" center :before-close="close">
- <div slot="title" class="titBox">
+ <el-dialog
+ :title="title"
+ :visible.sync="visible"
+ top="30px"
+ width="900px"
+ center
+ :before-close="close"
+ >
+ <div
+ slot="title"
+ class="titBox"
+ >
<div>{{ parentFormData.allocationNum }}</div>
<div>{{ title }}</div>
</div>
<div>
- <el-form ref="ruleForm" :disabled="pageState==='detail'" label-width="100px" :model="formData" class="demo-form-inline" :rules="rules">
+ <el-form
+ ref="ruleForm"
+ :disabled="pageState === 'detail'"
+ label-width="120px"
+ :model="formData"
+ class="demo-form-inline"
+ :rules="rules"
+ >
<el-row>
<el-col :span="12">
- <el-form-item label="���������������" prop="escalationTime" class="span">
+ <el-form-item
+ label="���������������"
+ prop="escalationTime"
+ class="span"
+ >
<el-date-picker
v-model="formData.escalationTime"
value-format="yyyy-MM-dd"
@@ -20,15 +41,44 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="���������������" prop="pollutePosition" class="span">
- <el-input v-model="formData.pollutePosition" type="text" placeholder="���������" size="small" />
+ <el-form-item
+ label="���������������"
+ prop="pollutePosition"
+ class="span"
+ >
+ <!-- el-icon-map-location -->
+ <el-input
+ v-model="formData.pollutePosition"
+ type="text"
+ placeholder="���������"
+ size="small"
+ >
+ <template
+ slot="append"
+ >
+ <div
+ style="line-height: 2;"
+ @click="toMap()"
+ >
+ ������
+ </div>
+ </template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="���������������" prop="unitId" class="span">
- <el-select v-model="formData.unitId" placeholder="���������" size="small">
+ <el-form-item
+ label="���������������"
+ prop="unitId"
+ class="span"
+ >
+ <el-select
+ v-model="formData.unitId"
+ placeholder="���������"
+ size="small"
+ >
<el-option
v-for="item in unitList"
:key="item.unitId"
@@ -39,8 +89,16 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="���������������" prop="polluteType" class="span">
- <el-select v-model="formData.polluteType" placeholder="���������" size="small">
+ <el-form-item
+ label="���������������"
+ prop="polluteType"
+ class="span"
+ >
+ <el-select
+ v-model="formData.polluteType"
+ placeholder="���������"
+ size="small"
+ >
<el-option
v-for="item in polluteList"
:key="item.dataKey"
@@ -53,8 +111,17 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="���������������" prop="changeType" class="span">
- <el-select v-model="formData.changeType" placeholder="���������" size="small" @change="changeEnumList">
+ <el-form-item
+ label="���������������"
+ prop="changeType"
+ class="span"
+ >
+ <el-select
+ v-model="formData.changeType"
+ placeholder="���������"
+ size="small"
+ @change="changeEnumList"
+ >
<el-option
v-for="item in Dic.changeEnum"
:key="item.value"
@@ -65,16 +132,33 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="���������������" prop="changeDay" class="span">
- <el-input-number v-model="formData.changeDay" :disabled="formData.changeType===1" :min="0" label="���������" />
+ <el-form-item
+ label="���������������"
+ prop="changeDay"
+ class="span"
+ >
+ <el-input-number
+ v-model="formData.changeDay"
+ :disabled="formData.changeType === 1"
+ :min="0"
+ label="���������"
+ />
<!-- <el-input v-model.number="formData.changeDay" :disabled="formData.changeType===1" type="text" placeholder="���������" size="small" /> -->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="���������������" prop="escalationUnitId" class="span">
- <el-select v-model="formData.escalationUnitId" placeholder="���������" size="small">
+ <el-form-item
+ label="���������������"
+ prop="escalationUnitId"
+ class="span"
+ >
+ <el-select
+ v-model="formData.escalationUnitId"
+ placeholder="���������"
+ size="small"
+ >
<el-option
v-for="item in unitList"
:key="item.unitId"
@@ -85,59 +169,150 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="������������" prop="escalationName" class="span">
- <el-input v-model="formData.escalationName" type="text" placeholder="���������" size="small" />
+ <el-form-item
+ label="������������"
+ prop="escalationName"
+ class="span"
+ >
+ <el-input
+ v-model="formData.escalationName"
+ type="text"
+ placeholder="���������"
+ size="small"
+ />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item label="���������������" prop="investigationType" class="span">
- <el-radio-group v-model="formData.investigationType" size="small">
- <el-radio v-for="(item) in Dic.investigationEnum" :key="item.value" :label="item.value">{{ item.name }}</el-radio>
+ <el-form-item
+ label="���������������"
+ prop="investigationType"
+ class="span"
+ >
+ <el-radio-group
+ v-model="formData.investigationType"
+ size="small"
+ >
+ <el-radio
+ v-for="item in Dic.investigationEnum"
+ :key="item.value"
+ :label="item.value"
+ >
+ {{ item.name }}
+ </el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
- <el-form-item label="���������������" prop="problemDescribe" class="span">
- <el-input v-model="formData.problemDescribe" type="textarea" :rows="4" placeholder="���������������" />
+ <el-col :span="24">
+ <el-form-item
+ label="���������������"
+ prop="keyPointlist"
+ class="span"
+ >
+ <el-radio-group
+ v-model="formData.keyPoint"
+ size="small"
+ >
+ <el-radio
+ v-for="item in Dic.emphasisEnum"
+ :key="item.value"
+ :label="item.value"
+ >
+ {{ item.name }}
+ </el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-form-item
+ label="���������������"
+ prop="problemDescribe"
+ class="span"
+ >
+ <el-input
+ v-model="formData.problemDescribe"
+ type="textarea"
+ :rows="4"
+ placeholder="���������������"
+ />
</el-form-item>
</el-row>
<el-row>
<el-form-item label="���������">
<div>
- <div v-if="pageState==='edit'">
- <div v-for="(file,index) in fileBaseListCover" :key="file.fileId+index" class="block">
+ <div v-if="pageState === 'edit'">
+ <div
+ v-for="(file, index) in fileBaseListCover"
+ :key="file.fileId + index"
+ class="block"
+ >
<el-image
- v-if="file.fileType ===1"
+ v-if="file.fileType === 1"
style="width: 100px; height: 100px"
:src="file.url"
- :preview-src-list="getPreviewImages(file.fileId,fileBaseList)"
+ :preview-src-list="
+ getPreviewImages(file.fileId, fileBaseList)
+ "
:initial-index="index"
/>
- <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)">
+ <video
+ v-else
+ :src="file.url"
+ style="width: 100px; height: 100px"
+ @click="openVideo(file)"
+ >
������������������������ video ���������
</video>
</div>
</div>
</div>
- <uploadFile v-if="pageState!=='detail'" :upload-url="uploadTermExcelUrl" :sys-code="sysCode" />
+ <uploadFile
+ v-if="pageState !== 'detail'"
+ :upload-url="uploadTermExcelUrl"
+ :sys-code="sysCode"
+ />
</el-form-item>
</el-row>
</el-form>
</div>
- <div slot="footer" class="dialog-footer">
- <el-button @click="close">������</el-button>
- <el-button v-if="pageState!=='detail'" type="info" @click="handleSubmit('9')">������</el-button>
- <el-button v-if="pageState!=='detail'" type="primary" @click="handleSubmit('10')">������</el-button>
+ <div
+ slot="footer"
+ class="dialog-footer"
+ >
+ <el-button @click="close">
+ ������
+ </el-button>
+ <el-button
+ v-if="pageState !== 'detail'"
+ type="info"
+ @click="handleSubmit('9')"
+ >
+ ������
+ </el-button>
+ <el-button
+ v-if="pageState !== 'detail'"
+ type="primary"
+ @click="handleSubmit('10')"
+ >
+ ������
+ </el-button>
</div>
</el-dialog>
- <el-dialog :visible.sync="videoVisible" width="600px" :modal-append-to-body="false" :destroy-on-close="true" @close="handleCancel">
- <div style="text-align: center;">
+ <el-dialog
+ :visible.sync="videoVisible"
+ width="600px"
+ :modal-append-to-body="false"
+ :destroy-on-close="true"
+ @close="handleCancel"
+ >
+ <div style="text-align: center">
<video
ref="video"
- style="width: 300px;height: 500px"
+ style="width: 300px; height: 500px"
:src="dialogImageUrl"
controls
autoplay
@@ -157,17 +332,25 @@
props: {
title: { type: String, default: '' },
visible: { type: Boolean, required: true },
+ isToMap: { type: Boolean, required: true, default: false },
pageState: { type: String, required: true, default: 'add' },
parentFormData: { type: Object, default: () => {} }
},
- data() {
+ data () {
return {
videoVisible: false,
formData: {
+ unitId: '',
+ escalationUnitId: '',
+ changeType: '',
+ polluteType: '',
+ escalationTime: new Date(),
fileBaseList: [],
escalationName: '',
+ keyPoint: 0,
changeDay: 0,
- investigationType: 1
+ investigationType: 1,
+ pollutePosition: ''
},
fileBaseList: [],
fileBaseListCover: [],
@@ -192,9 +375,7 @@
changeType: [
{ required: true, message: '���������������������', trigger: 'change' }
],
- changeDay: [
- { required: true, message: '���������������', trigger: 'blur' }
- ],
+ changeDay: [{ required: true, message: '���������������', trigger: 'blur' }],
escalationUnitId: [
{ required: true, message: '���������������������', trigger: 'change' }
],
@@ -211,23 +392,31 @@
}
},
computed: {
- uploadTermExcelUrl() {
+ uploadTermExcelUrl () {
return `${requestObj.baseUrl}/file/upload`
}
},
watch: {
- 'pageState': {
- handler(newVal) {
+ pageState: {
+ handler (newVal) {
if (this.pageState === 'edit') {
- if (this.parentFormData.fileBaseList && this.parentFormData.fileBaseList.length > 0) {
+ if (
+ this.parentFormData.fileBaseList &&
+ this.parentFormData.fileBaseList.length > 0
+ ) {
this.parentFormData.fileBaseList.forEach(item => {
if (item.fileType === 1) {
- this.fileBaseList.push(`${requestObj.baseUrl}file/preview/${item.fileId}`) // ������
+ this.fileBaseList.push(
+ `${requestObj.baseUrl}file/preview/${item.fileId}`
+ ) // ������
}
// const srcApi = item.fileType === 1 ? api + 'preview/' : api + 'preview/cover/'
// this.fileBaseList.push(`${requestObj.baseUrl}file/preview/${item.fileId}`) // ������
this.fileBaseListCover.push({
- url: item.fileType === 1 ? `${requestObj.baseUrl}file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}file/preview/${item.fileId}`,
+ url:
+ item.fileType === 1
+ ? `${requestObj.baseUrl}file/preview/cover/${item.fileId}`
+ : `${requestObj.baseUrl}file/preview/${item.fileId}`,
fileType: item.fileType,
fileId: item.fileId,
fileName: item.fileName
@@ -241,22 +430,15 @@
immediate: true
}
},
- created() {
- console.log('oldValue', this.parentFormData)
- if (!(JSON.stringify(this.parentFormData) === '{}')) {
- this.formData = this.parentFormData
- this.formData.polluteType = String(this.parentFormData.polluteType)
- } else {
- const name = this.$store.state.user.name
- this.formData.escalationName = name
- }
-
+ async created () {
this.getUnitList()
- this.getContaminateList()
+
+ console.log('oldValue', this.parentFormData)
+
bus.$on('changeFileAfterList', (type, fileList) => {
this.formData.fileBaseList = []
if (fileList.length > 0) {
- fileList.map((item) => {
+ fileList.map(item => {
if (item.response) {
console.log('item.response.data', item.response.data)
this.formData.fileBaseList.push(item.response.data)
@@ -266,7 +448,13 @@
})
},
methods: {
- getPreviewImages(index, list) {
+ toMap () {
+ this.$emit('update:isToMap', true)
+ },
+ changeKeyPoint (data) {
+ this.$forceUpdate()
+ },
+ getPreviewImages (index, list) {
let startIndex = 0
const chechList = _.cloneDeep(list)
chechList.forEach((item, i) => {
@@ -285,44 +473,57 @@
var remain = imgList.splice(0, startIndex)
return start.concat(remain)
},
- openVideo(item) {
+ openVideo (item) {
console.log('item', item)
this.dialogImageUrl = item.url
this.videoVisible = true
},
- handleCancel() {
+ handleCancel () {
this.dialogImageUrl = ''
this.videoVisible = false
},
- changeEnumList(val) {
+ changeEnumList (val) {
if (val === 1) {
this.formData.changeDay = 0
}
},
// ������������������list
- getUnitList() {
+ getUnitList () {
this.$request({
url: '/allocation/unit',
method: 'get'
- }).then((res) => {
+ }).then(res => {
this.unitList = res.data
+ this.getContaminateList()
})
},
- getContaminateList() {
+ getContaminateList () {
this.$request({
url: '/allocation/contaminate',
method: 'get'
- }).then((res) => {
+ }).then(res => {
this.polluteList = res.data
+ if (!(JSON.stringify(this.parentFormData) === '{}')) {
+ this.formData = this.parentFormData
+ this.formData.polluteType = String(this.parentFormData.polluteType)
+ this.formData.keyPoint = Number(this.parentFormData.keyPoint)
+ } else {
+ const name = this.$store.state.user.name
+ this.formData.escalationName = name
+ this.formData.changeType = this.Dic.changeEnum[0].value
+ this.formData.unitId = this.unitList[0].unitId
+ this.formData.escalationUnitId = this.unitList[0].unitId
+ this.formData.polluteType = this.polluteList[0].dataKey
+ }
})
},
- close() {
- this.$nextTick(function() {
+ close () {
+ this.$nextTick(function () {
this.$refs.ruleForm.resetFields()
})
this.$emit('update:visible', false)
},
- handleSubmit(val) {
+ handleSubmit (val) {
console.log('this.formData', this.formData)
if (this.fileBaseListCover && this.fileBaseListCover.length > 0) {
this.fileBaseListCover.forEach(item => {
@@ -333,7 +534,8 @@
})
}
this.formData.state = val
- this.$refs.ruleForm.validate((valid) => {
+
+ this.$refs.ruleForm.validate(valid => {
if (valid) {
// this.formData.fileBaseList = [...this.parentFormData.fileBaseList, this.formData.fileBaseList]
this.$emit('handleSubmit', this.formData)
@@ -347,47 +549,54 @@
</script>
<style lang="scss" scoped>
-.titBox{
+.titBox {
position: relative;
font-size: 18px;
- div:first-child{
+ div:first-child {
position: absolute;
left: 10px;
}
- div{
+ div {
display: inline-block;
}
}
.block {
- display: inline-block !important;
- margin-right: 10px;
+ display: inline-block !important;
+ margin-right: 10px;
}
.textBox {
- display: flex;
- justify-content: space-between;
- margin-left: 15px;
+ display: flex;
+ justify-content: space-between;
+ margin-left: 15px;
}
-.el-dialog__body>div {
- border-bottom: 1px dashed rgba(187, 187, 187, 1);
+.el-dialog__body > div {
+ border-bottom: 1px dashed rgba(187, 187, 187, 1);
}
-.span{
+.span {
/deep/.el-form-item__content {
-
- div {
- width: 100%;
- }
+ div {
+ width: 100%;
+ }
}
}
.textare {
- /deep/.el-form-item__content {
- width: 800px;
+ /deep/.el-form-item__content {
+ width: 800px;
- div {
- width: 100%;
- }
+ div {
+ width: 100%;
}
}
-
+}
+/deep/.el-checkbox__inner {
+ border-radius: 50%;
+}
+/deep/.el-input-group__append {
+ width: 60px !important;
+ padding: 0;
+ text-align: center;
+ cursor: pointer;
+}
</style>
--
Gitblit v1.8.0