| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425 |
- <template>
- <div style="height:100%;width:100%;">
- <el-container style="height:100%;width:100%;">
- <el-main id="dxdcListMainsk" style="padding:5px 20px;">
- <h3 style="text-align: center;margin: 10px 0 20px;">{{title}}</h3>
- <div class="flex_wrapper">
- <div>
- <el-card class="box-card">
- <div slot="header" class="clearfix">
- <span>工程信息</span>
- <!-- <el-select v-model="typeOfProject">
- <el-option label="水利工程建设" value="2"></el-option>
- <el-option label="水利工程运行" value="1"></el-option>
- </el-select> -->
- <!-- <el-button style="float: right; padding: 3px 0" type="text">操作按钮</el-button> -->
- <el-button style="float: right; padding: 3px 0" type="text" @click="batchImport" v-if="ownPriv('manage')">批量导入</el-button>
- <!-- 水利工程基础信息批量导入弹窗 -->
- <slgc-tian-bao-pl v-if="showGongChengTianBaoPl" @closePlDialog="closePlDialog"></slgc-tian-bao-pl>
- </div>
- <el-table
- :data="dataList"
- border
- stripe
- highlight-current-row
- @current-change="handleCurrentChange"
- :height="tableHeight"
- style="width: 100%">
- <el-table-column prop="nm" label="工程名称" min-width="150" show-overflow-tooltip></el-table-column>
- <el-table-column prop="ptype" label="工程类型" min-width="100" show-overflow-tooltip>
- <template slot-scope="scope">
- <span>{{scope.row.etype | pType}}</span>
- </template>
- </el-table-column>
- <el-table-column prop="stwktm" label="开工年份" min-width="80"></el-table-column>
- <el-table-column prop="plantm" label="计划工期(月)" min-width="100"></el-table-column>
- <el-table-column prop="estapp" label="总投资(亿元)" min-width="100"></el-table-column>
- <el-table-column fixed="right" label="操作" min-width="70" v-if="ownPriv('manage')">
- <template slot-scope="scope">
- <el-button @click="toCorrect(scope.row)" icon="el-icon-edit" type="text"></el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination :pager-count="5" :current-page="pageIndex"
- :page-size="pageSize" layout="total, prev, pager, next" :total="total"
- @current-change="pageIndexChange" @size-change="handleSizeChange"
- ></el-pagination>
- </el-card>
- </div>
- <project-build :currentRow="currentRow"></project-build>
- </div>
- </el-main>
- </el-container>
- <!-- 工程纠错 -->
- <el-dialog :title="'基本信息纠错'" :visible.sync="correct_Dialog">
- <el-form label-width="130px">
- <el-form-item label="工程名称">
- <el-input v-model="project.nm" clearable readonly></el-input>
- </el-form-item>
- <el-form-item label="工程类型">
- <el-input v-model="projectType" clearable readonly></el-input>
- </el-form-item>
- <el-form-item label="开工时间" required>
- <el-date-picker
- v-model="project.stwktm"
- align="right"
- type="year"
- value-format="yyyy"
- placeholder="选择年"
- ></el-date-picker>
- </el-form-item>
- <el-form-item label="计划工期" required>
- <el-input v-model="project.plantm" clearable>
- <template slot="append">月</template>
- </el-input>
- </el-form-item>
- <el-form-item label="概算批复总投资" required>
- <el-input v-model="project.estapp" clearable>
- <template slot="append">亿元</template>
- </el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="correct_Dialog = false">取 消</el-button>
- <el-button type="primary" @click="saveCorrect">确 定</el-button>
- </div>
- </el-dialog>
- <!-- 添加/编辑一级管理单位 -->
- <el-dialog :title="dialogType + '一级管理单位'" :visible.sync="unitOne_Dialog">
- <el-form label-width="120px">
- <el-form-item label="一级单位名称" required>
- <el-input v-model="unitOne.nm" clearable></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="unitOne_Dialog = false">取 消</el-button>
- <el-button type="primary" @click="addUnitOne">确 定</el-button>
- </div>
- </el-dialog>
- <!-- 工程问题清单 -->
- <project-problem @dialogClose="showProblemDialog = false" v-if="showProblemDialog"></project-problem>
- </div>
- </template>
- <script>
- import request from "../../utils/gw_ajax_request.js";
- import { dateFormat } from "../../utils/gw_date.js";
- import provTreeList from "../../widgets/provTreeList.vue";
- import projectProblem from "./project/projectProblem.vue";
- import projectBuild from './project/jianshe.vue';
- import projectOperate from './project/yunxing.vue';
- import slgcTianBaoPl from './slgcTianBao_piliang.vue';
- export default {
- components: {
- provTreeList: provTreeList,
- projectProblem: projectProblem,
- projectOperate: projectOperate,
- projectBuild: projectBuild,
- slgcTianBaoPl: slgcTianBaoPl
- },
- props: [],
- data() {
- return {
- tableHeight: window.innerHeight - 290,
- treeData: [],
- dataList: [],
- searchObj:{
- "engScal": '2'
- },
- project: {
- nm: "",
- ptype: "",
- stwktm: "",
- plantm: "",
- estapp: ""
- },
- unitOne: {
- nm: ""
- },
- currentRow: {},
- pageIndex: 1,
- pageSize: 20,
- total: 0,
- dialogType: "添加",
- unitOne_Dialog: false,
- correct_Dialog: false,
- showProblemDialog: false,
- typeOfProject: '2',
- title: '水利工程建设情况检查填报',
- showGongChengTianBaoPl: false,
- };
- },
- computed: {
- persId() {
- return localStorage.getItem("userid")
- ? localStorage.getItem("userid")
- : "1098101939614724096";
- },
- projectType() {
- let val = this.project.ptype;
- if (val != "0" && !val) {
- return "";
- }
- if (val == "0") {
- return "重大农业节水工程";
- } else if (val == "1") {
- return "重大引调水工程";
- } else if (val == "2") {
- return "重点水源工程";
- } else if (val == "3") {
- return "江河湖泊治理骨干工程";
- } else if (val == "4") {
- return "新建大型灌区工程";
- } else if (val == "5") {
- return "非水利部下达投资计划";
- } else if (val == "6") {
- return "全部由地方投资";
- } else if (val == "7") {
- return "其他项目";
- } else {
- return "未知项目";
- }
- }
- },
- mounted() {
- this.getDataList();
- },
- activated() {
- this.getDataList();
- },
- watch: {
- },
- methods: {
- //获取工程列表信息
- getDataList() {
- let paramObj = {
- type: "empwt",
- presId: this.persId,
- pageSize: this.pageSize,
- pageNum: this.pageIndex
- }
- Object.assign(this.searchObj,paramObj)
- request
- .post(`/dc/insp/rsvrRgstr/list/type`, this.searchObj)
- .then(res => {
- if (res.success) {
- this.dataList = res.data.list;
- this.total = res.data.total;
- if (this.dataList.length) {
- this.currentRow = this.dataList[0];
- this.addRegister()
- }
- }
- });
- },
- // 工程信息纠错
- toCorrect(row) {
- request.get(`/bis/insp/empwtprj/base/${row.code}`).then(res => {
- if (res.success) {
- this.project = res.data;
- this.project.stwktm = this.project.stwktm.toString();
- }
- });
- this.correct_Dialog = true;
- },
- saveCorrect() {
- this.project.persId = this.persId;
- //校验计划工期和概算批复总投资,实际应根据实际业务进行校验
- if(this.project.plantm < 0 || this.project.plantm > 1200){
- this.$message.error('计划工期的范围应在0-1200之间,请重新填写!');
- this.project.plantm = '';
- return;
- };
- if(this.project.estapp < 0 || this.project.estapp > 9999 ){
- this.$message.error('概算批复总投资的范围应在0-9999之间,请重新填写!');
- this.project.estapp = '';
- return;
- };
- request
- .post(`/bis/insp/empwtprj/base/update`, this.project)
- .then(res => {
- if (res.success) {
- this.$message.success("修改成功");
- this.correct_Dialog = false;
- this.getDataList();
- } else {
- this.$message.error(res.message);
- }
- })
- .catch(error => {
- this.$message.error(res.message);
- });
- },
- // 添加一级管理单位
- toAddUnitOne(row) {
- this.dialogType = "添加";
- this.unitOne = {
- nm: ""
- };
- this.unitOne.regId = row.id;
- this.unitOne_Dialog = true;
- },
- addUnitOne() {
- this.unitOne.lev = "1";
- this.unitOne.pid = "0";
- this.unitOne.persId = this.persId;
- request
- .post(`/bis/insp/mampu/info/add`, this.unitOne)
- .then(res => {
- if (res.success) {
- this.$message.success(this.dialogType + "成功");
- this.unitOne_Dialog = false;
- this.getDataList();
- } else {
- this.$message.error(res.message);
- }
- })
- .catch(error => {
- this.$message.error(res.message);
- });
- },
- //表格选中行操作
- setCurrent() {
- this.$refs.singleTable.setCurrentRow(this.dataList[0]);
- },
- handleCurrentChange(val) {
- this.currentRow = val;
- this.addRegister()
- },
- addRegister(){
- let paramObj = {
- "code": this.currentRow.code,
- "objId": this.currentRow.objId,
- "nodeId": this.currentRow.nodeId,
- "recPersId": this.persId,
- "id": this.currentRow.id
- }
- request
- .post(`/bis/insp/key/register/add`, paramObj)
- .then(res => {
- if (res.success && res.data) {
- this.currentRow.id = res.data.id
- } else {
- this.$message.error(res.message);
- }
- })
- .catch(error => {
- this.$message.error(res.message);
- });
- },
- formatDate(row, column) {
- if (row.uptm) {
- return dateFormat(row.uptm, "yyyy-MM-dd");
- }
- },
- pageIndexChange(val) {
- this.pageIndex = val;
- this.getDataList();
- },
- handleSizeChange(val) {
- this.pageSize = val;
- this.getDataList();
- },
- batchImport(){
- this.showGongChengTianBaoPl = true
- },
- closePlDialog(){
- this.showGongChengTianBaoPl = false
- }
- },
- watch:{
- typeOfProject(val){
- this.title = val == '2' ? '水利工程建设情况检查填报' : '水利工程运行情况检查填报'
- this.searchObj.engScal = val
- this.getDataList()
- }
- },
- filters: {
- pType(val) {
- if (val != "0" && !val) {
- return "";
- }
- if (val == "0") {
- return "重大农业节水工程";
- } else if (val == "1") {
- return "重大引调水工程";
- } else if (val == "2") {
- return "重点水源工程";
- } else if (val == "3") {
- return "江河湖泊治理骨干工程";
- } else if (val == "4") {
- return "新建大型灌区工程";
- } else if (val == "5") {
- return "非水利部下达投资计划";
- } else if (val == "6") {
- return "全部由地方投资";
- } else if (val == "7") {
- return "其他项目";
- } else {
- return "未知项目";
- }
- },
- nature(val) {
- if (val != "0" && !val) {
- return "";
- }
- if (val == "1") {
- return "项目法人(建设单位)";
- } else if (val == "2") {
- return "勘察设计单位";
- } else if (val == "3") {
- return "监理单位";
- } else if (val == "4") {
- return "施工单位";
- } else if (val == "5") {
- return "金属结构及机电设备安装单位";
- } else if (val == "6") {
- return "安全监测单位";
- } else if (val == "7") {
- return "质量检测单位";
- } else {
- return "其它";
- }
- },
- government(val) {
- if (val != "0" && !val) {
- return "";
- }
- if (val == "1") {
- return "直管";
- } else if (val == "2") {
- return "代建";
- }
- }
- }
- };
- </script>
- <style lang="scss">
- #dcdxHeader {
- padding: 15px 20px;
- }
- #dxdcFooter {
- text-align: center;
- }
- #dxdcAside {
- border: 1px solid #d5d5ff;
- }
- .el-table .warning-row {
- background: oldlace;
- }
- .el-table .success-row {
- background: #f0f9eb;
- }
- .flex_wrapper{
- display: flex;
- justify-content: space-between;
- >div:first-child{
- width: 40%;
- margin-right: 0.6%;
- }
- }
- </style>
|