|
@@ -17,8 +17,8 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-32 ml-2">
|
|
|
- <el-select v-model="searchForm.number" block clearable placeholder="计量期" size="large">
|
|
|
- <el-option v-for="item in numberOptions" :key="item.id" :label="item.number" :value="item.number" />
|
|
|
+ <el-select v-model="searchForm.stageId" block clearable placeholder="计量期" size="large">
|
|
|
+ <el-option v-for="item in numberOptions" :key="item.id" :label="item.number" :value="item.id" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-52 ml-2">
|
|
@@ -126,7 +126,7 @@
|
|
|
</HcDrawer>
|
|
|
|
|
|
<!-- 新增结算单 -->
|
|
|
- <HcDialog is-to-body bg-color="white" is-table widths="80%" title="新增结算单" :padding="false" :show="rowModal" @save="rowModalSave" @close="rowModalClose">
|
|
|
+ <HcDialog is-to-body bg-color="white" is-table widths="80%" title="新增结算单" :padding="false" :show="rowModal" :loading="addLoaing" @save="rowModalSave" @close="rowModalClose">
|
|
|
<div class="hc-settle-dialog-box">
|
|
|
<div id="settle-dialog-tree" class="hc-settle-dialog-tree">
|
|
|
<el-scrollbar>
|
|
@@ -135,22 +135,22 @@
|
|
|
</div>
|
|
|
<div id="settle-dialog-table" class="hc-settle-dialog-table">
|
|
|
<div class="dialog-table-header">
|
|
|
- <div class="w-32 ml-2">
|
|
|
+ <div class="w-44">
|
|
|
+ <el-select v-model="jqnumber" block clearable placeholder="请选择结算期数" size="large">
|
|
|
+ <el-option v-for="item in numberOptions" :key="item.id" :label="item.number" :value="item.number" />
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="w-32 ml-8" style="position: absolute; right: 320px;">
|
|
|
<el-select v-model="searchForm1.type" block clearable placeholder="补偿类型" size="large" @change="changType">
|
|
|
<el-option label="征地补偿" value="1" />
|
|
|
<el-option label="坟地补偿" value="2" />
|
|
|
<el-option label="专项补偿" value="3" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div class="w-32">
|
|
|
- <el-select v-model="searchForm1.number" block clearable placeholder="计量期" size="large">
|
|
|
- <el-option v-for="item in numberOptions" :key="item.id" :label="item.number" :value="item.number" />
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="w-52 ml-2">
|
|
|
- <el-input v-model="searchForm1.name" clearable placeholder="请输入名称进行查询" size="large" />
|
|
|
+ <div class="w-52 ml-2" style="position: absolute; right: 100px;">
|
|
|
+ <el-input v-model="searchForm1.number" clearable placeholder="请输入协议编号进行查询" size="large" />
|
|
|
</div>
|
|
|
- <div class="ml-4">
|
|
|
+ <div class="ml-4" style="position: absolute; right: 0;">
|
|
|
<el-button type="primary" size="large" @click="searchClick1">
|
|
|
<HcIcon name="search-2" />
|
|
|
<span>搜索</span>
|
|
@@ -225,13 +225,14 @@
|
|
|
import { nextTick, onUnmounted, ref } from 'vue'
|
|
|
import split from 'split.js'
|
|
|
import settleApi from '~api/settle/index.js'
|
|
|
-import { getArrValue } from 'js-fast-way'
|
|
|
+import { arrToId, getArrValue } from 'js-fast-way'
|
|
|
import { useAppStore } from '~src/store'
|
|
|
const useAppState = useAppStore()
|
|
|
const projectId = ref(useAppState.getProjectId)
|
|
|
//树节点被点击
|
|
|
const treeNodeTap = ({ node, data }) => {
|
|
|
-
|
|
|
+ searchForm.value.areaId = data.id
|
|
|
+ getTableData()
|
|
|
}
|
|
|
|
|
|
//搜索表单
|
|
@@ -259,25 +260,34 @@ const pageChange = ({ current, size }) => {
|
|
|
//获取数据
|
|
|
const tableLoading = ref(false)
|
|
|
const tableColumn = [
|
|
|
- { key: 'key1', name: '计量期' },
|
|
|
- { key: 'key2', name: '结算协议书名称' },
|
|
|
- { key: 'key3', name: '协议书类型' },
|
|
|
- { key: 'key4', name: '协议书金额' },
|
|
|
+ { key: 'stage', name: '计量期' },
|
|
|
+ { key: 'name', name: '结算协议书名称' },
|
|
|
+ { key: 'type', name: '协议书类型' },
|
|
|
+ { key: 'agreementMoney', name: '协议书金额' },
|
|
|
{ key: 'action', name: '操作', width: '130', align: 'center' },
|
|
|
]
|
|
|
const tableData = ref([
|
|
|
- { id: 1, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 2, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 3, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 4, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
])
|
|
|
-const getTableData = () => {
|
|
|
-
|
|
|
+const getTableData = async () => {
|
|
|
+ tableLoading.value = true
|
|
|
+ const { error, code, data } = await settleApi.getOutPage({
|
|
|
+ projectId: projectId.value,
|
|
|
+ ...searchForm.value,
|
|
|
+ })
|
|
|
+ tableLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ tableData.value = getArrValue(data['records'])
|
|
|
+
|
|
|
+ } else {
|
|
|
+ tableData.value = []
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//多选事件
|
|
|
+const tableCheckedKeys = ref([])
|
|
|
const tableSelectionChange = (rows) => {
|
|
|
- console.log(rows)
|
|
|
+ tableCheckedKeys.value = rows
|
|
|
}
|
|
|
|
|
|
|
|
@@ -319,19 +329,15 @@ const tableColumn1 = [
|
|
|
{ key: 'name', name: '结算协议书名称' },
|
|
|
{ key: 'allMoney', name: '协议书补偿金额(元)' },
|
|
|
]
|
|
|
-const tableData1 = ref([
|
|
|
- { id: 1, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 2, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 3, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
- { id: 4, key1: 'xxxx', key2: 'xxxx', key3: '征地补偿' },
|
|
|
-])
|
|
|
-const searchForm1 = ref({})
|
|
|
+const tableData1 = ref([])
|
|
|
+const searchForm1 = ref({ type:'1' })
|
|
|
const tableLoading1 = ref(false)
|
|
|
const getTableData1 = async () => {
|
|
|
tableLoading1.value = true
|
|
|
const { error, code, data } = await settleApi.getAgreementList({
|
|
|
projectId: projectId.value,
|
|
|
...searchForm1.value,
|
|
|
+ agreementIds:rowagreementIds.value,
|
|
|
})
|
|
|
tableLoading1.value = false
|
|
|
if (!error && code === 200) {
|
|
@@ -350,6 +356,9 @@ const treeNodeTap1 = ({ node, data }) => {
|
|
|
const addRowClick = () => {
|
|
|
formModel.value = {}
|
|
|
rowModal.value = true
|
|
|
+ searchForm1.value.type = '1'
|
|
|
+ rowagreementIds.value = ''
|
|
|
+ changType('1')
|
|
|
getTableData1()
|
|
|
nextTick(() => {
|
|
|
setSplitDom()
|
|
@@ -357,7 +366,12 @@ const addRowClick = () => {
|
|
|
}
|
|
|
|
|
|
//编辑
|
|
|
+const rowagreementIds = ref('')
|
|
|
const editRowClick = (row) => {
|
|
|
+ rowagreementIds.value = row.agreementIds
|
|
|
+ searchForm1.value.type = row.type.toString()
|
|
|
+ changType( searchForm1.value.type)
|
|
|
+ jqnumber.value = row.stageId
|
|
|
formModel.value = {}
|
|
|
rowModal.value = true
|
|
|
nextTick(() => {
|
|
@@ -366,8 +380,35 @@ const editRowClick = (row) => {
|
|
|
}
|
|
|
|
|
|
//保存
|
|
|
-const rowModalSave = () => {
|
|
|
-
|
|
|
+const addLoaing = ref(false)
|
|
|
+const rowModalSave = async () => {
|
|
|
+ const agreementIds = arrToId(tableCheckedKeys.value)
|
|
|
+ const stage = jqnumber.value
|
|
|
+ let stageId = ''
|
|
|
+ numberOptions.value.forEach((ele)=>{
|
|
|
+ if ( ele.number === stage) {
|
|
|
+ stageId = ele.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (stageId && stage) {
|
|
|
+ addLoaing.value = true
|
|
|
+ const { error, code, msg } = await settleApi.addOrUpdateAgree({
|
|
|
+ projectId: projectId.value,
|
|
|
+ type:searchForm1.value.type,
|
|
|
+ areaId:searchForm1.value.areaId,
|
|
|
+ stage:stage,
|
|
|
+ stageId:stageId,
|
|
|
+ agreementIds:agreementIds,
|
|
|
+ })
|
|
|
+ addLoaing.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window.$message.success(msg)
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ window.$message.warning('请选择结算期数')
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//关闭弹窗
|
|
@@ -406,8 +447,9 @@ const getTableData2 = async () => {
|
|
|
}
|
|
|
//获取期数
|
|
|
const numberOptions = ref([])
|
|
|
+const jqnumber = ref('')//计量期
|
|
|
const changType = async (val)=>{
|
|
|
- searchForm.value.number = ''
|
|
|
+ jqnumber.value = ''
|
|
|
const { error, code, data } = await settleApi.getPage({
|
|
|
projectId: projectId.value,
|
|
|
type:val,
|