| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681 |
- <template>
- <!-- 弹出窗 -->
- <el-dialog title="添加督查对象" :visible.sync="dialogFormVisible" width="80%" @close="closeWindowEvent" modal-append-to-body append-to-body>
- <el-container>
- <el-aside width="200px" style="border:1px solid #d5d5ff">
- <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">
- <i class="el-icon-share"/>所属机构
- </p>
- <provTreeListQy
- ref="provTreeListQyRef"
- v-show="showLeftTree"
- :ddczId='dczId'
- rootCode="000000"
- :adCodes="adCodes"
- rootType="1"
- style="max-height:485px;"
- @treeDataEmit="treeDataEmit"
- @provTreeSelectChange="provTreeSelectChangeHandler_qy">
- </provTreeListQy>
- <provTreeList
- v-show="!showLeftTree"
- rootCode="000000"
- rootType="1"
- style="max-height:485px;"
- @provTreeSelectChange="provTreeSelectChangeHandler"
- />
- </el-aside>
- <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 style="padding:10px">
- <div>
- <el-form size="mini" :inline="true" :model="formInline" class="demo-form-inline">
- <el-form-item label="工程名称">
- <el-input
- style="width:140px;"
- v-model="formInline.utName"
- clearable
- placeholder="请输入单位名称"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="refreshCurrentShow">查询</el-button>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="toAddNewRsvr">添加新对象</el-button>
- </el-form-item>
- </el-form>
- <el-table
- border
- v-loading="loading"
- :data="currentShowList"
- tooltip-effect="dark"
- style="width: 100%"
- @selection-change="handleSelectionChange"
- >
- <el-table-column align="center" type="selection" width="60"/>
- <el-table-column align="center" prop="index" label="序号" min-width="40"/>
- <el-table-column
- align="center"
- show-overflow-tooltip
- prop="nm"
- label="工程名称"
- min-width="100"
- />
- <el-table-column
- align="center"
- show-overflow-tooltip
- prop="location"
- label="所在地"
- min-width="80"
- />
- <el-table-column align="center" show-overflow-tooltip prop="adName" label="行政区划" min-width="100"/>
- </el-table>
- <div class="block" style="display:flex;flex-direction:row;justify-content:center;align-items:center;padding-top: 5px;background-color: #fff;">
- <el-pagination small @current-change="handleCurrentChange" :pager-count="5"
- :current-page.sync="pageIndex" :page-size="pageSize" layout="total, prev, pager, next"
- :total="total"/>
- </div>
- </div>
- <!-- </el-form-item> -->
- </el-form>
- </el-main>
- </el-container>
- <el-dialog title="添加新对象" :visible.sync="addRsvrVisible" append-to-body>
- <el-form label-width="220px" :model="formObj" :rules="rules" ref="formObj">
- <el-form-item label="工程项目名称" required>
- <el-input v-model="formObj.prjName" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="所在河流" required>
- <el-input v-model="formObj.rvName" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="行政区划" required>
- <div>
- <el-select v-model="provName" placeholder="选择省" @change="provChange" style="width:20%">
- <el-option
- v-for="item in provList"
- :key="item.adCode"
- :label="item.adName"
- :value="item.adCode">
- </el-option>
- </el-select>
- <el-select v-model="cityName" placeholder="选择市" @change="cityChange" style="width:20%">
- <el-option
- v-for="item in cityList"
- :key="item.adCode"
- :label="item.adName"
- :value="item.adCode">
- </el-option>
- </el-select>
- <el-select v-model="countryName" placeholder="选择县" @change="countryChange" style="width:20%">
- <el-option
- v-for="item in countryList"
- :key="item.adCode"
- :label="item.adName"
- :value="item.adCode">
- </el-option>
- </el-select>
- </div>
- </el-form-item>
- <el-form-item label="所在位置">
- <el-input v-model="formObj.addr" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="规划河长">
- <el-input v-model="formObj.rvLong"
- clearable
- type="text" onkeyup="value=value.replace(/[^.\d]/g,'')" autocomplete="off" style="width:70%;">
- <template slot="append">km</template>
- </el-input>
- </el-form-item>
- <el-form-item label="规划总投资">
- <el-input v-model="formObj.pgi" autocomplete="off"
- clearable
- type="text" onkeyup="value=value.replace(/[^.\d]/g,'')" style="width:70%;">
- <template slot="append">万元</template>
- </el-input>
- </el-form-item>
- <el-form-item label="小组组长">
- <el-input v-model="formObj.groupLeader" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="小组组长电话">
- <el-input v-model="formObj.groupLeaderTel" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="经度">
- <el-input v-model="formObj.gdX" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- <el-form-item label="纬度">
- <el-input v-model="formObj.gdY" autocomplete="off" style="width:70%;"></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="addRsvrVisible = false">取 消</el-button>
- <el-button type="primary" @click="addNewRsvr()">确 定</el-button>
- </div>
- </el-dialog>
- <div slot="footer" class="dialog-footer">
- <el-button @click="dialogFormVisible = false">取 消</el-button>
- <el-button type="primary" @click="saveChange">确 定</el-button>
- </div>
- </el-dialog>
- </template>
- <script>
- import request from '@util/gw_ajax_request.js';
- import provTreeList from "@widget/provTreeList.vue";
- import {getObjListNotInspGroupId} from "@api/duChaDuiXiang_xsk_API.js";
- import {getTdfjList, addDcAndObjRel, getOtherTableData} from "@api/duChaDuiXiang_tdfj_API.js";
- export default {
- components: {
- provTreeList: provTreeList,
- provTreeListQy: resolve => {
- require(['@widget/provTreeList_quyu.vue'], resolve)
- },
- },
- props: ["dczId", "dczName", "plnaId", "objType","adCodes","isNewPlan"],
- data() {
- return {
- formInline: {
- name: '',
- },
- addOnce: false,
- objTypeName: '节水',
- searchNameOfRsName: "",
- searchNameOfAdName: "",
- searchNameOfwtdstNm: "",
- addLevel: "",
- rsAdmDep: "",
- engScal: "",
- wtdstState: "",
- engLevel: "",
- wtdstType: "",
- stnm: '',
- pageIndex: 1,
- pageSize: 10,
- total: 0,
- currentShowList: [],
- dialogFormVisible: false,
- formLabelWidth: "120",
- addArr: "",
- addName: "",
- addLttd: "",
- addLgtd: "",
- multipleSelection: [],
- searchProvTreeListCode: "",
- qyDataList: [],
- loading: false,
- showLeftTree: true,
- addRsvrVisible: false,
- formObj: {
- prjName: "",//工程项目名称 ,
- rvName: "",//所在河流 ,
- adCode: "",//行政区编码 ,
- adName: "",//行政区域描述 ,
- addr: "",//所在位置详细描述信息 ,
- centerX: "",//PC经度 ,
- centerY: "",//PC纬度 ,
- gdX: "",//高德经度 ,
- gdY: "",//高德纬度 ,
- smrmpState: "",//中小河流治理项目抽查情况填报状态(0:未填报;1:填报中;2:已填报) ,
- state: "",//督查状态(0:未督查;2:督查中;3:已督查) ,
- groupLeader: "",//小组组长 ,
- groupLeaderTel: "",//小组组长电话 ,
- recPersId: "",//记录人员ID ,
- recPers: "",//记录人员名称 ,
- recPersTel: "",//记录人员电话 ,
- pgi: "",//规划总投资
- rvLong: ""//规划河长
- },
- areasList: [],
- gongchengguimo: [
- {
- value: "4",
- label: "小(1)型"
- },
- {
- value: "5",
- label: "小(2)型"
- }
- ],
- zhubaleixing: [
- {
- value: "1",
- label: "混凝土坝"
- },
- {
- value: "2",
- label: "碾压混凝土坝"
- },
- {
- value: "3",
- label: "浆砌石坝"
- },
- {
- value: "4",
- label: "土坝"
- },
- {
- value: "5",
- label: "堆石坝"
- },
- {
- value: "6",
- label: "挡水坝"
- },
- {
- value: "7",
- label: "其他"
- }
- ],
- initLoacData: [{
- label: '江苏',
- cities: []
- }, {
- label: '浙江',
- cities: []
- }],
- props: {
- value: 'id',
- label: 'label',
- children: 'cities'
- },
- rules: {
- rsName: [
- {required: true, message: '请输入水库名称', trigger: 'blur'},
- ],
- rsAdmName: [
- {required: true, message: '请输入管理单位', trigger: 'blur'}
- ],
- compDate: [
- {required: true, message: '请选择完成时间', trigger: 'blur'}
- ]
- },
- provList: [],
- cityList: [],
- countryList: [],
- provName: '',
- cityName: '',
- countryName: '',
- provNames: '',
- cityNames: '',
- countryNames: '',
- curSelectItem: 0
- }
- },
- watch: {
- dczId: function (n, o) {
- this.searchProvTreeListCode = "";
- },
- objType: function (n, o) {
- this.searchProvTreeListCode = "";
- this.objType = n;
- this.getTableData_sk();
- this.getAreaList()
- },
- qyDataList(n, o) {
- this.showLeftTree = this.qyDataList.length != 0;
- this.getTableData_sk();
- this.getAreaList();
- }
- },
- mounted() {
- this.formObj.adCode = ""
- },
- computed: {
- userId: function () {
- return localStorage.getItem("userid") ? localStorage.getItem("userid") : '1098101939614724096'
- },
- },
- methods: {
- changeCurrentObjSelectName(item) {
- this.objType = item;
- },
- selectChange(val) {
- console.log(val);
- this.objType = val;
- },
- utPptFormatter: function (row, column) {
- return row.utPpt == 1
- ? "节水型" : "非节水型";
- },
- adNameFormatter: function (row, column) {
- return row.adName;
- },
- adFullNameFormatter: function (row, column) {
- return row.adFullName;
- },
- adCodeFormatter: function (row, column) {
- return row.adCode;
- },
- showDialog(tableCurrentRowType = null, yqList) {
- this.tableCurrentRowType = tableCurrentRowType;
- this.dialogFormVisible = true;
- let markObjType = tableCurrentRowType ? tableCurrentRowType : this.objType;//添加额外参数规避watch的先后执行问题
- if (markObjType === _self.objType && this.showLeftTree) {
- this.$refs['provTreeListQyRef'].getQyList();
- }
- this.getTableData_sk();
- },
- saveChange() {
- this.addObjectChange();
- },
- treeDataEmit(item) {
- this.qyDataList = item;
- if (this.qyDataList.length == 0) {
- this.showLeftTree = false;
- } else {
- this.showLeftTree = true;
- }
- },
- getTableData_dxs() {
- var _self = this;
- if (_self.qyDataList.length == 0) {
- _self.showLeftTree = false;
- } else {
- _self.showLeftTree = true;
- }
- _self.loading = true;
- var str = '';
- for (var i = 0; i < _self.qyDataList.length; i++) {
- str += _self.qyDataList[i].adCode + ',';
- }
- str = str.substring(0, str.length - 1)
- var obj = {
- "adcd": str,
- "adnm": '',
- "groupId": _self.dczId,
- "stcd": '',
- "stnm": _self.stnm,
- "sttp": '',
- "pageNum": _self.pageIndex,
- "pageSize": _self.pageSize
- }
- request.post('/dc/insp/obj/getGrwNotInGroup', obj).then((res) => {
- _self.loading = false;
- _self.currentShowList = res.data.list;
- _self.currentShowList.forEach((element, index) => {
- element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
- });
- _self.total = res.data.total;
- })
- },
- getTableData_sk() {
- var _self = this;
- if (_self.qyDataList.length == 0) {
- _self.showLeftTree = false;
- } else {
- _self.showLeftTree = true;
- }
- _self.loading = true;
- if (_self.qyDataList.length > 1) {
- var str = '';
- for (var i = 0; i < _self.qyDataList.length; i++) {
- str += _self.qyDataList[i].adCode + ',';
- }
- str = str.substring(0, str.length - 1);
- _self.searchProvTreeListCode = str;
- } else {
- _self.searchProvTreeListCode = _self.searchProvTreeListCode;
- }
- getTdfjList(_self.pageIndex, _self.pageSize, _self.objType, _self.formInline.utName, _self.dczId, _self.searchProvTreeListCode).then((response) => {
- _self.loading = false;
- _self.currentShowList = response.data.list;
- _self.currentShowList.forEach((element, index) => {
- element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
- });
- _self.total = response.data.total;
- })
- },
- handleSelectionChange(val) {
- this.multipleSelection = val;
- },
- handleCurrentChange(val) {
- console.log(`当前页: ${val}`);
- this.refreshCurrentShow();
- },
- refreshCurrentShow: function () {
- if (this.searchProvTreeListCode) {
- this.getTableData_sk1();
- } else {
- this.getTableData_sk();
- }
- },
- addObjectChange: function () {
- //提交当前选中对象
- var _self = this;
- var names = [];
- if (_self.addOnce) {
- _self.addOnce = false;
- return;
- }
- _self.addOnce = true
- var objArr = [];
- const length = _self.multipleSelection.length;
- for (let i = 0; i < length; i++) {
- var obj = {};
- obj['code'] = _self.multipleSelection[i].id;
- obj['name'] = _self.multipleSelection[i].nm;
- obj['ptype'] = _self.objType;
- objArr.push(obj);
- names.push(_self.multipleSelection[i].nm);
- }
- if(this.isNewPlan){
- var obj = {
- persid: this.userId,
- nm: this.dczName,
- id: this.dczId,
- persAllAreaDtoList: [],
- persAllDtoList: [],
- persAllObjDtoList: objArr
- };
- this.addOnce = false;
- this.dialogFormVisible = false;
- this.$message.success("选择成功");
- this.$emit("addSuccess",{obj:obj,names:names.join(",")});
- return;
- }
- try {
- request.post("/supervision/plan/insertSupervisionObj", {
- persid: this.userId,
- nm: this.dczName,
- id: this.dczId,
- persAllAreaDtoList: [],
- persAllDtoList: [],
- persAllObjDtoList: objArr
- }).then(response => {
- if (response.success == true) {
- _self.addOnce = false;
- _self.dialogFormVisible = false;
- _self.$message.success("添加成功");
- _self.$emit("addSuccess");
- }
- });
- } catch (e) {
- alert("暂无数据");
- }
- },
- provTreeSelectChangeHandler: function (params) {
- this.searchProvTreeListCode = params.code;
- this.formObj.adCode = params.code;
- this.getTableData_sk();
- },
- provTreeSelectChangeHandler_qy(params) {
- //this.qyDataList.length = 1;
- this.searchProvTreeListCode = params.code;
- this.formObj.adCode = params.code;
- this.getTableData_sk();
- },
- getTableData_dxs1() {
- var _self = this;
- var obj = {
- "adcd": _self.searchProvTreeListCode,
- "adnm": '',
- "groupId": _self.dczId,
- "stcd": '',
- "stnm": _self.stnm,
- "sttp": '',
- "pageNum": _self.pageIndex,
- "pageSize": _self.pageSize
- }
- request.post('/dc/insp/obj/getGrwNotInGroup', obj).then((res) => {
- _self.loading = false;
- _self.currentShowList = res.data.list;
- _self.currentShowList.forEach((element, index) => {
- element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
- });
- _self.total = res.data.total;
- })
- },
- getTableData_sk1() {
- var _self = this;
- if (_self.qyDataList.length == 0) {
- _self.showLeftTree = false;
- } else {
- _self.showLeftTree = true;
- }
- _self.loading = true;
- if (_self.qyDataList.length > 1) {
- var str = '';
- for (var i = 0; i < _self.qyDataList.length; i++) {
- str += _self.qyDataList[i].adCode + ',';
- }
- str = str.substring(0, str.length - 1);
- _self.searchProvTreeListCode = str;
- } else {
- _self.searchProvTreeListCode = _self.searchProvTreeListCode;
- }
- getTdfjList(_self.pageIndex, _self.pageSize, _self.objType, _self.formInline.utName, _self.dczId, _self.searchProvTreeListCode).then((response) => {
- _self.loading = false;
- _self.currentShowList = response.data.list;
- _self.currentShowList.forEach((element, index) => {
- element["index"] = _self.pageSize * (_self.pageIndex - 1) + index + 1;
- });
- _self.total = response.data.total;
- })
- },
- toAddNewRsvr() {
- this.addRsvrVisible = true
- },
- addNewRsvr(formName) {
- let _this = this
- if (!this.formObj.prjName) {
- this.$message.warning('请输入工程项目名称')
- return
- }
- if (!this.formObj.rvName) {
- this.$message.warning('请输入所在河流')
- return
- }
- if (!this.provName){
- this.$message.warning('请选择省')
- return
- }
- if (!this.cityName) {
- this.$message.warning('请选择市区')
- return
- }
- if (!this.countryName) {
- this.$message.warning('请选择区县')
- return
- }
- this.formObj.adCode = this.countryName;
- request.post('/att/samrmp/base', this.formObj).then(res => {
- if (res.success) {
- _this.$message.success('添加成功')
- this.getTableData_sk();
- _this.addRsvrVisible = false
- _this.formObj = {};
- _this.provName = "";
- _this.cityName = "";
- _this.countryName = "";
- } else {
- _this.$message.error(res.message)
- }
- }).catch(res => {
- _this.$message.error('请求错误' + res.message)
- })
- },
- getAreaList(val) {
- let areaParams = {
- adName: "",
- id: this.dczId,
- pageNum: 1,
- pageSize: 10000
- }
- let adCode = ''
- if (!val) {
- adCode = '000000000000'
- } else {
- adCode = val
- }
- request.get('/dc/ad/base/getAdData', {params: {'adCode': adCode}}).then(res => {
- if (res.success) {
- if (this.curSelectItem == 1) {
- this.cityList = res.data
- } else if (this.curSelectItem == 2) {
- this.countryList = res.data
- } else {
- this.provList = res.data
- }
- }
- })
- },
- handleItemChange(val) {
- this.getAreaList(val)
- },
- provChange(val) {
- this.curSelectItem = 1
- this.cityName = ''
- this.countryName = ''
- this.formObj.admDiv = val
- this.provList.forEach(ele => {
- if (ele.adCode == this.provName) {
- this.provNames = ele.adName
- }
- })
- this.formObj.adName = this.provNames
- this.getAreaList(val)
- },
- cityChange(val) {
- this.curSelectItem = 2
- if (val && val != '') {
- this.formObj.admDiv = val
- this.countryName = ''
- this.cityList.forEach(ele => {
- if (ele.adCode == this.cityName) {
- this.cityNames = ele.adName
- }
- })
- this.formObj.adName = this.provNames + this.cityNames
- this.getAreaList(val)
- }
- },
- countryChange(val) {
- if (val && val != '') {
- this.formObj.admDiv = val
- this.countryList.forEach(ele => {
- if (ele.adCode == this.countryName) {
- this.countryNames = ele.adName
- }
- })
- this.formObj.adName = this.provNames + this.cityNames + this.countryNames
- this.formObj.adCode = val
- }
- },
- closeWindowEvent() {
- this.formObj.adCode = ""
- }
- }
- };
- </script>
- <style>
- </style>
|