|
|
@ -12,22 +12,22 @@ |
|
|
|
<!-- 审核结果 --> |
|
|
|
<div class="bg-white px-3"> |
|
|
|
<div class="text-gray-500 font-semibold px-1 py-3">审核结果</div> |
|
|
|
<div v-for="item in checkerList" class="flex py-3 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div v-for="(item, checkerIndex) in checkerList" :key="checkerIndex" class="flex py-3 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div> |
|
|
|
<div>{{item.name}}</div> |
|
|
|
<div class="text-sm pt-1">{{item.advice}}</div> |
|
|
|
<div class="text-sm pt-1">{{item.checkedTime}}</div> |
|
|
|
<div>{{item.checkerName}}</div> |
|
|
|
<div class="text-sm pt-1">{{item.remark}}</div> |
|
|
|
<div class="text-sm pt-1">{{item.time}}</div> |
|
|
|
</div> |
|
|
|
<div class="text-center"> |
|
|
|
<div :class="item.status === '1' ? 'text-green-500' : item.status === '2' ? 'text-red-500' : ''"> |
|
|
|
{{item.status === '1' ? '已通过' : item.status === '2' ? '已驳回' : '待审批'}} |
|
|
|
<div :class="item.checkStatus === '1' ? 'text-green-500' : item.checkStatus === '2' ? 'text-red-500' : ''"> |
|
|
|
{{item.checkStatus === '1' ? '已通过' : item.checkStatus === '2' ? '已驳回' : '待审批'}} |
|
|
|
</div> |
|
|
|
<div v-if="item.score>0" class="mt-1"> |
|
|
|
<div class="mt-1"> |
|
|
|
<van-circle |
|
|
|
v-model:current-rate="item.score" |
|
|
|
:rate="item.score" |
|
|
|
v-model:current-rate="currentRate" |
|
|
|
:rate="100" |
|
|
|
:speed="100" |
|
|
|
:text="item.score" |
|
|
|
:text="100" |
|
|
|
class="w-12" |
|
|
|
color="#ff6700" |
|
|
|
:stroke-width="100" |
|
|
@ -37,9 +37,39 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 发票信息 --> |
|
|
|
<div class="bg-white px-3"> |
|
|
|
<div class="bg-white px-3" v-if="isInvoice"> |
|
|
|
<div class="text-gray-500 font-semibold px-1 py-3 mt-5">发票信息</div> |
|
|
|
<div v-for="item in billList" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div v-for="(item,invoiceIndex) in invoiceList" :key="invoiceIndex"> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>发票代码</div> |
|
|
|
<div>{{item.invoiceCode}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>发票号码</div> |
|
|
|
<div>{{item.invoiceNumber}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>合计金额(元)</div> |
|
|
|
<div>{{item.money}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>税额(元)</div> |
|
|
|
<div>{{item.taxMoney}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>开票日期</div> |
|
|
|
<div>{{dayjs(item.invoiceTime - 0).format('YYYY年MM月DD日')}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>备注</div> |
|
|
|
<div>{{item.remark}}</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 金额信息 --> |
|
|
|
<div class="bg-white px-3" v-else> |
|
|
|
<div class="text-gray-500 font-semibold px-1 py-3 mt-5">发票信息</div> |
|
|
|
<div v-for="(item,moneyIndex) in moneyInfo" :key="moneyIndex" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>{{item.name}}</div> |
|
|
|
<div>{{item.value}}</div> |
|
|
|
</div> |
|
|
@ -47,7 +77,7 @@ |
|
|
|
<!-- 其他信息 --> |
|
|
|
<div class="bg-white px-3"> |
|
|
|
<div class="text-gray-500 font-semibold px-1 py-3 mt-5">其他信息</div> |
|
|
|
<div v-for="item in otherData" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div v-for="(item,otherIndex) in otherData" :key="otherIndex" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>{{item.name}}</div> |
|
|
|
<div>{{item.value}}</div> |
|
|
|
</div> |
|
|
@ -55,7 +85,7 @@ |
|
|
|
<!-- 提交人信息 --> |
|
|
|
<div class="bg-white px-3"> |
|
|
|
<div class="text-gray-500 font-semibold px-1 py-3 mt-5">提交人信息</div> |
|
|
|
<div v-for="item in submitter" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div v-for="(item, index) in submitter" :key="index" class="flex py-2 px-4 text-gray-400 text-base justify-between"> |
|
|
|
<div>{{item.name}}</div> |
|
|
|
<div>{{item.value}}</div> |
|
|
|
</div> |
|
|
@ -64,93 +94,73 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup> |
|
|
|
import dayjs from "dayjs"; |
|
|
|
import { ref, computed } from 'vue'; |
|
|
|
import { getApplyDetail } from 'apis/finance' |
|
|
|
// 审核人数据 |
|
|
|
const checkerList = ref([ |
|
|
|
{ |
|
|
|
name: "冯教授", |
|
|
|
advice: "", |
|
|
|
checkedTime: "", |
|
|
|
status: "0", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "薇薇安", |
|
|
|
advice: "很棒!", |
|
|
|
checkedTime: "12/18 14:55", |
|
|
|
status: "1", |
|
|
|
score:100 |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "小明", |
|
|
|
advice: "很棒!", |
|
|
|
checkedTime: "12/18 14:55", |
|
|
|
status: "1", |
|
|
|
score:80 |
|
|
|
} |
|
|
|
]) |
|
|
|
const currentRate = ref(0); |
|
|
|
const text = computed(() => currentRate.value.toFixed(0)); |
|
|
|
const isInvoice = ref(false) |
|
|
|
const checkerList = ref([]) |
|
|
|
// 发票信息数据 |
|
|
|
const billList = ref([ |
|
|
|
{ |
|
|
|
name: "发票代码", |
|
|
|
value: "4154153125646", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "发票号码", |
|
|
|
value: "545648789", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "合计金额(元)", |
|
|
|
value: "40", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "税额(元)", |
|
|
|
value: "2", |
|
|
|
}, |
|
|
|
const invoiceList = ref([]) |
|
|
|
// 没有发票信息得数据 |
|
|
|
const moneyInfo = ref([ |
|
|
|
{ |
|
|
|
name: "开票日期", |
|
|
|
value: "2022年1月2日", |
|
|
|
name: "申请金额", |
|
|
|
value: "", |
|
|
|
label: "money", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "备注", |
|
|
|
value: "业务支出", |
|
|
|
value: "", |
|
|
|
label: "remark", |
|
|
|
}, |
|
|
|
]) |
|
|
|
// 其他信息数据 |
|
|
|
const otherData = ref([ |
|
|
|
{ |
|
|
|
name: "申请类型", |
|
|
|
value: "项目申请" |
|
|
|
value: "", |
|
|
|
label: "typeName", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "所属项目", |
|
|
|
value: "PT项目" |
|
|
|
value: "", |
|
|
|
label: "projectName", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "所属任务", |
|
|
|
value: "财务条界面设计" |
|
|
|
value: "", |
|
|
|
label: "taskDetailName", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "类目", |
|
|
|
value: "报销" |
|
|
|
value: "", |
|
|
|
label: "categoryName", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "名目", |
|
|
|
value: "业务招待费" |
|
|
|
value: "", |
|
|
|
label: "rowName", |
|
|
|
}, |
|
|
|
]) |
|
|
|
// 提交人数据 |
|
|
|
const submitter = ref([ |
|
|
|
{ |
|
|
|
name:'姓名', |
|
|
|
value:'黛西' |
|
|
|
value:'', |
|
|
|
label: "submitName", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name:'部门', |
|
|
|
value:'软件部' |
|
|
|
value:'软件部', |
|
|
|
label: "department", |
|
|
|
}, |
|
|
|
{ |
|
|
|
name:'提交时间', |
|
|
|
value:'2021/12/29 13:22' |
|
|
|
value:'', |
|
|
|
label: "applyTime", |
|
|
|
}, |
|
|
|
]) |
|
|
|
|
|
|
@ -165,7 +175,35 @@ function onClickLeft(){ |
|
|
|
async function handleApplyDetail(){ |
|
|
|
try { |
|
|
|
const params = {param : { applyId: '1485797754654695424' }} |
|
|
|
await getApplyDetail(params) |
|
|
|
const res = await getApplyDetail(params) |
|
|
|
// 检查人 |
|
|
|
checkerList.value = res.checkerList |
|
|
|
// 发票信息 |
|
|
|
isInvoice.value = res.invoiceList && res.invoiceList.length ? true : false; |
|
|
|
invoiceList.value = res.invoiceList |
|
|
|
for(let key in res){ |
|
|
|
moneyInfo.value.forEach(item => { |
|
|
|
if(item.label === key){ |
|
|
|
item.value = res[key] |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
// 其他信息 |
|
|
|
for(let key in res){ |
|
|
|
otherData.value.forEach(item => { |
|
|
|
if(item.label === key){ |
|
|
|
item.value = res[key] |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
// 提交人信息 |
|
|
|
for(let key in res){ |
|
|
|
submitter.value.forEach(item => { |
|
|
|
if(item.label === key){ |
|
|
|
item.value = res[key] |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
console.error('error: ', error); |
|
|
|
} |
|
|
|