123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561 |
- // pages/user/artUpload/artUpload.js
- import WxValidate from "../../../utils/WxValidate";
- import {pointNum} from "../../../utils/util"
- const app = getApp();
- const api = app.api;
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- id:null,
- userInfo:null,
- avatarImgFile:null,
- //作品分类
- categoryList:[],
- categoryIdPicker:[],
- categoryIdPickerValue:[0,0],
- categoryName:"",
- // 数字艺术品选项
- digitalArtworkOptions: {
- index: 0,
- options: [
- {label: '否', value: 0},
- {label: '是', value: 2}
- ]
- },
- //作品文件
- opusPicFile:[],
- maxTime:'', //时间限制
- formData:{
- avatarId:"", //艺术家头像id
- artistName:'', //艺名
- author:"", //作者
- name:"", //作品名称
- categoryId: "", //作品分类ID
- material:"", //材质
- fixedHeight:"", //固定高
- fixedLength:"", //固定长
- fixedWidth:"", //固定宽
- sizeMark:"", //无尺寸备注
- frameLength:"", //画框长
- frameWidth:"", //画框宽
- heartLength:"", //画芯长
- heartWidth:"", //画芯宽
- opusPicInfoList:[
- ],
- sourceType:0, //作品来源 0艺术家平台作品登记,1活动报名
- time:"", //作品年份
- price:"", //作品价格单位分
- version:"", //作品版本
- desp:"", //作品描述
- types: 0 // 不是数字艺术品
- },
- rules: {
- avatarId:{
- required: true,
- }, //艺术家头像id
- artistName:{
- required: true,
- }, //艺名
- opusPicInfoList:{
- required: true,
- },
- // author:{
- // required: true,
- // }, //作者
- categoryId: {
- required: true,
- }, //作品分类ID
- material:{
- required: true,
- }, //材质
- name:{
- required: true,
- }, //作品名称
- price:{
- required: true,
- }, //作品价格单位分
- sourceType:{
- required: true,
- }, //作品来源 0艺术家平台作品登记,1活动报名
- time:{
- required: true,
- }, //作品年份
- desp:{
- required: true,
- }, //作品描述
- /*
- version:{
- required: true,
- } */
- //作品版本
- },
- messages: {
- avatarId:{
- required: '请上传艺术家头像',
- },
- artistName:{
- required: '请输入艺术家姓名',
- },
- opusPicInfoList:{
- required: '请上传作品',
- },
- // author:{
- // required: '请填写作者姓名',
- // }, //作者
- categoryId:{
- required: '请选择作品类型',
- },
- material:{
- required: '请输入作品材质',
- },
- time:{
- required: '请选择作品日期',
- },
- version:{
- required: '请输入作品版本',
- },
- price:{
- required: '请输入作品价格',
- },
- desp:{
- required: '请输入作品阐述',
- }
- },
- rulesPM:{
- frameLength:{
- required: true,
- }, //画框长
- frameWidth:{
- required: true,
- number: true
- }, //画框宽
- heartLength:{
- required: true,
- number: true
- }, //画芯长
- heartWidth:{
- required: true,
- number: true
- }, //画芯宽
- },
- messagesPM:{
- frameLength:{
- required: '请输入画框长度',
- number: '请输入正确的画框长度'
- }, //画框长
- frameWidth:{
- required: '请输入画框宽度',
- number: '请输入正确的画框宽度'
- }, //画框宽
- heartLength:{
- required: '请输入画芯长度',
- number: '请输入正确的画芯长度'
- }, //画芯长
- heartWidth:{
- required: '请输入画芯宽度',
- number: '请输入正确的画芯宽度'
- }, //画芯宽
- },
- rulesLT:{
- fixedHeight:{
- required: true,
- number: true
- }, //固定高
- fixedLength:{
- required: true,
- number: true
- }, //固定长
- fixedWidth:{
- required: true,
- number: true
- }, //固定宽
- },
- messagesLT:{
- fixedHeight:{
- required: '请输入作品高',
- number: '请输入正确的作品高'
- }, //固定高
- fixedLength:{
- required: '请输入作品长',
- number: '请输入正确的作品长'
- }, //固定长
- fixedWidth:{
- required: '请输入作品宽',
- number: '请输入正确的作品宽'
- }, //固定宽
- },
- isSubmit:false,
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.setData({
- id:options.id||null
- })
- const {
- rules,
- messages,
- rulesPM,
- messagesPM,
- rulesLT,
- messagesLT
- }
- = this.data;
- this.WxValidate = new WxValidate(rules, messages);
- this.WxValidatePM = new WxValidate(rulesPM, messagesPM);
- this.WxValidateLT = new WxValidate(rulesLT, messagesLT);
- this.getArtCode().then(res=>{
- console.log('getData=======>')
- const {id}=this.data;
- if(id){
- this.getData();
- }
- });
- this.getUserData();
- wx.hideShareMenu();
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- this.getMaxTime()
- },
- /**当前日期**/
- getMaxTime(){
- const date=new Date()
- const year = date.getFullYear()
- const month = date.getMonth() + 1
- const day = date.getDate()
- this.setData({
- maxTime:`${year}-${month}-${day}`
- })
- },
- getArtCode(){
- return app.post(api.findTreeByType,{
- "categoryType": 5
- }).then(res=>{
- const data=res.data[0];
- this.setData({
- categoryList:data.children,
- categoryIdPicker:[data.children,data.children[0].children]
- })
- return Promise.resolve(true)
- })
- },
- /**编辑作品信息获取数据**/
- getData(){
- const {opusPicFile,categoryList,categoryIdPickerValue,categoryIdPicker}=this.data;
- const {opusPicInfoList}=this.data.formData;
- app.post(api.artFindById,{
- id:this.data.id
- }).then(res=>{
- res.data.price = res.data.price/100
- if(res.data.opusPicInfoList&&res.data.opusPicInfoList.length!=0){
- res.data.opusPicInfoList=[{
- fileId:res.data.opusPicInfoList[0].id,
- type:'img', // img||video
- url:res.data.opusPicInfoList[0].url
- }];
- opusPicFile.push(res.data.opusPicInfoList[0]);
- }
- console.info(res.data)
- console.info(opusPicFile);
- const categoryId=res.data.categoryId;
- const categoryName=res.data.categoryName;
- categoryList.forEach((category,categoryIndex)=>{
- category.children.forEach((item,index)=>{
- if(categoryId==item.id){
- categoryIdPickerValue[0]=categoryIndex;
- categoryIdPickerValue[1]=index;
- categoryIdPicker[1]=categoryList[categoryIndex].children;
- }
- });
- });
- this.setData({
- opusPicFile:opusPicFile,
- formData:res.data,
- categoryIdPicker,
- categoryIdPickerValue,
- categoryName
- })
- })
- },
- /*获取个人信息*/
- getUserData(){
- let {
- rules,
- messages,
- }
- = this.data;
- app.post(api.getBaseInfo).then(res=>{
- if(res.data.type == 0 ){
- console.log('delete=====================');
- delete rules.avatarId
- delete rules.artistName
- }
- this.setData({
- userInfo:res.data,
- rules:rules
- },()=>{
- this.WxValidate=null;
- this.WxValidate = new WxValidate(rules, messages);
- });
- });
- },
- upArtImg(){
- app.uploadFile().then(res=>{
- console.log(res);
- const fileInfo=JSON.parse(res.data);
- this.setData({
- avatarImgFile:fileInfo,
- 'formData.avatarId':fileInfo.id
- })
- });
- },
- removeUpArtImg(){
- this.setData({
- avatarImgFile:null,
- 'formData.avatarId':""
- })
- },
- upArtFile(){
- const {opusPicFile}=this.data;
- const {opusPicInfoList}=this.data.formData;
- app.uploadFile().then(res=>{
- console.log(res);
- const fileInfo=JSON.parse(res.data);
- opusPicInfoList.push({
- fileId:fileInfo.id,
- type:'img' // img||video
- });
- opusPicFile.push(fileInfo);
- this.setData({
- opusPicFile:opusPicFile,
- 'fromData.opusPicInfoList':opusPicInfoList
- })
- });
- },
- removeUpArtFile(e){
- const {index}=e.currentTarget.dataset;
- const {opusPicFile}=this.data;
- const {opusPicInfoList}=this.data.formData;
- opusPicFile.splice(index,1);
- opusPicInfoList.splice(index,1);
- this.setData({
- opusPicFile:opusPicFile,
- 'fromData.opusPicInfoList':opusPicInfoList
- })
- },
- /** input change value**/
- changeInput(e){
- console.log(e);
- const id = e.currentTarget.id;
- const number = e.currentTarget.dataset.number;
- let value = e.detail.value;
- if(number=='pointNum'){
- value=pointNum(value)
- }
- this.setData({
- [id]: value
- });
- },
- changeTime(e){
- console.log('作品时间',e);
- this.setData({
- 'formData.time':e.detail.value
- });
- },
- bindMultiPickerChange: function (e) {
- //console.log('picker发送选择改变,携带值为', e.detail.value)
- const {value}=e.detail;
- //console.log(value);
- const {categoryIdPicker}=this.data;
- this.setData({
- categoryIdPickerValue: value,
- 'formData.categoryId':categoryIdPicker[1][value[1]].id,
- categoryName:categoryIdPicker[1][value[1]].name
- });
- },
- bindMultiPickerColumnChange: function (e) {
- //console.log(e);
- const {column,value}=e.detail;
- const {categoryIdPicker,categoryList,categoryIdPickerValue}=this.data;
- if(column==0){
- categoryIdPicker[1]=categoryList[value].children;
- //categoryIdPickerValue[1]=0;
- this.setData({
- //categoryIdPickerValue:categoryIdPickerValue,
- categoryIdPicker:categoryIdPicker
- });
- };
- },
- /***
- * 保存数据
- * */
- saveData(e){
- const {status}=e.currentTarget.dataset;
- const {formData,categoryIdPickerValue,isSubmit}=this.data;
- //重复提交
- if(isSubmit){
- return
- }
- console.info(status)
- //状态暂存或者提交
- formData.isTemp=(status == 1?true:false);
- if (!this.WxValidate.checkForm(formData)) {
- const error = this.WxValidate.errorList[0];
- wx.showToast({
- title: error.msg,
- icon: 'none',
- duration: 2000
- })
- return false
- }
- //平面作品验证
- if(categoryIdPickerValue[0]==0){
- if (!this.WxValidatePM.checkForm(formData)) {
- const error = this.WxValidatePM.errorList[0];
- wx.showToast({
- title: error.msg,
- icon: 'none',
- duration: 2000
- })
- return false
- }
- }else{//立体作品
- if (formData.sizeMark!==""){
- }else if(!this.WxValidateLT.checkForm(formData)) {
- const error = this.WxValidateLT.errorList[0];
- wx.showToast({
- title: error.msg,
- icon: 'none',
- duration: 2000
- })
- return false
- }
- }
- formData.price = parseInt(formData.price * 100);
- this.setData({
- isSubmit:true,
- });
- if(formData.id){
- app.post(api.artUpdate,formData).then(res=>{
- this.setData({
- isSubmit:false,
- });
- wx.redirectTo({
- url:"/pages/user/myArtist/myArtist"
- });
- }).catch(()=>{
- this.setData({
- isSubmit:false,
- });
- })
- }else{
- app.post(api.artAdd,formData).then(res=>{
- this.setData({
- isSubmit:false,
- });
- wx.redirectTo({
- url:"/pages/user/myArtist/myArtist"
- });
- }).catch(()=>{
- this.setData({
- isSubmit:false,
- });
- })
- }
- },
- /**
- *预览图片
- ***/
- prevFile() {
- const {opusPicFile}=this.data;
- app.previewImg(opusPicFile.map(item=>{
- return item.url
- }));
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- },
- /**
- * 数字艺术品选中
- */
- digitalArtworkChange: function(event) {
- const index = parseInt(event.detail.value);
- const self = this;
- const value = self.data.digitalArtworkOptions.options[index].value;
- self.setData({
- ['formData.types']: value,
- ['digitalArtworkOptions.index']: index
- });
- }
- })
|