202505301641444

This commit is contained in:
张潘 2025-05-30 18:05:02 +08:00
parent 061e0f3805
commit f89c824f95
10 changed files with 277 additions and 102 deletions

View File

@ -71,8 +71,10 @@ public class IntegralProductController extends BaseController
util.exportExcel(response, list, "积分商品数据");
}
/**
* 获取积分商品详细信息
* 获取商品下拉选择分类
*/
@PreAuthorize("@ss.hasPermi('system:IntegralProduct:query')")
@GetMapping(value = "/{id}")
@ -81,6 +83,17 @@ public class IntegralProductController extends BaseController
return success(integralProductService.selectIntegralProductById(id));
}
/**
* 获取积分商品详细信息
*/
@PreAuthorize("@ss.hasPermi('system:IntegralProduct:query')")
@GetMapping(value = "/getIntegralCateList")
public AjaxResult getIntegralCateList()
{
return success(integralCateService.selectIntegralCateList(new IntegralCate()));
}
/**
* 新增积分商品
*/

View File

@ -70,6 +70,19 @@ public class UserAddressController extends BaseController
util.exportExcel(response, list, "用户收货地址数据");
}
/**
* 获取用户收货地址详细信息
*/
@PreAuthorize("@ss.hasPermi('system:UserAddress:query')")
@GetMapping(value = "/getuserAddressList")
public AjaxResult getuserAddressList()
{
return success(userAddressService.selectUserAddressList(new UserAddress()));
}
/**
* 获取用户收货地址详细信息
*/

View File

@ -41,6 +41,7 @@ public interface IUsersService
* @param users 请填写功能名称
* @return 结果
*/
public int updateUsers(Users users);
/**

View File

@ -16,6 +16,18 @@ export function getIntegralProduct(id) {
method: 'get'
})
}
// 查询积分商品详细
export function getIntegralCateList() {
return request({
url: '/system/IntegralProduct/getIntegralCateList',
method: 'get'
})
}
// 任务状态修改
export function changetypeStatus(id, status) {
const data = {

View File

@ -16,6 +16,15 @@ export function getUserAddress(id) {
method: 'get'
})
}
// 查询用户收货地址详细
export function getuserAddressList() {
return request({
url: '/system/UserAddress/getuserAddressList',
method: 'get'
})
}
// 新增用户收货地址
export function addUserAddress(data) {

View File

@ -58,12 +58,14 @@
/>
</el-form-item>
<el-form-item label="分类" prop="cateId">
<el-input
v-model="queryParams.cateId"
placeholder="请输入分类"
clearable
@keyup.enter.native="handleQuery"
/>
<el-select v-model="queryParams.cateId" placeholder="请选择分类" clearable style="width: 200px">
<el-option
v-for="item in integralCateList"
:key="item.id"
:label="item.title"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- 新增状态 -->
@ -361,7 +363,14 @@
<el-tab-pane label="基本信息" name="base">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="分类" prop="cateId">
<el-input v-model="form.cateId" placeholder="请输入分类" />
<el-select v-model="form.cateId" placeholder="请选择分类" style="width: 100%">
<el-option
v-for="item in integralCateList"
:key="item.id"
:label="item.title"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="名称" prop="title">
<el-input v-model="form.title" placeholder="请输入名称" />
@ -479,6 +488,7 @@ import {
addIntegralProduct,
updateIntegralProduct,
changetypeStatus,
getIntegralCateList
} from "@/api/system/IntegralProduct";
import Editor from "@/components/Editor";
export default {
@ -502,6 +512,8 @@ export default {
IntegralProductList: [],
//
title: "",
integralCateList: [],
//
open: false,
//
@ -561,6 +573,7 @@ export default {
},
created() {
this.getList();
this.getintegralCateList()
},
methods: {
/** 查询积分商品列表 */
@ -629,6 +642,13 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
getintegralCateList () {
getIntegralCateList().then((response) => {
this.integralCateList = response.data;
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
@ -668,11 +688,20 @@ export default {
},
/** 提交按钮 */
submitForm() {
if( this.$refs.skuRef.submit()){
this.form.sku=this.$refs.skuRef.submit();
if(this.$refs.skuRef){
if(this.$refs.skuRef.submit()){
this.form.sku=this.$refs.skuRef.submit();
}else{
return
}
}else{
return
this.form.sku='{}';
}
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {

View File

@ -334,12 +334,26 @@
</el-col>
<el-col :span="24">
<el-form-item label="用户" prop="uid">
<el-input v-model="form.uid" placeholder="请输入用户" />
<el-select v-model="form.uid" placeholder="请选择用户" clearable filterable style="width: 100%">
<el-option
v-for="item in userDataList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="商品" prop="productId">
<el-input v-model="form.productId" placeholder="请输入商品" />
<el-select v-model="form.productId" placeholder="请选择商品" clearable filterable style="width: 100%">
<el-option
v-for="item in goodsDataList"
:key="item.id"
:label="item.title"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
@ -380,7 +394,14 @@
</el-col>
<el-col :span="24">
<el-form-item label="关联地址" prop="addressId">
<el-input v-model="form.addressId" placeholder="请输入关联地址" />
<el-select v-model="form.addressId" placeholder="请选择地址" clearable filterable style="width: 100%">
<el-option
v-for="item in addressList"
:key="item.id"
:label="item.address"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
@ -388,16 +409,7 @@
<el-input v-model="form.mark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="创建时间" prop="createdAt">
<el-date-picker clearable v-model="form.createdAt" type="date" value-format="yyyy-MM-dd" placeholder="请选择创建时间" style="width:100%" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="更新时间" prop="updatedAt">
<el-date-picker clearable v-model="form.updatedAt" type="date" value-format="yyyy-MM-dd" placeholder="请选择更新时间" style="width:100%" />
</el-form-item>
</el-col>
</el-row>
<div class="dialog-footer" style="text-align:left;margin-top:20px;">
<el-button @click="reset">重置</el-button>
@ -454,7 +466,9 @@
</template>
<script>
import { listOrder, getOrder, delOrder, addOrder, updateOrder,getUserDataList,getGoodsDataList} from "@/api/system/Order"
import { getuserAddressList } from "@/api/system/UserAddress"
import CallRecord from './components/CallRecord'
import AudioRecord from './components/AudioRecord'
import ReceiveRecord from './components/ReceiveRecord'
@ -495,6 +509,8 @@ export default {
OrderList: [],
goodsDataList : [],
//
addressList: [],
//
title: "",
//
@ -597,6 +613,7 @@ export default {
this.getUserDataList()
this.getuserGongRenList()
this.getGoodsDataListList();
this.getAddressList();
},
methods: {
/** 查询服务订单列表 */
@ -822,6 +839,13 @@ export default {
})
},
//
getAddressList() {
getuserAddressList().then(response => {
this.addressList = response.rows || []
})
},
/** 显示记录详情 */
showRecordDetails(row, type) {
this.currentOrder = row

View File

@ -114,7 +114,14 @@
/>
<!-- 添加或修改项目报价--服务工艺对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-dialog
:title="title"
:visible.sync="open"
width="600px"
append-to-body
:close-on-click-modal="false"
:destroy-on-close="true"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="服务" prop="goodsintids">
<el-select v-model="form.goodsintids" multiple filterable placeholder="请选择服务" style="width: 100%">
@ -147,9 +154,9 @@
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
</el-form>
<div class="dialog-footer" style="text-align:left;margin-top:20px;">
<el-button @click="reset">重置</el-button>
<el-button type="primary" @click="submitForm">提交</el-button>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
@ -175,23 +182,22 @@ export default {
showSearch: true,
//
total: 0,
//
open: false,
//
title: "",
typeDataList: [],
typeSelectDataList: [],
// --
QuoteCraftList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
goodId: null,
goodsintids: null,
intstrtypeList: null,
goodsintids: [],
intstrtypeList: [],
typeId: null,
title: null,
price: null,
@ -200,7 +206,18 @@ export default {
updatedAt: null
},
//
form: {},
form: {
id: undefined,
goodId: undefined,
goodsintids: [],
typeId: undefined,
intstrtypeList: [],
title: undefined,
price: 0,
unit: undefined,
createdAt: undefined,
updatedAt: undefined
},
//
rules: {
goodsintids: [
@ -225,17 +242,20 @@ export default {
created() {
this.getList();
this.getTypeList();
this.getTypeList1();
},
methods: {
/** 查询项目报价--服务工艺列表 */
getList() {
this.loading = true
this.loading = true;
listQuoteCraft(this.queryParams).then(response => {
this.QuoteCraftList = response.rows
this.total = response.total
this.loading = false
})
this.QuoteCraftList = response.rows || [];
this.total = response.total || 0;
}).catch(() => {
this.QuoteCraftList = [];
this.total = 0;
}).finally(() => {
this.loading = false;
});
},
//
cancel() {
@ -245,23 +265,30 @@ export default {
//
reset() {
this.form = {
id: null,
goodId: null,
typeId: null,
title: null,
price: null,
unit: null,
createdAt: null,
updatedAt: null
}
this.resetForm("form")
id: undefined,
goodId: undefined,
goodsintids: [],
typeId: undefined,
intstrtypeList: [],
title: undefined,
price: 0,
unit: undefined,
createdAt: undefined,
updatedAt: undefined
};
this.typeSelectDataList = [];
this.resetForm("form");
},
//
handelSelectMultiple(position, index) {
var ids = this.form.goodsintids;
selectQuoteTypeList(ids).then(response => {
this.typeSelectDataList = response.data;
})
const ids = this.form.goodsintids || [];
if (ids.length > 0) {
selectQuoteTypeList(ids).then(response => {
this.typeSelectDataList = response.data;
})
} else {
this.typeSelectDataList = [];
}
},
/** 搜索按钮操作 */
handleQuery() {
@ -281,30 +308,51 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加项目报价--服务工艺"
this.reset();
//
this.$nextTick(() => {
this.open = true;
this.title = "添加项目报价--服务工艺";
});
},
getTypeList() {
getGoodsDataList().then(response => {
this.typeDataList = response.data;
})
},
getTypeList1() {
selectQuoteTypeList("11").then(response => {
this.typeSelectDataList = response.data;
})
this.typeDataList = response.data || [];
}).catch(() => {
this.typeDataList = [];
this.$modal.msgError("获取服务列表失败");
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
this.reset();
if (!row || (!row.id && !this.ids)) {
this.$modal.msgError("请选择要修改的数据");
return;
}
const id = row?.id || this.ids;
getQuoteCraft(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改项目报价--服务工艺"
})
if (response.data) {
this.form = {
...response.data,
goodsintids: response.data.goodsintids || [],
intstrtypeList: response.data.intstrtypeList || []
};
// ID
if (this.form.goodsintids && this.form.goodsintids.length > 0) {
this.handelSelectMultiple();
}
this.$nextTick(() => {
this.open = true;
this.title = "修改项目报价--服务工艺";
});
} else {
this.$modal.msgError("获取数据失败");
}
}).catch(error => {
console.error('获取数据失败:', error);
this.$modal.msgError("获取数据失败");
});
},
/** 提交按钮 */
submitForm() {
@ -328,13 +376,17 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
if (!row && !this.ids.length) {
this.$modal.msgError("请选择要删除的数据");
return;
}
const ids = row?.id || this.ids;
this.$modal.confirm('是否确认删除项目报价--服务工艺编号为"' + ids + '"的数据项?').then(function() {
return delQuoteCraft(ids)
return delQuoteCraft(ids);
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {

View File

@ -164,7 +164,14 @@
<image-upload v-model="form.icon"/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model="form.sort" placeholder="请输入排序" />
<el-input-number
v-model="form.sort"
:min="0"
:max="9999"
controls-position="right"
style="width: 120px;"
placeholder="请输入排序"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
@ -204,6 +211,14 @@
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
<el-input-number
v-else-if="editField === 'sort'"
v-model="editFieldValue"
:min="0"
:max="9999"
controls-position="right"
style="width: 120px;"
/>
<el-input v-else v-model="editFieldValue" />
</el-form-item>
</el-form>

View File

@ -206,7 +206,7 @@
<el-input v-model="form.subTitle" placeholder="请输入副标题" />
</el-form-item>
<el-form-item label="图标" prop="icon">
<image-upload v-model="form.icon"/>
<image-upload v-model="form.icon" :limit="1"/>
</el-form-item>
<el-form-item label="轮播图" prop="imgs">
<image-upload v-model="form.imgs"/>
@ -441,18 +441,20 @@ export default {
info: null,
price: null,
priceZn: null,
sales: null,
stock: null,
status: null,
sales: 0,
stock: 0,
status: "1",
description: null,
skuType: null,
skuType: 'single',
sku: null,
skuName: '',
skuValue: '',
latitude: null,
longitude: null,
type: null,
cateId: null,
project: null,
sort: null,
sort: 0,
material: null,
postage: null,
basic: null,
@ -462,6 +464,7 @@ export default {
updatedAt: null,
deletedAt: null
}
this.skuType = 'single'
this.resetForm("form")
},
/** 搜索按钮操作 */
@ -521,18 +524,22 @@ export default {
},
/** 提交按钮 */
submitForm() {
if( this.$refs.skuRef.submit()){
this.form.sku=this.$refs.skuRef.submit();
}else{
return
// skuRefsubmit
if (this.skuType === 'multi' && this.$refs.skuRef) {
const skuData = this.$refs.skuRef.submit();
if (!skuData) {
return;
}
this.form.sku = skuData;
} else {
//
this.form.sku = {
type: 'single',
name: this.form.skuName,
value: this.form.skuValue
};
}
// if(this.$refs.skuRef.submit()){}
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {