| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- <template>
- <el-dialog
- :title="titleType + '问题标准'"
- @close="closeDialog"
- :visible.sync="dialogFormVisible"
- append-to-body
- >
- <el-form :model="form" :rules="rules" ref="form" label-width="100px">
- <el-form-item label="问题类别" prop="inspPblmsName">
- <el-select
- v-model="form.inspPblmsName"
- clearable
- placeholder="请选择问题类别"
- @change="problemListChange"
- >
- <el-option
- v-for="(item,index) in problemList"
- :key="index"
- :label="item.inspPblmsName"
- :value="item.inspPblmsName"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="检查项目" prop="checkPoint">
- <el-select
- v-model="form.checkPoint"
- clearable
- placeholder="请选择检查项目"
- value-key="checkPointName"
- >
- <el-option
- v-for="(item,index) in currentCheckPointList"
- :key="index"
- :label="item.label"
- :value="item.checkPointName"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="附件序号" prop="attach">
- <el-input v-model="form.attach" placeholder="输入附件序号" clearable style="width: 140px"></el-input>
- </el-form-item>
- <el-form-item label="问题序号">
- <el-input v-model="form.snNum" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="问题描述">
- <el-input v-model="form.pblmDesc" type="textarea" :rows="5" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="严重程度">
- <div>
- <el-radio v-model="form.inspPblmCate" label="0">一般</el-radio>
- <span class="add_desc" @click="appearDes0cInput = !appearDes0cInput">添加描述</span>
- <div class="demo-input-suffix" v-if="appearDes0cInput">
- 描述信息:
- <el-input v-model="form.cate0Desc" autocomplete="off"></el-input>
- </div>
- </div>
- <div>
- <el-radio v-model="form.inspPblmCate" label="1">较重</el-radio>
- <span class="add_desc" @click="appearDes1cInput = !appearDes1cInput">添加描述</span>
- <div class="demo-input-suffix" v-if="appearDes1cInput">
- 描述信息:
- <el-input v-model="form.cate1Desc" autocomplete="off"></el-input>
- </div>
- </div>
- <div>
- <el-radio v-model="form.inspPblmCate" label="2">严重</el-radio>
- <span class="add_desc" @click="appearDes2cInput = !appearDes2cInput">添加描述</span>
- <div class="demo-input-suffix" v-if="appearDes2cInput">
- 描述信息:
- <el-input v-model="form.cate2Desc" autocomplete="off"></el-input>
- </div>
- </div>
- <div>
- <el-radio v-model="form.inspPblmCate" label="3">特别严重</el-radio>
- <span class="add_desc" @click="appearDes3cInput = !appearDes3cInput">添加描述</span>
- <div class="demo-input-suffix" v-if="appearDes3cInput">
- 描述信息:
- <el-input v-model="form.cate3Desc" autocomplete="off"></el-input>
- </div>
- </div>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="closeDialog">取 消</el-button>
- <el-button type="primary" @click="submitNewProblem">保 存</el-button>
- </div>
- </el-dialog>
- </template>
- <script>
- import request from "@util/gw_ajax_request.js";
- import { formatDateTime2 } from "@util/gw_date.js";
- export default {
- props: ["titleType", "rowData", "listType"],
- data() {
- let _this = this;
- return {
- form: {
- checkPoint: "",
- inspPblmCate: "", //问题状态,0:一般,1:较重,2:严重
- inspPblmsName: "",
- pblmDesc: "", //问题描述
- snNum: "", //问题序号
- type: "1", //督查类型必传
- attach: "", //字段是附件
- cate0Desc: "",
- cate1Desc: "",
- cate2Desc: "",
- cate3Desc: "",
- sn: ""
- },
- dialogFormVisible: true,
- currentCheckPointList: [],
- problemList: [],
- subclassList: [],
- faguiList: [],
- problemType: [
- { label: "一般", value: "0" },
- { label: "较重", value: "1" },
- { label: "严重", value: "2" },
- { label: "特别严重", value: "3" }
- ],
- appearDes0cInput: false,
- appearDes1cInput: false,
- appearDes2cInput: false,
- appearDes3cInput: false,
- rules: {
- inspPblmsName: [
- { required: true, message: "请选择问题类别", trigger: "change" }
- ],
- checkPoint: [
- { required: true, message: "请选择检查项目", trigger: "change" }
- ],
- attach: [{ required: true, message: "请输入附件序号", trigger: "blur" }]
- }
- };
- },
- mounted() {
- if (this.titleType == "编辑") {
- // this.form = this.rowData
- for (var i in this.form) {
- this.form[i] = this.rowData[i]; //点击编辑时将选中的行数据填充到表单当中
- }
- this.form["guid"] = this.rowData["guid"];
- //this.form.intm = formatDateTime2(this.form.intm);
- this.problemListChange();
- this.getPblmTypeMenu(); // 获取问题类型
- } else {
- this.getPblmTypeMenu(); // 获取问题类型
- if (this.listType) {
- this.form.inspPblmsName = this.listType;
- } else {
- this.form.inspPblmsName = "";
- }
- this.problemListChange();
- }
- },
- methods: {
- // add by luochenghai 20191129 后台获取问题类别
- getPblmTypeMenu() {
- var _self = this;
- let result = [];
- request
- .get("/dc/insp/pblms/getPblmType", {
- params: {
- type: "1"
- // pguid: '10000000000000000000000000000000'
- }
- })
- .then(res => {
- if (res.success) {
- res.data.forEach(ele => {
- let haveinspPblmsName = false;
- result.forEach(inspPblm => {
- if (inspPblm["inspPblmsName"] == ele.inspPblmsName) {
- //
- let havechekPoint = false;
- inspPblm["checkPoints"].forEach(chekPoint => {
- if (chekPoint["checkPointName"] == ele.checkPoint) {
- //
- chekPoint["pblmDescs"].push({
- pblmDesc: ele.pblmDesc,
- sn: ele.sn,
- guid: ele.guid
- });
- havechekPoint = true;
- }
- });
- if (!havechekPoint) {
- let newCheckPoint = {};
- newCheckPoint["checkPointName"] = ele.checkPoint;
- newCheckPoint["sort2"] = ele.sort2;
- newCheckPoint["pblmDescs"] = [
- {
- pblmDesc: ele.pblmDesc,
- sn: ele.sn,
- guid: ele.guid
- }
- ];
- inspPblm["checkPoints"].push(newCheckPoint);
- }
- haveinspPblmsName = true;
- }
- });
- if (!haveinspPblmsName) {
- let haveinspPblmsObj = {};
- haveinspPblmsObj["inspPblmsName"] = ele.inspPblmsName;
- haveinspPblmsObj["sort1"] = ele.sort1;
- haveinspPblmsObj["checkPoints"] = [
- {
- checkPointName: ele.checkPoint,
- sort2: ele.sort2,
- pblmDescs: [
- {
- pblmDesc: ele.pblmDesc,
- sn: ele.sn,
- guid: ele.guid
- }
- ]
- }
- ];
- result.push(haveinspPblmsObj);
- }
- });
- _self.problemList = result;
- }
- });
- },
- problemListChange: function(item) {
- console.log("打印出来看看" + item);
- for (var i = 0; i < this.problemList.length; i++) {
- if (this.problemList[i].inspPblmsName == item) {
- this.currentCheckPointList = this.problemList[i].checkPoints;
- // console.log( this.currentCheckPointList);
- }
- }
- },
- //小水库 添加问题分类
- submitNewProblemApi(data) {
- return request({
- url: `/dc/insp/pblms`,
- method: "POST",
- data: data
- });
- },
- //小水库 编辑问题分类
- submitEditProblemApi(data) {
- return request({
- url: `/dc/insp/pblms/update`,
- method: "POST",
- data: data
- });
- },
- // 保存
- submitNewProblem() {
- this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.titleType == "编辑"){
- this.submitEditProblemApi(this.form)
- .then(res => {
- if (res.success) {
- this.$message.success("修改成功");
- this.$emit("dialogClose");
- } else {
- this.$message.error(res.message);
- }
- })
- .catch(err => {
- this.$message.error(err);
- });
- }
- // 添加问题
- else{
- this.submitNewProblemApi(this.form)
- .then(res => {
- if (res.success) {
- this.$message.success("添加成功");
- this.$emit("dialogClose");
- } else {
- this.$message.error(res.message);
- }
- })
- .catch(err => {
- this.$message.error(err);
- });
- }
-
- } else {
- return false;
- }
- });
- },
- // 取消
- closeDialog() {
- this.$emit("dialogClose");
- }
- },
- watch: {}
- };
- </script>
- <style lang="scss">
- .max_width {
- max-width: 1200px;
- }
- </style>
|