|
@@ -26,6 +26,14 @@
|
|
|
<el-form-item label="申请依据:">
|
|
|
<el-input v-model="baseForm.applyCause" :autosize="{ minRows: 2, maxRows: 6 }" type="textarea" />
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="支付期限:">
|
|
|
+ <div class="w-full">
|
|
|
+ <hc-date-picker :dates="betweenTime1" format="YYYY年MM月DD日" clearable @change="betweenTimeUpdate1" />
|
|
|
+ </div>
|
|
|
+ <div class="mt-2 w-full">
|
|
|
+ <hc-date-picker :dates="betweenTime2" format="YYYY年MM月DD日" clearable @change="betweenTimeUpdate2" />
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="预付款计算式:">
|
|
|
<el-input v-model="baseForm.calculateFormula" :autosize="{ minRows: 2, maxRows: 6 }" type="textarea" />
|
|
|
</el-form-item>
|
|
@@ -131,12 +139,31 @@ watch(() => props.periodId, (pid) => {
|
|
|
//监听
|
|
|
watch(isShow, (val) => {
|
|
|
if (val) {
|
|
|
- getKey1Data()
|
|
|
- getStartAmountData()
|
|
|
- baseForm.value.meterPeriodId = props.periodId
|
|
|
+ setDataApi()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+const setDataApi = () => {
|
|
|
+ getKey1Data()
|
|
|
+ getStartAmountData()
|
|
|
+ baseForm.value.meterPeriodId = props.periodId
|
|
|
+ const { payDate } = baseForm.value
|
|
|
+ if (isNullES(payDate)) return
|
|
|
+ const dates = payDate.split(' \n ')
|
|
|
+ if (dates.length >= 2) {
|
|
|
+ payDate1.value = dates[0]
|
|
|
+ payDate2.value = dates[1]
|
|
|
+ } else {
|
|
|
+ payDate1.value = dates[0]
|
|
|
+ }
|
|
|
+ if (!isNullES(payDate1.value)) {
|
|
|
+ betweenTime1.value = payDate1.value.split(' 至 ')
|
|
|
+ }
|
|
|
+ if (!isNullES(payDate2.value)) {
|
|
|
+ betweenTime2.value = payDate2.value.split(' 至 ')
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//计量期
|
|
|
const key1Data = ref([])
|
|
|
const getKey1Data = async () => {
|
|
@@ -157,22 +184,49 @@ const baseFormRules = {
|
|
|
message: '请选择材料计量期',
|
|
|
},
|
|
|
}
|
|
|
+
|
|
|
+//日期范围选择
|
|
|
+const payDate1 = ref('')
|
|
|
+const betweenTime1 = ref(null)
|
|
|
+const betweenTimeUpdate1 = ({ val, arr }) => {
|
|
|
+ betweenTime1.value = arr
|
|
|
+ payDate1.value = `${val['start']} 至 ${val['end']}`
|
|
|
+}
|
|
|
+
|
|
|
+//日期范围选择
|
|
|
+const payDate2 = ref('')
|
|
|
+const betweenTime2 = ref(null)
|
|
|
+const betweenTimeUpdate2 = ({ val, arr }) => {
|
|
|
+ betweenTime2.value = arr
|
|
|
+ payDate2.value = `${val['start']} 至 ${val['end']}`
|
|
|
+}
|
|
|
+
|
|
|
const modalSaving = ref(false)
|
|
|
const modalSave = async () => {
|
|
|
const res = await formValidate(baseFormRef.value)
|
|
|
if (!res) {
|
|
|
return false
|
|
|
}
|
|
|
+ modalSaving.value = true
|
|
|
+ const form = baseForm.value
|
|
|
+ if (!isNullES(payDate1.value) && !isNullES(payDate2.value)) {
|
|
|
+ form.payDate = payDate1.value + ' \n ' + payDate2.value
|
|
|
+ } else if (!isNullES(payDate1.value) && isNullES(payDate2.value)) {
|
|
|
+ form.payDate = payDate1.value
|
|
|
+ } else if (isNullES(payDate1.value) && !isNullES(payDate2.value)) {
|
|
|
+ form.payDate = payDate2.value
|
|
|
+ } else {
|
|
|
+ form.payDate = ''
|
|
|
+ }
|
|
|
key1Data.value.forEach((ele) => {
|
|
|
- if (ele.id === baseForm.value.meterPeriodId) {
|
|
|
+ if (ele.id === form.meterPeriodId) {
|
|
|
baseForm.value.periodName = ele.periodName
|
|
|
baseForm.value.periodNumber = ele.periodNumber
|
|
|
}
|
|
|
})
|
|
|
- modalSaving.value = true
|
|
|
if (ids.value.length < 1) {
|
|
|
const { error, code, msg } = await orderApi.add({
|
|
|
- ...baseForm.value,
|
|
|
+ ...form,
|
|
|
contractId: contractId.value,
|
|
|
projectId: projectId.value,
|
|
|
})
|
|
@@ -186,7 +240,7 @@ const modalSave = async () => {
|
|
|
}
|
|
|
} else if (ids.value.length > 0) {
|
|
|
const { error, code, msg } = await orderApi.update({
|
|
|
- ...baseForm.value,
|
|
|
+ ...form,
|
|
|
contractId: contractId.value,
|
|
|
projectId: projectId.value,
|
|
|
})
|
|
@@ -204,6 +258,10 @@ const modalSave = async () => {
|
|
|
|
|
|
const modalClose = () => {
|
|
|
isShow.value = false
|
|
|
+ payDate1.value = ''
|
|
|
+ payDate2.value = ''
|
|
|
+ betweenTime1.value = null
|
|
|
+ betweenTime2.value = null
|
|
|
emit('close')
|
|
|
}
|
|
|
|