|
|
@@ -11,7 +11,12 @@
|
|
|
<el-row>
|
|
|
<el-col :span="12" :xs="24">
|
|
|
<el-form-item label="长者姓名" prop="elderId">
|
|
|
- <selectElder v-model="dataForm.elderId" @elder="handleUpdateElder" :tId="dataForm.tenantId" inStatus=""/>
|
|
|
+ <selectElder
|
|
|
+ v-model="dataForm.elderId"
|
|
|
+ @elder="handleUpdateElder"
|
|
|
+ :tId="dataForm.tenantId"
|
|
|
+ inStatus=""
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12" :xs="24">
|
|
|
@@ -57,14 +62,21 @@
|
|
|
placeholder="请选择日期"
|
|
|
:style="{ width: '100%' }"
|
|
|
/>
|
|
|
-<!-- <TgSelect v-model="dataForm.attributionBillTime" v-if="!isDetail">-->
|
|
|
-<!-- <el-option v-for="item in attributionBillTimeOption" :key="item" :value="item"/>-->
|
|
|
-<!-- </TgSelect>-->
|
|
|
+ <!-- <TgSelect v-model="dataForm.attributionBillTime" v-if="!isDetail">-->
|
|
|
+ <!-- <el-option v-for="item in attributionBillTimeOption" :key="item" :value="item"/>-->
|
|
|
+ <!-- </TgSelect>-->
|
|
|
<span v-else>{{ dataForm.attributionBillTime }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-button v-if="!isDetail" type="primary" @click="handleAdd" link class="mb5" :disabled="!dataForm.attributionBillTime">
|
|
|
+ <el-button
|
|
|
+ v-if="!isDetail"
|
|
|
+ type="primary"
|
|
|
+ @click="handleAdd"
|
|
|
+ link
|
|
|
+ class="mb5"
|
|
|
+ :disabled="!dataForm.attributionBillTime"
|
|
|
+ >
|
|
|
<Icon icon="ep:zoom-in" class="mr-5px" />添加明细
|
|
|
</el-button>
|
|
|
<el-table :data="dataForm.dailyExpenses" :header-cell-style="tableHeaderColor">
|
|
|
@@ -100,7 +112,7 @@
|
|
|
<el-table-column prop="itemName" label="收费项目" :width="isDetail ? 150 : 180">
|
|
|
<template #default="scope">
|
|
|
<TgSelect
|
|
|
- v-if="![4,9].includes(scope.row.type)"
|
|
|
+ v-if="![4, 9].includes(scope.row.type)"
|
|
|
v-model="scope.row.itemId"
|
|
|
@change="handleChangeItemName(scope.row)"
|
|
|
:list="scope.row.itemList"
|
|
|
@@ -110,7 +122,7 @@
|
|
|
<el-option
|
|
|
v-for="(n, i) in scope.row.itemList"
|
|
|
:key="i"
|
|
|
- :label="n.chargeName + '(' + n.price + '元)'"
|
|
|
+ :label="n.chargeName + '(' + n.price + '元)'"
|
|
|
:value="n.id"
|
|
|
/>
|
|
|
</TgSelect>
|
|
|
@@ -119,7 +131,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="price" label="单价(元)" width="100">
|
|
|
<template #default="scope">
|
|
|
- <TgInputNumber v-model="scope.row.price" @change="handleChangeNum(scope.row)"/>
|
|
|
+ <TgInputNumber v-model="scope.row.price" @change="handleChangeNum(scope.row)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="count" label="数量" width="100">
|
|
|
@@ -131,10 +143,14 @@
|
|
|
/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="amount" label="费用(元)" :width="!settingStore.getRceivable ? 120 : 120">
|
|
|
+ <el-table-column
|
|
|
+ prop="amount"
|
|
|
+ label="费用(元)"
|
|
|
+ :width="!settingStore.getRceivable ? 120 : 120"
|
|
|
+ >
|
|
|
<template #default="scope">
|
|
|
{{ formatNum(scope.row.amount) }}
|
|
|
-<!-- <span class="underline" v-if="!settingStore.getRceivable">{{ formatNum(scope.row.count * scope.row.price) }}</span>-->
|
|
|
+ <!-- <span class="underline" v-if="!settingStore.getRceivable">{{ formatNum(scope.row.count * scope.row.price) }}</span>-->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<!-- <el-table-column prop="createdTime" label="费用产生时间" width="150">
|
|
|
@@ -144,23 +160,38 @@
|
|
|
</el-table-column> -->
|
|
|
<el-table-column prop="startDate" label="开始日期" width="160">
|
|
|
<template #default="scope">
|
|
|
- <TgDatePicker v-model="scope.row.startDate" type="date" :clearable="false" :editable="false"/>
|
|
|
+ <TgDatePicker
|
|
|
+ v-model="scope.row.startDate"
|
|
|
+ type="date"
|
|
|
+ :clearable="false"
|
|
|
+ :editable="false"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="endDate" label="结束日期" width="160">
|
|
|
<template #default="scope">
|
|
|
- <TgDatePicker v-model="scope.row.endDate" type="date" :clearable="false" :editable="false"/>
|
|
|
+ <TgDatePicker
|
|
|
+ v-model="scope.row.endDate"
|
|
|
+ type="date"
|
|
|
+ :clearable="false"
|
|
|
+ :editable="false"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="accountingTime" label="记账时间" width="210">
|
|
|
<template #default="scope">
|
|
|
- <TgDatePicker v-model="scope.row.accountingTime" type="datetime" :clearable="false" :editable="false"/>
|
|
|
-<!-- {{ formatDate(scope.row.accountingTime) }}-->
|
|
|
+ <TgDatePicker
|
|
|
+ v-model="scope.row.accountingTime"
|
|
|
+ type="datetime"
|
|
|
+ :clearable="false"
|
|
|
+ :editable="false"
|
|
|
+ />
|
|
|
+ <!-- {{ formatDate(scope.row.accountingTime) }}-->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="remarks" label="备注" :width="isDetail ? 300 : 180">
|
|
|
<template #default="scope">
|
|
|
- <TgTextarea v-model="scope.row.remarks" v-if="!isDetail"/>
|
|
|
+ <TgTextarea v-model="scope.row.remarks" v-if="!isDetail" />
|
|
|
<span v-else>{{ scope.row.remarks }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -169,7 +200,9 @@
|
|
|
</div>
|
|
|
<template #footer>
|
|
|
<el-button @click="handleClosed">取消</el-button>
|
|
|
- <el-button v-loading="formLoading" type="primary" @click="submitForm" v-if="!isDetail">确定</el-button>
|
|
|
+ <el-button v-loading="formLoading" type="primary" @click="submitForm" v-if="!isDetail"
|
|
|
+ >确定</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</Dialog>
|
|
|
</template>
|
|
|
@@ -229,7 +262,7 @@ const state = reactive<DailyFeeFormType>({
|
|
|
message: '项目类别不能为空',
|
|
|
trigger: 'blur'
|
|
|
}
|
|
|
- ],
|
|
|
+ ]
|
|
|
}
|
|
|
})
|
|
|
const { dataForm, dataRule } = toRefs(state)
|
|
|
@@ -249,7 +282,7 @@ const open = async (tId, id, detail, type) => {
|
|
|
toggleType.value = type
|
|
|
dataForm.value.tenantId = tId
|
|
|
//if (type){
|
|
|
- dataForm.value.attributionBillTime = formatDate(new Date(), 'YYYY-MM')
|
|
|
+ dataForm.value.attributionBillTime = formatDate(new Date(), 'YYYY-MM')
|
|
|
//}
|
|
|
if (id) {
|
|
|
try {
|
|
|
@@ -291,13 +324,13 @@ const formRef = ref()
|
|
|
/** 提交表单 */
|
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
const submitForm = async () => {
|
|
|
- if(formLoading.value){
|
|
|
+ if (formLoading.value) {
|
|
|
return
|
|
|
}
|
|
|
formLoading.value = true
|
|
|
// 提交请求
|
|
|
try {
|
|
|
- if(!dataForm.value.dailyExpenses.length){
|
|
|
+ if (!dataForm.value.dailyExpenses.length) {
|
|
|
message.error('至少添加一条数据')
|
|
|
return
|
|
|
}
|
|
|
@@ -308,8 +341,8 @@ const submitForm = async () => {
|
|
|
|
|
|
const params = { ...JSON.parse(JSON.stringify(dataForm.value)) }
|
|
|
params.dailyExpenses.map((item) => {
|
|
|
- if(item.itemCategory.length - 2 > 0){
|
|
|
- for(let i = 0; i <= item.itemCategory.length - 2; i++){
|
|
|
+ if (item.itemCategory.length - 2 > 0) {
|
|
|
+ for (let i = 0; i <= item.itemCategory.length - 2; i++) {
|
|
|
item.itemCategory.shift()
|
|
|
}
|
|
|
}
|
|
|
@@ -320,17 +353,18 @@ const submitForm = async () => {
|
|
|
params.isCashSettlementFee = 1
|
|
|
const res = !toggleType.value ? await editDailyExpenses(params) : await addDailyExpenses(params)
|
|
|
if (res) {
|
|
|
- message.success(`新增成功!需要重新生成一次‘${dataForm.value.elderName}’${dataForm.value.attributionBillTime.toString().substring(5,7)}月份的账单`)
|
|
|
+ // message.success(`新增成功!需要重新生成一次‘${dataForm.value.elderName}’${dataForm.value.attributionBillTime.toString().substring(5,7)}月份的账单`)
|
|
|
+ message.success(`新增成功!`)
|
|
|
handleClosed()
|
|
|
// 发送操作成功的事件
|
|
|
emit('success')
|
|
|
}
|
|
|
- }catch (e){
|
|
|
+ } catch (e) {
|
|
|
message.error('请填写完整信息后再确定!')
|
|
|
} finally {
|
|
|
- setTimeout(()=>{
|
|
|
+ setTimeout(() => {
|
|
|
formLoading.value = false
|
|
|
- },500)
|
|
|
+ }, 500)
|
|
|
}
|
|
|
}
|
|
|
// 护理等级列表
|
|
|
@@ -434,7 +468,7 @@ const handleChangeNum = (row) => {
|
|
|
// }else if(settingStore.getFixNum){
|
|
|
// row.amount = row.count * fixedNum(row.price)
|
|
|
// }else{
|
|
|
- row.amount = row.count * row.price
|
|
|
+ row.amount = row.count * row.price
|
|
|
//}
|
|
|
}
|
|
|
|
|
|
@@ -452,9 +486,10 @@ const handleUpdateElder = async (item) => {
|
|
|
dataForm.value.bedName = item.bedName
|
|
|
dataForm.value.elderName = item.elderName
|
|
|
dataForm.value.nursingLevel = item.nurseLevelId
|
|
|
- if(!toggleType.value){ // 补录
|
|
|
+ if (!toggleType.value) {
|
|
|
+ // 补录
|
|
|
const res = await getBillingMonthByElderId(item.id)
|
|
|
- attributionBillTimeOption.value = res
|
|
|
+ attributionBillTimeOption.value = res
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -469,7 +504,7 @@ const handleUpdateElder = async (item) => {
|
|
|
.w80 {
|
|
|
width: 250px !important;
|
|
|
}
|
|
|
-.underline{
|
|
|
+.underline {
|
|
|
margin-left: 0.5rem;
|
|
|
padding: 5px;
|
|
|
background-color: #f2f2f2;
|