From ec38056995178c94bea0689d6c6fd64ed5da8014 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 27 Dec 2023 15:38:28 +0800
Subject: [PATCH] fix:日期限制取消
---
src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue | 226 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 130 insertions(+), 96 deletions(-)
diff --git a/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue b/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
index e8784e7..8781c41 100644
--- a/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
+++ b/src/views/toCarryOutLegislativeReforms/components/newWorkOrder.vue
@@ -1,18 +1,16 @@
<template>
<div>
- <el-dialog :title="title" :visible.sync="visible" width="900px" center :before-close="close">
+ <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-date-picker
- v-model="formData.escalationTime"
- value-format="yyyy-MM-dd"
- size="small"
- type="date"
- placeholder="������������"
- />
+ <el-date-picker v-model="formData.escalationTime" value-format="yyyy-MM-dd" size="small" type="date" placeholder="������������" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -25,24 +23,14 @@
<el-col :span="12">
<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"
- :label="item.unitName"
- :value="item.unitId"
- />
+ <el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
</el-select>
</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-option
- v-for="item in polluteList"
- :key="item.dataKey"
- :label="item.dataValue"
- :value="item.dataKey"
- />
+ <el-option v-for="item in polluteList" :key="item.dataKey" :label="item.dataValue" :value="item.dataKey" />
</el-select>
</el-form-item>
</el-col>
@@ -51,18 +39,13 @@
<el-col :span="12">
<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"
- :label="item.name"
- :value="item.value"
- />
+ <el-option v-for="item in Dic.changeEnum" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</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-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>
@@ -71,12 +54,7 @@
<el-col :span="12">
<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"
- :label="item.unitName"
- :value="item.unitId"
- />
+ <el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
</el-select>
</el-form-item>
</el-col>
@@ -90,7 +68,16 @@
<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-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-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>
@@ -103,41 +90,31 @@
<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">
- <el-image
- v-if="file.fileType ===1"
- style="width: 100px; height: 100px"
- :src="file.url"
- :preview-src-list="fileBaseList"
- :initial-index="index"
- />
+ <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" style="width: 100px; height: 100px" :src="file.url" :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 ���������
</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>
+ <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;">
- <video
- ref="video"
- style="width: 300px;height: 500px"
- :src="dialogImageUrl"
- controls
- autoplay
- />
+ <div style="text-align: center">
+ <video ref="video" style="width: 300px; height: 500px" :src="dialogImageUrl" controls autoplay />
</div>
</el-dialog>
</div>
@@ -147,6 +124,7 @@
import uploadFile from '@/components/UploadExcel/index'
import bus from '@/Bus'
import requestObj from '@/utils/request'
+import _ from 'lodash'
export default {
components: { uploadFile },
props: {
@@ -159,8 +137,14 @@
return {
videoVisible: false,
formData: {
+ unitId: '',
+ escalationUnitId: '',
+ changeType: '',
+ polluteType: '',
+ escalationTime: new Date(),
fileBaseList: [],
escalationName: '',
+ keyPoint: 0,
changeDay: 0,
investigationType: 1
},
@@ -187,9 +171,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,15 +193,26 @@
}
},
watch: {
- 'pageState': {
+ 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}`
+ ) // ������
+ }
// const srcApi = item.fileType === 1 ? api + 'preview/' : api + 'preview/cover/'
- this.fileBaseList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+ // 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
@@ -233,22 +226,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)
@@ -258,6 +244,28 @@
})
},
methods: {
+ changeKeyPoint(data) {
+ this.$forceUpdate()
+ },
+ getPreviewImages(index, list) {
+ let startIndex = 0
+ const chechList = _.cloneDeep(list)
+ chechList.forEach((item, i) => {
+ const str = item.substring(item.lastIndexOf('/') + 1)
+ console.log('str', str)
+ if (Number(str) === Number(index)) {
+ startIndex = i
+ }
+ })
+
+ console.log('index', index)
+ console.log('startIndex', startIndex)
+ var imgList = [...list]
+ if (index === 0) return imgList
+ var start = imgList.splice(startIndex)
+ var remain = imgList.splice(0, startIndex)
+ return start.concat(remain)
+ },
openVideo(item) {
console.log('item', item)
this.dialogImageUrl = item.url
@@ -277,20 +285,33 @@
this.$request({
url: '/allocation/unit',
method: 'get'
- }).then((res) => {
+ }).then(res => {
this.unitList = res.data
+ this.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() {
+ this.$nextTick(function () {
this.$refs.ruleForm.resetFields()
})
this.$emit('update:visible', false)
@@ -306,7 +327,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)
@@ -320,36 +342,48 @@
</script>
<style lang="scss" scoped>
+.titBox {
+ position: relative;
+ font-size: 18px;
+ div:first-child {
+ position: absolute;
+ left: 10px;
+ }
+ 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%;
+}
</style>
--
Gitblit v1.8.0