Commit e3b80de244dbc8eb9d10981dee1d8789922c7a64

Authored by wesley88
2 parents 9e6f917a 981fc108

Merge branch 'master' of http://39.98.150.180/webapp/GreenwayWeb

admin-web-master/src/components/chakan/map.vue
... ... @@ -182,9 +182,9 @@
182 182 {{scope.row.businessType || '-' }}
183 183 </template>
184 184 </el-table-column>
185   - <el-table-column label="租金价格" prop="rentalPrice" min-width="150">
  185 + <el-table-column label="租金价格(元)" prop="rentalPrice" min-width="150">
186 186 <template slot-scope="scope">
187   - {{scope.row.rentalPrice || '-' }}
  187 + {{scope.row.rentalPrice+'元' || '-' }}
188 188 </template>
189 189 </el-table-column>
190 190 <el-table-column label="租期" prop="leaseTerm" min-width="100">
... ...
admin-web-master/src/utils/request.js
... ... @@ -17,12 +17,12 @@ let baseURL = &#39;&#39;
17 17 if(host === 'localhost:8080' || host === 'localhost:8081' || host === 'localhost:9528'|| host === '192.168.31.45:9528'|| host === 'localhost:9529' ) {
18 18  
19 19 // baseURL = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server';
20   - baseURL = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server';
  20 + // baseURL = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server';
21 21  
22 22 // baseURL = process.env.VUE_APP_DOMAIN_PREFIX_1;
23 23  
24 24  
25   - // baseURL = 'http://128.10.249.25:9003';
  25 + baseURL = 'http://128.10.249.21:9003';
26 26  
27 27  
28 28 } else {
... ...
admin-web-master/src/views/activity/activityBz.vue
... ... @@ -843,7 +843,7 @@
843 843 solutionEditor: null,
844 844 }
845 845 })
846   - this.$emit('childClose', false);
  846 +
847 847 } else {
848 848 this.$message({
849 849 message: '请填写数据',
... ...
admin-web-master/src/views/activity/activityHis.vue
... ... @@ -534,7 +534,7 @@
534 534 </el-col>
535 535  
536 536 </el-row>
537   - <el-row :gutter="20">
  537 + <!-- <el-row :gutter="20">
538 538 <el-col :span="24">
539 539 <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
540 540 <el-upload class="upload-demo" ref="upload"
... ... @@ -550,7 +550,7 @@
550 550 </el-form-item>
551 551 </el-col>
552 552  
553   - </el-row>
  553 + </el-row> -->
554 554 </el-form>
555 555 </div>
556 556 </div>
... ...
admin-web-master/src/views/atmosphere/atmosphereBz.vue
... ... @@ -791,7 +791,7 @@
791 791 solutionEditor: null,
792 792 }
793 793 })
794   - this.$emit('childClose', false);
  794 +
795 795 } else {
796 796 this.$message({
797 797 message: '请填写数据',
... ...
admin-web-master/src/views/atmosphere/atmosphereHis.vue
... ... @@ -533,7 +533,7 @@
533 533 </el-col>
534 534  
535 535 </el-row>
536   - <el-row :gutter="20">
  536 + <!-- <el-row :gutter="20">
537 537 <el-col :span="24">
538 538 <el-form-item label="反馈内容" class="grid-content bg-purple" prop="name">
539 539 <el-upload class="upload-demo" ref="upload"
... ... @@ -549,7 +549,7 @@
549 549 </el-form-item>
550 550 </el-col>
551 551  
552   - </el-row>
  552 + </el-row> -->
553 553 </el-form>
554 554 </div>
555 555 </div>
... ...
admin-web-master/src/views/scheme/sam.vue
... ... @@ -66,8 +66,9 @@
66 66 </el-table-column>
67 67 <el-table-column label="租金价格(元)" prop="rentalPrice" min-width="150">
68 68 <template slot-scope="scope">
69   - <span v-if="scope.row.rentalPrice!=''">{{scope.row.rentalPrice}}元/m²</span>
70   - <span v-else>-</span>
  69 + <span v-if="scope.row.rentalPrice!=''&& scope.row.applicableResources!='广告位'">{{scope.row.rentalPrice}}元/m²</span>
  70 + <span v-if="scope.row.rentalPrice!='' && scope.row.applicableResources=='广告位'">{{scope.row.rentalPrice}}元/{{scope.row.leaseTerm || ''}}</span>
  71 + <span v-if="scope.row.rentalPrice==''">-</span>
71 72 </template>
72 73 </el-table-column>
73 74 <el-table-column label="租期" prop="leaseTerm" min-width="100">
... ...
admin-web-master/src/views/shopbus/businessList/index.vue
... ... @@ -467,7 +467,7 @@
467 467 name="3"
468 468 >
469 469 <el-form ref="ruleFormInfo" :model="ruleForm" :rules="rulesInfo" label-width="140px">
470   - <el-form-item label="客户级别" prop="customerLevel">
  470 + <!-- <el-form-item label="客户级别" prop="customerLevel">
471 471 <div v-if="disabled">{{ruleForm.customerLevel}}</div>
472 472 <el-select
473 473 v-model="ruleForm.customerLevel"
... ... @@ -478,7 +478,7 @@
478 478 <el-option label="B" value="B" />
479 479 <el-option label="C" value="C" />
480 480 </el-select>
481   - </el-form-item>
  481 + </el-form-item> -->
482 482 <el-form-item label="证件类型" prop="certificateType">
483 483 <div v-if="disabled">{{ruleForm.certificateType==6?'身份证':''}}</div>
484 484 <el-select
... ... @@ -511,7 +511,7 @@
511 511 <upimg filePath="shopmsg" :value="ruleForm.cardPhotoBack" inputtype="cardPhotoBack" :limit="1"
512 512 @changimg="e=>changimg(e,'cardPhotoBack')" v-else></upimg>
513 513 </el-form-item>
514   - <el-form-item label="是否为法人" prop="legalEntity">
  514 + <!-- <el-form-item label="是否为法人" prop="legalEntity">
515 515 <div v-if="disabled">{{ruleForm.legalEntity}}</div>
516 516 <el-select
517 517 v-model="ruleForm.legalEntity"
... ... @@ -522,14 +522,14 @@
522 522 <el-option label="是" value="是" />
523 523 <el-option label="否" value="否" />
524 524 </el-select>
525   - </el-form-item>
  525 + </el-form-item> -->
526 526  
527   - <el-form-item label="企业授权书" prop="enterpriseAuthorizationLetter">
  527 + <!-- <el-form-item label="企业授权书" prop="enterpriseAuthorizationLetter">
528 528 <img :src="$baseURL+ruleForm.enterpriseAuthorizationLetter" alt="" v-if="disabled" style="width:150px;height:150px"/>
529 529  
530 530 <upimg filePath="shopmsg" :value="ruleForm.enterpriseAuthorizationLetter" inputtype="enterpriseAuthorizationLetter" :limit="1"
531 531 @changimg="e=>changimg(e,'enterpriseAuthorizationLetter')" v-else></upimg>
532   - </el-form-item>
  532 + </el-form-item> -->
533 533 </el-form>
534 534 </el-tab-pane>
535 535 <el-tab-pane
... ... @@ -830,9 +830,9 @@ export default {
830 830 businessLicense:[
831 831 { required: true, message: '请上传营业执照', trigger: 'change' }
832 832 ],
833   - customerLevel:[
834   - { required: true, message: '请选择客户级别', trigger: 'change' }
835   - ],
  833 + // customerLevel:[
  834 + // { required: true, message: '请选择客户级别', trigger: 'change' }
  835 + // ],
836 836 certificateType:[
837 837 { required: true, message: '请选择证件类型', trigger: 'change' }
838 838 ],
... ... @@ -848,12 +848,12 @@ export default {
848 848 cardPhotoBack:[
849 849 { required: true, message: '请上传身份证照片(反面)', trigger: 'change' }
850 850 ],
851   - legalEntity:[
852   - { required: true, message: '请选择是否为法人', trigger: 'change' }
853   - ],
854   - enterpriseAuthorizationLetter:[
855   - { required: true, message: '请上传企业授权书', trigger: 'change' }
856   - ],
  851 + // legalEntity:[
  852 + // { required: true, message: '请选择是否为法人', trigger: 'change' }
  853 + // ],
  854 + // enterpriseAuthorizationLetter:[
  855 + // { required: true, message: '请上传企业授权书', trigger: 'change' }
  856 + // ],
857 857 effectiveYear: [
858 858 { required: true, message: '请输入生效时限', trigger: 'blur' }
859 859 ],
... ...
admin-web-master/src/views/shopbus/settlement/addSettlement.vue
... ... @@ -128,10 +128,10 @@
128 128 name="3"
129 129 >
130 130 <el-form ref="shopDetailsInfo" :model="shopDetails" label-width="140px">
131   - <el-form-item label="客户级别" prop="customerLevel">
  131 + <!-- <el-form-item label="客户级别" prop="customerLevel">
132 132 <div >{{shopDetails.customerLevel}}</div>
133 133  
134   - </el-form-item>
  134 + </el-form-item> -->
135 135 <el-form-item label="证件类型" prop="certificateType">
136 136 <div >{{shopDetails.certificateType=='6'?'身份证':''}}</div>
137 137  
... ... @@ -154,13 +154,13 @@
154 154  
155 155  
156 156 </el-form-item>
157   - <el-form-item label="是否为法人" prop="legalEntity">
  157 + <!-- <el-form-item label="是否为法人" prop="legalEntity">
158 158 <div >{{shopDetails.legalEntity}}</div>
159 159  
160   - </el-form-item>
161   - <el-form-item label="企业授权书" prop="enterpriseAuthorizationLetter">
  160 + </el-form-item> -->
  161 + <!-- <el-form-item label="企业授权书" prop="enterpriseAuthorizationLetter">
162 162 <img :src="$baseURL+shopDetails.enterpriseAuthorizationLetter" alt="" style="width:150px;height:150px"/>
163   - </el-form-item>
  163 + </el-form-item> -->
164 164 </el-form>
165 165 </el-tab-pane>
166 166 <el-tab-pane
... ...
ceres-uniapp-master/pages_category_page1/orderModule/orderDetails.vue
... ... @@ -275,6 +275,15 @@
275 275 class="arrow-down-img" v-else>
276 276 </image>
277 277 </view>
  278 + <view style="padding-left:5px;">
  279 + <view v-if="dataList.deliverFormid&& dataList.deliverFormid!=''" class="logistics">
  280 + <view style="padding-left:5px;">
  281 + <view style="margin-bottom:5px;"> 物流公司:{{dataList.express}}</view>
  282 + <view >快递单号:{{dataList.deliverFormid}}</view>
  283 + </view>
  284 + <!-- <uni-steps :options="steps" direction="column" :active="0"></uni-steps> -->
  285 + </view>
  286 + </view>
278 287 </view>
279 288 <!-- 暂无物流 -->
280 289 <view v-if="isShowWuLiu">
... ...
lvdao-miniapp/main.js
... ... @@ -8,13 +8,13 @@ import uView from &quot;uview-ui&quot;;
8 8 import DialogBox from './components/DialogBox/DialogBox';
9 9 // let hostall = window.location.href;
10 10 // let c1 = hostall.split('cdwlMall')[0];
11   -// let c1 = 'https://jy.scjysm.asia:18086/'
12   -let c1 = 'https://zhgw-uat.028wlkj.com/'
  11 +let c1 = 'https://jy.scjysm.asia:18086/'
  12 +// let c1 = 'https://zhgw-uat.028wlkj.com/'
13 13 Vue.config.productionTip = false
14 14 Vue.prototype.$http = http
15 15 Vue.prototype.$imgUrl = (url) => {
16   - // return (c1 + "cdwlMall/questionnaire/file/static" + url);
17   - return (c1 + "cdwlMall/zsfwzxt/test/file/static" + url);
  16 + return (c1 + "cdwlMall/questionnaire/file/static" + url);
  17 + // return (c1 + "cdwlMall/zsfwzxt/test/file/static" + url);
18 18 }
19 19 Vue.prototype.$img = c1+ 'cdwlMall'
20 20 // Vue.prototype.$upload = "https://zhld.028wlkj.com:49008/cdwlMall/admin-server/miniio/upload"
... ...
lvdao-miniapp/pagesA/application/application.vue
... ... @@ -48,8 +48,8 @@
48 48 </view>
49 49 <view>
50 50 <spEditor
51   - :toolbar-config="{
52   - excludeKeys: ['direction', 'date', 'export','link', 'letterSpacing','video','undo','redo'],
  51 + :toolbar-config="{
  52 + excludeKeys: ['direction', 'date', 'export','link', 'letterSpacing','video','undo','redo'],
53 53 iconSize: '18px'
54 54 }"
55 55 @input="inputOver"
... ...
lvdao-miniapp/pagesA/projectManagement/projectDetails.vue
... ... @@ -27,31 +27,28 @@
27 27 </view>
28 28 </view>
29 29 </view>
30   - <!-- 分享背景遮罩层 -->
31   - <view
32   - v-if="showShareModal"
33   - class="share-mask"
34   - @click="closeShareModal"w
35   -
36   - <!-- 分享拉起框 -->
37   - <view v-if="showShareModal" class="share-modal"
38   - :class="{ 'share-modal-animate': showShareModal }">
39   - <view class="share-option" @click="generatePoster">生成海报</view>
40   - <!-- <view class="share-option" @click="wechatShare">微信分享</view> -->
41   - <button class="share-option" open-type="share">分享微信</button>
42   - <view class="share-option" @click="closeShareModal">取消</view>
43   - </view>
44   -
45   - <!-- 海报遮罩层 -->
46   - <view v-if="showPosterMask" class="poster-mask">
47   - <view class="poster-container">
48   - <view style="text-align: center;font-weight: bold;">宣传海报</view>
49   - <image v-if="posterUrl" :src="posterUrl" mode="aspectFit" style="height: 350px;" @click="savePoster" ></image>
50   - <view class="close-btn" @click="closePosterMask">×</view>
51   - <!-- 新增的保存按钮 -->
52   - <!-- <button class="save-btn" style="padding: 8px 0;border-radius: 15px;background-color: #3f9b6a;color: #fff;" @click="savePoster">保存到本地</button> -->
53   - </view>
54   - </view>
  30 + <!-- 分享背景遮罩层 -->
  31 + <view v-if="showShareModal" class="share-mask" @click="closeShareModal">
  32 + <view v-if="showShareModal" class="share-modal" :class="{ 'share-modal-animate': showShareModal }">
  33 + <view class="share-option" @click="generatePoster">生成海报</view>
  34 + <button class="share-option" open-type="share">分享微信</button>
  35 + <view class="share-option" @click="closeShareModal">取消</view>
  36 + </view>
  37 + </view>
  38 + <!-- 海报遮罩层 -->
  39 + <view v-if="showPosterMask" class="poster-mask">
  40 + <view class="poster-container">
  41 + <view style="text-align: center;font-weight: bold;">宣传海报</view>
  42 + <canvas canvas-id="mergeCanvas" id="mergeCanvas"
  43 + :style="{ width: `${canvasWidth}px`, height: `${canvasHeight}px`, margin: '10px 0' }"></canvas>
  44 + <view class="close-btn" @click="closePosterMask">×</view>
  45 + <!-- 新增的保存按钮 -->
  46 + <button class="save-btn"
  47 + style="padding: 8px 0;border-radius: 15px;background-color: #3f9b6a;color: #fff;"
  48 + @click="saveImage">保存到本地</button>
  49 + </view>
  50 + </view>
  51 +
55 52 </view>
56 53 </template>
57 54  
... ... @@ -73,7 +70,11 @@
73 70 imgurl: '',
74 71 showShareModal: false, // 分享拉起框是否显示
75 72 showPosterMask: false, // 海报遮罩层是否显示
76   - posterUrl: '' // 海报图片地址
  73 + posterUrl: '', // 海报图片地址
  74 + mergedImageSrc: '',
  75 + canvasWidth: '',
  76 + canvasHeight: '',
  77 + imgUrls: []
77 78 };
78 79 },
79 80 onLoad(option) {
... ... @@ -84,87 +85,245 @@
84 85  
85 86 this.$http.sendRequest('/cerePromotion/queryByPage', 'POST', this.pagesize, 1).then(res => {
86 87 this.tableData = res.data.data.content[0]
  88 + this.imgUrls.push(this.imgurl + this.tableData.coverImage)
87 89 })
88 90 },
  91 + onReady() {},
89 92 mounted() {
90 93  
  94 +
91 95 },
92 96 methods: {
93 97 // 点击分享按钮
94   - shareMsg() {
95   - this.showShareModal = true;
96   - },
97   - // 关闭分享拉起框
98   - closeShareModal() {
99   - this.showShareModal = false;
100   - },
101   - // 生成海报
102   - generatePoster() {
103   - this.closeShareModal()
104   - this.$http.sendRequest(`/cerePromotion/getSharePic/${this.tableData.id}`, 'GET','', 1).then(res => {
105   - this.posterUrl = this.imgurl+res.data.data
106   - this.showPosterMask = true;
107   - })
108   -
109   - // setTimeout(() => {
110   - // this.posterUrl = 'https://dummyimage.com/800x600/ff0000/ffffff'; // 替换为真实的海报图片地址
111   - // this.showPosterMask = true;
112   - // }, 1000);
113   - },
114   - // 关闭海报遮罩层
115   - closePosterMask() {
116   - this.showPosterMask = false;
117   - this.posterUrl = '';
118   - },
119   - // 微信分享
120   - wechatShare() {
121   - // this.closeShareModal();
122   - // uni.share({
123   - // provider: 'weixin',
124   - // scene: 'WXSceneSession',
125   - // type: 0,
126   - // title: this.tableData.schemeTitle,
127   - // summary: '分享描述',
128   - // href: `https://zhgw-uat.028wlkj.com/cdwlMall/merchant-h5/#/pagesA/projectManagement/projectDetails?id=${this.tableData.id}`, // 分享链接
129   - // success: function(res) {
130   - // console.log('分享成功', res);
131   - // },
132   - // fail: function(err) {
133   - // console.log('分享失败', err);
134   - // }
135   - // });
136   - },
137   - onShareAppMessage() {
138   - return {
139   - title: this.tableData.schemeTitle,
140   - imageUrl: this.imgurl+this.tableData.coverImage,
141   - path: `/pagesA/projectManagement/projectDetails?id=${this.tableData.id}`,
142   - success(res) {
143   - uni.showToast({
144   - icon: 'none',
145   - title: '分享成功'
146   - })
147   - },
148   - fail(err) {
149   - console.log('分享失败', err);
150   - }
151   - };
152   - },
153   - // 保存图片到本地
154   - savePoster() {
155   - uni.previewImage({
156   - urls:[this.posterUrl],
157   - longPressActions: {
158   - itemList: ['保存图片'],
159   - success: function(data) {
160   - console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
161   - },
162   - fail: function(err) {
163   - console.log(err.errMsg);
164   - }
165   - }
166   - });
167   - },
  98 + shareMsg() {
  99 + this.showShareModal = true;
  100 + },
  101 + // 关闭分享拉起框
  102 + closeShareModal() {
  103 + this.showShareModal = false;
  104 + },
  105 + // 生成海报
  106 + generatePoster() {
  107 + this.closeShareModal()
  108 + this.$http.sendRequest(`/cerePromotion/getSharePic/${this.tableData.id}`, 'GET', '', 1).then(res => {
  109 + this.posterUrl = this.imgurl + res.data.data
  110 + this.imgUrls.push(this.imgurl + res.data.data)
  111 + this.mergeImages()
  112 + this.showPosterMask = true;
  113 + })
  114 +
  115 + // setTimeout(() => {
  116 + // this.posterUrl = 'https://dummyimage.com/800x600/ff0000/ffffff'; // 替换为真实的海报图片地址
  117 + // this.showPosterMask = true;
  118 + // }, 1000);
  119 + },
  120 + getImageInfo(src) {
  121 + return new Promise((resolve, reject) => {
  122 + wx.getImageInfo({
  123 + src,
  124 + success: (res) => resolve(res),
  125 + fail: (res) => reject(res)
  126 + })
  127 + });
  128 + },
  129 +
  130 + mergeImages(imgs) {
  131 +
  132 + const imgUrls = this.imgUrls
  133 + const imgPromises = imgUrls.map((url) => {
  134 + return new Promise((resolve, reject) => {
  135 + uni.getImageInfo({
  136 + src: url,
  137 + success: (res) => {
  138 + // 直接传递图片路径,无需创建 Image 对象
  139 + resolve({
  140 + path: res.path,
  141 + width: res.width,
  142 + height: res.height
  143 + });
  144 + },
  145 + fail: (err) => {
  146 + console.error('获取图片信息失败:', err);
  147 + reject(err);
  148 + }
  149 + });
  150 + });
  151 + });
  152 +
  153 + Promise.all(imgPromises)
  154 + .then((imgInfos) => {
  155 + let maxHeight = 400;
  156 + let totalWidth = 300;
  157 + let scaledWidth = 0
  158 + let scaledHeight = 0
  159 + imgInfos.forEach((imgInfo, index) => {
  160 + if (index === 0) {
  161 + const imgInfo = imgInfos[index];
  162 + const imgRatio = imgInfo.width / imgInfo.height; // 图片的宽高比例
  163 + const canvasRatio = totalWidth / maxHeight; // 画布的宽高比例
  164 + if (imgRatio > canvasRatio) {
  165 + // 图片更宽,按宽度缩放
  166 + scaledWidth = totalWidth;
  167 + scaledHeight = maxHeight / imgRatio;
  168 + } else {
  169 + // 图片更高,按高度缩放
  170 + scaledHeight = maxHeight;
  171 + scaledWidth = totalWidth * imgRatio;
  172 + }
  173 +
  174 + // 设置画布的宽度和高度为缩放后的图片宽度和高度
  175 + this.canvasWidth = scaledWidth;
  176 + this.canvasHeight = scaledHeight;
  177 + }
  178 + maxHeight = Math.max(maxHeight, imgInfo.height);
  179 + totalWidth += imgInfo.width;
  180 + });
  181 +
  182 + if (totalWidth === 0 || maxHeight === 0) {
  183 + console.error('计算得到的画布尺寸为0');
  184 + return;
  185 + }
  186 +
  187 + const ctx = uni.createCanvasContext('mergeCanvas');
  188 + uni.getSystemInfo({
  189 + success: (systemInfo) => {
  190 + // 处理第一张图片,按窗口宽高比例缩放
  191 + const firstImgInfo = imgInfos[0];
  192 + // 清空画布并设置缩放
  193 + ctx.setFillStyle('white');
  194 + ctx.fillRect(0, 0, this.canvasWidth, this.canvasHeight);
  195 +
  196 + // 绘制第一张图片作为背景
  197 + ctx.drawImage(
  198 + firstImgInfo.path,
  199 + 0,
  200 + 0,
  201 + this.canvasWidth,
  202 + this.canvasHeight,
  203 + );
  204 + const secondImgInfo = imgInfos[1];
  205 + // 绘制第二张图片在第一张图片上层右下角
  206 + ctx.drawImage(
  207 + secondImgInfo.path,
  208 + this.canvasWidth-100,
  209 + this.canvasHeight-100,
  210 + 100,
  211 + 100
  212 + );
  213 + setTimeout(() => {
  214 + // 绘制完成后生成图片
  215 + ctx.draw(false, () => {
  216 + uni.canvasToTempFilePath({
  217 + canvasId: 'mergeCanvas',
  218 + success: (res) => {
  219 + console.log('生成临时文件成功,路径:', res
  220 + .tempFilePath);
  221 + this.mergedImageSrc = res
  222 + .tempFilePath;
  223 + },
  224 + fail: (err) => {
  225 + console.error('生成临时文件失败', err);
  226 + }
  227 + });
  228 + });
  229 + }, 1000)
  230 +
  231 + },
  232 + fail: (err) => {
  233 + console.error('获取设备信息失败', err);
  234 + }
  235 + });
  236 + })
  237 + .catch((err) => {
  238 + console.error('获取图片信息失败或图片加载失败', err);
  239 + })
  240 + },
  241 +
  242 + // 关闭海报遮罩层
  243 + closePosterMask() {
  244 + this.showPosterMask = false;
  245 + this.mergedImageSrc = '';
  246 + },
  247 + onShareAppMessage() {
  248 + return {
  249 + title: this.tableData.schemeTitle,
  250 + imageUrl: this.imgurl + this.tableData.coverImage,
  251 + path: `/pagesA/projectManagement/projectDetails?id=${this.tableData.id}`,
  252 + success(res) {
  253 + uni.showToast({
  254 + icon: 'none',
  255 + title: '分享成功'
  256 + })
  257 + },
  258 + fail(err) {
  259 + console.log('分享失败', err);
  260 + }
  261 + };
  262 + },
  263 + saveImage() {
  264 + // 获取图片信息
  265 + uni.getImageInfo({
  266 + src: this.mergedImageSrc,
  267 + success: (res) => {
  268 + const tempFilePath = res.path
  269 + // 检查保存相册权限
  270 + uni.getSetting({
  271 + success: (settingRes) => {
  272 + if (!settingRes.authSetting['scope.writePhotosAlbum']) {
  273 + // 没有权限,请求权限
  274 + uni.authorize({
  275 + scope: 'scope.writePhotosAlbum',
  276 + success: () => {
  277 + // 授权成功,保存图片
  278 + this.saveImageToAlbum(tempFilePath);
  279 + },
  280 + fail: () => {
  281 + // 授权失败,提示用户手动开启权限
  282 + uni.showModal({
  283 + title: '提示',
  284 + content: '请在设置中开启保存相册权限',
  285 + success: (modalRes) => {
  286 + if (modalRes.confirm) {
  287 + uni.openSetting();
  288 + }
  289 + }
  290 + });
  291 + }
  292 + });
  293 + } else {
  294 + // 已有权限,保存图片
  295 + this.saveImageToAlbum(tempFilePath);
  296 + }
  297 + }
  298 + });
  299 + },
  300 + fail: (err) => {
  301 + console.error('获取图片信息失败:', err);
  302 + uni.showToast({
  303 + title: '获取图片信息失败',
  304 + icon: 'none'
  305 + });
  306 + }
  307 + });
  308 + },
  309 + saveImageToAlbum(tempFilePath) {
  310 + uni.saveImageToPhotosAlbum({
  311 + filePath: tempFilePath,
  312 + success: () => {
  313 + uni.showToast({
  314 + title: '图片保存成功',
  315 + icon: 'success'
  316 + });
  317 + },
  318 + fail: (err) => {
  319 + console.error('保存图片到相册失败:', err);
  320 + uni.showToast({
  321 + title: '保存图片到相册失败',
  322 + icon: 'none'
  323 + });
  324 + }
  325 + });
  326 + },
168 327 }
169 328 };
170 329 </script>
... ... @@ -269,69 +428,85 @@
269 428 }
270 429 }
271 430 }
272   -.share-mask {
273   - position: fixed;
274   - top: 0;
275   - left: 0;
276   - right: 0;
277   - bottom: 0;
278   - background-color: rgba(0, 0, 0, 0.3);
279   - z-index: 99;
280   -}
281   -
282   -.share-modal {
283   - position: fixed;
284   - bottom: -200px; /* 初始位置在屏幕外 */
285   - left: 0;
286   - right: 0;
287   - background-color: #fff;
288   - border-top-left-radius: 10px;
289   - border-top-right-radius: 10px;
290   - // padding: 10px;
291   - z-index: 100;
292   - transition: bottom 0.3s ease; /* 添加过渡效果 */
293   -}
294   -
295   -.share-modal-animate {
296   - bottom: 0; /* 动画结束位置 */
297   -}
298   -
299   -.share-option {
300   - padding: 15px;
301   - text-align: center;
302   - border-bottom: 1px solid #eee;
303   - background-color: #fff;
304   -
305   -}
306   -
307   -.poster-mask {
308   - position: fixed;
309   - top: 0;
310   - left: 0;
311   - right: 0;
312   - bottom: 0;
313   - background-color: rgba(0, 0, 0, 0.5);
314   - display: flex;
315   - justify-content: center;
316   - align-items: center;
317   - z-index: 101;
318   -}
319   -
320   -.poster-container {
321   - position: relative;
322   - background-color: #fff;
323   - padding: 10px;
324   - border-radius: 10px;
325   - // height: 400px;
326   -}
327   -
328   -.close-btn {
329   - position: absolute;
330   - top: 10px;
331   - right: 10px;
332   - font-size: 20px;
333   - cursor: pointer;
334   -}
335   -button{padding: 0;margin: 0; border: 1px solid transparent;line-height: 1;font-size: 14px;}
336   -button::after{ border: none; }
  431 +
  432 + .share-mask {
  433 + position: fixed;
  434 + top: 0;
  435 + left: 0;
  436 + right: 0;
  437 + bottom: 0;
  438 + background-color: rgba(0, 0, 0, 0.3);
  439 + z-index: 99;
  440 + }
  441 +
  442 + .share-modal {
  443 + position: fixed;
  444 + bottom: -200px;
  445 + /* 初始位置在屏幕外 */
  446 + left: 0;
  447 + right: 0;
  448 + background-color: #fff;
  449 + border-top-left-radius: 10px;
  450 + border-top-right-radius: 10px;
  451 + // padding: 10px;
  452 + z-index: 100;
  453 + transition: bottom 0.3s ease;
  454 + /* 添加过渡效果 */
  455 + }
  456 +
  457 + .share-modal-animate {
  458 + bottom: 0;
  459 + /* 动画结束位置 */
  460 + }
  461 +
  462 + .share-option {
  463 + padding: 15px;
  464 + text-align: center;
  465 + border-bottom: 1px solid #eee;
  466 + background-color: #fff;
  467 +
  468 + }
  469 +
  470 + .poster-mask {
  471 + position: fixed;
  472 + top: 0;
  473 + left: 0;
  474 + right: 0;
  475 + bottom: 0;
  476 + background-color: rgba(0, 0, 0, 0.5);
  477 + display: flex;
  478 + justify-content: center;
  479 + align-items: center;
  480 + z-index: 101;
  481 +
  482 + }
  483 +
  484 + .poster-container {
  485 + position: relative;
  486 + background-color: #fff;
  487 + padding: 10px;
  488 + border-radius: 10px;
  489 + // height: 400px;
  490 + width: 90%;
  491 + }
  492 +
  493 + .close-btn {
  494 + position: absolute;
  495 + top: 10px;
  496 + right: 10px;
  497 + font-size: 20px;
  498 + cursor: pointer;
  499 + }
  500 +
  501 + button {
  502 + padding: 0;
  503 + margin: 0;
  504 + border: 1px solid transparent;
  505 + line-height: 1;
  506 + font-size: 14px;
  507 + }
  508 +
  509 + button::after {
  510 + border: none;
  511 + }
337 512 </style>
338 513 \ No newline at end of file
... ...
lvdao-miniapp/pagesA/projectManagement/projectManagement.vue
... ... @@ -31,7 +31,7 @@
31 31 <image :src="$img+item.coverImage || $imgUrl('/img/2.jpg')" mode=""></image>
32 32 </view>
33 33 <view class="item">
34   - <view class="">
  34 + <view class="one-omit">
35 35 <text class="one-omit">宣传标题:{{item.schemeTitle}}</text>
36 36 </view>
37 37 <view class="title">
... ...
lvdao-miniapp/utils/request.js
... ... @@ -21,16 +21,16 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
21 21 // bases = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/admin-server' + url;
22 22 // bases = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server' + url;
23 23  
24   - // bases = 'http://128.10.249.25:9003'+ url;
  24 + bases = 'http://128.10.249.21:9003'+ url;
25 25 // bases = 'https://zhld.028wlkj.com:49008/cdwlMall/admin-server' + url;
26 26  
27   - bases = c1 + 'cdwlMall/meserver/admin-server' + url;
  27 + // bases = c1 + 'cdwlMall/meserver/admin-server' + url;
28 28  
29 29 }else if(baseUrl == 3){
30 30 // bases = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api' + url;
31 31 // bases = 'https://zhgw-uat.028wlkj.com/cdwlMall/meserver/api' + url;
32 32 // bases = 'http://128.10.249.22:9003:9007' + url;
33   - // bases = 'http://128.10.249.25:9007' + url;
  33 + bases = 'http://128.10.249.21:9007' + url;
34 34 // bases = c1 + 'cdwlMall/meserver/api' + url;
35 35  
36 36 }else{
... ... @@ -38,10 +38,10 @@ const sendRequest = (url, method = &#39;GET&#39;, data = {}, baseUrl,contentType) =&gt; {
38 38 // bases = 'http://172.16.61.48/business-server' + url;
39 39 // bases = 'http://172.16.61.123/cdwlMall/business-server' + url;
40 40 // bases = 'https://jy.scjysm.asia:18086/cdwlMall/business-server' + url;
41   - // bases = 'https://zhgw-uat.028wlkj.com/cdwlMall/business-server' + url;
42   - // bases = 'http://128.10.249.25:9004' + url;
  41 + // bases = 'https://zhgw.028wlkj.com:20443/cdwlMall/business-server' + url;
  42 + bases = 'http://128.10.249.21:9004' + url;
43 43 // bases = 'https://zhld.028wlkj.com:49008/cdwlMall/business-server' + url;
44   - bases = c1 + 'cdwlMall/business-server' + url;
  44 + // bases = c1 + 'cdwlMall/business-server' + url;
45 45  
46 46 }
47 47 var token = uni.getStorageSync('token') || '';
... ...
merchant-web-master/src/views/customerService/kefuMsg/index.vue
... ... @@ -262,7 +262,12 @@
262 262 }
263 263  
264 264 .kehu {
265   - width: 30%;
  265 + height: auto;
  266 + /* 使用 inline-block 或 flex 让盒子根据内容自动调整大小 */
  267 + max-width: 70%; /* 大致限制宽度为父元素的 70% */
  268 + word-wrap: break-word; /* 允许长单词换行 */
  269 + overflow-wrap: break-word; /* 同 word-wrap,更标准的写法 */
  270 + display: inline-block; /* 让盒子根据内容自适应宽度 */
266 271 /* 假设消息框占据了屏幕宽度的80% */
267 272 padding: 16px;
268 273 /* 消息框内的内边距 */
... ... @@ -291,7 +296,12 @@
291 296 }
292 297  
293 298 .ziji {
294   - width: 30%;
  299 + height: auto;
  300 + /* 使用 inline-block 或 flex 让盒子根据内容自动调整大小 */
  301 + max-width: 70%; /* 大致限制宽度为父元素的 70% */
  302 + word-wrap: break-word; /* 允许长单词换行 */
  303 + overflow-wrap: break-word; /* 同 word-wrap,更标准的写法 */
  304 + display: inline-block; /* 让盒子根据内容自适应宽度 */
295 305 /* 假设消息框占据了屏幕宽度的80% */
296 306 padding: 16px;
297 307 /* 消息框内的内边距 */
... ...
settled-merchant-master/src/api/index.js
... ... @@ -3,8 +3,10 @@ import home from &#39;./home&#39;
3 3 const host = `${window.location.protocol}//${window.location.host}`
4 4 const TIAOZHUAN = `${host}/cdwlMall/meserver/`
5 5 // 获取当前环境变量 true => 生产环境 false => 开发环境
6   -const BASEURL = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'api' : 'http://128.10.249.28:9007'
7   -const upUrl = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'admin-server' : 'http://128.10.249.28:9003'
  6 +// const BASEURL = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'api' : 'http://128.10.249.29:9007'
  7 +// const upUrl = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'admin-server' : 'http://128.10.249.29:9003'
  8 +const BASEURL = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'api' : 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api'
  9 +const upUrl = (process.env.NODE_ENV === 'production') ? TIAOZHUAN + 'admin-server' : 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server'
8 10 export const api = {
9 11 // 登录模块
10 12 ...home(BASEURL),
... ...
settled-merchant-master/src/views/SettleIn/enterprisesApply.vue
... ... @@ -51,7 +51,25 @@
51 51 <el-form-item label="社会信用代码" prop="enterpriseCode">
52 52 <el-input maxlength="100" placeholder="请输入社会信用代码" v-model="personalForm.enterpriseCode"></el-input>
53 53 </el-form-item>
54   - <el-form-item label="注册地址" prop="enterpriseRegion">
  54 + <el-form-item label="法定代表人" prop="legalRepresentative">
  55 + <el-input maxlength="100" placeholder="请输入法定代表人" v-model="personalForm.legalRepresentative"></el-input>
  56 + </el-form-item>
  57 + <el-form-item label="注册资本" prop="registeredCapital">
  58 + <el-input maxlength="100" placeholder="请输入注册资本" v-model="personalForm.registeredCapital"></el-input>
  59 + </el-form-item>
  60 + <el-form-item label="成立日期" prop="dateEstablishment">
  61 + <el-date-picker
  62 + v-model="personalForm.dateEstablishment"
  63 + type="date"
  64 + placeholder="选择日期"
  65 + format="yyyy-MM-dd"
  66 + value-format="yyyy-MM-dd">
  67 + </el-date-picker>
  68 + </el-form-item>
  69 + <el-form-item label="邮箱地址" prop="emailAddress">
  70 + <el-input maxlength="100" placeholder="请输入邮箱地址" v-model="personalForm.emailAddress"></el-input>
  71 + </el-form-item>
  72 + <el-form-item label="住所" prop="enterpriseRegion">
55 73 <el-cascader
56 74 size="large"
57 75 :options="options"
... ... @@ -60,7 +78,7 @@
60 78 </el-cascader>
61 79 </el-form-item>
62 80 <el-form-item label="" prop="enterpriseAdress">
63   - <el-input maxlength="200" resize="none" placeholder="请输入详细地址" type="textarea" :rows="3" v-model="personalForm.enterpriseAdress"></el-input>
  81 + <el-input maxlength="200" resize="none" placeholder="请输入住所" type="textarea" :rows="3" v-model="personalForm.enterpriseAdress"></el-input>
64 82 </el-form-item>
65 83 <div class="dateBox">
66 84 <el-form-item label="营业期限" prop="enterpriseStartTime" class="businessDate">
... ... @@ -130,7 +148,7 @@
130 148 v-model="personalForm.enterpriseCardStartTime"
131 149 type="date"
132 150 placeholder="选择日期"
133   - format="yyyy 年 MM 月 dd 日"
  151 + format="yyyy-MM-dd"
134 152 value-format="yyyy-MM-dd">
135 153 </el-date-picker>
136 154 <span class="description">至</span>
... ... @@ -138,7 +156,7 @@
138 156 v-model="personalForm.enterpriseCardEndTime"
139 157 type="date"
140 158 placeholder="选择日期"
141   - format="yyyy 年 MM 月 dd 日"
  159 + format="yyyy-MM-dd"
142 160 value-format="yyyy-MM-dd">
143 161 </el-date-picker>
144 162 </el-form-item>
... ... @@ -221,6 +239,10 @@ export default {
221 239 storeAddressDetail: '', // 店铺详细地址
222 240 enterpriseName: '', // 企业名称
223 241 enterpriseCode: '', // 统一社会信用代码
  242 + legalRepresentative: '', // 法定代表人
  243 + registeredCapital: '', // 注册资本
  244 + dateEstablishment: '', // 成立日期
  245 + emailAddress: '', // 电子邮箱
224 246 enterpriseRegion: '', // 注册地址 省-市-区
225 247 enterpriseAdress: '', // 注册地址详细
226 248 enterpriseStartTime: '', // 营业期限开始时间
... ... @@ -279,11 +301,23 @@ export default {
279 301 enterpriseCode: [
280 302 { required: true, message: '请输入社会信用代码', trigger: 'blur' }
281 303 ],
  304 + legalRepresentative: [
  305 + { required: true, message: '请输入法定代表人', trigger: 'blur' }
  306 + ],
  307 + registeredCapital: [
  308 + { required: true, message: '请输入注册资本', trigger: 'blur' }
  309 + ],
  310 + dateEstablishment: [
  311 + { required: true, message: '请输入成立日期', trigger: 'change' }
  312 + ],
  313 + emailAddress: [
  314 + { required: true, message: '请输入电子邮箱', trigger: 'blur' }
  315 + ],
282 316 enterpriseRegion: [
283   - { required: true, message: '请输入注册地址', trigger: 'change' }
  317 + { required: true, message: '请输入住所', trigger: 'change' }
284 318 ],
285 319 enterpriseAdress: [
286   - { required: true, message: '请输入注册详细地址', trigger: 'blur' }
  320 + { required: true, message: '请输入住所详细地址', trigger: 'blur' }
287 321 ],
288 322 enterpriseStartTime: [{required: true, message: '请选择营业执照起始日期'}],
289 323 enterpriseEndTime: [{required: true, message: '请选择营业执照到期时间'}],
... ...
settled-merchant-master/src/views/SettleIn/individualBusiness.vue
... ... @@ -51,7 +51,25 @@
51 51 <el-form-item label="社会信用代码" prop="subjectCode">
52 52 <el-input maxlength="100" placeholder="请输入社会信用代码" v-model="personalForm.subjectCode"></el-input>
53 53 </el-form-item>
54   - <el-form-item label="注册地址" prop="subjectRegion">
  54 + <el-form-item label="法定代表人" prop="legalRepresentative">
  55 + <el-input maxlength="100" placeholder="请输入法定代表人" v-model="personalForm.legalRepresentative"></el-input>
  56 + </el-form-item>
  57 + <el-form-item label="注册资本" prop="registeredCapital">
  58 + <el-input maxlength="100" placeholder="请输入注册资本" v-model="personalForm.registeredCapital"></el-input>
  59 + </el-form-item>
  60 + <el-form-item label="成立日期" prop="dateEstablishment">
  61 + <el-date-picker
  62 + v-model="personalForm.dateEstablishment"
  63 + type="date"
  64 + placeholder="选择日期"
  65 + format="yyyy-MM-dd"
  66 + value-format="yyyy-MM-dd">
  67 + </el-date-picker>
  68 + </el-form-item>
  69 + <el-form-item label="邮箱地址" prop="emailAddress">
  70 + <el-input maxlength="100" placeholder="请输入邮箱地址" v-model="personalForm.emailAddress"></el-input>
  71 + </el-form-item>
  72 + <el-form-item label="住所" prop="subjectRegion">
55 73 <el-cascader
56 74 size="large"
57 75 :options="options"
... ... @@ -60,7 +78,7 @@
60 78 </el-cascader>
61 79 </el-form-item>
62 80 <el-form-item label="" prop="subjectAdress">
63   - <el-input maxlength="200" resize="none" placeholder="请输入详细地址" type="textarea" :rows="3" v-model="personalForm.subjectAdress"></el-input>
  81 + <el-input maxlength="200" resize="none" placeholder="请输入住所" type="textarea" :rows="3" v-model="personalForm.subjectAdress"></el-input>
64 82 </el-form-item>
65 83 <div class="dateBox">
66 84 <el-form-item label="营业期限" prop="subjectStartTime" class="businessDate">
... ... @@ -68,7 +86,7 @@
68 86 v-model="personalForm.subjectStartTime"
69 87 type="date"
70 88 placeholder="选择日期"
71   - format="yyyy 年 MM 月 dd 日"
  89 + format="yyyy-MM-dd"
72 90 value-format="yyyy-MM-dd">
73 91 </el-date-picker>
74 92 <span class="description">至</span>
... ... @@ -76,7 +94,7 @@
76 94 v-model="personalForm.subjectEndTime"
77 95 type="date"
78 96 placeholder="选择日期"
79   - format="yyyy 年 MM 月 dd 日"
  97 + format="yyyy-MM-dd"
80 98 value-format="yyyy-MM-dd">
81 99 </el-date-picker>
82 100 </el-form-item>
... ... @@ -130,7 +148,7 @@
130 148 v-model="personalForm.subjectCardStartTime"
131 149 type="date"
132 150 placeholder="选择日期"
133   - format="yyyy 年 MM 月 dd 日"
  151 + format="yyyy-MM-dd"
134 152 value-format="yyyy-MM-dd">
135 153 </el-date-picker>
136 154 <span class="description">至</span>
... ... @@ -138,7 +156,7 @@
138 156 v-model="personalForm.subjectCardEndTime"
139 157 type="date"
140 158 placeholder="选择日期"
141   - format="yyyy 年 MM 月 dd 日"
  159 + format="yyyy-MM-dd"
142 160 value-format="yyyy-MM-dd">
143 161 </el-date-picker>
144 162 </el-form-item>
... ... @@ -221,6 +239,10 @@ export default {
221 239 storeAddressDetail: '', // 店铺详细地址
222 240 subjectName: '', // 商户名称
223 241 subjectCode: '', // 统一社会信用代码
  242 + legalRepresentative: '', // 法定代表人
  243 + registeredCapital: '', // 注册资本
  244 + dateEstablishment: '', // 成立日期
  245 + emailAddress: '', // 电子邮箱
224 246 subjectRegion: '', // 注册地址 省-市-区
225 247 subjectAdress: '', // 注册地址详细
226 248 subjectStartTime: '', // 营业期限开始时间
... ... @@ -279,11 +301,23 @@ export default {
279 301 subjectCode: [
280 302 { required: true, message: '请输入社会信用代码', trigger: 'blur' }
281 303 ],
  304 + legalRepresentative: [
  305 + { required: true, message: '请输入法定代表人', trigger: 'blur' }
  306 + ],
  307 + registeredCapital: [
  308 + { required: true, message: '请输入注册资本', trigger: 'blur' }
  309 + ],
  310 + dateEstablishment: [
  311 + { required: true, message: '请输入成立日期', trigger: 'change' }
  312 + ],
  313 + emailAddress: [
  314 + { required: true, message: '请输入电子邮箱', trigger: 'blur' }
  315 + ],
282 316 subjectRegion: [
283   - { required: true, message: '请输入注册地址', trigger: 'blur' }
  317 + { required: true, message: '请输入住所', trigger: 'blur' }
284 318 ],
285 319 subjectAdress: [
286   - { required: true, message: '请输入注册详细地址', trigger: 'blur' }
  320 + { required: true, message: '请输入住所详细地址', trigger: 'blur' }
287 321 ],
288 322 subjectStartTime: [{required: true, message: '请选择营业执照起始日期'}],
289 323 subjectEndTime: [{required: true, message: '请选择营业执照到期时间'}],
... ...
settled-merchant-master/src/views/moblie/mEnterprise.vue
... ... @@ -49,9 +49,30 @@
49 49 <div class="labelTit"><label><i>*</i>社会信用代码:</label></div>
50 50 <input type="text" v-model="personalForm.enterpriseCode" placeholder="请输入社会信用代码">
51 51 </div>
  52 + <div class="inputItem">
  53 + <div class="labelTit"><label><i>*</i>法定代表人:</label></div>
  54 + <input type="text" v-model="personalForm.legalRepresentative" placeholder="请输入法定代表人">
  55 + </div>
  56 + <div class="inputItem">
  57 + <div class="labelTit"><label><i>*</i>注册资本:</label></div>
  58 + <input type="text" v-model="personalForm.registeredCapital" placeholder="请输入注册资本">
  59 + </div>
  60 + <div class="inputItem arrow">
  61 + <div class="labelTit"><label><i>*</i>成立日期:</label></div>
  62 + <input type="text" @focus="noBomBox" v-model="personalForm.dateEstablishment" placeholder="请选择成立日期" @click="selectDateEstablishment">
  63 + <span class="iconfont">&#xe6ab;</span>
  64 + </div>
  65 + <!-- <div class="inputItem">
  66 + <div class="labelTit"><label><i>*</i>住所:</label></div>
  67 + <input type="text" v-model="personalForm.domicile" placeholder="请输入住所">
  68 + </div> -->
  69 + <div class="inputItem">
  70 + <div class="labelTit"><label><i>*</i>邮箱地址:</label></div>
  71 + <input type="text" v-model="personalForm.emailAddress" placeholder="请输入邮箱地址">
  72 + </div>
52 73 <div class="inputItem arrow">
53   - <div class="labelTit"><label><i>*</i>注册地址:</label></div>
54   - <input @click="showRegionPopup" @focus="noBomBox" v-model="personalForm.enterpriseRegion" type="text" placeholder="请选择注册地址">
  74 + <div class="labelTit"><label><i>*</i>住所:</label></div>
  75 + <input @click="showRegionPopup" @focus="noBomBox" v-model="personalForm.enterpriseRegion" type="text" placeholder="请选择住所">
55 76 <span class="iconfont">&#xe6ab;</span>
56 77 <input type="text" v-model="personalForm.enterpriseAdress" placeholder="请输入详细地址">
57 78 </div>
... ... @@ -153,8 +174,11 @@
153 174 </div>
154 175 </div>
155 176 </div>
  177 + <div style="display: flex;">
  178 + <button class="nextBtn" @click="rent" v-show="active > 1">上一步</button>
156 179 <button class="nextBtn" @click="next" v-show="active < 3">下一步</button>
157 180 <button class="nextBtn" @click="submitForm" v-show="active > 2">提交</button>
  181 + </div>
158 182 </div>
159 183 <van-popup v-model="show" round position="bottom" :style="{ height: '40%' }">
160 184 <van-area title="请选择地区" :area-list="areaList" @confirm="selectArea" @cancel="closeSelect"/>
... ... @@ -162,6 +186,18 @@
162 186 <van-popup v-model="regionShow" round position="bottom" :style="{ height: '40%' }">
163 187 <van-area title="请选择地区" :area-list="areaRegionList" @confirm="selectRegionArea" @cancel="closeRegionSelect"/>
164 188 </van-popup>
  189 + <van-popup v-model="chenliShow" round position="bottom" :style="{ height: '40%' }">
  190 + <van-datetime-picker
  191 + v-model="chenliDate"
  192 + type="date"
  193 + title="请选择成立日期"
  194 + :min-date="minDate"
  195 + :max-date="maxDate"
  196 + :formatter="formatter"
  197 + @confirm="chenStartTime"
  198 + @cancel="chencloseTime"
  199 + />
  200 + </van-popup>
165 201 <van-popup v-model="startDateShow" round position="bottom" :style="{ height: '40%' }">
166 202 <van-datetime-picker
167 203 v-model="startDate"
... ... @@ -244,12 +280,14 @@ export default {
244 280 areaRegionList: AreaList,
245 281 show: false,
246 282 regionShow: false,
247   - minDate: new Date(1960, 1, 1),
248   - maxDate: new Date(2077, 12, 31),
  283 + minDate: new Date(1980, 1, 1),
  284 + maxDate: new Date(2100, 12, 31),
249 285 startDate: '',
250 286 endDate: '',
251 287 idCardStartDate: '',
252 288 idCardEndDate: '',
  289 + chenliDate: '',
  290 + chenliShow: false,
253 291 startDateShow: false,
254 292 endDateShow: false,
255 293 idCardStartShow: false,
... ... @@ -273,6 +311,10 @@ export default {
273 311 storeAddressDetail: '', // 店铺详细地址
274 312 enterpriseName: '', // 企业名称
275 313 enterpriseCode: '', // 统一社会信用代码
  314 + legalRepresentative: '', // 法定代表人
  315 + registeredCapital: '', // 注册资本
  316 + dateEstablishment: '', // 成立日期
  317 + emailAddress: '', // 电子邮箱
276 318 enterpriseRegion: '', // 注册地址 省-市-区
277 319 enterpriseAdress: '', // 注册地址详细
278 320 enterpriseStartTime: '', // 营业期限开始时间
... ... @@ -322,10 +364,97 @@ export default {
322 364 this.regionShow = true
323 365 },
324 366 next () {
  367 + let self = this
  368 + if (this.active === 1) {
  369 + self.personalForm.shopAdress = ''
  370 + let reg = /^1[13456789]\d{9}$/
  371 + self.personalForm.shopPhone = self.personalForm.servicePhone
  372 + self.personalForm.shopAdress = `${self.shopAdress},${self.personalForm.storeAddressDetail}`
  373 + // alert('submit!')
  374 + if (self.personalForm.shopName === '') {
  375 + Toast.fail('请输入店铺名称')
  376 + return false
  377 + }
  378 + if (self.personalForm.servicePhone === '') {
  379 + Toast.fail('请输入客服电话')
  380 + return false
  381 + } else if (!reg.test(self.personalForm.servicePhone)) {
  382 + Toast.fail('客服电话号格式错误')
  383 + return false
  384 + }
  385 + if (self.personalForm.chargePersonName === '') {
  386 + Toast.fail('请输入店铺负责人')
  387 + return false
  388 + }
  389 + if (self.personalForm.chargePersonPhone === '') {
  390 + Toast.fail('请输入负责人电话')
  391 + return false
  392 + } else if (!reg.test(self.personalForm.chargePersonPhone)) {
  393 + Toast.fail('负责人电话式错误')
  394 + return false
  395 + }
  396 + if (self.personalForm.shopAdress === '') {
  397 + Toast.fail('请选择所在地区')
  398 + return false
  399 + }
  400 + if (self.personalForm.storeAddressDetail === '') {
  401 + Toast.fail('请输入详细地址')
  402 + return false
  403 + }
  404 + }
  405 + if (this.active === 2) {
  406 + if (self.personalForm.enterpriseName === '') {
  407 + Toast.fail('请输入企业名称')
  408 + return false
  409 + }
  410 + if (self.personalForm.enterpriseCode === '') {
  411 + Toast.fail('请输入社会信用代码')
  412 + return false
  413 + }
  414 + if (self.personalForm.legalRepresentative === '') {
  415 + Toast.fail('请输入法定代表人')
  416 + return false
  417 + }
  418 + if (self.personalForm.registeredCapital === '') {
  419 + Toast.fail('请输入注册资本')
  420 + return false
  421 + }
  422 + if (self.personalForm.dateEstablishment === '') {
  423 + Toast.fail('请输入成立日期')
  424 + return false
  425 + }
  426 + if (self.personalForm.emailAddress === '') {
  427 + Toast.fail('请输入邮箱地址')
  428 + return false
  429 + }
  430 + if (self.personalForm.subjectRegion === '') {
  431 + Toast.fail('请输入住所')
  432 + return false
  433 + }
  434 + if (self.personalForm.subjectAdress === '') {
  435 + Toast.fail('请输入住所详情地址')
  436 + return false
  437 + }
  438 + if (self.personalForm.subjectStartTime === '') {
  439 + Toast.fail('请选择营业开始时间')
  440 + return false
  441 + }
  442 + if (self.personalForm.subjectEndTime === '') {
  443 + Toast.fail('请选择营业截止时间')
  444 + return false
  445 + }
  446 + if (self.personalForm.subjectLicense === '') {
  447 + Toast.fail('请上传营业执照')
  448 + return false
  449 + }
  450 + }
325 451 this.active++
326 452 if (this.active === 4) {
327 453 }
328 454 },
  455 + rent () {
  456 + this.active--
  457 + },
329 458 selectArea (address) {
330 459 this.shopAdress = `${address[0].name}-${address[1].name}-${address[2].name}`
331 460 this.personalForm.shopAdressProvince = address[0].name
... ... @@ -351,6 +480,10 @@ export default {
351 480 this.endDate = new Date()
352 481 this.endDateShow = true
353 482 },
  483 + selectDateEstablishment () {
  484 + this.chenliDate = new Date()
  485 + this.chenliShow = true
  486 + },
354 487 selectIdStartDateBtn () {
355 488 this.idCardStartDate = new Date()
356 489 this.idCardStartShow = true
... ... @@ -360,16 +493,16 @@ export default {
360 493 this.idCardEndShow = true
361 494 },
362 495 dateTime (value) {
363   - let date = value
364   - let m = date.getMonth() + 1
365   - let d = date.getDate()
366   - if (m >= 1 && m <= 9) {
367   - m = '0' + m
368   - }
369   - if (d >= 0 && d <= 9) {
370   - d = '0' + d
371   - }
372   - return date.getFullYear() + '年-' + m + '月-' + d + '日'
  496 + let date = value
  497 + let m = date.getMonth() + 1
  498 + let d = date.getDate()
  499 + if (m >= 1 && m <= 9) {
  500 + m = '0' + m
  501 + }
  502 + if (d >= 0 && d <= 9) {
  503 + d = '0' + d
  504 + }
  505 + return date.getFullYear() + '-' + m + '-' + d
373 506 },
374 507 idTypeShowFn () {
375 508 this.idTypeShow = true
... ... @@ -393,6 +526,13 @@ export default {
393 526 closeStartTime () {
394 527 this.startDateShow = false
395 528 },
  529 + chenStartTime (value) {
  530 + this.personalForm.dateEstablishment = this.dateTime(value)
  531 + this.chenliShow = false
  532 + },
  533 + chencloseTime () {
  534 + this.chenliShow = false
  535 + },
396 536 // 选择截止时间
397 537 selectEndTime (value) {
398 538 this.personalForm.enterpriseEndTime = this.dateTime(value)
... ... @@ -421,6 +561,75 @@ export default {
421 561 this.idCardEndShow = false
422 562 },
423 563 changeActive (index) {
  564 + console.log(index)
  565 + let self = this
  566 + if (index === 2) {
  567 + self.personalForm.shopAdress = ''
  568 + let reg = /^1[13456789]\d{9}$/
  569 + self.personalForm.shopPhone = self.personalForm.servicePhone
  570 + self.personalForm.shopAdress = `${self.shopAdress},${self.personalForm.storeAddressDetail}`
  571 + // alert('submit!')
  572 + if (self.personalForm.shopName === '') {
  573 + Toast.fail('请输入店铺名称')
  574 + return false
  575 + }
  576 + if (self.personalForm.servicePhone === '') {
  577 + Toast.fail('请输入客服电话')
  578 + return false
  579 + } else if (!reg.test(self.personalForm.servicePhone)) {
  580 + Toast.fail('客服电话号格式错误')
  581 + return false
  582 + }
  583 + if (self.personalForm.chargePersonName === '') {
  584 + Toast.fail('请输入店铺负责人')
  585 + return false
  586 + }
  587 + if (self.personalForm.chargePersonPhone === '') {
  588 + Toast.fail('请输入负责人电话')
  589 + return false
  590 + } else if (!reg.test(self.personalForm.chargePersonPhone)) {
  591 + Toast.fail('负责人电话式错误')
  592 + return false
  593 + }
  594 + if (self.personalForm.shopAdress === '') {
  595 + Toast.fail('请选择所在地区')
  596 + return false
  597 + }
  598 + if (self.personalForm.storeAddressDetail === '') {
  599 + Toast.fail('请输入详细地址')
  600 + return false
  601 + }
  602 + }
  603 + if (index === 3) {
  604 + if (self.personalForm.enterpriseName === '') {
  605 + Toast.fail('请输入企业名称')
  606 + return false
  607 + }
  608 + if (self.personalForm.enterpriseCode === '') {
  609 + Toast.fail('请输入社会信用代码')
  610 + return false
  611 + }
  612 + if (self.personalForm.subjectRegion === '') {
  613 + Toast.fail('请输入注册地址')
  614 + return false
  615 + }
  616 + if (self.personalForm.subjectAdress === '') {
  617 + Toast.fail('请输入注册详情地址')
  618 + return false
  619 + }
  620 + if (self.personalForm.subjectStartTime === '') {
  621 + Toast.fail('请选择营业开始时间')
  622 + return false
  623 + }
  624 + if (self.personalForm.subjectEndTime === '') {
  625 + Toast.fail('请选择营业截止时间')
  626 + return false
  627 + }
  628 + if (self.personalForm.subjectLicense === '') {
  629 + Toast.fail('请上传营业执照')
  630 + return false
  631 + }
  632 + }
424 633 this.active = index
425 634 },
426 635 formatter (type, val) {
... ... @@ -453,11 +662,11 @@ export default {
453 662 self.sendReq(params, (res) => {
454 663 if (res.code === '200') {
455 664 if (type === 'license') {
456   - self.personalForm.enterpriseLicense = res.data.url
  665 + self.personalForm.enterpriseLicense = res.data
457 666 } else if (type === 'positive') {
458   - self.personalForm.enterpriseCardPositive = res.data.url
  667 + self.personalForm.enterpriseCardPositive = res.data
459 668 } else if (type === 'back') {
460   - self.personalForm.enterpriseCardSide = res.data.url
  669 + self.personalForm.enterpriseCardSide = res.data
461 670 }
462 671 } else {
463 672 Toast.fail(res.message)
... ... @@ -526,19 +735,35 @@ export default {
526 735 return false
527 736 }
528 737 if (self.personalForm.enterpriseName === '') {
529   - Toast.fail('请输入商户名称')
  738 + Toast.fail('请输入企业名称')
530 739 return false
531 740 }
532 741 if (self.personalForm.enterpriseCode === '') {
533 742 Toast.fail('请输入社会信用代码')
534 743 return false
535 744 }
  745 + if (self.personalForm.legalRepresentative === '') {
  746 + Toast.fail('请输入法定代表人')
  747 + return false
  748 + }
  749 + if (self.personalForm.registeredCapital === '') {
  750 + Toast.fail('请输入注册资本')
  751 + return false
  752 + }
  753 + if (self.personalForm.dateEstablishment === '') {
  754 + Toast.fail('请输入成立日期')
  755 + return false
  756 + }
  757 + if (self.personalForm.emailAddress === '') {
  758 + Toast.fail('请输入邮箱地址')
  759 + return false
  760 + }
536 761 if (self.personalForm.enterpriseRegion === '') {
537   - Toast.fail('请输入注册地址')
  762 + Toast.fail('请输入住所')
538 763 return false
539 764 }
540 765 if (self.personalForm.enterpriseAdress === '') {
541   - Toast.fail('请输入注册详情地址')
  766 + Toast.fail('请输入住所详情地址')
542 767 return false
543 768 }
544 769 if (self.personalForm.enterpriseStartTime === '') {
... ... @@ -755,7 +980,7 @@ export default {
755 980 .nextBtn {
756 981 display: block;
757 982 margin: 50px auto 0 auto;
758   - width: 315px;
  983 + width: 40%;
759 984 height: 42px;
760 985 background: #333333;
761 986 color: $mainColor;
... ...
settled-merchant-master/src/views/moblie/mUinitBusiness.vue
... ... @@ -49,9 +49,30 @@
49 49 <div class="labelTit"><label><i>*</i>社会信用代码:</label></div>
50 50 <input type="text" v-model="personalForm.subjectCode" placeholder="请输入社会信用代码">
51 51 </div>
  52 + <div class="inputItem">
  53 + <div class="labelTit"><label><i>*</i>法定代表人:</label></div>
  54 + <input type="text" v-model="personalForm.legalRepresentative" placeholder="请输入法定代表人">
  55 + </div>
  56 + <div class="inputItem">
  57 + <div class="labelTit"><label><i>*</i>注册资本:</label></div>
  58 + <input type="text" v-model="personalForm.registeredCapital" placeholder="请输入注册资本">
  59 + </div>
  60 + <div class="inputItem arrow">
  61 + <div class="labelTit"><label><i>*</i>成立日期:</label></div>
  62 + <input type="text" @focus="noBomBox" v-model="personalForm.dateEstablishment" placeholder="请选择成立日期" @click="selectDateEstablishment">
  63 + <span class="iconfont">&#xe6ab;</span>
  64 + </div>
  65 + <!-- <div class="inputItem">
  66 + <div class="labelTit"><label><i>*</i>住所:</label></div>
  67 + <input type="text" v-model="personalForm.domicile" placeholder="请输入住所">
  68 + </div> -->
  69 + <div class="inputItem">
  70 + <div class="labelTit"><label><i>*</i>邮箱地址:</label></div>
  71 + <input type="text" v-model="personalForm.emailAddress" placeholder="请输入邮箱地址">
  72 + </div>
52 73 <div class="inputItem arrow">
53   - <div class="labelTit"><label><i>*</i>注册地址:</label></div>
54   - <input @click="showRegionPopup" @focus="noBomBox" v-model="personalForm.subjectRegion" type="text" placeholder="请选择注册地址">
  74 + <div class="labelTit"><label><i>*</i>住所:</label></div>
  75 + <input @click="showRegionPopup" @focus="noBomBox" v-model="personalForm.subjectRegion" type="text" placeholder="请选择住所">
55 76 <span class="iconfont">&#xe6ab;</span>
56 77 <input type="text" v-model="personalForm.subjectAdress" placeholder="请输入详细地址">
57 78 </div>
... ... @@ -165,6 +186,18 @@
165 186 <van-popup v-model="regionShow" round position="bottom" :style="{ height: '40%' }">
166 187 <van-area title="请选择地区" :area-list="areaRegionList" @confirm="selectRegionArea" @cancel="closeRegionSelect"/>
167 188 </van-popup>
  189 + <van-popup v-model="chenliShow" round position="bottom" :style="{ height: '40%' }">
  190 + <van-datetime-picker
  191 + v-model="chenliDate"
  192 + type="date"
  193 + title="请选择成立日期"
  194 + :min-date="minDate"
  195 + :max-date="maxDate"
  196 + :formatter="formatter"
  197 + @confirm="chenStartTime"
  198 + @cancel="chencloseTime"
  199 + />
  200 + </van-popup>
168 201 <van-popup v-model="startDateShow" round position="bottom" :style="{ height: '40%' }">
169 202 <van-datetime-picker
170 203 v-model="startDate"
... ... @@ -253,6 +286,8 @@ export default {
253 286 endDate: '',
254 287 idCardStartDate: '',
255 288 idCardEndDate: '',
  289 + chenliDate: '',
  290 + chenliShow: false,
256 291 startDateShow: false,
257 292 endDateShow: false,
258 293 idCardStartShow: false,
... ... @@ -276,6 +311,10 @@ export default {
276 311 storeAddressDetail: '', // 店铺详细地址
277 312 subjectName: '', // 商户名称
278 313 subjectCode: '', // 统一社会信用代码
  314 + legalRepresentative: '', // 法定代表人
  315 + registeredCapital: '', // 注册资本
  316 + dateEstablishment: '', // 成立日期
  317 + emailAddress: '', // 电子邮箱
279 318 subjectRegion: '', // 注册地址 省-市-区
280 319 subjectAdress: '', // 注册地址详细
281 320 subjectStartTime: '', // 营业期限开始时间
... ... @@ -371,12 +410,28 @@ export default {
371 410 Toast.fail('请输入社会信用代码')
372 411 return false
373 412 }
  413 + if (self.personalForm.legalRepresentative === '') {
  414 + Toast.fail('请输入法定代表人')
  415 + return false
  416 + }
  417 + if (self.personalForm.registeredCapital === '') {
  418 + Toast.fail('请输入注册资本')
  419 + return false
  420 + }
  421 + if (self.personalForm.dateEstablishment === '') {
  422 + Toast.fail('请输入成立日期')
  423 + return false
  424 + }
  425 + if (self.personalForm.emailAddress === '') {
  426 + Toast.fail('请输入邮箱地址')
  427 + return false
  428 + }
374 429 if (self.personalForm.subjectRegion === '') {
375   - Toast.fail('请输入注册地址')
  430 + Toast.fail('请输入住所')
376 431 return false
377 432 }
378 433 if (self.personalForm.subjectAdress === '') {
379   - Toast.fail('请输入注册详情地址')
  434 + Toast.fail('请输入住所详情地址')
380 435 return false
381 436 }
382 437 if (self.personalForm.subjectStartTime === '') {
... ... @@ -424,6 +479,10 @@ export default {
424 479 this.endDate = new Date()
425 480 this.endDateShow = true
426 481 },
  482 + selectDateEstablishment () {
  483 + this.chenliDate = new Date()
  484 + this.chenliShow = true
  485 + },
427 486 selectIdStartDateBtn () {
428 487 this.idCardStartDate = new Date()
429 488 this.idCardStartShow = true
... ... @@ -434,15 +493,15 @@ export default {
434 493 },
435 494 dateTime (value) {
436 495 let date = value
437   - let m = date.getMonth() + 1
438   - let d = date.getDate()
439   - if (m >= 1 && m <= 9) {
440   - m = '0' + m
441   - }
442   - if (d >= 0 && d <= 9) {
443   - d = '0' + d
444   - }
445   - return date.getFullYear() + '年-' + m + '月-' + d + '日'
  496 + let m = date.getMonth() + 1
  497 + let d = date.getDate()
  498 + if (m >= 1 && m <= 9) {
  499 + m = '0' + m
  500 + }
  501 + if (d >= 0 && d <= 9) {
  502 + d = '0' + d
  503 + }
  504 + return date.getFullYear() + '-' + m + '-' + d
446 505 },
447 506 idTypeShowFn () {
448 507 this.idTypeShow = true
... ... @@ -466,6 +525,13 @@ export default {
466 525 closeStartTime () {
467 526 this.startDateShow = false
468 527 },
  528 + chenStartTime (value) {
  529 + this.personalForm.dateEstablishment = this.dateTime(value)
  530 + this.chenliShow = false
  531 + },
  532 + chencloseTime () {
  533 + this.chenliShow = false
  534 + },
469 535 // 选择截止时间
470 536 selectEndTime (value) {
471 537 this.personalForm.subjectEndTime = this.dateTime(value)
... ...