|
@@ -99,6 +99,17 @@
|
|
|
<span>{{ parseTime(scope.row.enginTime, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="审核状态" align="center" prop="reviewStatus" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div style="text-align:center">
|
|
|
+
|
|
|
+ <span slot="reference" v-if="(scope.row.reviewStatus == '1')"
|
|
|
+ style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #30B08F;"></span>
|
|
|
+ <span slot="reference" v-else
|
|
|
+ style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #C03639;"></span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<!-- <el-table-column label="管径" align="center" prop="pipeDiameter"/>
|
|
|
<el-table-column label="管材" align="center" prop="tubularProduct"/>
|
|
|
<el-table-column label="是否存在套管" align="center" prop="casingPresent"/>
|
|
@@ -142,6 +153,14 @@
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="reviewClick(scope.row)"
|
|
|
+ v-hasPermi="['zdsz:engineeringDangerous:edit']"
|
|
|
+ >审核
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['zdsz:engineeringDangerous:remove']"
|
|
@@ -161,6 +180,12 @@
|
|
|
@click="viewSource(scope.row)"
|
|
|
>历史
|
|
|
</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-download"
|
|
|
+ size="mini"
|
|
|
+ @click="download(scope.row.enginName)"
|
|
|
+ >下载图片</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -421,8 +446,44 @@
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog :title="titleInfo" :visible.sync="openInfo" append-to-body customClass="appendElDialog">
|
|
|
+ <el-dialog :title="titleInfo" :visible.sync="openInfo" append-to-body customClass="appendElDialog">
|
|
|
+ <el-collapse v-model="activeNames">
|
|
|
|
|
|
+ <el-collapse-item :title="key" :name="index" v-for="(val,key,index) in dataInfo">
|
|
|
+ <span v-if="val.length > 0" style="font-size: 15px">
|
|
|
+ 施工人:{{ val[0].createByName }}
|
|
|
+ <span style="margin-left: 20px">
|
|
|
+ 施工时间:{{ val[0].updateInfoTime }}
|
|
|
+ </span>
|
|
|
+ <br>
|
|
|
+ </span>
|
|
|
+ <div v-for="(item,index) in val" style="display:inline-block">
|
|
|
+ <el-image :src="item.picUrl" style="width: 150px; height: 150px; margin-right: 15px"></el-image>
|
|
|
+ </div>
|
|
|
+ </el-collapse-item>
|
|
|
+ </el-collapse>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog title="审核" :visible.sync="reviewOpen" width="500px">
|
|
|
+ <el-form ref="reviewFrom" :model="reviewFrom" :rules="reviewRule" label-width="80px">
|
|
|
+ <el-form-item label="活动区域" prop="reviewStatus">
|
|
|
+ <el-select v-model="reviewFrom.reviewStatus" placeholder="请选择审核状态" style="width: 100%" label="审核状态"
|
|
|
+ @change="validateCHanged">
|
|
|
+ <el-option
|
|
|
+ v-for="e in reviewStatusList"
|
|
|
+ :key="e.value"
|
|
|
+ :label="e.label"
|
|
|
+ :value="e.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="活动形式" prop="reviewRemark">
|
|
|
+ <el-input type="textarea" v-model="reviewFrom.reviewRemark"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="onSubmit">提交</el-button>
|
|
|
+ <el-button @click="reviewOpen = false;reviewFrom={}">取消</el-button>
|
|
|
+ </div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -431,7 +492,11 @@
|
|
|
import {
|
|
|
listEngineeringDangerous,
|
|
|
getEngineeringDangerous,
|
|
|
- delEngineeringDangerous, queryEngineeringDangerous, updateEngineeringDangerous, addEngineeringDangerous,
|
|
|
+ delEngineeringDangerous,
|
|
|
+ queryEngineeringDangerous,
|
|
|
+ updateEngineeringDangerous,
|
|
|
+ addEngineeringDangerous,
|
|
|
+ engineeringDangerousReview,
|
|
|
} from "@/api/zdsz/engineeringDangerous";
|
|
|
import data from "@/views/system/dict/data.vue";
|
|
|
import {validPhoneMobile, checkPositiveDecimal} from "@/api/rules";
|
|
@@ -447,8 +512,18 @@ export default {
|
|
|
components: {},
|
|
|
data() {
|
|
|
return {
|
|
|
- //备用
|
|
|
- // openNodeForm:false,
|
|
|
+ reviewFrom: {},
|
|
|
+ reviewOpen: false,
|
|
|
+ reviewStatusList: [
|
|
|
+ {
|
|
|
+ value: '1',
|
|
|
+ label: '通过'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '0',
|
|
|
+ label: '不通过'
|
|
|
+ }
|
|
|
+ ],
|
|
|
//备用
|
|
|
currentCollapses: [],
|
|
|
nodeType: "危险作业工程",
|
|
@@ -461,6 +536,7 @@ export default {
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
|
ids: [],
|
|
|
+ activeNames: [],
|
|
|
// 非单个禁用
|
|
|
single: true,
|
|
|
// 非多个禁用
|
|
@@ -555,6 +631,7 @@ export default {
|
|
|
],
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
+ dataInfo: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
basicInformation: [
|
|
@@ -587,6 +664,14 @@ export default {
|
|
|
],
|
|
|
|
|
|
},
|
|
|
+ reviewRule: {
|
|
|
+ reviewStatus: [
|
|
|
+ {required: true, message: "审核状态不能为空", trigger: "blur"}
|
|
|
+ ],
|
|
|
+ reviewRemark: [
|
|
|
+ {required: true, message: "审核内容不能为空", trigger: "change"}
|
|
|
+ ],
|
|
|
+ },
|
|
|
//备用
|
|
|
currentType: null, // 组件类型 put修改 add新增
|
|
|
};
|
|
@@ -595,6 +680,35 @@ export default {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ download(name){
|
|
|
+ // downloadZip('基建工程',name)
|
|
|
+ this.$download.zip(`/zdsz/engineeringPipeJacking/downloadZip/危险工程/${name}`, name);
|
|
|
+ },
|
|
|
+ validateCHanged(e) {
|
|
|
+ this.reviewStatusList[e].label == '通过' ? this.reviewRule.reviewRemark[0].required = true : this.reviewRule.reviewRemark[0].required = false
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ this.$refs.reviewFrom.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ engineeringDangerousReview(this.reviewFrom).then(response => {
|
|
|
+ if (response.code === 200){
|
|
|
+ this.$modal.msgSuccess("审核成功");
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ }).finally(() => this.reviewOpen = false)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ reviewClick(data) {
|
|
|
+ this.reviewFrom = {
|
|
|
+ id: data.id,
|
|
|
+ enginName: data.enginName,
|
|
|
+ createTime: data.createTime,
|
|
|
+ reviewStatus: data.reviewStatus==null?null:data.reviewStatus,
|
|
|
+ reviewRemark: data.reviewRemark==null?null:data.reviewRemark,
|
|
|
+ }
|
|
|
+ this.reviewOpen = true
|
|
|
+ },
|
|
|
submitForm() {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
@@ -633,9 +747,19 @@ export default {
|
|
|
|
|
|
//备用
|
|
|
viewSource(e) {
|
|
|
- console.log(e)
|
|
|
- this.openInfo = true
|
|
|
this.titleInfo = "危险作业工程 - " + e.enginName
|
|
|
+ getEngineeringDangerous(e.id).then(res => {
|
|
|
+ let uniqueArr = res.data.pics.reduce((acc, currentValue) => {
|
|
|
+ if (!acc.includes(currentValue.updateTime)) {
|
|
|
+ acc.push(currentValue.updateTime);
|
|
|
+ }
|
|
|
+ return acc;
|
|
|
+ }, []);
|
|
|
+ for (let i = 0; i < uniqueArr.length; i++) {
|
|
|
+ this.dataInfo[uniqueArr[i]] = res.data.pics.filter(item => item.updateTime == uniqueArr[i])
|
|
|
+ }
|
|
|
+ this.openInfo = true
|
|
|
+ }).catch(err => this.openInfo = false)
|
|
|
},
|
|
|
viewNodeSource(e) {
|
|
|
// todo: 获取数据
|