浏览代码

项目登记-业务类型

sangwenwei 1 年之前
父节点
当前提交
922af90601

+ 167 - 0
src/views/cw/projectBusinessType/CwProjectBusinessTypeListForm1.vue

@@ -0,0 +1,167 @@
+<template>
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+	  draggable
+      width="850px"
+      height="500px"
+      append-to-body
+      @close="close"
+      @keyup.enter.native="getBusinessType"
+      v-model="visible">
+      <div style="height: calc(100% - 50px);">
+        <el-form size="primary" :inline="true" class="query-form" ref="searchForm" :model="searchForm"  @submit.native.prevent>
+          <el-form-item label="业务类型" prop="name">
+            <el-input size="primary" v-model="searchForm.name" placeholder="请输入业务类型" clearable></el-input>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button type="primary" @click="list()" size="primary" icon="el-icon-search">查询</el-button>
+            <el-button @click="resetSearch()" size="primary" icon="el-icon-refresh-right">重置</el-button>
+          </el-form-item>
+        </el-form>
+
+        <vxe-table
+          border="inner"
+          auto-resize
+          resizable
+          height="450px"
+          :loading="loading"
+          size="small"
+          ref="businessTypeTable"
+          show-header-overflow
+          show-overflow
+          highlight-hover-row
+          :row-config="{isCurrent: true}"
+          :radio-config="{trigger: 'row'}"
+          :menu-config="{}"
+          :sort-config="{remote:true}"
+          :data="dataList"
+          :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
+          :checkbox-config="{}">
+          <vxe-column type="radio" width="40" ></vxe-column>
+          <vxe-column min-width="350" title="业务类型" field="name" align="left" tree-node></vxe-column>
+<!--          <vxe-column min-width="50" align="center" title="序号" field="sort"></vxe-column>-->
+<!--          <vxe-column min-width="50" align="center" title="级别" field="level"></vxe-column>-->
+<!--          <vxe-column min-width="50" align="center" title="备注" field="remarks"></vxe-column>-->
+        </vxe-table>
+<!--        <vxe-pager-->
+<!--          background-->
+<!--          size="small"-->
+<!--          :current-page="tablePage.currentPage"-->
+<!--          :page-size="tablePage.pageSize"-->
+<!--          :total="tablePage.total"-->
+<!--          :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"-->
+<!--          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"-->
+<!--          @page-change="currentChangeHandle">-->
+<!--        </vxe-pager>-->
+      </div>
+		<template #footer>
+      		<span slot="footer" class="dialog-footer" style="float: right">
+      			<el-button size="primary" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+      			<el-button size="primary" type="primary" v-if="method != 'view'" @click="getBusinessType()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+    		</span>
+		</template>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import CwProjectBusinessTypeService from '@/api/cw/projectBusinessType/CwProjectBusinessTypeService'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+        dataList: [],
+        searchForm: {
+          name: ''
+        }
+      }
+    },
+    cwProjectBusinessTypeService: null,
+    created () {
+      this.cwProjectBusinessTypeService = new CwProjectBusinessTypeService()
+    },
+    components: {
+    },
+    methods: {
+      init (deputy) {
+        this.title = '业务类型选择'
+        this.visible = true
+        this.list()
+      },
+      // 表单提交
+      getBusinessType () {
+        let row = this.$refs.businessTypeTable.getRadioRecord()
+        if (this.commonJS.isEmpty(row)) {
+          this.$message.error('请至少选择一条数据')
+        } else {
+          let _this = this
+          const waitForEach = function () {
+            return new Promise(function (resolve, reject) {
+              _this.dataList.forEach((item) => {
+                if (item.parentId === row.id) {
+                  _this.$message.error('只可以选择最小节点的数据')
+                  throw new Error('只可以选择最小节点的数据')
+                }
+              })
+              resolve()
+            })
+          }
+          waitForEach().then(() => {
+            this.close()
+            this.$emit('getBusinessType', row)
+          }).catch((reject) => {
+            console.log('waitForEach.catch', reject)
+          })
+        }
+      },
+      list () {
+        this.dataList = []
+        this.loading = true
+        this.cwProjectBusinessTypeService.findListByIsShow({
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm
+        }).then((data) => {
+          this.dataList = data.records
+          this.tablePage.total = data.total
+          this.loading = false
+        })
+      },
+      // 当前页
+      currentChangeHandle ({currentPage, pageSize}) {
+        this.tablePage.currentPage = currentPage
+        this.tablePage.pageSize = pageSize
+        this.list()
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.list()
+      },
+      close () {
+        this.$refs.searchForm.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
+<style scoped>
+  /deep/ .el-dialog__body {
+    padding-top: 0;
+  }
+  /deep/ .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
+    margin-bottom: 0px;
+  }
+</style>

+ 7 - 116
src/views/cw/projectRecords/ProjectRecordsAddForm.vue

@@ -389,63 +389,12 @@
     </el-dialog>
     <WorkContractChooseCom ref="workContractChooseCom" @getContract="getContract"></WorkContractChooseCom>
     <WorkClientChooseForm ref="workClientChooseForm" @getWorkClientChoose="getWorkClientChoose"></WorkClientChooseForm>
-<!--    <CwProjectBusinessTypeListForm ref="cwProjectBusinessTypeListForm" @getBusinessType="getBusinessType"></CwProjectBusinessTypeListForm>-->
+    <CwProjectBusinessTypeListForm ref="cwProjectBusinessTypeListForm" @getBusinessType="getBusinessType"></CwProjectBusinessTypeListForm>
     <ContractNameForm ref="contractNameForm"></ContractNameForm>
     <CwClientPageForm ref="cwClientPageForm" @getProgram="getProgram"></CwClientPageForm>
   </div>
-<!--	业务类型弹窗-->
-	<el-dialog
-		:title="title"
-		:close-on-click-modal="false"
-		draggable
-		width="850px"
-		height="500px"
-		append-to-body
-		@close="close"
-		@keyup.enter.native="getBusinessType"
-		v-model="typeVisible">
-		<div style="height: calc(100% - 50px);">
-			<el-form size="large" :inline="true" class="query-form" ref="searchForm" :model="typeSearchForm"  @submit.native.prevent>
-				<el-form-item label="业务类型" prop="name">
-					<el-input size="large" v-model="typeSearchForm.name" placeholder="请输入业务类型" clearable></el-input>
-				</el-form-item>
 
-				<el-form-item>
-					<el-button type="primary" @click="businessTypeList()" size="large" icon="el-icon-search">查询</el-button>
-					<el-button @click="resetSearch()" size="large" icon="el-icon-refresh-right">重置</el-button>
-				</el-form-item>
-			</el-form>
 
-			<vxe-table
-				border="inner"
-				auto-resize
-				resizable
-				height="450px"
-				:loading="loading"
-				size="small"
-				ref="businessTypeTable"
-				show-header-overflow
-				show-overflow
-				highlight-hover-row
-				:row-config="{isCurrent: true}"
-				:radio-config="{trigger: 'row'}"
-				:menu-config="{}"
-				:sort-config="{remote:true}"
-				:data="typeDataList"
-				:tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
-				:checkbox-config="{}">
-				<vxe-column type="radio" width="40" ></vxe-column>
-				<vxe-column min-width="350" title="业务类型" field="name" align="left" tree-node></vxe-column>
-				<!--          <vxe-column min-width="50" align="center" title="序号" field="sort"></vxe-column>-->
-				<!--          <vxe-column min-width="50" align="center" title="级别" field="level"></vxe-column>-->
-				<!--          <vxe-column min-width="50" align="center" title="备注" field="remarks"></vxe-column>-->
-			</vxe-table>
-		</div>
-		<span slot="footer" class="dialog-footer" style="float: right">
-      <el-button size="large" @click="this.typeVisible=false" icon="el-icon-circle-close">关闭</el-button>
-      <el-button size="large" type="primary" v-if="method != 'view'" @click="getBusinessType1()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
-    </span>
-	</el-dialog>
 
 
 </template>
@@ -458,7 +407,7 @@
   import projectRecordsService from '@/api/cw/projectRecords/ProjectRecordsService'
   import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
   import WorkContractChooseCom from './WorkContractChooseCom'
-  import CwProjectBusinessTypeListForm from '@/views/cw/projectBusinessType/CwProjectBusinessTypeListForm'
+  import CwProjectBusinessTypeListForm from '@/views/cw/projectBusinessType/CwProjectBusinessTypeListForm1'
   import ContractNameForm from '../workContract/ContractNameForm'
   import workClientService from '@/api/cw/workClientInfo/WorkClientService'
   import contractInfoService from '@/api/cw/workContract/ContractInfoService'
@@ -481,6 +430,7 @@
     },
     data () {
       return {
+	    showChildDialog: false,
 	    typeVisible:false,
         title: '',
         method: '',
@@ -993,42 +943,8 @@
       openContract () {
         this.$refs.workContractChooseCom.init()
       },
-      getBusinessType1 () {
-      	// console.log(row)
-        // this.inputForm.businessType = row.id
-        // this.inputForm.businessTypeName = row.name
-		  let row = this.$refs.businessTypeTable.getRadioRecord()
-		  if (this.commonJS.isEmpty(row)) {
-			  this.$message.error('请至少选择一条数据')
-		  } else {
-			  let _this = this
-			  const waitForEach = function () {
-				  return new Promise(function (resolve, reject) {
-					  _this.typeDataList.forEach((item) => {
-						  if (item.parentId === row.id) {
-							  _this.$message.error('只可以选择最小节点的数据')
-							  throw new Error('只可以选择最小节点的数据')
-						  }
-					  })
-					  resolve()
-				  })
-			  }
-			  waitForEach().then(() => {
-				  this.close()
-				  this.$emit('getBusinessType', row)
-				  this.inputForm.businessType = row.id
-				  this.inputForm.businessTypeName = row.name
-				  console.log(row)
-			  }).catch((reject) => {
-				  console.log('waitForEach.catch', reject)
-			  })
-		  }
-      },
-      // 打开业务类型选择组件
       openBusinessTypeForm () {
-      	this.typeVisible=true
-		  this.businessTypeList()
-        // this.$refs.cwProjectBusinessTypeListForm.init()
+        this.$refs.cwProjectBusinessTypeListForm.init()
       },
       // 查看合同详情
       viewContract (id) {
@@ -1121,35 +1037,10 @@
 				this.loading = false
 			})
 	  },
-		getBusinessType () {
-			let row = this.$refs.businessTypeTable.getRadioRecord()
-			if (this.commonJS.isEmpty(row)) {
-				this.$message.error('请至少选择一条数据')
-			} else {
-				let _this = this
-				const waitForEach = function () {
-					return new Promise(function (resolve, reject) {
-						_this.dataList.forEach((item) => {
-							if (item.parentId === row.id) {
-								_this.$message.error('只可以选择最小节点的数据')
-								throw new Error('只可以选择最小节点的数据')
-							}
-						})
-						resolve()
-					})
-				}
-				waitForEach().then(() => {
-					this.close()
-					this.$emit('getBusinessType', row)
-				}).catch((reject) => {
-					console.log('waitForEach.catch', reject)
-				})
-			}
+		getBusinessType (row) {
+			this.inputForm.businessType = row.id
+			this.inputForm.businessTypeName = row.name
 		},
-		close () {
-			this.$refs.searchForm.resetFields()
-			this.typeVisible = false
-		}
     }
   }
 </script>