2024-08-26 03:15:07 +00:00
|
|
|
|
<template>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
<view class="content">
|
|
|
|
|
<navBar> 添加画作 </navBar>
|
|
|
|
|
<view class="container-box">
|
|
|
|
|
<span style="font-weight: bold">
|
2024-09-19 01:38:53 +00:00
|
|
|
|
已扫画筒号:{{state.pid }}
|
2024-09-11 06:57:03 +00:00
|
|
|
|
</span>
|
|
|
|
|
<view style="display: flex; align-items: center;">
|
2024-09-24 02:08:53 +00:00
|
|
|
|
<up-input class="login-input" placeholder="画家姓名/画作名称" v-model="state.searchValue" style="flex: 1; margin-right: 10rpx;" clearable>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
</up-input>
|
|
|
|
|
|
|
|
|
|
<up-button style="width: 120rpx;
|
|
|
|
|
height: 80rpx;
|
|
|
|
|
margin-top: 15rpx;
|
2024-09-23 02:40:28 +00:00
|
|
|
|
margin-left: 15rpx;"
|
|
|
|
|
color="#EFC54E"
|
|
|
|
|
throttleTime="5"
|
|
|
|
|
:loading="loading"
|
2024-09-27 07:02:39 +00:00
|
|
|
|
@click="paintingList(state.page=1)">搜索</up-button>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
</view>
|
2024-09-27 07:02:39 +00:00
|
|
|
|
<up-list @scrolltolower="scrolltolower" style="height:1120rpx">
|
2024-09-24 02:08:53 +00:00
|
|
|
|
<up-list-item class="painting-box" v-for="(painting,index) in state.tableData" :key="index">
|
2024-09-19 01:38:53 +00:00
|
|
|
|
<span style="display: flex; align-items: center;position: relative;" >
|
2024-09-30 01:51:29 +00:00
|
|
|
|
<up-image :show-loading="true" :src="painting.HdPic" width="100px" height="100px" @click = "enlarge(painting.HdPic)"></up-image>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
<span style="display: flex; flex-direction: column; margin-left: 10px;">
|
2024-09-19 01:38:53 +00:00
|
|
|
|
<span style="font-weight: bold;" >{{painting.ArtworkName}}</span>
|
|
|
|
|
<span style="color:#BCBCBC;font-size: 16px;">画作编号:{{ painting.Tfnum }}</span>
|
|
|
|
|
<span style="color:#BCBCBC;font-size: 16px;">画家编号:{{ painting.Tnum }}</span>
|
|
|
|
|
<span style="color:#BCBCBC;font-size: 16px;">画家姓名:{{ painting.ArtistName }}</span>
|
|
|
|
|
<span style="color:#BCBCBC;font-size: 16px;">平尺(寸):{{ painting.Ruler }}</span>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
</span>
|
2024-09-12 06:53:48 +00:00
|
|
|
|
<up-radio-group
|
2024-09-20 08:27:19 +00:00
|
|
|
|
v-model="painting.checked"
|
2024-09-19 01:38:53 +00:00
|
|
|
|
style="position: absolute;
|
|
|
|
|
left: 550rpx;
|
|
|
|
|
bottom: 150rpx;
|
|
|
|
|
"
|
|
|
|
|
placement="right"
|
|
|
|
|
@change="groupChange"
|
|
|
|
|
>
|
2024-09-20 08:27:19 +00:00
|
|
|
|
<up-radio :name="painting.ArtworkUuid"></up-radio>
|
2024-09-12 06:53:48 +00:00
|
|
|
|
</up-radio-group>
|
|
|
|
|
</span>
|
2024-09-24 02:08:53 +00:00
|
|
|
|
</up-list-item>
|
|
|
|
|
</up-list>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="button-container">
|
2024-09-19 08:37:34 +00:00
|
|
|
|
<up-button
|
|
|
|
|
style="width: 336rpx; margin: auto; height: 80rpx"
|
|
|
|
|
color="#BABABA"
|
|
|
|
|
throttleTime="5"
|
|
|
|
|
>取消</up-button
|
|
|
|
|
>
|
2024-09-11 06:57:03 +00:00
|
|
|
|
<up-button
|
2024-09-20 08:27:19 +00:00
|
|
|
|
style="width: 336rpx; margin: auto; height: 80rpx;"
|
2024-09-19 07:40:39 +00:00
|
|
|
|
color="#EFC54E"
|
|
|
|
|
throttleTime="5"
|
2024-09-11 06:57:03 +00:00
|
|
|
|
:loading="loading"
|
2024-09-19 07:40:39 +00:00
|
|
|
|
:disabled="isButtonDisabled"
|
2024-09-20 08:27:19 +00:00
|
|
|
|
@click="doneSet"
|
2024-09-19 07:40:39 +00:00
|
|
|
|
> {{ buttonText }}</up-button
|
2024-09-11 06:57:03 +00:00
|
|
|
|
>
|
|
|
|
|
</view>
|
2024-08-26 03:15:07 +00:00
|
|
|
|
</template>
|
|
|
|
|
|
2024-09-11 06:57:03 +00:00
|
|
|
|
|
|
|
|
|
<script setup>
|
2024-09-19 01:38:53 +00:00
|
|
|
|
import { ref, reactive, onBeforeMount } from "vue";
|
|
|
|
|
import useToast from "@/hooks/toast/useToast.js";
|
2024-09-19 07:40:39 +00:00
|
|
|
|
import { onLoad,onReachBottom } from "@dcloudio/uni-app";
|
2024-09-20 08:27:19 +00:00
|
|
|
|
import { creChangepainting,add } from "@/api/login.js";
|
2024-09-19 01:38:53 +00:00
|
|
|
|
const { showMessage } = useToast();
|
|
|
|
|
const loading = ref(false);
|
2024-09-19 07:40:39 +00:00
|
|
|
|
const isButtonDisabled = ref(false);
|
|
|
|
|
const buttonText = ref("确认");
|
2024-09-19 01:38:53 +00:00
|
|
|
|
const state = reactive({
|
|
|
|
|
id: "",
|
|
|
|
|
pid: "",
|
|
|
|
|
tableData:[],
|
2024-09-19 07:40:39 +00:00
|
|
|
|
page:1,
|
|
|
|
|
pageSize:10,
|
2024-09-20 08:27:19 +00:00
|
|
|
|
selectedUuid:"",
|
2024-09-23 02:40:28 +00:00
|
|
|
|
searchValue:"",
|
2024-09-19 01:38:53 +00:00
|
|
|
|
});
|
|
|
|
|
onLoad((options) => {
|
|
|
|
|
state.id = options.id;
|
|
|
|
|
state.pid = options.pid;
|
|
|
|
|
paintingList()
|
|
|
|
|
});
|
|
|
|
|
const groupChange =(e) =>{
|
2024-09-20 08:27:19 +00:00
|
|
|
|
state.tableData.forEach((item) =>{
|
|
|
|
|
if(item.ArtworkUuid!==e){
|
|
|
|
|
item.checked =''
|
|
|
|
|
}
|
|
|
|
|
})
|
2024-09-19 01:38:53 +00:00
|
|
|
|
}
|
|
|
|
|
// 获取可添加的画作列表
|
|
|
|
|
const paintingList = async (param) => {
|
2024-09-27 07:02:39 +00:00
|
|
|
|
loading.value = true;
|
|
|
|
|
const res = await creChangepainting({
|
|
|
|
|
Tfnum: "",
|
|
|
|
|
ArtworkName: "",
|
|
|
|
|
Tnum: "",
|
|
|
|
|
ArtistName: "",
|
|
|
|
|
page: state.page,
|
|
|
|
|
pageSize: state.pageSize,
|
|
|
|
|
keywords: state.searchValue,
|
|
|
|
|
...param,
|
|
|
|
|
});
|
|
|
|
|
loading.value = false;
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
if (res.data.Data !== null) {
|
|
|
|
|
state.tableData = res.data.Data.map((item) => {
|
|
|
|
|
return {
|
|
|
|
|
...item,
|
|
|
|
|
checked: ''
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
console.log(1111, state.tableData);
|
|
|
|
|
} else {
|
|
|
|
|
state.tableData = [];
|
|
|
|
|
showMessage({ type: "error", message: "查询失败,暂无画作!" });
|
|
|
|
|
}
|
|
|
|
|
} else {
|
2024-09-19 01:38:53 +00:00
|
|
|
|
showMessage({ type: "error", message: res.msg });
|
2024-09-27 07:02:39 +00:00
|
|
|
|
}
|
2024-09-19 01:38:53 +00:00
|
|
|
|
}
|
2024-09-27 07:02:39 +00:00
|
|
|
|
|
2024-09-20 08:27:19 +00:00
|
|
|
|
//添加画作
|
|
|
|
|
const doneSet = async () => {
|
|
|
|
|
loading.value = true;
|
|
|
|
|
const selectedPainting = state.tableData.find((item) => item.checked);
|
|
|
|
|
if (selectedPainting) {
|
|
|
|
|
const res = await add({
|
|
|
|
|
type: "add",
|
|
|
|
|
id: state.id,
|
|
|
|
|
pid: state.pid,
|
|
|
|
|
drawUid: selectedPainting.ArtworkUuid,
|
|
|
|
|
drawName: selectedPainting.ArtworkName,
|
|
|
|
|
drawerName: selectedPainting.ArtistName,
|
|
|
|
|
drawerUid: selectedPainting.ArtistUuid,
|
|
|
|
|
rulerNum:selectedPainting.Ruler,
|
|
|
|
|
drawThumbnai:selectedPainting.HdPic,
|
|
|
|
|
drawNum:selectedPainting.Tnum,
|
|
|
|
|
drawerNum:selectedPainting.Tfnum,
|
|
|
|
|
});
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
showMessage({ type: "sucess", message: "添加画作成功" });
|
|
|
|
|
isButtonDisabled.value = true;
|
|
|
|
|
buttonText.value = "已添加";
|
|
|
|
|
paintingList();
|
|
|
|
|
} else {
|
|
|
|
|
showMessage({ type: "error", message: res.msg });
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
showMessage({ type: "error", message: "请先选择要添加的画作" });
|
|
|
|
|
}
|
|
|
|
|
loading.value = false;
|
|
|
|
|
};
|
2024-09-24 02:08:53 +00:00
|
|
|
|
//下拉刷新数据
|
|
|
|
|
const scrolltolower = async () => {
|
2024-09-27 07:02:39 +00:00
|
|
|
|
state.page = state.page + 1;
|
|
|
|
|
const res = await creChangepainting({
|
|
|
|
|
Tfnum: "",
|
|
|
|
|
ArtworkName: "",
|
|
|
|
|
Tnum: "",
|
|
|
|
|
ArtistName: "",
|
|
|
|
|
page: state.page,
|
|
|
|
|
pageSize: state.pageSize,
|
|
|
|
|
keywords: state.searchValue
|
|
|
|
|
});
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
if(res.data.Data!==null){ const newData = res.data.Data.map((item) => {
|
|
|
|
|
return {
|
|
|
|
|
...item,
|
|
|
|
|
checked: ''
|
|
|
|
|
}
|
2024-09-24 02:08:53 +00:00
|
|
|
|
});
|
2024-09-27 07:02:39 +00:00
|
|
|
|
const uniqueData = newData.filter((newItem) => {
|
|
|
|
|
return!state.tableData.some((existingItem) => existingItem.ArtworkUuid === newItem.ArtworkUuid);
|
|
|
|
|
});
|
|
|
|
|
state.tableData = state.tableData.concat(uniqueData);
|
|
|
|
|
} }
|
|
|
|
|
else {
|
|
|
|
|
showMessage({type: "error", message: res.msg});
|
|
|
|
|
}
|
2024-09-24 02:08:53 +00:00
|
|
|
|
};
|
2024-09-30 01:51:29 +00:00
|
|
|
|
//点击照片预览
|
|
|
|
|
const enlarge=(src) =>{
|
|
|
|
|
uni.previewImage({
|
|
|
|
|
urls: [src],
|
|
|
|
|
current: src
|
|
|
|
|
});
|
2024-09-24 02:08:53 +00:00
|
|
|
|
|
2024-09-30 01:51:29 +00:00
|
|
|
|
}
|
2024-09-24 02:08:53 +00:00
|
|
|
|
|
2024-08-26 03:15:07 +00:00
|
|
|
|
</script>
|
|
|
|
|
|
2024-09-11 06:57:03 +00:00
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
page {
|
|
|
|
|
background: url("@/static/bgp.png") no-repeat;
|
|
|
|
|
background-size: 100% 100%;
|
|
|
|
|
background-attachment: fixed;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-26 03:15:07 +00:00
|
|
|
|
.content {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
2024-09-24 02:08:53 +00:00
|
|
|
|
|
2024-09-11 06:57:03 +00:00
|
|
|
|
.container-box {
|
2024-09-24 02:08:53 +00:00
|
|
|
|
height: auto;
|
2024-09-11 06:57:03 +00:00
|
|
|
|
width: 95%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
padding: 40rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.login-input {
|
|
|
|
|
width: 80%;
|
|
|
|
|
display: flex;
|
|
|
|
|
background-color: #f9f9f9;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
padding: 32rpx 24rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
height: 96rpx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.painting-box {
|
|
|
|
|
height: 100%;
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
box-shadow: 0 0 6px rgba(219, 218, 218, 0.5);
|
|
|
|
|
}
|
2024-09-12 06:53:48 +00:00
|
|
|
|
|
2024-08-26 03:15:07 +00:00
|
|
|
|
}
|
2024-09-11 06:57:03 +00:00
|
|
|
|
.button-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
width: 100%;
|
|
|
|
|
position: fixed;
|
2024-09-24 02:08:53 +00:00
|
|
|
|
bottom: 1rpx;
|
2024-09-11 06:57:03 +00:00
|
|
|
|
left: 0;
|
|
|
|
|
padding: 0 20rpx;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
height: 8%;
|
|
|
|
|
}
|
2024-08-26 03:15:07 +00:00
|
|
|
|
</style>
|