@@ -67,19 +67,25 @@
< / div >
< / div >
< div class = "actions" >
< el-button @click ="handleIncome(false)" > 收费 < / el -button >
< el-button @click ="printPIaoJuByOnly(false)" > 打印票据 < / el -button >
< el-button @click ="handleIncome(false)" :disabled = "!single" > 收费 < / el-button>
< el-button @click ="printPIaoJuByOnly(false)" :disabled = "!printSingle" > 打印票据 < / el-button>
< / div >
< / div >
< el-card class = "flex-1" shadow = "never" >
< el-table v-loading = "loading" border :data="tableData" @selection-change="handleSelectionChange" >
< el-table
: default -sort = " { prop : ' residentName ' , order : ' descending ' } "
v-loading = "loading"
border
:data = "tableData"
@ selection -change = " handleSelectionChange "
>
< el-table-column type = "selection" width = "55" align = "center" / >
< el-table-column label = "收费项目" align = "center" prop = "billCode" >
< el-table-column label = "收费项目" align = "center" prop = "billCode" width = "120" >
< template # default = "scope" >
{ { scope . row . chargeItemName } }
< / template >
< / el-table-column >
< el-table-column label = "收费名称" align = "center" prop = "detailsName" >
< el-table-column label = "收费名称" align = "center" prop = "detailsName" width = "280" >
< template # default = "scope" >
< div style = "text-align: left" >
< span > { { scope . row . detailsName } } < / span >
@@ -97,21 +103,22 @@
< span >
{ { scope . row . fixedPrice } }
< / span >
< span > / < / span >
< dict-tag :options= "com_charge_item_unit" :value= "scope.row.chargePeriod " > < / dict-tag>
< span v-if = "scope.row.unit" > / < / span >
< dict -tag v-if = "scope.row.unit" :options= "com_charge_item_unit" :value= "scope.row.unit "> < / dict -tag >
< / div >
< / template >
< / el-table-column >
< el-table-column label = "应收金额" width = "100" align = "center" prop = "amount" / >
< el-table-column label = "缴费状态" width = "80" align = "center" prop = "payStatus" >
< template # default = "scope" >
< DictTag :options = "com_pay_status" :value = "scope.row.payStatus" > < / DictTag >
< / template >
< / el-table-column >
< el-table-column label = "应缴金额" width = "100" align = "center" prop = "amount" / >
< el-table-column label = "实缴 金额" width = "100" align = "center" prop = "a mount" / >
< el-table-column label = "缴费人 " align = "center" prop = "residentName " / >
< el-table-column label = "缴费时间" align = "center" prop = "payTi me" / >
< el-table-column label = "减免 金额" width = "100" align = "center" prop = "singleDiscountA mount" / >
< el-table-column label = "实缴金额" width = "100 " align = "center" prop = "actualAccount " / >
< el-table-column label = "缴费人" width = "120" sortable align = "center" prop = "residentNa me" / >
< el-table-column label = "缴费时间" width = "200" align = "center" prop = "payTime" / >
< el-table-column label = "备注" align = "center" prop = "remark" show -overflow -tooltip / >
< el-table-column label = "操作" width = "220" align = "center" fixed = "right" class -name = " small -padding fixed -width " >
< template # default = "scope" >
< el-button link type = "primary" v-if = "scope.row.payStatus === '0'" @click="handleIncome(scope.row)" v-has-permi="['bill:bill:edit']"
@@ -126,7 +133,7 @@
< pagination v-show = "total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" / >
< / el-card >
< el-dialog :title = "dialog.title" v-model = "dialog.visible" width="50 0px" append -to -body >
< el-dialog :title = "dialog.title" v-model = "dialog.visible" width="6 50px" append -to -body >
< div class = "payInfo" >
< div >
< div > 缴费人 : { { inComeFrom . residentName } } < / div >
@@ -135,15 +142,16 @@
< span > 收费名称 : < / span >
< div >
< div v-for = "(item, index) in inComeFrom.billResidentId" :key="index" style="text-wrap: wrap; margin-bottom: 5px" >
< span style = "text-decoration: underline" > { { item . detailsName } } ; < /span >
< span style = "text-decoration: underline" > { { item . detailsName } } ; < /s p a n
> < span v-if = "item.payStatus === '1'" > ( 已缴费 , 不计入金额 ) < / span >
< / div >
< / div >
< / div >
< div >
< span > 应收合计 : ¥ { { inComeFrom . allCost } } < / span >
< span > 应收合计 : { { inComeFrom . allCost } } ¥ < / span >
< / div >
< div >
< span > 应缴合计 : ¥ { { inComeFrom . allCos t } } < / span >
< span > 应缴合计 : { { totalDiscountAmoun t } } ¥ < / span >
< / div >
< / div >
< el-form ref = "formRef" :model = "inComeFrom" label -width = " 100px " >
@@ -164,8 +172,53 @@
< el -option v-for = "dict in com_pay_method" :key="dict.value" :label="dict.label" :value="dict.value" > < / el -option >
< / el-select >
< / el-form-item >
< el-form-item label = "优惠方式" prop = "discountMethod" >
< el-select @change ="handleChangeDisCountMethod" v-model = "inComeFrom.discountMethod" placeholder="请选择" >
< el -option label = "不优惠" :value = "0" > < / el-option >
< el-option label = "金额" :value = "2" > < / el-option >
< el-option label = "比例" :value = "1" > < / el-option >
< / el-select >
< / el-form-item >
< div v-if = "inComeFrom.discountMethod !== 0" >
< div v-if = "inComeFrom.discountMethod === 2" >
< ! - - < el -form -item label = "优惠方式" prop = "discount" v-if = "inComeFrom.discountMethod === 2" > - - >
<!-- < el-radio-group v-model = "discountType" > - - >
<!-- < el-radio :value = "0" > 总额优惠 < / el-radio > -- >
<!-- < el-radio :value = "1" > 单笔优惠 < / el-radio > -- >
<!-- < / el-radio-group > -- >
<!-- < / el-form-item > -- >
< el-form-item label = "单笔优惠金额" prop = "discount" v-if = "discountType === 1" >
< el -input v -model .trim.number = " inComeFrom.discount " @input ="debounceDiscountMoney" >
< template # append >
< span > ¥ < / span >
< / template >
< / el-input >
< / el-form-item >
< el-form-item label = "总额优惠金额" prop = "discount" v-else >
< el -input v -model .trim.number = " inComeFrom.discount " @input ="debounceDiscountMoney" >
< template # append >
< span > ¥ < / span >
< / template >
< / el-input >
< / el-form-item >
< / div >
< el-form-item label = "优惠比例" prop = "discountRate" v-else >
< el -input v -model .trim.number = " inComeFrom.discountRate " placeholder = "0~100: 0=无优惠, 80=优惠80%, 100=全免" @input ="debounceDiscountRate" >
< template # append >
< span > % < / span >
< / template >
< / el-input >
< / el-form-item >
< el-form-item label = "优惠后总金额" prop = "totalDiscountAmount" >
< el-input disabled v-model = "totalDiscountAmount" >
< template # append >
< span > ¥ < / span >
< / template >
< / el-input >
< / el-form-item >
< / div >
< el-form-item label = "备注" prop = "remark" >
< el-input type = "textarea" :rows = "5 " v-model = "inComeFrom.remark" > < / el -input >
< el-input type = "textarea" show -word -limit maxlength = "100" :rows = "10 " v-model = "inComeFrom.remark" > < / el -input >
< / el-form-item >
< div class = "flex justify-end" >
< el-button @click ="closer" > 取消 < / el -button >
@@ -196,11 +249,12 @@
< th > 收费项目 < / th >
< th > 收费标准 < / th >
< th > 账单时间 < / th >
< th > 面积 < / th >
< th style = "width: 80px" > 应收金额 < / th >
< th style = "width: 80px" > 实收 金额< / th >
< th > 收款方式 < / th >
< th style = "width: 80px" > 备注 < / th >
< th style = "min-width: 100px" > 面积 < / th >
< th style = "min- width: 80px" > 应收金额 < / th >
< th style = "min- width: 80px" > 优免 金额< / th >
< th style = "min-width: 80px" > 实收金额 < / th >
< th style = "min- width: 80px" > 收款方式 < / th >
< th style = "width: 200px" > 备注 < / th >
< / tr >
< / thead >
< tbody >
@@ -208,20 +262,23 @@
< td > { { item . chargeItemName } } < / td >
< td > { { item . billName } } < / td >
< td > { { item . detailsTime } } < / td >
< td > { { item . useCount } } < / td >
< td style = "width: 80px" > { { item . account } } < / td >
< td style = "width: 80px" > { { item . acc ount } } < / td >
< td style = "min-width: 100px" > { { item . useCount } } < / td >
< td style = "min- width: 80px" > { { item . account } } < / td >
< td style = "min- width: 80px" > { { item . singleDiscountAm ount } } < / td >
< td style = "min-width: 80px" > { { item . actualAccount } } < / td >
< td > { { item . payType } } < / td >
< td style = "width: 80px " > { { item . remark } } < / td >
< td style = "text-wrap: wrap; white-space: wrap " > { { item . remark } } < / td >
< / tr >
< tr >
< td > 合计 < / td >
< td > < / td >
< td > < / td >
< td style = "min-width: 100px" > < / td >
< td style = "min-width: 80px" > { { print _form . totalAccount } } < / td >
< td style = "min-width: 80px" > { { print _form . totalDiscountAmount } } < / td >
< td style = "min-width: 80px" > { { print _form . totalActualAccount } } < / td >
< td > < / td >
< td > < / td >
< td style = "width: 80px" > { { print _form . totalAccount } } < / td >
< td style = "width: 80px" > { { print _form . totalAccount } } < / td >
< td style = "width: 80px" > < / td >
< / tr >
< / tbody >
< / table >
@@ -250,10 +307,11 @@ import { billEdit, billlistType, billPrint, BillPrintType, billQuery } from '@/a
import { listChargeItem } from '@/api/system/SdbChargeItem' ;
import { ref } from 'vue' ;
import { printTicketDiv } from '@/utils/print' ;
import { moneyAdd } from '@/utils/money' ;
import { div , eq , maxMoney , moneyAdd , mul , sub , sum , toFixedMoney } from '@/utils/money' ;
import { BuildingUnitlist , BuildingVo , FloorsType } from '@/api/system/house/type' ;
import { ChargeItemVO } from '@/api/system/SdbChargeItem/type' ;
import { communitylist _rows _type } from '@/api/system/community/type' ;
import { debounce } from '@/utils' ;
const { proxy } = getCurrentInstance ( ) as ComponentInternalInstance ;
const { com _bill _charge _period } = toRefs < any > ( proxy ? . useDict ( 'com_bill_charge_period' ) ) ;
@@ -390,43 +448,158 @@ const resetQuery = () => {
handleQuery ( ) ;
} ;
const single = ref ( true ) ;
const printSingle = ref ( true ) ;
/** 多选框选中数据 */
const handleSelectionChange = ( selection : billlistType [ ] ) => {
ids . value = selection . map ( ( item ) => item ) ;
// 不能全部都是已缴纳的
single . value = ids . value . some ( ( item ) => item . payStatus === '0' ) ;
// 必须都要缴费后打印
printSingle . value = ids . value . every ( ( item ) => item . payStatus === '1' ) ;
} ;
const buttonLoading = ref ( false ) ;
// 收费表单
const discountType = ref ( 1 ) ; // 0 总额减免 1 单笔减免
let isMore = false ;
const inComeFrom = ref ( {
allCost : null , // 金额
billResidentId : [ ] , // 账单id
payStatus : '1' , // 0:未缴 1:已缴
payType : '0' , // 0:微信 1:支付宝 2 线下
remark : '' ,
discountMethod : 0 , // 优惠方式 0 不优惠 1 比例 2 金额
discountRate : 0 , // 优惠比例 10 === 10%
discount : 0 , // 优惠金额
residentName : '' // 缴费人
} ) ;
// 优惠后总额
const totalDiscountAmount = ref ( 0 ) ;
// 初始化
function initInComeFrom ( ) {
inComeFrom . value = {
allCost : null , // 金额
allCost : 0 , // 总 金额
billResidentId : [ ] , // 账单id
payStatus : '1' , // 0:未缴 1:已缴
payType : '2' , // 0:微信 1:支付宝 2 线下
remark : '' ,
discountMethod : 0 , // 优惠方式 0 不优惠 1 比例 2 金额
discountRate : 0 , // 优惠比例 10 === 10%
discount : 0 , // 优惠金额
residentName : '' // 缴费人
} ;
isMore = false ;
}
// 改变优惠方式
function handleChangeDisCountMethod ( val : number ) {
if ( val === 0 ) return ;
if ( val === 1 ) {
inComeFrom . value . discount && handleChangeDiscountMoney ( inComeFrom . value . discount . toString ( ) ) ;
} else {
inComeFrom . value . discount && handleChangeDiscountRate ( inComeFrom . value . discount . toString ( ) ) ;
}
}
// 输入折扣固定金额
function handleChangeDiscountMoney ( val : string ) {
// 1. 清洗输入: 空、纯符号、非数字兜底为0
const cleanVal = val . trim ( ) ;
let discount = Number ( cleanVal ) ;
if ( Number . isNaN ( discount ) ) discount = 0 ;
const allCost = inComeFrom . value . allCost ? ? 0 ;
if ( discount < 0 ) {
ElMessage . warning ( '优惠金额不能为负数' ) ;
return ;
}
// 折扣为0直接赋值原总价, 无需计算
if ( discount === 0 ) {
totalDiscountAmount . value = toFixedMoney ( allCost , 2 ) ;
return ;
}
// 优惠不能超过整体总费用
if ( discount > allCost ) {
ElMessage . warning ( '优惠金额不能超过总费用' ) ;
return ;
}
if ( isMore ) {
// 过滤:只保留未支付账单,已支付直接丢弃
const unPaidList = ids . value . filter ( ( item ) => {
return item . payStatus !== '1' ;
} ) ;
const rowDiffList = unPaidList . map ( ( item ) => {
const itemAmount = item . amount ? ? 0 ;
const afterSub = sub ( itemAmount , discount ) ;
// 不足折扣则取0
return maxMoney ( afterSub , 0 ) ;
} ) ;
// 折扣后合计
const diffRaw = sum ( rowDiffList ) ;
totalDiscountAmount . value = toFixedMoney ( diffRaw , 2 ) ;
} else {
// 单选单条,同样防止负数
const afterSub = sub ( allCost , discount ) ;
const finalPay = maxMoney ( afterSub , 0 ) ;
totalDiscountAmount . value = toFixedMoney ( finalPay , 2 ) ;
}
}
const debounceDiscountMoney = debounce ( handleChangeDiscountMoney ) ;
// 输入折扣固定比例
function handleChangeDiscountRate ( val : string ) {
const inputStr = val . trim ( ) ;
let discountPercent = Number ( inputStr ) ;
if ( Number . isNaN ( discountPercent ) ) discountPercent = 0 ;
// 百分比校验
if ( discountPercent < 0 || discountPercent > 100 ) {
ElMessage . warning ( '请输入0-100之间的优惠打折百分比' ) ;
return ;
}
const allCost = inComeFrom . value . allCost ? ? 0 ;
const rate = div ( discountPercent , 100 ) ;
// 1. 输入0: 全部免费, 实付直接0
if ( eq ( rate , 0 ) ) {
totalDiscountAmount . value = toFixedMoney ( allCost , 2 ) ;
return ;
}
// 2. 输入100: 无任何优惠, 实付等于原价
if ( eq ( rate , 1 ) ) {
totalDiscountAmount . value = 0 ;
return ;
}
// 批量多选模式
if ( isMore ) {
const unPaidList = ids . value . filter ( ( item ) => {
return item . payStatus !== '1' ;
} ) ;
// 总价格
const sourceTotal = sum ( unPaidList . map ( ( item ) => item . amount ? ? 0 ) ) ;
// 优惠总额 = 未付原价总和 - 打折后实付总和
const discountTotal = mul ( sourceTotal , 1 - rate ) ;
// 赋值优惠减免总额
totalDiscountAmount . value = toFixedMoney ( discountTotal , 2 ) ;
return ;
}
// 单选单条账单
const payRaw = mul ( allCost , 1 - rate ) ;
// 直接存实付金额
totalDiscountAmount . value = toFixedMoney ( payRaw , 2 ) ;
}
const debounceDiscountRate = debounce ( handleChangeDiscountRate ) ;
// 收费 --------------------------------------------------------------
/** 收费 */
function handleIncome ( row : billlistType | false ) {
initInComeFrom ( ) ;
console . log ( ids . value ) ;
inComeFrom . value . allCost = 0 ;
inComeFrom . value . billResidentId = [ ] ;
inComeFrom . value . residentName = '' ;
if ( row ) {
inComeFrom . value . allCost = row . amount ;
inComeFrom . value . billResidentId = [ row ] ;
inComeFrom . value . residentName = row . residentName ;
} else {
if ( ids . value . length <= 0 ) return ElMessage . warning ( '请选择账单' ) ;
const set = new Set ( ) ;
ids . value . forEach ( ( item ) => {
set . add ( item . residentId ) ;
@@ -438,9 +611,12 @@ function handleIncome(row: billlistType | false) {
inComeFrom . value . residentName = ids . value [ 0 ] . residentName ;
ids . value . forEach ( ( item ) => {
inComeFrom . value . billResidentId . push ( item ) ;
inComeFrom . value . allCost = moneyAdd ( inComeFrom . value . allCost , item . amount ) ;
if ( item . payStatus === '0' ) {
inComeFrom . value . allCost = moneyAdd ( inComeFrom . value . allCost || 0 , item . amount ) ;
}
} ) ;
console . log ( inComeFrom . value ) ;
totalDiscountAmount . value = inComeFrom . value . allCost ;
isMore = true ;
}
}
dialog . visible = true ;
@@ -455,7 +631,11 @@ const submitForm = () => {
const obj = {
'detailsId' : inComeFrom . value . billResidentId . map ( ( item ) => item . detailsId ) ,
'payType' : inComeFrom . value . payType ,
'payStatus' : inComeFrom . value . payStatus
'payStatus' : inComeFrom . value . payStatus ,
discountMethod : inComeFrom . value . discountMethod , //优惠方式: 0不优惠 1 比例 2 金额
discountRate : inComeFrom . value . discountRate , // 优惠比例(优惠方式为比例时使用,如 10 表示 10%
singleDiscountAmount : inComeFrom . value . discount , // 单笔优惠金额(优惠方式为金额时使用
remark : inComeFrom . value . remark
} ;
billEdit ( obj )
. then ( ( ) => {
@@ -467,7 +647,7 @@ const submitForm = () => {
buttonLoading . value = false ;
} ) ;
} ;
//
// 打印票据--------------------------------------------------------------
const isPrint = ref ( false ) ;
const dialog _print = reactive < DialogOption > ( {
@@ -477,6 +657,8 @@ const dialog_print = reactive<DialogOption>({
// 收款人
const inHomelyUse = ref ( '' ) ;
const print _form = ref < BillPrintType > ( {
totalDiscountAmount : '' ,
totalActualAccount : '' ,
'totalAccount' : '' ,
'residentName' : '' ,
'detailsList' : [ ] ,
@@ -514,7 +696,6 @@ function printPIaoJuByOnly(row: billlistType | false) {
} ;
}
}
billPrint ( query ) . then ( ( res ) => {
print _form . value = res . data ;
dialog _print . visible = true ;
@@ -539,142 +720,6 @@ onMounted(() => {
villageList . value = res . rows ;
} ) ;
} ) ;
/*
* 显。 更何况李恩成把自己的要求提得很清楚,一来是【血
* 暾果】,二来是通过【宣元坊】来联系他,不要再去府辰峰。
* “此人在宗内独善其身多年,果然有些心思……” 李
* 曦治思忖一阵,先把笔墨搁置,朝着杨宵儿道: “恐怕还
* 要宵儿去一趟帝云峰,查一查李恩成入宗前后之事,是不是得罪了什
* 么人,在自己峰中都不敢说话。” 李恩成虽然是丹修大师
* ,却处处受制于云丹峰,大部分人情都是求到云丹峰,他苦苦炼成丹
* 药,最后人情与好处大都被云丹峰得去。 只是他一向表现
* 得古怪,众人都当他不在乎,李曦治现下想来也觉得蹊跷了,不敢让
* 自己父亲贸然行事,打算打听个清楚。 ‘杨天衙亲自为我
* 家遮掩,想必与我家有联系或是与萧家有图谋,去帝云峰才能查出真
* 消息,也不至于露出马脚。’ 他放了笔墨,取出《六色寻
* 元遁》,创出这遁法的前辈明显是個好面子的,玉简上五彩缤纷,雕
* 刻着各色华纹。 ‘若是论真元华丽,《朝霞采露诀》还真
* 是一等一…’ 李曦治看了一夜,便见着杨宵儿驾风回来,
* 皱着眉进来,回答道: “李恩成…还真得罪过一人!”
* “谁?” 李曦治连忙抬头,却见杨宵儿面色古怪
* ,低声道: “迟尉!” “迟尉?!”
* 李曦治呆了一瞬,有些难以置信地道: “怎么可能?”
* 杨宵儿仔细检查门窗,用秘法传音: “迟尉当
* 年还是筑基,与李恩成外出,两人在一片废墟中寻到了一道丹道传承
* ,李恩成见利起欲,打伤迟尉,将他锁在秘境之中,夺取此道…”
* “不曾想迟尉后来反而在其中得了大好处,归宗而来,李恩
* 成被拿下审问,只依靠了当年的府辰峰主一力保下,迟尉也大度不再
* 追究。” “两人化干戈为玉帛,后头李恩成再未出宗,一
* 日日在峰上炼丹,以赎罪过……” 李曦治听得摇头:
* “原来还有这种渊源…难怪…” 杨宵儿复又道:
* “如今迟尉身死,李恩成成了摇钱树,宗内已经抹去这一段
* 不提,乃是老祖派人告诉我的。” “难怪李恩成很少外出
* …” 李曦治点头,若有所思: “未必是他不愿
* 出宗,兴许是不敢。” 李曦治从架上取出一枚玉简,仔细
* 一查,若有所悟,低声道: “果然有这小段记录,所得【
* 密樊宗】一丹道传承…原来其中还有这样一段故事。” 杨
* 宵儿努努嘴,提醒道: “这事情实在太过久远,除了几个
* 紫府,如今宗内的峰主与弟子皆不晓得,应该没有什么问题。”
* “我家老祖当年也不过是个小弟子,这事情几分真几分假,宗
* 内说的和秘境中发生的都不知真假,姑且一听。” 李曦治
* 微微点头,心中暗暗计较,拿起笔来又在信上添了几句,默默折好,
* 用自家秘法封了,准备寄出去。 李渊蛟送来的三枚宝药并
* 没有用上,虽然父亲李渊蛟信中说的是若是结交无望,留以自用,李
* 曦治却不舍得全都塞进自己腰包里。 李曦治仔细看了看,
* 取出其中一枚【云藤灵椒】,准备交给云丹峰炼制一炉丹药,其余两
* 枚还是原封不动地收好,装入小袋之中,随信送回家去。
* …… 青杜峰。 李曦明端坐在炉火旁,金黄色的
* 火焰照的他面上忽明忽暗,手中轻轻一钩,【玄阳离火】跳动而出,
* 在他指上回荡勾勒。 【玄阳离火】爆裂难缠,却在他手中
* 乖巧犹如精灵,跳跃流动。 这原本是对敌的上好灵火,只
* 可惜家中只有这一份,只能转成【长行元火】,李曦明在手中把玩着
* ,感受着其中爆裂灼热的强大威力,有些惋惜。 李曦明受
* 了符种,修为到达练气五层,距离练气六层本只有一步之遥,闭关四
* 月,轻轻松松地突破练气六层,气息平缓,游刃有余。 ‘
* 箓气如此神妙,可惜只能受一道,若是能服用几道就好了…’
* 李曦明闭关两月,才出了关,心中痒痒,把院外的下人叫进来,
* 吩咐道: “把那窦…几个都叫上来…” 这人帮
* 着传唤多次,闻弦歌而知雅意,自然晓得,正拜退下去,李曦明又连
* 忙道: “等等!等等…有人来了。” 便见着院
* 门嘎吱一声开了,外头进来个白袍少年,剑眉星目,一身真元如寒雪
* ,笑道: “曦明出关了,倒是来得巧!” 李曦
* 峻的修为也达到了练气五层,两人受的都是筑基级别,一连突破,都
* 比宗内的李曦治高出一筹了,都成了练气中期,唯独山下的李曦峸还
* 是练气二层。 兄弟两坐下,李曦明还有些尴尬,李曦峻不
* 去点破,将他闭关前后的事情一一说了,把两条矿脉一指,李曦明也
* 颇为欣喜,答道: “是好事!” 李曦峻开口道
* : “仲父如今已经闭关养伤,我这两月外出采气,修炼【
* 屠钧葵光】,顺道走了两个坊市,已经把施【闰阳法】的灵萃灵物为
* 你买齐了。” 说着从储物袋中摆出诸物,凤尾花纹的灵石
* 、入手温热的玉瓶、赤红的灵萃…一系列灵物: “这是【
* 凤尾石】、这是【灰乌烟】、【元阳灵萃】……” 李曦明
* 一一接过,见着李曦峻风尘仆仆的模样,连忙谢了一句,把东西先放
* 在案上,就不好意思多说什么,只能说着多谢。 李曦峻摆
* 手,不曾放在心上。 他如今修为有所精进,又开始修炼《
* 清目灵瞳》,眼中精光流转,仿佛能把人看个通透,低声道:
* “大叔公近来很是憔悴,应该是心魔缠身,只是他从不肯说,你
* 多炼些清心一类的丹药…我找机会再叫几人跑一趟南边大郡,寻一寻
* 这一类的丹药。” “恰好我有一味灵水也需要外出寻找,
* 把这两件事合在一块做,也方便些。” 李曦明听了他的话
* ,点头应是,李玄宣是他大父,本来是他最该上心的,只是闭关修炼
* ,耽误了时间,愧道: “我这就去炼丹,我这就去炼丹…
* 大父的事情我今后仔细看着,不必你们操心。” 李曦峻笑
* 着点头,李曦明当下问道: “【屠钧葵光】竟然这样难修
* 炼?家中已经有一味寒水,一道寒气,袁家那处得了一道,《寒雪集
* 》中有三道寒气,一道寒水寻法…还要外出?” “就差那
* 一道寒水了。” 李曦峻笑着点头,答道: “我
* 这【明霜松岭】善于使用法术,【屠钧葵光】在我手中很是厉害。”
* 他伸出两指,将拇指抵在为食指根处,口中念诀,顿时放
* 出一阵刺目的寒光来,寒气凛凛,指尖飘散出一缕缕洁白无瑕的华光
* ,在空中四散飞舞。 李曦明只觉得面上生寒,身后汗毛根
* 根竖起,脚底下的地面浮现出一层白莹莹的霜,体力的真元流转都有
* 些不畅起来。 桌案上放着灵材,李曦峻不敢放开,只略微
* 展示,挥手散去法术,解释道: “屠钧葵光远不止在寒、
* 还在于阴,等我得了灵水,还能更上一层,到时候在打斗中运起这法
* 术,就算是修为高出我许多,猝不及防也要吃个闷亏。”
* 李曦明羡慕地看了看: “只可惜我功法乃是金阳一系,不
* 能修炼,《金殿煌元诀》虽好,却没有配套的法术与遁术。”
* 两人交谈一阵,青杜山大阵外传来一声娇喝: “玄岳
* 门孔氏,应约而来,还请开一开山门!” 两人微愣,驾风
* 而起,阵外正站着个素衣女子,腰间佩着金珠,挂着两把弯刀,姿容
* 绰约,后头则是个平平无奇的中年人,一言不发。 ‘好美
* 的女子。’ 李曦明性格平和,虽然有些留恋于女色,却还
* 不至于色令智昏,知道是筑基前辈,低垂着头不敢看。 李
* 曦峻则抱拳道: “来人可是孔婷云前辈?” “
* 不错,你是…?” 孔婷云看了他一眼,心中暗赞,客气几
* 分,轻声道: “蛟兄曾经与我约定为贵族修筑火脉,如今
* 我已应约而来。” “哗啦…” 言谈之间,望月
* 湖深青色的湖面轰然破开,一个黑袍青年驾风上来,阴沉沉地看了一
* 眼孔婷云,目光停留在她腰间配着两把弯刀上,脸色一下难看起来,
* 一言不发地立着。 孔婷云瞥了他一眼,只觉得很是眼熟,
* 震惊了一瞬,失声道: “钩蛇?!” 李乌梢深
* 深地出了两口气,低声下气地道: “钩蛇已死,在下是青
* 杜李乌梢,乌梢见过上仙。” 孔婷云很是不自然地应了,
* 埋藏多时的疑惑总算是解决: ‘我说李渊蛟怎地莫名其妙
* 、不嫌苦累一路把这钩蛇带回李家…原来是有控制妖物的法子…毕竟
* 靠近北方,也不足为奇。’ 只是她腰上还挂着钩蛇曾经的
* 尾钩炼制成的一对筑基法器,实在有些尴尬,钩蛇如今是李家的人,
* 该给的面子要给,默默把法器收到储物袋中,孔婷云道:
* “玄岳孔婷云,见过道友。” 李乌梢面色好看许多,默默
* 退到李曦峻身后。 李渊蛟与李清虹闭关,这担子自然落到
* 李曦峻身上,他客客气气地道: “还请前辈稍待些时日,
* 长辈正闭关,一时间不能出来迎接…” 孔婷云摆摆手,显
* 现出无所谓的模样,径直道: “用不着李渊蛟,伱指一座
* 山让我开了火脉,便把那阵盘还我,我便要离去了,没有多少闲功夫
* 。” 言罢,孔婷云还有些提心吊胆地疑问道:
* “那阵法不会给李渊蛟弄坏了,至今不敢见我?这可是贵重物件,要
* 是弄坏了,你家可赔得多了!” “前辈放心,自然无事。
* ” 李曦峻点头,火脉的选址本是李家计划好的,选在了乌
* 涂山。 火脉变动大多会影响周边的灵田,其余几峰都矗立
* 在大片灵田之中,唯独乌涂山孤零零地悬在山林中,只能选了这山。
* 孔婷云一示意,那练气巅峰的中年男子已经驾风落向乌涂
* 山,李曦峻带人驾风过去,一齐在空中看着。 亲,点击进去,给个
* 好评呗,分数越高更新越快,据说给香书小说打满分的最后都找到了
* 漂亮的老婆哦! 手机站全新改版升级地址: http://wap
* .xbiqugu.la, 数据和书签与电脑站同步, 无广告清新阅
* 读!
*/
< / script >
< style lang = "scss" scoped >
@@ -759,7 +804,7 @@ onMounted(() => {
th ,
td {
text - align : center ;
min - width : 14 0 px ;
min - width : 12 0 px ;
height : 40 px ;
border : 1 px solid # 000 ;
}