Commit a298ff55 authored by yaqizhang's avatar yaqizhang

Merge branch 'master' of ssh://111.61.77.35:15/lizhichao/whp-xl into master

parents f3d5a835 a4fb5136
......@@ -12218,6 +12218,11 @@
"vue-demi": "^0.7.4"
}
},
"vue-ellipse-progress": {
"version": "1.3.0",
"resolved": "https://registry.nlark.com/vue-ellipse-progress/download/vue-ellipse-progress-1.3.0.tgz",
"integrity": "sha1-2UJs6s9XUVC+IjhD2BZQp8s5Iis="
},
"vue-hot-reload-api": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
......
......@@ -18,6 +18,7 @@
"vue-amap": "^0.5.10",
"vue-class-component": "^7.2.2",
"vue-echarts": "^6.0.0-rc.5",
"vue-ellipse-progress": "^1.3.0",
"vue-property-decorator": "^8.3.0",
"vue-router": "^3.1.5",
"vuex": "^3.1.2",
......
......@@ -12,6 +12,7 @@ export default {
tongji:'Enterprises',
HazardsListMg:'Hazards',
PlansMg:'Plans',
PlansMgGovernment:'Plans',
qyMap:'qyMap',
qystatistics:'qystatistics',
SafetyDeviceMg:'SafetyDevice',
......
......@@ -41,9 +41,9 @@
<el-form-item>
<el-input v-model="searchData.orgCode" placeholder="请输入统一社会信用代码"></el-input>
</el-form-item>
<el-form-item>
<!--<el-form-item>
<City @changeFun="changeFun" :valueqv="cityval"></City>
</el-form-item>
</el-form-item>-->
<el-form-item>
<el-button type="primary" @click="searchFun()">
<i class="el-icon-search"></i> 搜索
......
......@@ -51,13 +51,13 @@
<el-table-column prop="checkStatus" label="审核状态">
<template slot-scope="scope">
<font v-if="scope.row.checkStatus == 0" class="colorP">
审核中
<i class="iconfont iconshenhe"></i>审核中
</font>
<font v-else-if="scope.row.checkStatus == 1" class="colorM">
审核通过
<i class="iconfont iconzhengchang"></i>审核通过
</font>
<font v-else-if="scope.row.checkStatus == 2" class="colorR">
审核未通过
<i class="iconfont iconweitongguo"></i>审核未通过
</font>
</template>
</el-table-column>
......@@ -81,14 +81,11 @@
</template>
</el-table-column>
<!-- <el-table-column prop="createTime" label="创建时间"></el-table-column> -->
<el-table-column label="操作" width="300" align="center">
<el-table-column label="操作" width="220" align="center">
<template slot-scope="scope">
<el-button @click="editFun(scope.row)" size="small" v-if="qyvisble">
<i class="el-icon-edit-outline"></i> 编辑
</el-button>
<el-button type="success" @click="checkFun(scope.row)" size="small" v-if="qyvisble" :disabled="scope.row.checkStatus != 0?true:false">
<i class="el-icon-key"></i> 审核
</el-button>
<el-button type="primary" plain @click="editFun(scope.row)" size="small" v-if="!qyvisble">
查看详情
</el-button>
......@@ -116,15 +113,6 @@
@refreshTableData="getTableData"
:key="zjKey"
></PlansMgEdit>
<PlansMgCheck
v-if="dialogVisible2"
:dialogVisible="dialogVisible2"
:editForm="formData"
:title="dialogTit"
@dialogFun="closeDialog"
@refreshTableData="getTableData"
:key="chKey"
></PlansMgCheck>
</div>
</template>
<script lang="ts">
......@@ -133,7 +121,7 @@ import PlansMgEdit from "./PlansMgEdit.vue";
import PlansMgCheck from "./PlansMgCheck.vue";
import METHOD from "@/utils/methods";
@Component({
components: { PlansMgEdit, PlansMgCheck }
components: { PlansMgEdit}
})
export default class CamerasMg extends Vue {
@Provide() enterpriseId: String = "";
......@@ -144,15 +132,13 @@ export default class CamerasMg extends Vue {
@Provide() loading: Boolean = false;
//编辑组件
@Provide() dialogVisible: Boolean = false;
@Provide() dialogVisible2: Boolean = false;
@Provide() dialogTit: String = "新增预案";
@Provide() formData: Object = {};
@Provide() zjKey: any = 0;
@Provide() chKey: any = 0;
@Provide() qyvisble: boolean = true;//政府端隐藏项
getTableData() {
let that = this,
param = Object.assign({enterpriseId: that.enterpriseId, isReported: that.enterpriseId ? '' : 0 }, that.PAGE, that.searchData);
param = Object.assign({enterpriseId: that.enterpriseId}, that.PAGE, that.searchData);
that.loading = true;
METHOD.axiosPost(
that,
......@@ -185,12 +171,6 @@ export default class CamerasMg extends Vue {
this.zjKey++;
this.dialogVisible = true;
}
checkFun(row: any){
this.dialogTit = "预案审核";
this.formData = Object.assign({}, row);
this.chKey++;
this.dialogVisible2 = true;
}
delFun(row: any) {
let that = this as any;
METHOD.deleteFun(
......@@ -212,7 +192,6 @@ export default class CamerasMg extends Vue {
closeDialog() {
//关闭窗口
this.dialogVisible = false;
this.dialogVisible2 = false;
this.formData = {};
}
checkFile(url: any) {
......
......@@ -11,55 +11,45 @@
<div>
<div class="yatit">预案基本信息</div>
<el-form ref="editForm" :model="editForm" :rules="rules" label-width="100px">
<el-form-item label="预案标题" prop="planTitle">
<el-input v-model="editForm.planTitle"></el-input>
<el-form-item label="所属公司:">
<font>{{editForm.enterpriseName}}</font>
</el-form-item>
<el-form-item label="预案分类" prop="planType">
<el-input v-model="editForm.planType"></el-input>
<el-form-item label="预案标题:">
<font>{{editForm.planTitle}}</font>
</el-form-item>
<el-form-item label="预案等级" prop="planLevel">
<el-radio-group v-model="editForm.planLevel">
<el-radio label="Ⅰ">Ⅰ级</el-radio>
<el-radio label="Ⅱ">Ⅱ级</el-radio>
<el-radio label="Ⅲ">Ⅲ级</el-radio>
</el-radio-group>
<el-form-item label="预案分类:">
<font>{{editForm.planType}}</font>
</el-form-item>
<el-form-item label="预案等级:">
<font>{{editForm.planLevel + '级'}}</font>
</el-form-item>
<el-form-item label="是否上报:">
<font>{{editForm.isReported == 0 ? '已上报' : '未上报'}}</font>
</el-form-item>
<el-form-item label="预案源文件:">
<span
class="dbtn sd qiCr"
@click="checkFile(editForm.sourceFile)"
v-if="editForm.sourceFile != ''"
>
<i class="el-icon el-icon-view"></i>
{{editForm.fileOriginalName}}
</span>
</el-form-item>
<el-form-item label="审核预案" prop="checkStatus">
<el-radio-group v-model="editForm.checkStatus">
<el-radio label="0">审核中</el-radio>
<el-radio label="1">通过</el-radio>
<el-radio label="2">未通过</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="预案源文件">
<el-upload
ref="uploaderB"
class="uploader"
:limit="1"
:action="actionUrl"
:on-success="(a,b,c) => onSuccess(a,b,c,'sourceFile')"
:on-error="onError"
:on-remove="handleRemove"
:before-remove="(a,b,c) => beforeRemove(a,b,c,'sourceFile')"
:on-exceed="onExceed"
:multiple="false"
list-type="picture"
:file-list="fileList"
>
<i class="el-icon-plus"></i>
<!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
</el-upload>
<!-- <div v-if="fileList.length > 0">
<a v-for="(i,ind) in fileList" :key="ind" :href="i.url" target="_blank">{{i.name}}</a>&nbsp;&nbsp;&nbsp;<i class="btn el-icon-delete" @click="deleteList"></i>
</div>-->
</el-form-item>
</el-form>
</div>
</el-col>
<el-col :span="12" class="flcolum">
<div>
<div class="yatit">预案内容</div>
<textarea id="editorA" v-model="editForm.planContents" height="100%"></textarea>
<div v-html="editForm.planContents"></div>
<font v-if="editForm.planContents == ''">暂无内容~</font>
</div>
</el-col>
</el-row>
......@@ -75,7 +65,6 @@ import { Component, Vue, Provide, Prop, Watch } from "vue-property-decorator";
import { State, Getter, Mutation, Action } from "vuex-class";
import City from "@/components/city.vue";
import METHOD from "@/utils/methods";
import ice from "@/utils/iceEditor-min.js";
let uploadfile = require("@/assets/uploadfile.png");
@Component({
components: { City },
......@@ -154,91 +143,14 @@ export default class PlansMgEdit extends Vue {
}
});
}
/*
上传
*/
onSuccess(res: any, file: any, fileList: any, key: string) {
this.$data[key] = fileList;
}
onError(err: any, file: any, fileList: any) {
this.$message.error("上传失败!");
}
handleRemove(file: any, fileList: any, key: string) {
this.$data[key] = fileList;
}
onExceed(file: any, fileList: any) {
this.$message.warning("只允许上传一个文件,如需更改请先删除!");
}
beforeRemove(file: any, fileList: any) {
let that = this,
param;
param = file.response
? file.response.data.savePath.replace(/\\/g, "%")
: file.url.replace(/\\/g, "%").slice(9);
METHOD.axiosGet(this, `/file/deleteFile?savePath=${param}`, function (
res: any
) {
if (res.code == 0) that.$message.success("删除成功");
else return false;
});
}
//创建编辑器
creatEditor() {
this.editorA = new ice.editor("editorA");
this.editorA.menu = [
"fontSize",
"foreColor",
"bold",
"italic",
"underline",
"strikeThrough",
"line",
"justifyLeft",
"justifyCenter",
"justifyRight",
"line",
"table",
"insertImage",
"insertOrderedList",
"insertUnorderedList",
"indent",
];
this.editorA.height = "413px";
this.editorA.create();
}
deleteList() {
this.fileList = [];
this.editForm.sourceFile = "";
}
checkFile(url: any) {
window.open(METHOD.URL + url, "_blank");
}
created() {
let that = this;
that.enterpriseId = METHOD.enterpriseId;
// if (that.enterpriseId) {
// that.qyvisble = true;
that.$nextTick(() => {
that.creatEditor();
})
// } else {
// that.qyvisble = false;
// }
// if (that.editForm.id && that.enterpriseId) {
that.$nextTick(() => {
//编辑
if (that.editForm.planContents) {
that.editorA.setValue(that.editForm.planContents);
}
if (that.editForm.fileOriginalName) {
that.fileList.push({
name: that.editForm.fileOriginalName,
url: uploadfile,
});
}
});
// }
that.actionUrl = METHOD.URL + "/file/uploadFile";
}
}
</script>
......
......@@ -175,7 +175,7 @@ export default class PlansMgEdit extends Vue {
that.editForm.planContents = that.editorA.getHTML();
that.editForm.enterpriseId = that.enterpriseId;
(that as any).$refs[formName].validate((valid: boolean) => {
if (that.editorA.getText() == false && that.editForm.sourceFile == "") {
if (that.editorA.getText() == false && (that.editForm.sourceFile == "" || that.editForm.sourceFile == undefined)) {
that.$message.error("没有预案内容!");
return;
}
......
<template>
<div class="camerasMg">
<el-row class="topBar">
<el-col>
<el-form :inline="true" :model="searchData">
<el-form-item label>
<el-input v-model="searchData.planTitle" placeholder="请输预案标题"></el-input>
</el-form-item>
<el-form-item label>
<el-select v-model="searchData.planLevel" placeholder="请输预案等级">
<el-option label="Ⅰ级" value="Ⅰ"></el-option>
<el-option label="Ⅱ级" value="Ⅱ"></el-option>
<el-option label="Ⅲ级" value="Ⅲ"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="searchFun()">
<i class="el-icon-search"></i> 搜索
</el-button>
<el-button type="primary" @click="resetFun()">
<i class="el-icon-refresh"></i> 重置
</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
<el-table :data="tableData.pageData" stripe border style="width:100%;" :loading="false">
<el-table-column width="50" type="index" label="序号"></el-table-column>
<el-table-column prop="planTitle" label="预案标题"></el-table-column>
<el-table-column prop="planLevel" label="预案等级">
<template slot-scope="scope">
<font>{{scope.row.planLevel + '级'}}</font>
</template>
</el-table-column>
<el-table-column prop="planType" label="预案分类"></el-table-column>
<el-table-column prop="isReported" label="是否上报" v-if="qyvisble">
<template slot-scope="scope">
<font v-if="scope.row.isReported == 0" class="colorM">
已上报
</font>
<font v-else-if="scope.row.isReported != 0" class="colorR">
未上报
</font>
</template>
</el-table-column>
<el-table-column prop="checkStatus" label="审核状态">
<template slot-scope="scope">
<font v-if="scope.row.checkStatus == 0" class="colorP">
<i class="iconfont iconshenhe"></i>审核中
</font>
<font v-else-if="scope.row.checkStatus == 1" class="colorM">
<i class="iconfont iconzhengchang"></i>审核通过
</font>
<font v-else-if="scope.row.checkStatus == 2" class="colorR">
<i class="iconfont iconweitongguo"></i>审核未通过
</font>
</template>
</el-table-column>
<el-table-column prop="sourceFile" label="预案文件">
<template slot-scope="scope">
<span
class="dbtn sd qiCr"
@click="checkFile(scope.row.sourceFile)"
v-if="scope.row.sourceFile != ''"
>
<i class="el-icon el-icon-view"></i>查看/下载
</span>
</template>
</el-table-column>
<el-table-column label="操作" width="220" align="center">
<template slot-scope="scope">
<el-button type="success" @click="checkFun(scope.row)" size="small" :disabled="scope.row.checkStatus != 0?true:false">
<i class="el-icon-key"></i> 审核
</el-button>
<el-button type="danger" @click="delFun(scope.row)" size="small">
<i class="el-icon-delete"></i> 删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
background
layout="total,sizes, prev, pager, next, jumper"
:total="tableData.total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="PAGE.page"
:page-size="PAGE.size"
></el-pagination>
<PlansMgCheck
:dialogVisible="dialogVisible"
:editForm="formData"
:title="dialogTit"
@dialogFun="closeDialog"
@refreshTableData="getTableData"
:key="zjKey"
></PlansMgCheck>
</div>
</template>
<script lang="ts">
import { Component, Vue, Provide } from "vue-property-decorator";
import PlansMgEdit from "./PlansMgEdit.vue";
import PlansMgCheck from "./PlansMgCheck.vue";
import METHOD from "@/utils/methods";
@Component({
components: { PlansMgCheck }
})
export default class CamerasMg extends Vue {
@Provide() enterpriseId: String = "";
@Provide() signId: String = "";
@Provide() tableData: Object = { pageData: [], total: 0 };
@Provide() PAGE: any = { page: 1, size: 10 };
@Provide() searchData: any = {};
@Provide() loading: Boolean = false;
//编辑组件
@Provide() dialogVisible: Boolean = false;
@Provide() dialogTit: String = "新增预案";
@Provide() formData: Object = {};
@Provide() zjKey: any = 0;
getTableData() {
let that = this,
param = Object.assign({ isReported: 0 }, that.PAGE, that.searchData);
that.loading = true;
METHOD.axiosPost(
that,
`/planInfo/selectPlanInfoList`,
param,
function(res: any) {
that.loading = false;
if (res.code == 0) {
that.tableData = res.data;
}
}
);
}
searchFun() {
this.PAGE = { page: 1, size: 10 };
this.getTableData();
}
resetFun() {
this.PAGE = { page: 1, size: 10 };
this.searchData = {};
this.getTableData();
}
checkFun(row: any){
this.dialogTit = "预案审核";
this.formData = Object.assign({}, row);
this.zjKey++;
this.dialogVisible = true;
}
delFun(row: any) {
let that = this as any;
METHOD.deleteFun(
that,
`/planInfo/deletePlanInfoById/${row.id}`,
function() {
that.getTableData();
}
);
}
handleSizeChange(val: any) {
this.PAGE.size = val;
this.getTableData();
}
handleCurrentChange(val: any) {
this.PAGE.page = val;
this.getTableData();
}
closeDialog() {
//关闭窗口
this.dialogVisible = false;
this.formData = {};
}
checkFile(url: any) {
window.open(METHOD.URL + url,'_blank')
}
created() {
this.getTableData();
}
}
</script>
<style lang="scss">
@import "@/utils/public.scss";
</style>
\ No newline at end of file
......@@ -180,7 +180,9 @@ export default class SafetyDeviceMgEdit extends Vue {
});
}
created() {
this.enterpriseId = METHOD.enterpriseId;
if(METHOD.enterpriseId){
this.enterpriseId = METHOD.enterpriseId;
}
}
}
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment