@@ -2,14 +2,26 @@
< div class = "app-container" >
< div class = "app-container" >
<!-- 列表 -- >
<!-- 列表 -- >
<!-- 搜索 -- >
<!-- 搜索 -- >
< page-search ref = "searchRef" :search-config = "searchConfig" @ query -click = " newHandleQueryClick "
< page-search
@ reset -click = " handleResetClick2 " / >
ref = "searchRef"
:search-config = "searchConfig"
@ query -click = " newHandleQueryClick "
@ reset -click = " handleResetClick2 "
/ >
<!-- 顶部数据 -- >
<!-- 顶部数据 -- >
< Statistics :data = "gongjiData" > < / Statistics >
< Statistics :data = "gongjiData" > < / Statistics >
<!-- 列表 -- >
<!-- 列表 -- >
< page-content ref = "contentRef" :content-config = "contentConfig" @ add -click = " handleAddClick "
< page-content
@ edit -click = " handleEditClick " @ export -click = " handleExportClick " @ search -click = " handleSearchClick "
ref = "contentRef "
@ toolbar -click = " handleToolbarClick " @ operat -click = " handleOperatClick " @ filter -change = " handleFilterChange " >
:content-config = "contentConfig"
@ add -click = " handleAddClick "
@ edit -click = " handleEditClick "
@ export -click = " handleExportClick "
@ search -click = " handleSearchClick "
@ toolbar -click = " handleToolbarClick "
@ operat -click = " handleOperatClick "
@ filter -change = " handleFilterChange "
>
<!-- < template # status = "scope" >
<!-- < template # status = "scope" >
< el-tag : type = "scope.row[scope.prop] == 1 ? 'success' : 'info'" >
< el-tag : type = "scope.row[scope.prop] == 1 ? 'success' : 'info'" >
{ { scope . row [ scope . prop ] == 1 ? "启用" : "禁用" } }
{ { scope . row [ scope . prop ] == 1 ? "启用" : "禁用" } }
@@ -25,11 +37,22 @@
< DictLabel v-model = "scope.row[scope.prop]" code="gender" / >
< DictLabel v-model = "scope.row[scope.prop]" code="gender" / >
< / template >
< / template >
< template # shangjia = "scope" >
< template # shangjia = "scope" >
< el-switch v-model = "scope.row[scope.prop]" :active-value="1" :inactive-value="0"
< el-switch
@click ="handleSwitchChange(scope.row)" > < / el -switch >
v-model = "scope.row[scope.prop]"
:active-value = "1"
:inactive-value = "0"
@click ="handleSwitchChange(scope.row)"
> < / el-switch >
< / template >
< / template >
< template # isStock = "scope" >
< template # isStock = "scope" >
< el-switch disabled v-model = "scope.row[scope.prop]" :active-value="1" :inactive-value="0" > < / el -switch >
< el-switch
v-if = "!scope.row.productId"
v-model = "scope.row[scope.prop]"
:active-value = "1"
:inactive-value = "0"
:disabled = "!scope.row.type"
@click ="isStockChange(scope.row)"
> < / el-switch >
< / template >
< / template >
< template # kucunedit = "scope" >
< template # kucunedit = "scope" >
@@ -42,16 +65,29 @@
< / template >
< / template >
< template # tuikuantuihui = "scope" >
< template # tuikuantuihui = "scope" >
< el-switch v-if = "!scope.row.productId" v-model="scope.row[scope.prop]" :active-value="1" :inactive-value="0"
< el-switch
@click ="handleSwitchhaocai(scope.row)" > < / el -switch >
v-if = "!scope.row.productId"
v-model = "scope.row[scope.prop]"
:active-value = "1"
:inactive-value = "0"
@click ="handleSwitchhaocai(scope.row)"
> < / el-switch >
< / template >
< / template >
< template # sellOut = "scope" >
< template # sellOut = "scope" >
< el-switch v-model = "scope.row[scope.prop]" :active-value="1" :inactive-value="0"
< el-switch
@click ="handleSwitchChangeTwo( scope.row) "> < / el -switch >
v-model = "scope.row[ scope.p rop] "
:active-value = "1"
:inactive-value = "0"
@click ="handleSwitchChangeTwo(scope.row)"
> < / el-switch >
< / template >
< / template >
< template # mobile = "scope" >
< template # mobile = "scope" >
< el-text > { { scope . row [ scope . prop ] } } < / el-text >
< el-text > { { scope . row [ scope . prop ] } } < / el-text >
< copy-button v-if = "scope.row[scope.prop]" :text="scope.row[scope.prop]" style="margin-left: 2px" / >
< copy-button
v-if = "scope.row[scope.prop]"
:text = "scope.row[scope.prop]"
style = "margin-left: 2px"
/ >
< / template >
< / template >
< template # consumables = "scope" >
< template # consumables = "scope" >
< template v-if = "scope.row.type != null" >
< template v-if = "scope.row.type != null" >
@@ -74,7 +110,11 @@
< / page-modal >
< / page-modal >
<!-- 编辑 -- >
<!-- 编辑 -- >
< page-modal ref = "editModalRef" :modal-config = "editModalConfig" @ submit -click = " handleSubmitClick " >
< page-modal
ref = "editModalRef"
:modal-config = "editModalConfig"
@ submit -click = " handleSubmitClick "
>
< template # gender = "scope" >
< template # gender = "scope" >
< Dict v-model = "scope.formData[scope.prop]" code="gender" v-bind="scope.attrs" / >
< Dict v-model = "scope.formData[scope.prop]" code="gender" v-bind="scope.attrs" / >
< / template >
< / template >
@@ -121,16 +161,31 @@
< el-table-column label = "序号" type = "index" width = "60" > < / el-table-column >
< el-table-column label = "序号" type = "index" width = "60" > < / el-table-column >
< el-table-column label = "耗材名称" prop = "consInfoId" >
< el-table-column label = "耗材名称" prop = "consInfoId" >
< template v-slot = "scope" >
< template v-slot = "scope" >
< el -select v-model = "scope.row.consInfoId" reserve-keyword placeholder="请输入关键词"
< el -select
@change ="selectionChange($event, scope.row)" >
filterable
< el -option v-for = "item in options" :key="item.id" :label="item.conName" :value="item.id" > < / el -option >
v-model = "scope.row.consInfoId"
reserve -keyword
placeholder = "请输入关键词"
@change ="selectionChange($event, scope.row)"
>
< el-option
v-for = "item in options"
: key = "item.id * 1"
:label = "item.conName"
: value = "item.id * 1"
> < / el-option >
< / el-select >
< / el-select >
<!-- < div class = "tips" v-if = "scope.row.stockNumber" > 库存 : {{ scope.row.stockNumber }} < / div > - - >
<!-- < div class = "tips" v-if = "scope.row.stockNumber" > 库存 : {{ scope.row.stockNumber }} < / div > - - >
< / template >
< / template >
< / el-table-column >
< / el-table-column >
< el-table-column label = "单位" prop = "conUnit" >
< el-table-column label = "单位" prop = "conUnit" >
< template v-slot = "scope" >
< template v-slot = "scope" >
< el -input v-model = "scope.row.conUnit" readonly disabled placeholder="请选择耗材" > < / el -input >
< el -input
v-model = "scope.row.conUnit"
readonly
disabled
placeholder = "请选择耗材"
> < / el-input >
<!-- < el-select v-model = "scope.row.conUnit" reserve-keyword placeholder="请输入关键词" >
<!-- < el-select v-model = "scope.row.conUnit" reserve-keyword placeholder="请输入关键词" >
< el -option
< el -option
v-for = "item in returnConUnits(scope.row.consInfoId)"
v-for = "item in returnConUnits(scope.row.consInfoId)"
@@ -149,13 +204,20 @@
< el-table-column label = "操作" width = "100" >
< el-table-column label = "操作" width = "100" >
< template v-slot = "scope" >
< template v-slot = "scope" >
< div class = "table_btn_wrap" >
< div class = "table_btn_wrap" >
< div class = "btn sub" v-if = "haocaiData.consList.length > 1"
< div
@click ="haocaiData.consList.splice(scope.$index, 1)" >
class = "btn sub"
v-if = "haocaiData.consList.length > 1"
@click ="haocaiData.consList.splice(scope.$index, 1)"
>
< el-icon >
< el-icon >
< RemoveFilled / >
< RemoveFilled / >
< / el-icon >
< / el-icon >
< / div >
< / div >
< div class = "btn add" v-if = "scope.$index == haocaiData.consList.length - 1" @click="createItem(scope.row)" >
< div
class = "btn add"
v-if = "scope.$index == haocaiData.consList.length - 1"
@click ="createItem(scope.row)"
>
< el-icon >
< el-icon >
< CirclePlusFilled / >
< CirclePlusFilled / >
< / el-icon >
< / el-icon >
@@ -255,8 +317,8 @@ onMounted(async () => {
// 获取耗材列表
// 获取耗材列表
gethaocaiList ( ) ;
gethaocaiList ( ) ;
const res = await UserAPI . getPage ( )
const res = await UserAPI . getPage ( ) ;
form . warnLine = res . warnLine || ''
form . warnLine = res . warnLine || "" ;
// console.log('contentRef.value===', res);
// console.log('contentRef.value===', res);
} ) ;
} ) ;
@@ -310,7 +372,7 @@ function getTongji(params: IObject | undefined) {
// 显示批量导入
// 显示批量导入
function handleUploadClick ( ) {
function handleUploadClick ( ) {
importDataRef . value . show ( )
importDataRef . value . show ( ) ;
}
}
// 导出商品
// 导出商品
@@ -342,13 +404,25 @@ function createItem(val: IObject) {
haocaiData . value . consList . push ( item ) ;
haocaiData . value . consList . push ( item ) ;
}
}
// 上架
// 上架
function handleSwitchChange ( data : any ) {
async function handleSwitchChange ( data : any ) {
console . log ( data ) ;
let obj = {
let obj = {
type : data . productId ? "sku" : "product" ,
type : data . productId ? "sku" : "product" ,
id : data . id ,
id : data . id ,
isSale : data . isSale ,
isSale : data . isSale ,
} ;
} ;
UserAPI . onOff ( obj ) ;
await UserAPI. onOff ( obj ) ;
ElMessage . success ( "修改成功!" ) ;
if ( data . productId ) {
//sku
contentRef . value ? . fetchPageData ( ) ;
} else {
//product
data . skuList . map ( ( v ) => {
v . isSale = data . isSale ;
} ) ;
}
}
}
// 售罄
// 售罄
function handleSwitchChangeTwo ( data : any ) {
function handleSwitchChangeTwo ( data : any ) {
@@ -358,6 +432,7 @@ function handleSwitchChangeTwo(data: any) {
isSoldOut : data . isSoldStock ,
isSoldOut : data . isSoldStock ,
} ;
} ;
UserAPI . markIsSoldOut ( obj ) ;
UserAPI . markIsSoldOut ( obj ) ;
ElMessage . success ( "修改成功!" ) ;
}
}
function handleSwitchChangethree ( data : any ) {
function handleSwitchChangethree ( data : any ) {
let obj = {
let obj = {
@@ -368,6 +443,18 @@ function handleSwitchChangethree(data: any) {
UserAPI . markIsSoldOut ( obj ) ;
UserAPI . markIsSoldOut ( obj ) ;
}
}
async function isStockChange ( data : any ) {
console . log ( data ) ;
let obj = {
type : "product" ,
id : data . id ,
isSale : data . isStock ,
optType : "stock " ,
} ;
await UserAPI . onOff ( obj ) ;
ElMessage . success ( "修改成功!" ) ;
return ;
}
// 退款退回
// 退款退回
async function handleSwitchhaocai ( row : IObject ) {
async function handleSwitchhaocai ( row : IObject ) {
let res = await UserAPI . refundToStock ( { isReturn : row . isRefundStock , id : row . id } ) ;
let res = await UserAPI . refundToStock ( { isReturn : row . isRefundStock , id : row . id } ) ;
@@ -398,7 +485,7 @@ async function handleToolbarClick(name: string) {
ElMessage . success ( "操作成功,数据正在后台同步中..." ) ;
ElMessage . success ( "操作成功,数据正在后台同步中..." ) ;
}
}
if ( name === "upload" ) {
if ( name === "upload" ) {
importDataRef . value . show ( )
importDataRef . value . show ( ) ;
}
}
}
}
async function confirm ( ) {
async function confirm ( ) {
@@ -451,8 +538,8 @@ async function handleOperatClick(data: IOperatData) {
}
}
async function gethaocaiList ( ) {
async function gethaocaiList ( ) {
let res = await UserAPI . productcons ( { id : route . query . id } ) ;
let res = await UserAPI . productconsList ( { id : route . query . id } ) ;
options . value = res . records ;
options . value = res || [ ] ;
}
}
< / script >
< / script >
< style scoped lang = "scss" >
< style scoped lang = "scss" >