| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- <template>
- <div class="fanghong_wrapper">
- <el-container style="height:520px;">
- <el-main style="border:1px solid #d5d5ff;margin-left:5px;padding:0px;">
- <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">信息填报</p>
- <el-form :model="addObj" :label-width="formLabelWidth" ref="ruleForm" :rules="rules">
- <el-form-item label="督查方式">
- <el-select v-model="addObj.inspType" :placeholder="placeholder">
- <el-option v-for="item in duChaTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否编制预案">
- <el-radio v-model="addObj.isComplPlan" label="1">是</el-radio>
- <el-radio v-model="addObj.isComplPlan" label="2">否</el-radio>
- </el-form-item>
- <div v-if="addObj.isComplPlan == '1'">
- <el-form-item label="预案名称">
- <el-input type="text" v-model="addObj.planName"></el-input>
- </el-form-item>
- <el-form-item label="编制单位">
- <el-input type="text" v-model="addObj.complUnit"></el-input>
- </el-form-item>
- <el-form-item label="所属省份">
- <el-select v-model="addObj.pro" :placeholder="placeholder" multiple>
- <el-option v-for="item in provinceList" :key="item.adCode" :label="item.adName" :value="item.adCode"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="所属流域">
- <el-select v-model="addObj.bas" :placeholder="placeholder" multiple>
- <el-option v-for="item in lyjg" :key="item.id" :label="item.pnm" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- </div>
- <el-form-item label>
- <el-button type="primary" @click="makesure" v-if="openType">保 存</el-button>
- </el-form-item>
- </el-form>
- </el-main>
- </el-container>
- </div>
- </template>
- <script>
- import request from "@util/gw_ajax_request.js";
- import { getLyjglistSz, getEmergencyPlanInfo } from "@api/duChaTianBao.js";
- import { getAdXBaseData } from "@api/duChaAPI.js";
- export default {
- components: {
- },
- props: ['currentObjectId','currentObjectName','currentObjectRgstrId','currentResCode','rowData','openType'],
- data() {
- return {
- dialogFormVisible: false,
- formLabelWidth: "180px",
- loading: true,
- placeholder: '',
- addObj: {},
- operationType: "",
- rules: {
- },
- duChaTypes: [
- {label: '现场暗访',value: '1'},
- {label: '电话问询',value: '2'},
- {label: '视频连线',value: '3'},
- {label: '其他',value: '4'},
- ],
- provinceList: [],
- lyjg: [],
- };
- },
- computed: {
- recPersId() {
- return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
- }
- },
- created(){
- },
- mounted() {
- this.getLyjgList();
- this.getProvinceList()
- },
- methods: {
- // 获取省份列表数据
- getProvinceList(){
- let adCode = '000000000000'
- getAdXBaseData(adCode).then(
- (res) => {
- if (res.success && res.data) {
- this.provinceList = res.data;
- } else {
- this.provinceList = [];
- }
- },
- (err) => {
- }
- );
- },
- getLyjgList() {
- var _self = this;
- getLyjglistSz().then(res => {
- if (res.success) {
- _self.lyjg = res.data;
- // _self.placeholder = _self.lyjg[0].pnm;
- _self.addObj.reverOrg = _self.lyjg[0].id;
- _self.getformList();
- } else {
- _self.getformList();
- }
- });
- },
- getformList() {
- let _self = this;
- getEmergencyPlanInfo(_self.currentObjectRgstrId).then(res => {
- if (res.success) {
- if (res.data && Object.keys(res.data).length) {
- _self.addObj = res.data;
- try{
- _self.addObj.pro = _self.addObj.pro.split(',')
- _self.addObj.pro = _self.addObj.pro.map(ele => {
- return ele + '0000000000'
- });
- }catch(e){
- _self.addObj.pro = ''
- }
- try{
- _self.addObj.bas = _self.addObj.bas.split(',')
- }catch(e){
- _self.addObj.bas = ''
- }
- } else {
- _self.addObj = {};
- }
- } else {
- this.$message.error(res.message)
- }
- });
- },
- //保存
- makesure() {
- let _self = this;
- this.addObj["rgstrId"] = this.currentObjectRgstrId;
- this.addObj["recPersId"] = this.recPersId;
- this.addObj["status"] = '1';
- // 更改填报状态 to-do: 需要确认填报状态的字段是什么
- if (
- this.addObj.inspType ||
- this.addObj.isComplPlan
- ) {
- this.addObj.status = "1";
- }
- if (
- this.addObj.inspType &&
- this.addObj.isComplPlan
- ) {
- this.addObj.status = "2";
- }
- if (
- this.addObj.inspType == undefined &&
- this.addObj.isComplPlan == undefined
- ) {
- this.addObj.status = "0";
- }
- this.$refs['ruleForm'].validate((valid) => {
- if (valid) {
- this.$confirm("确认保存填写的信息吗?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(() => {
- if(this.addObj.pro.length){
- // 给后台传省级行政区划代码的前两位
- this.addObj.pro = this.addObj.pro.map(ele=>{
- return ele.substr(0,2)
- })
- this.addObj.pro = this.addObj.pro.join(',')
- }else{
- this.addObj.pro = ''
- }
- if(this.addObj.bas.length){
- this.addObj.bas = this.addObj.bas.join(',')
- }else{
- this.addObj.bas = ''
- }
- request.post("/bis/insp/efp/rgstr/plan/compl", _self.addObj).then(res => {
- if (res.success) {
- _self.$message.success("保存成功");
- _self.$emit("addShuiKuSuccess");
- _self.getformList();
- }
- });
- }).catch((err)=>{
- this.$message.info(err)
- });
- }else{
- this.$message.warning('请检查填写信息')
- return
- }
- });
- },
- cancelHandler() {
- this.$emit("cancelHandler");
- },
- handleCheckedChange(){
- }
- },
- watch: {
- currentObjectRgstrId(n, o) {
- this.getformList();
- }
- }
- };
- </script>
- <style lang="scss">
- #dcdxHeader {
- padding: 15px 20px;
- }
- #dxdcFooter {
- text-align: center;
- }
- #dxdcAside {
- border: 1px solid #d5d5ff;
- }
- .fanghong_wrapper label.el-radio {
- width: 60px;
- }
- .fanghong_wrapper .el-form{
- margin-top: 10px;
- }
- .fanghong_wrapper
- .add-problem-icon{
- font-size: 16px;
- }
- </style>
|