陈鹏铭 před 4 dny
rodič
revize
5f9d84b238
100 změnil soubory, kde provedl 3915 přidání a 2428 odebrání
  1. 18 0
      App.vue
  2. binární
      common/assets/image/comicon.png
  3. binární
      common/assets/image/fangke.png
  4. binární
      common/assets/image/gantanhao.png
  5. binární
      common/assets/image/guanbi.png
  6. binární
      common/assets/image/head.png
  7. binární
      common/assets/image/homeBg.png
  8. binární
      common/assets/image/houseSel.png
  9. binární
      common/assets/image/houseUnSel.png
  10. binární
      common/assets/image/logo.png
  11. binární
      common/assets/image/logobig.png
  12. binární
      common/assets/image/mineSel.png
  13. binární
      common/assets/image/mineUnSel.png
  14. binární
      common/assets/image/qiye.png
  15. binární
      common/assets/image/quezhen.png
  16. binární
      common/assets/image/renyuan.png
  17. binární
      common/assets/image/right.png
  18. binární
      common/assets/image/suo.png
  19. binární
      common/assets/image/yichang.png
  20. 9 2
      js_sdk/auth.js
  21. 77 36
      js_sdk/http.js
  22. 31 10
      js_sdk/request/requestConfig.js
  23. 1 18
      main.js
  24. 2 1
      manifest.json
  25. 0 1
      node_modules/.bin/atob
  26. 0 1
      node_modules/.bin/color-support
  27. 0 1
      node_modules/.bin/gulp
  28. 0 1
      node_modules/.bin/resolve
  29. 0 1
      node_modules/.bin/semver
  30. 0 1
      node_modules/.bin/which
  31. 0 0
      node_modules/arr-diff/LICENSE
  32. 0 0
      node_modules/arr-filter/LICENSE
  33. 0 0
      node_modules/arr-filter/README.md
  34. 0 0
      node_modules/arr-filter/index.js
  35. 0 0
      node_modules/arr-flatten/LICENSE
  36. 0 0
      node_modules/arr-flatten/README.md
  37. 0 0
      node_modules/array-last/README.md
  38. 0 0
      node_modules/array-slice/LICENSE
  39. 0 0
      node_modules/array-slice/README.md
  40. 0 0
      node_modules/array-unique/LICENSE
  41. 0 0
      node_modules/array-unique/README.md
  42. 0 0
      node_modules/atob/bin/atob.js
  43. 0 0
      node_modules/axios/lib/adapters/http.js
  44. 0 0
      node_modules/color-support/bin.js
  45. 0 0
      node_modules/d/.editorconfig
  46. 0 0
      node_modules/es5-ext/_postinstall.js
  47. 0 0
      node_modules/es6-symbol/.editorconfig
  48. 0 0
      node_modules/glob-stream/LICENSE
  49. 0 0
      node_modules/glob-watcher/LICENSE
  50. 0 0
      node_modules/gulp/bin/gulp.js
  51. 0 1
      node_modules/gulp/node_modules/.bin/gulp
  52. 0 0
      node_modules/gulp/node_modules/gulp-cli/bin/gulp.js
  53. 0 0
      node_modules/micromatch/LICENSE
  54. 0 0
      node_modules/nan/tools/1to2.js
  55. 0 0
      node_modules/resolve/bin/resolve
  56. 0 0
      node_modules/semver/bin/semver
  57. 0 0
      node_modules/upath/LICENSE
  58. 0 0
      node_modules/which/bin/which
  59. 0 0
      node_modules/wrap-ansi/index.js
  60. 1257 1213
      pages.json
  61. 18 0
      pages/index/index.vue
  62. 32 8
      pages/login/login.vue
  63. 205 0
      pages/login/md5.js
  64. 1 1
      pages/mine/mine.vue
  65. 5 8
      pages/subPackages/activity/index.vue
  66. 101 61
      pages/subPackages/addCompany/addCompany.vue
  67. 1 0
      pages/subPackages/addCompany/isSelectedTags.vue
  68. 2 0
      pages/subPackages/addCompany/momo-multipleSelect.vue
  69. 322 237
      pages/subPackages/addintention/addintention.vue
  70. 38 16
      pages/subPackages/chooseCompanyTags/componets/chooseTime.vue
  71. 7 1
      pages/subPackages/chooseCompanyTags/componets/isSelectedTags.vue
  72. 6 4
      pages/subPackages/chooseCompanyTags/index.vue
  73. 81 28
      pages/subPackages/chosseHouse/chosseHouse.vue
  74. 29 19
      pages/subPackages/companyDetails/companyDetails.vue
  75. 57 6
      pages/subPackages/companyDetailsEdit/companyDetailsEdit.vue
  76. 1 0
      pages/subPackages/companyDetailsEdit/isSelectedTags.vue
  77. 2 0
      pages/subPackages/companyDetailsEdit/momo-multipleSelect.vue
  78. 1 3
      pages/subPackages/companyTagsDelete/componets/chooseTime.vue
  79. 1 0
      pages/subPackages/companyTagsDelete/index.vue
  80. 7 2
      pages/subPackages/companyreport/companyreport.vue
  81. 233 72
      pages/subPackages/companyreport/components/goReport.vue
  82. 237 100
      pages/subPackages/companyreport/components/reportDetails.vue
  83. 35 14
      pages/subPackages/companyreport/components/reportHistory.vue
  84. 234 96
      pages/subPackages/housedetails/housedetails.vue
  85. 1 0
      pages/subPackages/meetingroom/audit.vue
  86. 1 0
      pages/subPackages/meetingroom/confirm.vue
  87. 162 71
      pages/subPackages/merchants/components/housemanger.vue
  88. 209 66
      pages/subPackages/merchants/components/mymechants.vue
  89. 473 319
      pages/subPackages/merchants/components/mymechantsdetails.vue
  90. 5 4
      pages/subPackages/merchants/merchants.vue
  91. 2 1
      pages/subPackages/modifyHandle/handle.vue
  92. 2 1
      pages/subPackages/modifyHandle/index.vue
  93. 1 0
      pages/subPackages/modifyReport/detail.vue
  94. 2 1
      pages/subPackages/modifySend/confirm.vue
  95. 2 1
      pages/subPackages/modifySend/index.vue
  96. 1 1
      pages/subPackages/password/index.vue
  97. 1 0
      pages/subPackages/repairDispatch-app/add.vue
  98. 1 0
      pages/subPackages/repairDispatch-app/detail.vue
  99. 1 0
      pages/subPackages/repairprocessing-app/detail.vue
  100. 0 0
      pages/utils/common.js

+ 18 - 0
App.vue

@@ -1,6 +1,24 @@
 <script>
 export default {
   methods: {},
+  onShow() {
+    uni.getStorage({
+      key: "laocui_user_token",
+      success: function (res) {
+        // console.log("resresresresresresresresresres", res);
+        // uni.switchTab({
+        //   url: "/pages/index/index",
+        // });
+      },
+      fail(res) {
+        console.log("resresresresresresresresresres", res);
+
+        uni.redirectTo({
+          url: "/pages/login/login",
+        });
+      },
+    });
+  },
 };
 </script>
 

binární
common/assets/image/comicon.png


binární
common/assets/image/fangke.png


binární
common/assets/image/gantanhao.png


binární
common/assets/image/guanbi.png


binární
common/assets/image/head.png


binární
common/assets/image/homeBg.png


binární
common/assets/image/houseSel.png


binární
common/assets/image/houseUnSel.png


binární
common/assets/image/logo.png


binární
common/assets/image/logobig.png


binární
common/assets/image/mineSel.png


binární
common/assets/image/mineUnSel.png


binární
common/assets/image/qiye.png


binární
common/assets/image/quezhen.png


binární
common/assets/image/renyuan.png


binární
common/assets/image/right.png


binární
common/assets/image/suo.png


binární
common/assets/image/yichang.png


+ 9 - 2
js_sdk/auth.js

@@ -20,14 +20,21 @@ export default {
         uni.setStorage({
             key: 'laocui_user_token',
             data: value,
-            success: function () {}
+            success: function () { }
+        });
+    },
+    setRequestHanderAuth: function (value) {
+        uni.setStorage({
+            key: 'requestHanderAuth',
+            data: value,
+            success: function () { }
         });
     },
     setUserInfo(value) {
         uni.setStorage({
             key: 'laocui_user_info',
             data: JSON.stringify(value),
-            success: function () {}
+            success: function () { }
         });
     },
     currUser: function () {

+ 77 - 36
js_sdk/http.js

@@ -19,6 +19,21 @@ export function addRectificationManagement(data) {
         data, {}
     )
 }
+export function changeProjectStatus(data) {
+
+    return $http.post(
+        '/wx/SaleController/changeProjectStatus',
+        data, {}
+    )
+}
+
+export function getDeptById(data) {
+
+    return $http.post(
+        '/wx/SysDeptController/getById',
+        data, {}
+    )
+}
 export function getUserLocalStorageInfo() {
     const userInfo = JSON.parse(
         uni.getStorageSync("laocui_user_info"));
@@ -54,7 +69,7 @@ export function uploadPDF() {
                         })
 
                     },
-                    fail(res) {},
+                    fail(res) { },
                 });
 
             },
@@ -78,8 +93,8 @@ export function findRectificationManagementInOutList(data) {
 export function findRectificationManagementInOutById(e) {
     return $http.post(
         '/wx/RectificationController/findRectificationManagementInOutById', {
-            id: e
-        }, {}
+        id: e
+    }, {}
     )
 }
 export function repairList(data) {
@@ -116,8 +131,8 @@ export function addRepair(data) {
 export function getRepairDispatchById(id) {
     return $http.post(
         '/wx/repair/getById', {
-            id: id
-        }, {}
+        id: id
+    }, {}
     )
 }
 export function getDispatchToPerson(data) {
@@ -152,8 +167,8 @@ export function getDetial(e) {
 export function saleControllerGetById(e) {
     return $http.post(
         '/wx/SaleController/getById', {
-            id: e
-        }, {}
+        id: e
+    }, {}
     )
 }
 
@@ -179,8 +194,8 @@ export function getCompanyTags(e) {
 export function getCompanyTagsByQybq(qybq) {
     return $http.post(
         '/wx/MnpTagInfoController/getCompanyTagsByQybq', {
-            qybq: qybq
-        }, {})
+        qybq: qybq
+    }, {})
 }
 export function companyECdit(data) {
     return $http.post(
@@ -204,7 +219,6 @@ export function tagCategoryList() {
     )
 }
 export function interviewEscalationListAll(id) {
-    debugger
     return $http.post('/wx/interviewEscalation/listAll', {
         companyId: id
     }, {})
@@ -219,14 +233,14 @@ export function getUserInfo(data) {
 export function getRoomInfo(e) {
     return $http.post(
         '/wx/ParkRoomController/getById', {
-            id: e
-        }, {})
+        id: e
+    }, {})
 }
 export function getCompanyHouseDetails(e) {
     return $http.post(
         '/wx/company/getById', {
-            id: e
-        }, {})
+        id: e
+    }, {})
 }
 export function handleList(e) {
     return $http.post(
@@ -264,14 +278,14 @@ export function getInterviewList(e) {
 export function getInterviewDetails(e) {
     return $http.post(
         "/wx/interviewEscalation/getById", {
-            id: e
-        }, {})
+        id: e
+    }, {})
 }
 export function findSafetySelfCheckingPlanById(e) {
     return $http.post(
         "/wx/SafetyController/findSafetySelfCheckingPlanById", {
-            id: e
-        }, {})
+        id: e
+    }, {})
 }
 // 
 export function findSafetySelfCheckingPlanList(e) {
@@ -282,16 +296,23 @@ export function findSafetySelfCheckingPlanList(e) {
 export function getBySaveStatus(e) {
     return $http.post(
         "/wx/interviewEscalation/getBySaveStatus", {
-            createdBy: e
-        }, {})
+        createdBy: e
+    }, {})
 }
+export function getQyList() {
+    return $http.post(
+        "/wx/frameUser/listByModel", {
+        department: '967807434888314880'
+    }, {})
+}
+// 
 export function companyExamineAdd(e) {
     return $http.post(
         "/wx/company/add", e, {})
 }
 export function listByModel(e) {
     return $http.post(
-        '/wx/SaleController/findSaleManagementListByRoomId',
+        '/wx/SaleController/findSaleManagementInfoByParkRoomId',
         e, {})
 }
 export function listVo(e) {
@@ -299,21 +320,26 @@ export function listVo(e) {
     return $http.post(
         '/wx/company/listVo', e, {})
 }
+export function findListBySaleManagementId(e) {
+    // 查询园区列表,不需要参数
+    return $http.post(
+        '/wx/SaleController/findListBySaleManagementId', e, {})
+}
 // /wx/SafetyController/addSafetySelfCheckingPlan
 export function addSafetySelfCheckingPlan(e) {
     // 查询园区列表,不需要参数
     return $http.post(
         '/wx/SafetyController/addSafetySelfCheckingPlan', {
-            ...e
-        }, {})
+        ...e
+    }, {})
 }
 export function findSafetySelfCheckingManagetById(e) {
 
     // 查询园区列表,不需要参数
     return $http.post(
         '/wx/SafetyController/findSafetySelfCheckingManagetById', {
-            id: e
-        }, {})
+        id: e
+    }, {})
 }
 export function findSafetySelfCheckingManageList(e) {
 
@@ -330,15 +356,15 @@ export function findLongPanList(id) {
     // 用园区ID查询楼盘列表
     return $http.post(
         '/wx/SaleController/findLouPanList', {
-            id: id
-        }, {})
+        id: id
+    }, {})
 }
 export function findLouDongList(id) {
     // 用园区ID查询楼盘列表
     return $http.post(
         '/wx/SaleController/findLouDongList', {
-            id: id
-        }, {})
+        id: id
+    }, {})
 }
 export function clickCollect(e) {
     return $http.post(
@@ -364,8 +390,8 @@ export function getActivityById(id, signInCode, userId) {
 export function getUserPower(e) {
     return $http.post(
         '/wx/userPower/getUserPower', {
-            userId: e
-        }, {})
+        userId: e
+    }, {})
 }
 export function editPassword(e) {
     return $http.post(
@@ -385,13 +411,19 @@ export function findUserListByRoleWuye() {
 
         {}, {})
 }
+export function findUserList() {
+    return $http.post(
+        '/wx/SaleController/findUserList',
+
+        {}, {})
+}
 export function getSelectUserTwo(e) {
 
     // 用园区ID查询楼盘列表
     return $http.post(
         '/wx/frameUser/getSelectUserTwo', {
-            searchName: e
-        }, {})
+        searchName: e
+    }, {})
 }
 export function getSelectDeptTwo(e) {
     // 用园区ID查询楼盘列表
@@ -422,6 +454,14 @@ export function addyixiang(e) {
         '/wx/SaleController/add',
         e, {})
 }
+
+
+
+export function editSave(e) {
+    return $http.post(
+        '/wx/SaleController/editSave',
+        e, {})
+}
 export function findCompanyInfoList(data) {
     return $http.post(
         "/wx/SaleController/findCompanyInfoList",
@@ -436,9 +476,10 @@ export function findRoomByCondition(params) {
 }
 export function getCompanyAll(qymc) {
     return $http.post(
-        '/wx/company/listAll', {
-            qymc: qymc ? qymc : ""
-        }, {})
+        '/wx/company/getAllBaseCompany', {
+        name: qymc ? qymc : "",
+        limit: 100
+    }, {})
 
 }
 export function getByCodes(params) {

+ 31 - 10
js_sdk/request/requestConfig.js

@@ -1,13 +1,13 @@
 import request from "./request";
-import config from "config";
-// import store from "../../store/index.js";
-uni.getStorage({
-    key: 'storage_key',
-    success: function (res) {
-        console.log(res.data);
-    }
-});
+import config from "config"; +
 
+    // import store from "../../store/index.js";
+    uni.getStorage({
+        key: 'storage_key',
+        success: function (res) {
+            console.log(res.data);
+        }
+    });
 //可以new多个request来支持多个域名请求
 let $http = new request({
     //接口请求地址
@@ -20,7 +20,8 @@ let $http = new request({
         'ApiVersion': config.version,
         'Device': config.device,
         'Platform': config.platform,
-        "Authorization": 'Bearer ' + uni.getStorageSync('laocui_user_token')
+        "Authorization": 'Bearer ' + uni.getStorageSync('laocui_user_token'),
+
     },
     //以下是默认值可不写
     //是否提示--默认提示
@@ -49,6 +50,7 @@ $http.requestStart = function (options) {
     requestNum += 1;
     //请求前加入token
     options.headers['Authorization'] = 'Bearer ' + uni.getStorageSync('laocui_user_token');
+    options.headers['requestHanderAuth'] = uni.getStorageSync('requestHanderAuth');
     // console.log("请求开始前", options);
     return options;
 }
@@ -60,6 +62,9 @@ $http.requestEnd = function (options, resolve) {
         uni.hideLoading();
         uni.hideNavigationBarLoading();
     }
+    // 特殊接口处理  接口报请先登录  跳转登录
+    console.log(resolve.statusCode)
+
     if (resolve.errMsg && (resolve.errMsg != "request:ok" || resolve.statusCode && resolve.statusCode != 200)) {
         uni.showToast({
             title: "网络错误,请检查一下网络",
@@ -79,7 +84,23 @@ $http.dataFactory = function (options, resolve) {
         //这里返回的数据就是调用请求方法收到的数据
         result: ""
     };
+    console.log('resolve.data.code ', resolve.data.code)
     // 特殊接口处理  接口报请先登录  跳转登录
+    if (resolve.data.code == 409) {
+        uni.clearStorageSync();
+
+        uni.reLaunch({
+            url: '/pages/login/login'
+        });
+
+        uni.showToast({
+            title: '令牌过期,请重新登陆',
+            icon: 'none',
+            mask: true,
+            duration: 1000
+        });
+
+    }
     if (resolve.data.code === 101) {
         uni.showModal({
             title: '提示',
@@ -87,7 +108,7 @@ $http.dataFactory = function (options, resolve) {
             showCancel: false,
             success: () => {
                 uni.setStorageSync('token', null);
-                uni.navigateTo({
+                uni.redirectTo({
                     url: '/pages/login/login'
                 });
             }

+ 1 - 18
main.js

@@ -25,24 +25,7 @@ Vue.prototype.$http = $http;
 // 全局mixin引入  是否登录判断
 // import {isLoginMixin} from "./common/mixins";
 // Vue.mixin(isLoginMixin);
-uni.getStorage({
-    key: 'laocui_user_token',
-    success: function (res) {
-        uni.switchTab({
-            url: "/pages/index/index"
-        })
-    },
-    fail(res) {
-        uni.showToast({
-            title: "请重新登陆",
-            mask: true,
-            icon: "none"
-        });
-        uni.redirectTo({
-            url: "/pages/login/login"
-        })
-    }
-});
+
 
 App.mpType = 'app'
 const app = new Vue({

+ 2 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "小艾微纳园",
+    "name" : "微纳园管理端",
     "appid" : "__UNI__8C5F0F6",
     "description" : "应用描述",
     "versionName" : "1.0.0",
@@ -96,6 +96,7 @@
         "versionCode" : 100
     },
     "mp-weixin" : {
+        "libVersion" : "latest",
         "appid" : "wxcfa83b07b1dbd591",
         "optimization" : {
             "subPackages" : true

+ 0 - 1
node_modules/.bin/atob

@@ -1 +0,0 @@
-../atob/bin/atob.js

+ 0 - 1
node_modules/.bin/color-support

@@ -1 +0,0 @@
-../color-support/bin.js

+ 0 - 1
node_modules/.bin/gulp

@@ -1 +0,0 @@
-../gulp/bin/gulp.js

+ 0 - 1
node_modules/.bin/resolve

@@ -1 +0,0 @@
-../resolve/bin/resolve

+ 0 - 1
node_modules/.bin/semver

@@ -1 +0,0 @@
-../semver/bin/semver

+ 0 - 1
node_modules/.bin/which

@@ -1 +0,0 @@
-../which/bin/which

+ 0 - 0
node_modules/arr-diff/LICENSE


+ 0 - 0
node_modules/arr-filter/LICENSE


+ 0 - 0
node_modules/arr-filter/README.md


+ 0 - 0
node_modules/arr-filter/index.js


+ 0 - 0
node_modules/arr-flatten/LICENSE


+ 0 - 0
node_modules/arr-flatten/README.md


+ 0 - 0
node_modules/array-last/README.md


+ 0 - 0
node_modules/array-slice/LICENSE


+ 0 - 0
node_modules/array-slice/README.md


+ 0 - 0
node_modules/array-unique/LICENSE


+ 0 - 0
node_modules/array-unique/README.md


+ 0 - 0
node_modules/atob/bin/atob.js


+ 0 - 0
node_modules/axios/lib/adapters/http.js


+ 0 - 0
node_modules/color-support/bin.js


+ 0 - 0
node_modules/d/.editorconfig


+ 0 - 0
node_modules/es5-ext/_postinstall.js


+ 0 - 0
node_modules/es6-symbol/.editorconfig


+ 0 - 0
node_modules/glob-stream/LICENSE


+ 0 - 0
node_modules/glob-watcher/LICENSE


+ 0 - 0
node_modules/gulp/bin/gulp.js


+ 0 - 1
node_modules/gulp/node_modules/.bin/gulp

@@ -1 +0,0 @@
-../gulp-cli/bin/gulp.js

+ 0 - 0
node_modules/gulp/node_modules/gulp-cli/bin/gulp.js


+ 0 - 0
node_modules/micromatch/LICENSE


+ 0 - 0
node_modules/nan/tools/1to2.js


+ 0 - 0
node_modules/resolve/bin/resolve


+ 0 - 0
node_modules/semver/bin/semver


+ 0 - 0
node_modules/upath/LICENSE


+ 0 - 0
node_modules/which/bin/which


+ 0 - 0
node_modules/wrap-ansi/index.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1257 - 1213
pages.json


+ 18 - 0
pages/index/index.vue

@@ -112,6 +112,24 @@ export default {
   mounted() {
     // demo();
   },
+  onShow() {
+    uni.getStorage({
+      key: "laocui_user_token",
+      success: function (res) {
+        // console.log("resresresresresresresresresres", res);
+        // uni.switchTab({
+        //   url: "/pages/index/index",
+        // });
+      },
+      fail(res) {
+        console.log("resresresresresresresresresres", res);
+
+        uni.redirectTo({
+          url: "/pages/login/login",
+        });
+      },
+    });
+  },
   onLoad() {
     this.getUserPower();
   },

+ 32 - 8
pages/login/login.vue

@@ -40,9 +40,9 @@
           class="yanzhengImg"
         />
       </div>
-      <div class="pswBox" @click="forgetPsw()">
+      <!-- <div class="pswBox" @click="forgetPsw()">
         <p>忘记密码?</p>
-      </div>
+      </div> -->
       <div>
         <van-button type="default" size="large" color="#1f1fbe" @click="login"
           >登 录</van-button
@@ -50,7 +50,7 @@
       </div>
     </div>
     <div class="bottomTips">
-      2022@copyrigtht IOT - Park-tech. supported by 中国移动
+      2022@copyrigtht IOT - Park-tech. supported by 无锡微纳产业园
     </div>
     <van-dialog id="van-toast" />
   </div>
@@ -58,7 +58,7 @@
 <script>
 import Dialog from "../..//wxcomponents/weapp/dist/dialog/dialog.js";
 import { login } from "@/js_sdk/http.js";
-
+import { hexMD5 } from './md5.js'
 export default {
   data() {
     return {
@@ -73,10 +73,28 @@ export default {
       },
     };
   },
-  mounted() {
-    // login()
+  onShow() {
+    wx.hideHomeButton();
     this.captchaImageRefresh(this.loginForm);
+    uni.getStorage({
+      key: "laocui_user_token",
+      success: function (res) {
+        console.log("resresresresresresresresresres", res);
+        uni.switchTab({
+          url: "/pages/index/index",
+        });
+      },
+      fail(res) {
+        // console.log("resresresresresresresresresres", res);
+        // uni.redirectTo({
+        //   url: "/pages/login/login",
+        // });
+      },
+    });
+
+    // login()
   },
+  created() {},
   methods: {
     captchaImageRefresh: function (_form) {
       _form.captchaId = this.$common.uuid(8);
@@ -104,6 +122,7 @@ export default {
     },
     login() {
       const _this = this;
+
       if (!this.loginForm.userName || !this.loginForm.password) {
         uni.showModal({
           title: "提示",
@@ -113,7 +132,10 @@ export default {
         });
         return;
       }
-      login(this.loginForm).then((res) => {
+
+      let loginForm = {...this.loginForm}
+      loginForm.password=hexMD5(loginForm.password)
+      login(loginForm).then((res) => {
         if (res.errmsg == "成功") {
           uni.showToast({
             title: "登录成功",
@@ -122,7 +144,9 @@ export default {
             duration: 2000,
           });
           this.$auth.setUser(res.data.token);
+          this.$auth.setRequestHanderAuth(res.data.requestHanderAuth);
           this.$auth.setUserInfo(res.data);
+
           uni.switchTab({
             url: "/pages/index/index",
           });
@@ -231,7 +255,7 @@ export default {
     color: rgba(29, 24, 188, 1);
   }
   .van-button {
-    border-radius: 60px;
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
 
     margin-top: 50px;
   }

+ 205 - 0
pages/login/md5.js

@@ -0,0 +1,205 @@
+/*
+ * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
+ * Digest Algorithm, as defined in RFC 1321.
+ * Version 1.1 Copyright (C) Paul Johnston 1999 - 2002.
+ * Code also contributed by Greg Holt
+ * See http://pajhome.org.uk/site/legal.html for details.
+ */
+
+/*
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+ * to work around bugs in some JS interpreters.
+ */
+function safe_add(x, y) {
+    var lsw = (x & 0xFFFF) + (y & 0xFFFF)
+    var msw = (x >> 16) + (y >> 16) + (lsw >> 16)
+    return (msw << 16) | (lsw & 0xFFFF)
+}
+
+/*
+ * Bitwise rotate a 32-bit number to the left.
+ */
+function rol(num, cnt) {
+    return (num << cnt) | (num >>> (32 - cnt))
+}
+
+/*
+ * These functions implement the four basic operations the algorithm uses.
+ */
+function cmn(q, a, b, x, s, t) {
+    return safe_add(rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)
+}
+function ff(a, b, c, d, x, s, t) {
+    return cmn((b & c) | ((~b) & d), a, b, x, s, t)
+}
+function gg(a, b, c, d, x, s, t) {
+    return cmn((b & d) | (c & (~d)), a, b, x, s, t)
+}
+function hh(a, b, c, d, x, s, t) {
+    return cmn(b ^ c ^ d, a, b, x, s, t)
+}
+function ii(a, b, c, d, x, s, t) {
+    return cmn(c ^ (b | (~d)), a, b, x, s, t)
+}
+
+/*
+ * Calculate the MD5 of an array of little-endian words, producing an array
+ * of little-endian words.
+ */
+function coreMD5(x) {
+    var a = 1732584193
+    var b = -271733879
+    var c = -1732584194
+    var d = 271733878
+
+    for (var i = 0; i < x.length; i += 16) {
+        var olda = a
+        var oldb = b
+        var oldc = c
+        var oldd = d
+
+        a = ff(a, b, c, d, x[i + 0], 7, -680876936)
+        d = ff(d, a, b, c, x[i + 1], 12, -389564586)
+        c = ff(c, d, a, b, x[i + 2], 17, 606105819)
+        b = ff(b, c, d, a, x[i + 3], 22, -1044525330)
+        a = ff(a, b, c, d, x[i + 4], 7, -176418897)
+        d = ff(d, a, b, c, x[i + 5], 12, 1200080426)
+        c = ff(c, d, a, b, x[i + 6], 17, -1473231341)
+        b = ff(b, c, d, a, x[i + 7], 22, -45705983)
+        a = ff(a, b, c, d, x[i + 8], 7, 1770035416)
+        d = ff(d, a, b, c, x[i + 9], 12, -1958414417)
+        c = ff(c, d, a, b, x[i + 10], 17, -42063)
+        b = ff(b, c, d, a, x[i + 11], 22, -1990404162)
+        a = ff(a, b, c, d, x[i + 12], 7, 1804603682)
+        d = ff(d, a, b, c, x[i + 13], 12, -40341101)
+        c = ff(c, d, a, b, x[i + 14], 17, -1502002290)
+        b = ff(b, c, d, a, x[i + 15], 22, 1236535329)
+
+        a = gg(a, b, c, d, x[i + 1], 5, -165796510)
+        d = gg(d, a, b, c, x[i + 6], 9, -1069501632)
+        c = gg(c, d, a, b, x[i + 11], 14, 643717713)
+        b = gg(b, c, d, a, x[i + 0], 20, -373897302)
+        a = gg(a, b, c, d, x[i + 5], 5, -701558691)
+        d = gg(d, a, b, c, x[i + 10], 9, 38016083)
+        c = gg(c, d, a, b, x[i + 15], 14, -660478335)
+        b = gg(b, c, d, a, x[i + 4], 20, -405537848)
+        a = gg(a, b, c, d, x[i + 9], 5, 568446438)
+        d = gg(d, a, b, c, x[i + 14], 9, -1019803690)
+        c = gg(c, d, a, b, x[i + 3], 14, -187363961)
+        b = gg(b, c, d, a, x[i + 8], 20, 1163531501)
+        a = gg(a, b, c, d, x[i + 13], 5, -1444681467)
+        d = gg(d, a, b, c, x[i + 2], 9, -51403784)
+        c = gg(c, d, a, b, x[i + 7], 14, 1735328473)
+        b = gg(b, c, d, a, x[i + 12], 20, -1926607734)
+
+        a = hh(a, b, c, d, x[i + 5], 4, -378558)
+        d = hh(d, a, b, c, x[i + 8], 11, -2022574463)
+        c = hh(c, d, a, b, x[i + 11], 16, 1839030562)
+        b = hh(b, c, d, a, x[i + 14], 23, -35309556)
+        a = hh(a, b, c, d, x[i + 1], 4, -1530992060)
+        d = hh(d, a, b, c, x[i + 4], 11, 1272893353)
+        c = hh(c, d, a, b, x[i + 7], 16, -155497632)
+        b = hh(b, c, d, a, x[i + 10], 23, -1094730640)
+        a = hh(a, b, c, d, x[i + 13], 4, 681279174)
+        d = hh(d, a, b, c, x[i + 0], 11, -358537222)
+        c = hh(c, d, a, b, x[i + 3], 16, -722521979)
+        b = hh(b, c, d, a, x[i + 6], 23, 76029189)
+        a = hh(a, b, c, d, x[i + 9], 4, -640364487)
+        d = hh(d, a, b, c, x[i + 12], 11, -421815835)
+        c = hh(c, d, a, b, x[i + 15], 16, 530742520)
+        b = hh(b, c, d, a, x[i + 2], 23, -995338651)
+
+        a = ii(a, b, c, d, x[i + 0], 6, -198630844)
+        d = ii(d, a, b, c, x[i + 7], 10, 1126891415)
+        c = ii(c, d, a, b, x[i + 14], 15, -1416354905)
+        b = ii(b, c, d, a, x[i + 5], 21, -57434055)
+        a = ii(a, b, c, d, x[i + 12], 6, 1700485571)
+        d = ii(d, a, b, c, x[i + 3], 10, -1894986606)
+        c = ii(c, d, a, b, x[i + 10], 15, -1051523)
+        b = ii(b, c, d, a, x[i + 1], 21, -2054922799)
+        a = ii(a, b, c, d, x[i + 8], 6, 1873313359)
+        d = ii(d, a, b, c, x[i + 15], 10, -30611744)
+        c = ii(c, d, a, b, x[i + 6], 15, -1560198380)
+        b = ii(b, c, d, a, x[i + 13], 21, 1309151649)
+        a = ii(a, b, c, d, x[i + 4], 6, -145523070)
+        d = ii(d, a, b, c, x[i + 11], 10, -1120210379)
+        c = ii(c, d, a, b, x[i + 2], 15, 718787259)
+        b = ii(b, c, d, a, x[i + 9], 21, -343485551)
+
+        a = safe_add(a, olda)
+        b = safe_add(b, oldb)
+        c = safe_add(c, oldc)
+        d = safe_add(d, oldd)
+    }
+    return [a, b, c, d]
+}
+
+/*
+ * Convert an array of little-endian words to a hex string.
+ */
+function binl2hex(binarray) {
+    var hex_tab = "0123456789abcdef"
+    var str = ""
+    for (var i = 0; i < binarray.length * 4; i++) {
+        str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) +
+            hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF)
+    }
+    return str
+}
+
+/*
+ * Convert an array of little-endian words to a base64 encoded string.
+ */
+function binl2b64(binarray) {
+    var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
+    var str = ""
+    for (var i = 0; i < binarray.length * 32; i += 6) {
+        str += tab.charAt(((binarray[i >> 5] << (i % 32)) & 0x3F) |
+            ((binarray[i >> 5 + 1] >> (32 - i % 32)) & 0x3F))
+    }
+    return str
+}
+
+/*
+ * Convert an 8-bit character string to a sequence of 16-word blocks, stored
+ * as an array, and append appropriate padding for MD4/5 calculation.
+ * If any of the characters are >255, the high byte is silently ignored.
+ */
+function str2binl(str) {
+    var nblk = ((str.length + 8) >> 6) + 1 // number of 16-word blocks
+    var blks = new Array(nblk * 16)
+    for (var i = 0; i < nblk * 16; i++) blks[i] = 0
+    for (var i = 0; i < str.length; i++)
+        blks[i >> 2] |= (str.charCodeAt(i) & 0xFF) << ((i % 4) * 8)
+    blks[i >> 2] |= 0x80 << ((i % 4) * 8)
+    blks[nblk * 16 - 2] = str.length * 8
+    return blks
+}
+
+/*
+ * Convert a wide-character string to a sequence of 16-word blocks, stored as
+ * an array, and append appropriate padding for MD4/5 calculation.
+ */
+function strw2binl(str) {
+    var nblk = ((str.length + 4) >> 5) + 1 // number of 16-word blocks
+    var blks = new Array(nblk * 16)
+    for (var i = 0; i < nblk * 16; i++) blks[i] = 0
+    for (var i = 0; i < str.length; i++)
+        blks[i >> 1] |= str.charCodeAt(i) << ((i % 2) * 16)
+    blks[i >> 1] |= 0x80 << ((i % 2) * 16)
+    blks[nblk * 16 - 2] = str.length * 16
+    return blks
+}
+
+/*
+ * External interface
+ */
+function hexMD5(str) { return binl2hex(coreMD5(str2binl(str))) }
+function hexMD5w(str) { return binl2hex(coreMD5(strw2binl(str))) }
+function b64MD5(str) { return binl2b64(coreMD5(str2binl(str))) }
+function b64MD5w(str) { return binl2b64(coreMD5(strw2binl(str))) }
+/* Backward compatibility */
+function calcMD5(str) { return binl2hex(coreMD5(str2binl(str))) }
+module.exports = {
+    hexMD5: hexMD5
+}

+ 1 - 1
pages/mine/mine.vue

@@ -13,7 +13,7 @@
           <img height="44rpx" src="../../static/mine/versionicon.png" alt="" />
           <div class="labelpage_text">
             <div class="labelpage_name">当前版本号</div>
-            <div class="labelpage_value">v1.0.1</div>
+            <div class="labelpage_value">v1.2</div>
             <div class="border"></div>
           </div>
         </div>

+ 5 - 8
pages/subPackages/activity/index.vue

@@ -158,6 +158,7 @@ export default {
       });
     },
     openFile(url) {
+      console.log(url);
       uni.downloadFile({
         url: url, // 网络文档地址
         success: (data) => {
@@ -166,14 +167,10 @@ export default {
               tempFilePath: data.tempFilePath, //临时路径
               success: function (res) {
                 // 保存路径
-
-                setTimeout(() => {
-                  //打开文档查看
-                  uni.openDocument({
-                    filePath: res.savedFilePath,
-                    success: function (res) {},
-                  });
-                }, 3000);
+                uni.openDocument({
+                  filePath: res.savedFilePath,
+                  success: function (res) {},
+                });
               },
             });
           }

+ 101 - 61
pages/subPackages/addCompany/addCompany.vue

@@ -19,7 +19,9 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left" style="width: 41%"
+            <view
+              class="input_title float_left"
+              style="width: 41%; white-space: nowrap"
               ><span style="color: red">*&nbsp;</span>统一社会信用代码:</view
             >
             <input
@@ -64,10 +66,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left">
-              <span style="color: red">*&nbsp;</span>
-              注册时间:
-            </view>
+            <view class="input_title float_left"> 注册时间: </view>
             <picker
               style="float: left; width: 360rpx; height: 40rpx; color: #777"
               mode="date"
@@ -124,9 +123,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left"
-              ><span style="color: red">*&nbsp;</span>企业联系人</view
-            >
+            <view class="input_title float_left">企业联系人</view>
             <input
               style="color: #777"
               class="input_value float_left"
@@ -138,9 +135,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left"
-              ><span style="color: red">*&nbsp;</span>联系人手机:</view
-            >
+            <view class="input_title float_left">联系人手机:</view>
             <input
               style="color: #777"
               class="input_value float_left"
@@ -152,9 +147,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left"
-              ><span style="color: red">*&nbsp;</span>联系人邮箱:</view
-            >
+            <view class="input_title float_left">联系人邮箱:</view>
             <input
               style="color: #777"
               class="input_value float_left"
@@ -166,9 +159,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left"
-              ><span style="color: red">*&nbsp;</span>财务负责人:</view
-            >
+            <view class="input_title float_left">财务负责人:</view>
             <input
               style="color: #777"
               class="input_value float_left"
@@ -180,9 +171,7 @@
           <view
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
           >
-            <view class="input_title float_left"
-              ><span style="color: red">*&nbsp;</span>负责人电话:</view
-            >
+            <view class="input_title float_left">负责人电话:</view>
             <input
               style="color: #777"
               class="input_value float_left"
@@ -245,7 +234,7 @@
           </view>
           <view class="custom-image-box" style="position: relative">
             <van-icon
-              v-if="form.YYZZFBZP != '../../../static/unuploadzhizhao.png'"
+              v-if="form.YYZZFBZP"
               @click="spliceYYZZFBZP()"
               name="cross"
               style="position: absolute; top: 0; left: 282rpx; font-size: 42rpx"
@@ -253,8 +242,8 @@
             <img
               @click="chooseYYZZFBZP()"
               :src="
-                form.YYZZFBZP == '../../../static/unuploadzhizhao.png'
-                  ? form.YYZZFBZP
+                !form.YYZZFBZP
+                  ? '../../../static/unuploadzhizhao.png'
                   : BASE_URI + '/FileController/download/' + form.YYZZFBZP
               "
               style="color: #777; width: 300rpx; height: 260rpx"
@@ -308,7 +297,7 @@
 
             <view class="width100" style="position: relative">
               <van-icon
-                v-if="form.FRSFZHZM != '../../../static/idzhengmian.png'"
+                v-if="form.FRSFZHZM"
                 @click="spliceFRSFZHZM()"
                 name="cross"
                 style="
@@ -319,7 +308,7 @@
                 "
               />
               <van-icon
-                v-if="form.FRSFZHFM != '../../../static/idfanmian.png'"
+                v-if="form.FRSFZHFM"
                 @click="spliceFRSFZHFM()"
                 name="cross"
                 style="
@@ -332,8 +321,8 @@
               <img
                 @click="chooseFRSFZHZM()"
                 :src="
-                  form.FRSFZHZM == '../../../static/idzhengmian.png'
-                    ? form.FRSFZHZM
+                  !form.FRSFZHZM
+                    ? '../../../static/idzhengmian.png'
                     : BASE_URI + '/FileController/download/' + form.FRSFZHZM
                 "
                 class="idclass margin12rpx float_left"
@@ -343,8 +332,8 @@
               <img
                 @click="chooseFRSFZHFM()"
                 :src="
-                  form.FRSFZHFM == '../../../static/idfanmian.png'
-                    ? form.FRSFZHFM
+                  !form.FRSFZHFM
+                    ? '../../../static/idfanmian.png'
                     : BASE_URI + '/FileController/download/' + form.FRSFZHFM
                 "
                 class="idclass margin12rpx float_left"
@@ -352,6 +341,17 @@
               />
             </view>
           </view>
+          <view
+            class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
+          >
+            <view class="input_title float_left">主营业务:</view>
+            <input
+              style="color: #777"
+              class="input_value float_left"
+              placeholder="请输入"
+              v-model="form.business"
+            />
+          </view>
         </div>
       </div>
       <div class="list-row" style="padding-top: 0">
@@ -390,13 +390,52 @@
             class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
           >
             <view class="input_title float_left height80rpx"
-              >拥有知识产权:<br />(个数)</view
+              >发明专利:<br />(件)</view
+            >
+            <input
+              style="color: #777; height: 80rpx; line-height: 80rpx"
+              class="input_value float_left"
+              placeholder="请输入"
+              v-model="form.inventionPatent"
+            />
+          </view>
+          <view
+            class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+          >
+            <view class="input_title float_left height80rpx"
+              >软件著作:<br />(件)</view
             >
             <input
               style="color: #777; height: 80rpx; line-height: 80rpx"
               class="input_value float_left"
               placeholder="请输入"
-              v-model="form.zscqgs"
+              v-model="form.softwareWorks"
+            />
+          </view>
+          <view
+            class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+          >
+            <view class="input_title float_left height80rpx"
+              >实用新型专利:<br />(件)</view
+            >
+            <input
+              style="color: #777; height: 80rpx; line-height: 80rpx"
+              class="input_value float_left"
+              placeholder="请输入"
+              v-model="form.utilityModel"
+            />
+          </view>
+          <view
+            class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+          >
+            <view class="input_title float_left height80rpx"
+              >集成电路布图设计<br />专有权:(件)</view
+            >
+            <input
+              style="color: #777; height: 80rpx; line-height: 80rpx"
+              class="input_value float_left"
+              placeholder="请输入"
+              v-model="form.integratedCircuit"
             />
           </view>
           <view
@@ -574,9 +613,9 @@
   <script>
 const form = {
   settleInType: null,
-  FRSFZHZM: "../../../static/idzhengmian.png",
-  FRSFZHFM: "../../../static/idfanmian.png",
-  YYZZFBZP: "../../../static/unuploadzhizhao.png",
+  FRSFZHZM: "",
+  FRSFZHFM: "",
+  YYZZFBZP: "",
   investmentManagerString: "",
   investmentManager: "",
   associationCompanyString: "",
@@ -680,7 +719,7 @@ export default {
   methods: {
     chooseFRSFZHFM() {
       let that = this;
-      if (that.form.FRSFZHFM == "../../../static/idfanmian.png") {
+      if (!that.form.FRSFZHFM) {
         uni.chooseImage({
           count: 1, //默认9
           sizeType: "original", //可以指定是原图还是压缩图,默认二者都有
@@ -713,14 +752,14 @@ export default {
       }
     },
     spliceFRSFZHZM() {
-      this.form.FRSFZHZM = "../../../static/idzhengmian.png";
+      this.form.FRSFZHZM = "";
     },
     spliceFRSFZHFM() {
-      this.form.FRSFZHFM = "../../../static/idfanmian.png";
+      this.form.FRSFZHFM = "";
     },
     chooseFRSFZHZM() {
       let that = this;
-      if (that.form.FRSFZHZM == "../../../static/idzhengmian.png") {
+      if (!that.form.FRSFZHZM) {
         uni.chooseImage({
           count: 1, //默认9
           sizeType: "original", //可以指定是原图还是压缩图,默认二者都有
@@ -780,11 +819,11 @@ export default {
       });
     },
     spliceYYZZFBZP() {
-      this.form.YYZZFBZP = "../../../static/unuploadzhizhao.png";
+      this.form.YYZZFBZP = null;
     },
     chooseYYZZFBZP() {
       let that = this;
-      if (that.form.YYZZFBZP == "../../../static/unuploadzhizhao.png") {
+      if (!that.form.YYZZFBZP) {
         uni.chooseImage({
           count: 1, //默认9
           sizeType: "original", //可以指定是原图还是压缩图,默认二者都有
@@ -980,10 +1019,10 @@ export default {
     submit() {},
     checkFormValue() {
       let that = this;
-      if (that.form.zcsj == "") {
-        that.$showToast("请选择注册时间");
-        return false;
-      }
+      // if (that.form.zcsj == "") {
+      //   that.$showToast("请选择注册时间");
+      //   return false;
+      // }
 
       if (that.form.qymc == "" || !that.form.qymc) {
         that.$showToast("请输入企业名称");
@@ -995,25 +1034,25 @@ export default {
         return false;
       }
 
-      if (that.form.qylxr == "" || !that.form.qylxr) {
-        that.$showToast("请输入企业联系人");
-        return false;
-      }
+      // if (that.form.qylxr == "" || !that.form.qylxr) {
+      //   that.$showToast("请输入企业联系人");
+      //   return false;
+      // }
 
-      if (that.form.email == "" || !that.form.email) {
-        that.$showToast("请输入企业邮箱");
-        return false;
-      }
+      // if (that.form.email == "" || !that.form.email) {
+      //   that.$showToast("请输入企业邮箱");
+      //   return false;
+      // }
 
-      if (that.form.cwfzr == "" || !that.form.cwfzr) {
-        that.$showToast("请输入财务负责人");
-        return false;
-      }
+      // if (that.form.cwfzr == "" || !that.form.cwfzr) {
+      //   that.$showToast("请输入财务负责人");
+      //   return false;
+      // }
 
-      if (that.form.cwfzrdh == "" || !that.form.cwfzrdh) {
-        that.$showToast("请输入负责人电话");
-        return false;
-      }
+      // if (that.form.cwfzrdh == "" || !that.form.cwfzrdh) {
+      //   that.$showToast("请输入负责人电话");
+      //   return false;
+      // }
 
       return true;
     },
@@ -1050,9 +1089,10 @@ export default {
   <style scoped lang="scss" scpoed>
 .save_button {
   width: calc(100% - 64rpx);
+  border-radius: 8rpx;
   margin: 64rpx 32rpx 0 32rpx;
   background: #1d18bc;
-  border-radius: 50rpx;
+  // border-radius: 50rpx;
   height: 88rpx;
   color: white;
   text-align: center;

+ 1 - 0
pages/subPackages/addCompany/isSelectedTags.vue

@@ -138,6 +138,7 @@ export default {
   }
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 40%;
   height: 90rpx;
   background: #1d18bc;

+ 2 - 0
pages/subPackages/addCompany/momo-multipleSelect.vue

@@ -416,6 +416,7 @@ export default {
   }
 
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 40%;
     height: 90rpx;
     background: #1d18bc;
@@ -445,6 +446,7 @@ export default {
   z-index: 1000;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 40%;
   height: 90rpx;
   background: #1d18bc;

+ 322 - 237
pages/subPackages/addintention/addintention.vue

@@ -1,16 +1,66 @@
 <template>
   <div class="addintention">
     <div class="form">
-      <uni-forms ref="baseForm" :modelValue="form" label-width="100%">
-        <uni-forms-item label="企业名称:">
+      <uni-forms ref="baseForm" label-width="100%">
+        <uni-forms-item label="项目/企业名称:">
           <!--					<uni-easyinput v-model="form.name" placeholder="请输入"/>-->
-          <uni-easyinput v-model="form.companyId" placeholder="请输入" />
+          <input
+            style="
+              border: 1px solid #dcdfe6;
+              border-radius: 4px;
+              padding: 9px 5px;
+            "
+            @input="getInputValue('projectName', $event)"
+            placeholder="请输入"
+          />
         </uni-forms-item>
-        <uni-forms-item label="招商负责人:">
+        <uni-forms-item label="项目简介:">
+          <uni-easyinput
+            type="textarea"
+            class="bgcF9F9F9 height218rpx"
+            v-model="form.projectInfo"
+            placeholder="请输入"
+          />
+        </uni-forms-item>
+        <uni-forms-item label="企业需求:">
+          <uni-easyinput
+            type="textarea"
+            class="bgcF9F9F9 height218rpx"
+            v-model="form.companyNeed"
+            placeholder="请输入"
+          />
+        </uni-forms-item>
+        <uni-forms-item label="项目/企业联系人:">
           <uni-easyinput v-model="form.projectManager" placeholder="请输入" />
         </uni-forms-item>
         <uni-forms-item label="联系电话:">
-          <uni-easyinput v-model="form.managerPhone" placeholder="请输入" />
+          <input
+            style="
+              border: 1px solid #dcdfe6;
+              border-radius: 4px;
+              padding: 9px 5px;
+            "
+            :value="managerPhone"
+            @input="getNum"
+            placeholder="请输入"
+          />
+        </uni-forms-item>
+      </uni-forms>
+    </div>
+
+    <div class="form">
+      <uni-forms ref="baseForm" :modelValue="form" label-width="100%">
+        <uni-forms-item label="招商负责人:">
+          <picker @change="getUser" range-key="truename" :range="userList">
+            <div class="userbox">
+              {{ form.createrName }}
+            </div>
+          </picker>
+        </uni-forms-item>
+        <uni-forms-item label="所在部门:">
+          <div class="userbox">
+            {{ form.deptName }}
+          </div>
         </uni-forms-item>
       </uni-forms>
     </div>
@@ -40,204 +90,73 @@
             <div class="first_title float_left">
               {{ item.roomString }}
             </div>
+          </div>
+          <div class="width100 height40rpx">
+            <div class="second_title height40rpx">预约日期:{{ today }}</div>
+          </div>
+          <div class="width100 height40rpx">
             <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 1"
-            >
-              意向
-            </div>
-            <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 2"
-            >
-              锁定
-            </div>
-
-            <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 3"
-            >
-              预约
-            </div>
-
-            <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 4"
+              class="second_title height40rpx"
+              v-if="item.reservationStatus == 7"
             >
-              到期时间
+              状态:解锁
             </div>
 
             <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 5"
+              class="second_title height40rpx"
+              v-if="item.reservationStatus == 2"
             >
-              签约
+              状态:锁定
             </div>
+          </div>
 
+          <div class="width100 height40rpx">
             <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 6"
-            >
-              签约合同
-            </div>
-            <div
-              class="status_label txt_center width20 float_left"
-              v-if="item.reservationStatus == 7"
+              class="second_title height40rpx"
+              style="display: flex; align-items: center"
             >
-              锁定到期
+              <picker
+                @change="getNeedDays($event, index)"
+                :range="needDaysList"
+                range-key="text"
+              >
+                锁定到期日期:{{
+                  item.needDaysIndex == 0 || item.needDaysIndex
+                    ? needDaysList[item.needDaysIndex].text
+                    : "请选择"
+                }}
+              </picker>
             </div>
           </div>
           <div class="width100 height40rpx pdb16 border_bottom_ccc">
             <div class="second_title height40rpx">
-              到期日期:{{ !item.endTime ? "暂无" : item.endTime }}
+              解锁日期:{{ item.endTime ? item.endTime : "" }}
             </div>
           </div>
-
           <div class="button_list pdb20 pdt20">
             <div class="bottom_cell">
-              <div class="button_row" @click="fangyuanListSplice(index)">
-                解绑
-              </div>
-              <div class="button_row" @click="yuyueChooseTime(index, 2)">
-                锁定
+              <div
+                class="button_row"
+                @click="fangyuanListSplice(index)"
+                v-if="item.reservationStatus != 7"
+              >
+                解锁
               </div>
-              <div class="button_row" @click="yuyueChooseTime(index, 3)">
-                预约
+              <div
+                class="disable-btn"
+                @click="fangyuanListSplice(index)"
+                v-if="item.reservationStatus == 7"
+              >
+                解锁
               </div>
-              <div class="button_row" @click="signing(index)">签约</div>
             </div>
           </div>
         </div>
       </div>
     </div>
-    <div class="form">
-      <uni-forms ref="baseForm" :modelValue="form" label-width="100%">
-        <uni-forms-item label="项目名称:">
-          <uni-easyinput v-model="form.projectName" placeholder="请输入" />
-        </uni-forms-item>
-        <uni-forms-item label="项目简介:">
-          <uni-easyinput
-            type="textarea"
-            class="bgcF9F9F9 height218rpx"
-            v-model="form.projectInfo"
-            placeholder="请输入"
-          />
-        </uni-forms-item>
-        <uni-forms-item label="租赁需求:">
-          <uni-easyinput
-            type="textarea"
-            class="bgcF9F9F9 height218rpx"
-            v-model="form.leaseRequirements"
-            placeholder="请输入"
-          />
-        </uni-forms-item>
-      </uni-forms>
-    </div>
-    <div class="form">
-      <div
-        class="form_row pdt32 pdb32 border_bottom_ccc width100"
-        @click="getSelectDeptTwo('selectGenzongDep')"
-      >
-        <div class="float_left width30 first_title height50rpx">跟踪部门</div>
-        <div
-          class="float_left width60 whitespacenowrap first_title height50rpx font28rpx color292d98"
-        >
-          {{ form.genzongbumen }}
-        </div>
-        <img
-          class="height40rpx width40rpx float_right"
-          src="../../../static/mine/youjiantou.png"
-          alt=""
-        />
-      </div>
-      <div
-        class="form_row pdt32 pdb32 border_bottom_ccc width100"
-        @click="chosseAboutCompany()"
-      >
-        <div class="float_left width30 first_title height50rpx">相关部门</div>
-        <div
-          class="float_left width60 whitespacenowrap first_title height50rpx font28rpx color292d98"
-        >
-          {{ form.xiangguanbumen }}
-        </div>
-        <img
-          class="height40rpx width40rpx float_right"
-          src="../../../static/mine/youjiantou.png"
-          alt=""
-        />
-      </div>
-      <div
-        class="form_row pdt32 pdb32 border_bottom_ccc width100"
-        @click="getSelectUserTwo('tkitreerefs')"
-      >
-        <div class="float_left width30 first_title height50rpx">相关人</div>
-        <div
-          class="float_left width60 whitespacenowrap first_title height50rpx font28rpx color292d98"
-        >
-          {{ form.xiangguanren }}
-        </div>
-        <img
-          class="height40rpx width40rpx float_right"
-          src="../../../static/mine/youjiantou.png"
-          alt=""
-        />
-      </div>
-      <div
-        class="form_row pdt32 pdb32 border_bottom_ccc width100"
-        @click="getSelectUserTwo('selectDengjiyuan')"
-      >
-        <div class="float_left width30 first_title height50rpx">信息登记员</div>
-        <div
-          class="float_left width60 whitespacenowrap first_title height50rpx font28rpx color292d98"
-        >
-          {{ form.xinxidengji }}
-        </div>
-        <img
-          class="height40rpx width40rpx float_right"
-          src="../../../static/mine/youjiantou.png"
-          alt=""
-        />
-      </div>
-      <!-- <div
-        class="form_row pdt32 pdb32 border_bottom_ccc width100"
-        @click="getSelectUserTwo('selectXiangmanger')"
-      >
-        <div class="float_left width30 first_title height50rpx">项目登记人</div>
-        <div
-          class="float_left width60 whitespacenowrap first_title height50rpx font28rpx color292d98"
-        >
-          {{ form.xiangmudengji }}
-        </div>
-
-        <img
-          class="height40rpx width40rpx float_right"
-          src="../../../static/mine/youjiantou.png"
-          alt=""
-        />
-      </div> -->
-    </div>
     <div class="form" style="padding-bottom: 192rpx">
       <uni-forms ref="baseForm" :modelValue="form" label-width="100%">
-        <uni-forms-item label="目前阶段:">
-          <uni-data-checkbox
-            style="padding: 8rpx 0 8rpx 0"
-            v-model="form.projectStatus"
-            mode="tag"
-            :localdata="muqianjieduan"
-            selectedTextColor="#1D18BC"
-            selectedColor="rgba(29,24,188,0.05);"
-            @change="getjieduan"
-          />
-        </uni-forms-item>
-        <uni-forms-item label="备注:">
-          <uni-easyinput
-            type="textarea"
-            class="bgcF9F9F9 height218rpx"
-            v-model="form.name"
-            placeholder="请输入"
-          />
-        </uni-forms-item>
-        <uni-forms-item
+        <!-- <uni-forms-item
           label="签约日期:"
           required
           v-if="form.projectStatus == 3"
@@ -279,19 +198,29 @@
               />
             </div>
           </div>
-        </uni-forms-item>
-        <uni-forms-item
-          label="签约附件(支持图片,最多12张):"
-          required
-          :eletable="true"
-        >
-          <van-uploader
-            :max-count="12"
-            @delete="deleteFileList"
-            :file-list="fileList"
-            @after-read="afterRead"
-            :show-upload="true"
-          />
+        </uni-forms-item> -->
+        <uni-forms-item label="其它附件" :deletable="true">
+          <van-button
+            type="primary"
+            size="small"
+            @click="choosePDf()"
+            style="margin-bottom: 15rpx"
+            >文件选择</van-button
+          >
+          <div class="pdflist">
+            <div
+              class="pdflist-row"
+              v-for="(item, index) in fileList"
+              :key="item.url"
+            >
+              <div class="pdfname">{{ item.name }}</div>
+              <van-icon
+                name="clear"
+                class="delete_icon"
+                @click="uploadAddressExcelSplice(index)"
+              />
+            </div>
+          </div>
         </uni-forms-item>
       </uni-forms>
     </div>
@@ -355,7 +284,7 @@
     ></multiple-select>
     <choose-time @getEndTime="getEndTime()" ref="chooseTime"></choose-time>
     <view class="‘btn-view‘">
-      <button class="btn" @click="addyixiang()">添加</button>
+      <div class="btn" @click="addyixiang()">添加</div>
     </view>
   </div>
 </template>
@@ -378,6 +307,10 @@ import {
   findCompanyList,
   addyixiang,
   findDeptList,
+  getDeptById,
+  getUserLocalStorageInfo,
+  findUserList,
+  uploadPDF,
 } from "@/js_sdk/http";
 import vanPicker from "../../../wxcomponents/weapp/dist/picker";
 export default {
@@ -395,7 +328,17 @@ export default {
   },
   data() {
     return {
+      userList: [],
+      managerPhone: "",
       show: false,
+      needDaysList: [
+        { value: 5, text: "5天" },
+        { value: 10, text: "10天" },
+        { value: 20, text: "20天" },
+        { value: 30, text: "30天" },
+        { value: 180, text: "180天" },
+        { value: 36500, text: "永久" },
+      ],
       aboutDept: [],
       defaultSelected: [],
       companyList_index: 0,
@@ -404,9 +347,11 @@ export default {
       fileList: [],
       fangyuanList: [],
       zaitiList: [],
+      today: "",
       form: {
         createdBy: "",
         projectType: 1,
+        projectStatus: 1,
         successTime: "",
         companyId: null,
         xiangguanren: "",
@@ -475,30 +420,11 @@ export default {
   onLoad(option) {
     let that = this;
 
-    if (option.ids != "null" && option.id) {
-      findRoomInfoListByIds(option.ids).then((data) => {
-        //   that.fangyuanList = [];
-        data.forEach((a) => {
-          that.fangyuanList.push(a);
-        });
-        that.form.fangyuanlist = that.fangyuanList;
-        for (let i = 0; i < that.form.fangyuanlist.length; i++) {
-          for (let j = i + 1; j < that.form.fangyuanlist.length; j++) {
-            if (that.form.fangyuanlist[i].id == that.form.fangyuanlist[j].id) {
-              if (!that.form.fangyuanlist[i].endTime) {
-                that.form.fangyuanlist.splice(i, 1);
-              } else if (!that.form.fangyuanlist[j].endTime) {
-                that.form.fangyuanlist.splice(j, 1);
-              } else {
-                that.form.fangyuanlist.splice(j, 1);
-              }
-            }
-          }
-        }
-        that.form.fangyuanlistIds = "";
-        that.form.fangyuanlistIds = e.result.join(",");
-      });
-    }
+    this.form.createrName = getUserLocalStorageInfo().user.truename;
+    that.getDeptById(getUserLocalStorageInfo().user.department);
+    that.getCurrentDate();
+    console.log(option);
+    this.findUserList();
     that.findCompanyList();
     that.form.createdBy = JSON.parse(
       uni.getStorageSync("laocui_user_info")
@@ -513,9 +439,25 @@ export default {
       findRoomInfoListByIds(e.result.join(",")).then((data) => {
         if (e.type == "房源") {
           //   that.fangyuanList = [];
-          data.forEach((a) => {
-            that.fangyuanList.push(a);
+          data.forEach((a, index) => {
+            var dd = new Date();
+            const dd2 = new Date(dd.getFullYear(), dd.getMonth(), dd.getDate());
+            console.log(new Date(dd2.getTime()));
+            const endTime = that.getMyDate(new Date(dd2.getTime()));
+            console.log(endTime);
+            a.reservationStatus = 2;
+            a.needDaysIndex = "0";
+            a.needDays = 5;
+            a.endTime = endTime;
+            that.fangyuanList.push({
+              ...a,
+              reservationStatus: 2,
+            });
+
+            that.getNeedDays({ detail: { value: 0 } }, index);
           });
+          that.fangyuanList = [...that.fangyuanList];
+          console.log(data);
           that.form.fangyuanlist = that.fangyuanList;
           for (let i = 0; i < that.form.fangyuanlist.length; i++) {
             for (let j = i + 1; j < that.form.fangyuanlist.length; j++) {
@@ -560,6 +502,111 @@ export default {
     });
   },
   methods: {
+    uploadAddressExcelSplice(index) {
+      this.fileList.splice(index, 1);
+    },
+    async choosePDf() {
+      let that = this;
+      uploadPDF().then((data) => {
+        that.fileList.push({
+          imgUrl: "/FileController/download/" + data.url,
+          imageUrl: "/FileController/download/" + data.url,
+          id: data.url,
+          url: that.$constant.BASE_URI + "/FileController/download/" + data.url,
+          isImage: true,
+          name: data.name,
+        });
+        console.log(that.fileList);
+        this.$forceUpdate();
+      });
+    },
+    async findUserList() {
+      let data = await findUserList();
+      this.userList = data;
+      console.log(data);
+    },
+    getInputValue(key, e) {
+      console.log(e);
+      this.form[key] = e.detail.value;
+    },
+    getNum(e) {
+      console.log(e);
+      this.form.managerPhone = e.detail.value;
+      console.log(this.form.managerPhone);
+    },
+    getUser(e) {
+      this.form.createdBy = this.userList[e.detail.value].id;
+      this.form.createrName = this.userList[e.detail.value].truename;
+      this.getDeptById(this.userList[e.detail.value].department);
+    },
+    async getDeptById(e) {
+      let data = await getDeptById({
+        id: e,
+      });
+      console.log(data);
+      this.form.deptName = "";
+      this.form.deptName = data.deptName;
+      this.form = { ...this.form };
+    },
+    getNeedDays(event, index) {
+      this.fangyuanList[index].needDays =
+        this.needDaysList[event.detail.value].value;
+      this.fangyuanList[index].needDaysIndex = event.detail.value;
+      var dd = new Date();
+      const dd2 = new Date(dd.getFullYear(), dd.getMonth(), dd.getDate());
+      dd2.setDate(dd2.getDate() + Number(this.fangyuanList[index].needDays));
+      const endTime = this.getMyDate(new Date(dd2.getTime()));
+      console.log(endTime);
+      this.fangyuanList[index].endTime = endTime;
+      console.log("this.fangyuanList[index].endTime", this.fangyuanList, index);
+      this.$forceUpdate();
+    },
+
+    getMyDate(str) {
+      var oDate = str;
+      let oYear = oDate.getFullYear();
+      let oMonth = oDate.getMonth() + 1;
+      let oDay = oDate.getDate();
+      let oHour = oDate.getHours();
+      let oMin = oDate.getMinutes();
+      let oSen = oDate.getSeconds();
+      let oTime = oYear + "-" + this.addZero(oMonth) + "-" + this.addZero(oDay);
+      return oTime;
+    },
+
+    //补零操作
+    addZero(num) {
+      if (parseInt(num) < 10) {
+        num = "0" + num;
+      }
+      return num;
+    },
+    timestampToYMD(timestamp) {
+      const date = new Date(timestamp * 1000);
+      const year = date.getFullYear();
+      const month = String(date.getMonth() + 1).padStart(2, "0");
+      const day = String(date.getDate()).padStart(2, "0");
+      return `${year}-${month}-${day}`;
+    },
+    getCurrentDate() {
+      const nowDate = new Date();
+      const date = {
+        year: nowDate.getFullYear(),
+        month: nowDate.getMonth() + 1,
+        date: nowDate.getDate(),
+      };
+      console.log(date.month);
+      console.log(date.date);
+      this.today =
+        date.year +
+        "-" +
+        (date.month < 10 ? 0 : "") +
+        date.month +
+        "-" +
+        (date.date < 10 ? 0 : "") +
+        date.date;
+      console.log(this.today);
+    },
     async findDeptList() {
       let aboutDept = await findDeptList();
       this.aboutDept = aboutDept.map((e) => {
@@ -611,21 +658,12 @@ export default {
       this.$refs.chooseTime.onOpen(i, type);
     },
     fangyuanListSplice(i) {
-      let that = this;
-      uni.showModal({
-        title: "提示",
-        content: "解绑后该房源将从项目绑定记录中删除,是否确认?",
-        cancelText: "取消", // 取消按钮的文字
-        confirmText: "确认", // 确认按钮的文字
-        showCancel: true, // 是否显示取消按钮,默认为 true
-        success: (res) => {
-          if (res.confirm) {
-            that.fangyuanList.splice(i, 1);
-            this.$showToast("已删除");
-          } else {
-          }
-        },
-      });
+      if (this.fangyuanList[i].reservationStatus == 7) {
+        this.$showToast("该房源已解锁");
+      } else {
+        this.fangyuanList[i].reservationStatus = 7;
+        this.$forceUpdate();
+      }
     },
     getjieduan(e) {},
     deleteFileList(event) {
@@ -634,16 +672,21 @@ export default {
     async addyixiang() {
       let that = this;
       let saleRoomList;
+
       if (that.form.fangyuanlist && that.form.fangyuanlist.length > 0) {
         saleRoomList = that.form.fangyuanlist.map((e) => {
           return {
             remark: !e.roomString ? null : e.roomString,
             reservationStatus: !e.reservationStatus ? 1 : e.reservationStatus,
             parkRoomId: e.id,
+            needDays: e.needDays ? e.needDays : 0,
             endTime: !e.endTime ? null : e.endTime,
             successStatus: null,
           };
         });
+        // console.log("fangyuanlist", that.form.fangyuanlist);
+        // console.log("saleRoomList", saleRoomList);
+        // return;
       } else {
         saleRoomList = [];
       }
@@ -667,7 +710,7 @@ export default {
           return {
             name: e.name,
             size: e.size,
-            url: e.imgUrl,
+            url: e.url,
           };
         });
       }
@@ -683,8 +726,9 @@ export default {
           .join(","),
       });
       console.log(JSON.stringify(successPictureAddress));
-      console.log(successPictureAddress);
+      console.log(data);
       if (data.code == 200) {
+        that.$showToast("添加成功");
         uni.navigateBack({});
       } else {
         that.$showToast(data.msg);
@@ -836,12 +880,40 @@ export default {
 </script>
   
   <style lang="scss">
+.pdfname {
+  color: #777777;
+  font-size: 28rpx;
+  width: 75%;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  margin-right: 16rpx;
+  float: left;
+}
+.pdflist-row {
+  margin: 15rpx 0 15rpx 0;
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+}
+.pdflist {
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+}
 .form_row {
   height: 40rpx;
   font-weight: 400;
   font-size: 24rpx;
 }
-
+.userbox {
+  font-size: 28rpx;
+  height: 61rpx;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  padding-left: 10px;
+  line-height: 61rpx;
+}
 .addintention {
   .btn-view {
     width: 100%;
@@ -850,14 +922,16 @@ export default {
     background-color: #ffffff;
     position: fixed;
     bottom: 0;
+    z-index: 9999;
     left: 0;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
+    text-align: center;
     color: white;
   }
   .uni-forms-item__label {
@@ -884,7 +958,6 @@ export default {
 
   .bottom_cell {
     float: right;
-    width: 460rpx;
     height: 42rpx;
   }
 
@@ -901,7 +974,19 @@ export default {
     font-size: 24rpx;
     border: 2rpx solid #1d18bc;
   }
-
+  .disable-btn {
+    color: #cccccc;
+    width: 96rpx;
+    height: 42rpx;
+    border-radius: 60rpx 60rpx 60rpx 60rpx;
+    opacity: 1;
+    margin-left: 16rpx;
+    float: left;
+    text-align: center;
+    line-height: 42rpx;
+    font-size: 24rpx;
+    border: 2rpx solid #cccccc;
+  }
   .project-column {
     border-radius: 8rpx 8rpx 0rpx 0rpx;
     //height: 44rpx;

+ 38 - 16
pages/subPackages/chooseCompanyTags/componets/chooseTime.vue

@@ -13,22 +13,36 @@
       <div
         class="choostimetitle"
         style="color: #333333; margin-top: 32rpx; border: none"
-      >
-        标签开始生效年月
+      ></div>
+      <div class="time_picker">
+        <picker
+          mode="date"
+          :value="form.effectiveDate"
+          fields="month"
+          @change="bindDateChange"
+        >
+          <input
+            disabled="true"
+            class="pickerclass"
+            v-model="form.effectiveDate"
+            placeholder="请选择开始月份"
+          />
+        </picker>
+        <picker
+          mode="date"
+          :value="form.effectiveEndDate"
+          fields="month"
+          @change="bindEndDateChange"
+        >
+          <input
+            disabled="true"
+            class="pickerclass"
+            v-model="form.effectiveEndDate"
+            placeholder="请选择结束月份"
+          />
+        </picker>
       </div>
-      <picker
-        mode="date"
-        :value="form.effectiveDate"
-        fields="month"
-        @change="bindDateChange"
-      >
-        <input
-          disabled="true"
-          class="pickerclass"
-          v-model="form.effectiveDate"
-          placeholder="请选择月份"
-        />
-      </picker>
+
       <div style="margin-top: 16rpx; width: 100%">
         <van-button type="default" class="button100" @click="closeDialog()"
           >取消</van-button
@@ -57,6 +71,7 @@ export default {
     return {
       form: {
         effectiveDate: "",
+        effectiveEndDate: "",
         checkIndex: null,
       },
       checkIndex: null,
@@ -69,7 +84,7 @@ export default {
       this.show = false;
     },
     pushIsCheckItem() {
-      if (this.form.effectiveDate == "") {
+      if (this.form.effectiveDate == "" || this.form.effectiveEndDate == "") {
         this.$showToast("该标签需要效期,请选择");
       } else {
         this.$emit("pushIsCheckItem", this.form);
@@ -80,6 +95,10 @@ export default {
       this.form.effectiveDate = event.detail.value;
       this.$forceUpdate();
     },
+    bindEndDateChange(event) {
+      this.form.effectiveEndDate = event.detail.value;
+      this.$forceUpdate();
+    },
     cancel() {
       this.show = false;
     },
@@ -116,6 +135,9 @@ export default {
   .van-button--info {
   }
 }
+.time_picker {
+  display: flex;
+}
 .userinfobtn {
   background: #1d18bc !important;
   border: none;

+ 7 - 1
pages/subPackages/chooseCompanyTags/componets/isSelectedTags.vue

@@ -22,7 +22,13 @@
         <div class="vanpoup_1_1">
           <span style="font-size: 30rpx; color: #333333">
             {{ item.tagName }}
-            {{ !item.effectiveDate ? "" : item.effectiveDate }}
+            <span v-if="itme.effectiveDate || item.effectiveEndDate">
+              (
+              {{ !item.effectiveDate ? "" : item.effectiveDate }}
+              至
+              {{ !item.effectiveEndDate ? "" : item.effectiveEndDate }}
+              )
+            </span>
           </span>
 
           <span

+ 6 - 4
pages/subPackages/chooseCompanyTags/index.vue

@@ -50,8 +50,8 @@
         class="btn"
         @click="openTagsDialog()"
         style="
-          border-top-left-radius: 5rem;
-          border-bottom-left-radius: 5rem;
+          border-radius: 8rpx 8rpx 8rpx 8rpx;
+          margin-right: 10rpx;
           background: white;
           color: #1d18bc;
           border: 1px solid;
@@ -63,8 +63,7 @@
         style="
           border-radius: 0;
           border: 1px solid #1d18bc;
-          border-top-right-radius: 5rem;
-          border-bottom-right-radius: 5rem;
+          border-radius: 8rpx 8rpx 8rpx 8rpx;
         "
         class="btn"
         @click="updown()"
@@ -182,6 +181,7 @@ export default {
       });
     },
     pushIsCheckItem(form) {
+      console.log(form);
       this.tagsList[form.checkIndex].isSelected = true;
       this.tagsList = [...this.tagsList];
       this.isSelectedList.push(form);
@@ -194,6 +194,7 @@ export default {
           tagName: e.tagName,
           id: e.tagCategoryId,
           effectiveDate: e.isEffective == "1" ? e.effectiveDate : "",
+          effectiveEndDate: e.isEffective == "1" ? e.effectiveEndDate : "",
         };
       });
       let data = {
@@ -317,6 +318,7 @@ export default {
     z-index: 1000;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 40%;
     height: 90rpx;
     background: #1d18bc;

+ 81 - 28
pages/subPackages/chosseHouse/chosseHouse.vue

@@ -2,6 +2,20 @@
   <div class="chosseHouse">
     <div class="chosseHouse">
       <div class="form">
+        <div
+          class="closIcon"
+          @click="searchStatus = false"
+          v-if="searchStatus == true"
+        >
+          <van-icon name="arrow-up" />
+        </div>
+        <div
+          class="openIcon"
+          @click="searchStatus = true"
+          v-if="searchStatus == false"
+        >
+          <van-icon name="arrow-down" />
+        </div>
         <van-row>
           <van-col :span="4">
             <div class="label">园区</div>
@@ -40,17 +54,18 @@
           </van-col>
           <van-col class="labelcolmt26 status" :span="20">
             <uni-data-checkbox
+              :map="{ text: 'label', value: 'value' }"
               v-model="form.statusArray"
-              :localdata="statusList"
+              :localdata="dic_SelectList.INVESTMENT_STATUS"
               :multiple="true"
               selectedTextColor="#1D18BC"
-              selectedColor="rgba(29,24,188,0.05);"
+              selectedColor="#1D18BC"
               @change="getSelectedStatus"
             >
             </uni-data-checkbox>
           </van-col>
         </van-row>
-        <van-row>
+        <van-row v-if="searchStatus">
           <van-col class="labelcolmt26" :span="4">
             <div class="label">朝向</div>
           </van-col>
@@ -66,7 +81,7 @@
             </uni-data-checkbox>
           </van-col>
         </van-row>
-        <van-row>
+        <van-row v-if="searchStatus">
           <van-col class="labelcolmt26" :span="6">
             <div class="label">载体性质</div>
           </van-col>
@@ -82,7 +97,7 @@
             </uni-data-checkbox>
           </van-col>
         </van-row>
-        <van-row>
+        <van-row v-if="searchStatus">
           <van-col class="labelcolmt26" :span="5">
             <div class="label">指导价</div>
           </van-col>
@@ -104,7 +119,7 @@
             />
           </van-col>
         </van-row>
-        <van-row>
+        <van-row v-if="searchStatus">
           <van-col class="labelcolmt26" :span="5">
             <div class="label">面积</div>
           </van-col>
@@ -175,7 +190,8 @@
             :key="item.id"
           >
             <div class="cell_0">
-              <van-checkbox :name="item.id"> </van-checkbox>
+              <van-checkbox :name="item.id" :disabled="item.currentState != 1">
+              </van-checkbox>
             </div>
             <div class="cell_1">
               <div class="width100 height44rpx mb8rpx">
@@ -200,7 +216,9 @@
                   装修情况:{{
                     !item.decorationSituation
                       ? "未知"
-                      : item.decorationSituation
+                      : dic_SelectList.DECORATION_SITUATION[
+                          item.decorationSituation - 1
+                        ].label
                   }}
                 </div>
               </div>
@@ -215,20 +233,14 @@
                   朝向:{{ item.roomDirection ? item.roomDirection : "未知" }}
                 </div>
               </div>
-              <div class="width100 height50rpx mb14rpx">
-                <div
-                  class="roomstatus"
-                  v-if="getDicType('zaiti', item.zaitiType)"
-                >
-                  {{ getDicType("zaiti", item.zaitiType) }}
-                </div>
+              <!-- <div class="width100 height50rpx mb14rpx">
                 <div class="roomstatus" v-if="item.currentState == 1">空置</div>
                 <div class="roomstatus" v-if="item.currentState == 2">锁定</div>
                 <div class="roomstatus" v-if="item.currentState == 3">预约</div>
                 <div class="roomstatus" v-if="item.currentState == 4">临期</div>
                 <div class="roomstatus" v-if="item.currentState == 5">已租</div>
                 <div class="roomstatus" v-if="item.currentState == 6">到期</div>
-              </div>
+              </div> -->
               <div class="width100 height36rpx">
                 <div class="float_left chuzu_label">
                   出租指导价(元/㎡/月):
@@ -264,6 +276,7 @@
 import vanTab from "../../../wxcomponents/weapp/dist/tab/index";
 import vanTabs from "../../../wxcomponents/weapp/dist/tabs/index";
 import vanEmpty from "../../../wxcomponents/weapp/dist/empty/index";
+import common from "../../utils/common";
 import {
   findYuanQuList,
   findLongPanList,
@@ -301,9 +314,10 @@ export default {
   name: "chosseHouser.vue",
   data() {
     return {
+      searchStatus: false,
       result: [],
       copy_result: [],
-      dic_key: ["PROPERTY_NATURE", "HOUSE_USAGE"],
+      dic_key: [],
       dic_SelectList: {},
       loudongList: [],
       activezhaoshang: "0",
@@ -450,8 +464,16 @@ export default {
       this.form.total = data.total;
     },
     async getByCodes() {
-      let data = await getByCodes(JSON.stringify(this.dic_key));
-      this.dic_SelectList = this.$common.handleDicList(data);
+      let data = await getByCodes(
+        JSON.stringify([
+          "PROPERTY_NATURE",
+          "HOUSE_USAGE",
+          "DECORATION_SITUATION",
+          "INVESTMENT_STATUS",
+        ])
+      );
+      this.dic_SelectList = common.handleDicList(data);
+      console.log("this.dic_SelectList", this.dic_SelectList);
     },
     onBeforeChange() {
       this.copy_result = [...this.result];
@@ -479,7 +501,6 @@ export default {
     async getSelectedYuanqu() {
       let data = await findLongPanList(this.form.groupIds);
       this.roomList = [];
-
       this.loudongList = [];
       if (data.length > 0) {
         this.loupan_loacldata = data.map((e) => {
@@ -488,10 +509,11 @@ export default {
             text: e.name,
           };
         });
+        this.form.loupan_value = this.loupan_loacldata[0].value;
       } else {
         this.loupan_loacldata = [{ value: null, text: "暂无" }];
       }
-      console.log(this.loupan_loacldata);
+      this.getSelectedLoupan();
     },
     async getSelectedLoupan() {
       try {
@@ -504,12 +526,10 @@ export default {
           this.tabsStatus = !this.tabsStatus;
           return;
         } else {
-          console.log("我tm有数据的", data);
-          this.loudongList = [...data];
-          this.form.mnpBuildingIds = data[0].id;
+          this.loudongList = [{ ldmc: "全部", id: "" }, ...data];
           this.roomList = [];
+          this.form.mnpBuildingIds = "";
         }
-
         let row = await findRoomByCondition(this.form);
         console.log("我是row", row);
         this.roomList = row.rows;
@@ -530,6 +550,8 @@ export default {
           };
         });
         this.yuanqu_loacldata = yuanqu_loacldata;
+        this.form.groupIds = this.yuanqu_loacldata[0].value;
+        this.getSelectedYuanqu();
       });
 
       // console.log(yuanqu_loacldata)
@@ -602,6 +624,34 @@ export default {
   padding: 0 0 0 28rpx !important;
 }
 .chosseHouse {
+  .closIcon {
+    width: 40px;
+    height: 40px;
+    background: white;
+    position: absolute;
+    bottom: -40rpx;
+    z-index: 100;
+    right: 0;
+    left: 0;
+    margin: auto;
+    border-radius: 50%;
+    text-align: center;
+    line-height: 40px;
+  }
+  .openIcon {
+    width: 40px;
+    height: 40px;
+    background: white;
+    position: absolute;
+    bottom: -40rpx;
+    z-index: 100;
+    right: 0;
+    left: 0;
+    margin: auto;
+    border-radius: 50%;
+    text-align: center;
+    line-height: 40px;
+  }
   .search_btn {
     margin-left: 18rpx;
     width: calc(100% - 18rpx);
@@ -615,16 +665,19 @@ export default {
   .btn-view {
     width: 100%;
     height: 100rpx;
-    padding: 20rpx 10%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
     background-color: #ffffff;
     position: fixed;
     bottom: 0;
     left: 0;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
+    // border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
     color: white;
@@ -772,7 +825,7 @@ export default {
     margin: 32rpx;
     background: #ffffff;
     padding: 32rpx;
-
+    position: relative;
     .label {
       height: 53rpx;
       line-height: 53rpx;

+ 29 - 19
pages/subPackages/companyDetails/companyDetails.vue

@@ -8,7 +8,7 @@
               <div class="float_left width80">
                 <div>{{ form.qymc }}</div>
                 <span style="color: #aaaaaa; font-size: 24rpx">
-                  {{ "园区入住时间:" + form.rzsj + 1111 }}
+                  {{ "园区入住时间:" + form.rzsj }}
                 </span>
               </div>
               <div class="width20 float_left">
@@ -24,7 +24,7 @@
           </van-col>
           <van-col :span="24">
             <div
-              class="typestitle width100 mt24rpx mb16rpx border_bottom_ccc fontcolor251FCA"
+              class="typestitle width100 mt24rpx mb16rpx border_bottom_ ccc fontcolor251FCA"
             >
               <div
                 class="float_left"
@@ -82,7 +82,7 @@
             </div>
           </van-col>
           <van-col :span="8">
-            <div class="yongtu_second_title">所属行业</div>
+            <div class="yongtu_second_title">技术领域</div>
             <div class="yongtu_first_title">
               {{ form.industry == null ? "未知" : form.industry }}
             </div>
@@ -91,11 +91,15 @@
         <div
           style="
             border-top: 2rpx solid #cccccc;
-
             font-size: 24rpx;
             color: #777777;
           "
         >
+          <div style="margin: 16rpx 0">
+            行业类别(税务口径){{
+              !form.industryCategory ? "暂无" : form.industryCategory
+            }}
+          </div>
           <div style="margin: 16rpx 0">
             所属楼盘:{{ !form.areaName ? "暂无" : form.areaName }}
           </div>
@@ -246,25 +250,30 @@
                 style="height: 194rpx"
               >
                 <view class="input_title">法人身份证:</view>
-
+                <!-- '../../../static/idzhengmian.png' -->
                 <view class="width100" style="position: relative">
                   <img
                     @click="choosefrsfzh_zhenmian()"
                     :src="
-                      BASE_URI +
-                      '/FileController/download/' +
                       form.frsfzh_zhenmian
+                        ? BASE_URI +
+                          '/FileController/download/' +
+                          form.frsfzh_zhenmian
+                        : '../../../static/idzhengmian.png'
                     "
                     class="idclass margin12rpx float_left"
                     placeholder="请输入"
                   />
 
+                  <!-- ../../../static/idfanmian.png -->
                   <img
                     @click="choosefrsfzh_fanmian()"
                     :src="
-                      BASE_URI +
-                      '/FileController/download/' +
                       form.frsfzh_fanmian
+                        ? BASE_URI +
+                          '/FileController/download/' +
+                          form.frsfzh_fanmian
+                        : '../../../static/idfanmian.png'
                     "
                     class="idclass margin12rpx float_left"
                     placeholder="请输入"
@@ -343,7 +352,6 @@
 
                 <div class="input_value float_left">
                   {{ getDicType("type", form.settleInType) }}
-                  {{ form.settleInType + "123123123" }}
                 </div>
               </view>
 
@@ -366,7 +374,7 @@
                   style="color: #777"
                   class="input_value float_left"
                   placeholder="暂无"
-                  v-model="form.area"
+                  v-model="form.areaName"
                 />
               </view>
 
@@ -428,7 +436,9 @@
               <view class="custom-image-box" style="position: relative">
                 <img
                   :src="
-                    !form.yyzzfbzp || form.yyzzfbzp == 'undefined'
+                    !form.yyzzfbzp ||
+                    form.yyzzfbzp == 'undefined' ||
+                    form.yyzzfbzp == '暂无'
                       ? '../../../static/unuploadzhizhao.png'
                       : BASE_URI + '/FileController/download/' + form.yyzzfbzp
                   "
@@ -646,22 +656,22 @@
                 </div>
               </view>
 
-              <view
+              <!-- <view
                 class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
               >
-                <view class="input_title float_left">是否需要处理:</view>
-                <!-- <input
+                <view class="input_title float_left">是否需要处理:</view> -->
+              <!-- <input
                   disabled="true"
                   style="color: #777"
                   class="input_value float_left"
                   placeholder="暂无"
                   v-model="onetext8172"
                 /> -->
-                <div class="input_value float_left">
+              <!-- <div class="input_value float_left">
                   <span style="color: #777" v-if="item.isStatus == 2">是</span>
                   <span style="color: #777" v-if="item.isStatus == 1">否</span>
                 </div>
-              </view>
+              </view> -->
 
               <view
                 v-if="item.isStatus == 2"
@@ -692,7 +702,7 @@
                   }}
                 </div>
               </view>
-              <div
+              <!-- <div
                 color="#1D18BC"
                 class="dengjibutton"
                 @click="openHandleReportDialog(item)"
@@ -714,7 +724,7 @@
                 "
               >
                 无需处理
-              </div>
+              </div> -->
             </div>
           </uni-collapse-item>
         </uni-collapse>

+ 57 - 6
pages/subPackages/companyDetailsEdit/companyDetailsEdit.vue

@@ -182,7 +182,17 @@
                   />
                 </view>
               </view>
-
+              <view
+                class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
+              >
+                <view class="input_title float_left">主营业务:</view>
+                <input
+                  style="color: #777"
+                  class="input_value float_left"
+                  placeholder="请输入"
+                  v-model="form.business"
+                />
+              </view>
               <view
                 class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height40rpx"
               >
@@ -443,13 +453,52 @@
                 class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
               >
                 <view class="input_title float_left height80rpx"
-                  >拥有知识产权<br />(个数)</view
+                  >发明专利:<br />(件)</view
                 >
                 <input
                   style="color: #777; height: 80rpx; line-height: 80rpx"
                   class="input_value float_left"
-                  placeholder="暂无"
-                  v-model="form.zscqgs"
+                  placeholder="请输入"
+                  v-model="form.inventionPatent"
+                />
+              </view>
+              <view
+                class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+              >
+                <view class="input_title float_left height80rpx"
+                  >软件著作:<br />(件)</view
+                >
+                <input
+                  style="color: #777; height: 80rpx; line-height: 80rpx"
+                  class="input_value float_left"
+                  placeholder="请输入"
+                  v-model="form.softwareWorks"
+                />
+              </view>
+              <view
+                class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+              >
+                <view class="input_title float_left height80rpx"
+                  >实用新型专利:<br />(件)</view
+                >
+                <input
+                  style="color: #777; height: 80rpx; line-height: 80rpx"
+                  class="input_value float_left"
+                  placeholder="请输入"
+                  v-model="form.utilityModel"
+                />
+              </view>
+              <view
+                class="width100 mt24rpx padb24rpx border_bottom_ccc list_date height80rpx"
+              >
+                <view class="input_title float_left height80rpx"
+                  >集成电路布图设计<br />专有权:(件)</view
+                >
+                <input
+                  style="color: #777; height: 80rpx; line-height: 80rpx"
+                  class="input_value float_left"
+                  placeholder="请输入"
+                  v-model="form.integratedCircuit"
                 />
               </view>
               <view
@@ -525,7 +574,7 @@
       </div>
     </div>
     <view class="‘btn-view‘">
-      <button class="btn" @click="edit()">编辑</button>
+      <div class="btn" @click="edit()">编辑</div>
     </view>
     <handle-report ref="handleReport" @changeActive="changeActive" />
     <select-dengjiren
@@ -1096,12 +1145,14 @@ export default {
     left: 0;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
+    // border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
     color: white;
+    text-align: center;
   }
   .detailstitle {
     height: 42rpx;

+ 1 - 0
pages/subPackages/companyDetailsEdit/isSelectedTags.vue

@@ -138,6 +138,7 @@ export default {
   }
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 40%;
   height: 90rpx;
   background: #1d18bc;

+ 2 - 0
pages/subPackages/companyDetailsEdit/momo-multipleSelect.vue

@@ -416,6 +416,7 @@ export default {
   }
 
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 40%;
     height: 90rpx;
     background: #1d18bc;
@@ -445,6 +446,7 @@ export default {
   z-index: 1000;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 40%;
   height: 90rpx;
   background: #1d18bc;

+ 1 - 3
pages/subPackages/companyTagsDelete/componets/chooseTime.vue

@@ -13,9 +13,7 @@
       <div
         class="choostimetitle"
         style="color: #333333; margin-top: 32rpx; border: none"
-      >
-        标签开始生效年月
-      </div>
+      ></div>
       <picker
         mode="date"
         :value="form.effectiveDate"

+ 1 - 0
pages/subPackages/companyTagsDelete/index.vue

@@ -165,6 +165,7 @@ export default {
     z-index: 1000;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 40%;
     height: 90rpx;
     background: #1d18bc;

+ 7 - 2
pages/subPackages/companyreport/companyreport.vue

@@ -58,7 +58,9 @@ export default {
 
   onReachBottom() {
     if (this.active == 1) {
-      this.$refs.reportHistory.getMoreList();
+      const reportHistory = this.$refs.reportHistory;
+      console.log(reportHistory);
+      reportHistory.getMoreListData();
     }
     console.log("滑动到距离底部100px的时候触发,可以放 。。业务逻辑");
   }, //下拉执行的时候触发 (下拉刷新)
@@ -152,7 +154,10 @@ export default {
     border-radius: 0;
   }
   .uni-forms-item {
-    border-bottom: 2rpx solid #cccccc;
+    border-bottom: 2rpx solid #cccccc !important;
+    margin-top: 10rpx !important;
+    margin-bottom: 0rpx !important;
+    padding-bottom: 10rpx !important;
   }
 }
 </style>

+ 233 - 72
pages/subPackages/companyreport/components/goReport.vue

@@ -5,8 +5,28 @@
         ref="baseForm"
         style="font-size: 26rpx"
         :modelValue="form"
-        label-width="170rpx"
+        label-width="160rpx"
       >
+        <uni-forms-item
+          label="走访类型:"
+          class="mt42rpx pd42rpx border_bottom_ccc"
+        >
+          <div style="height: 73rpx; line-height: 73rpx">
+            <picker
+              style="float: left; width: 100%; height: 40rpx; color: #777"
+              :range="dic_SelectList.interviewType"
+              :value="0"
+              @change="bindPickerChange"
+              range-key="label"
+            >
+              {{
+                !form.interviewType
+                  ? "请选择"
+                  : dic_SelectList.interviewType[form.interviewTypeIndex].label
+              }}
+            </picker>
+          </div>
+        </uni-forms-item>
         <uni-forms-item
           label="走访公司"
           class="mt42rpx pd42rpx border_bottom_ccc"
@@ -15,11 +35,7 @@
             @click="chosseAboutCompany()"
             style="height: 73rpx; line-height: 73rpx"
           >
-            {{
-              !form.companyId
-                ? "请选择走访公司"
-                : companyAllList[form.companyIndex].label
-            }}
+            {{ !form.companyName ? "请选择走访公司" : form.companyName }}
           </div>
         </uni-forms-item>
         <uni-forms-item
@@ -42,37 +58,52 @@
             />
           </div>
         </uni-forms-item>
-
         <uni-forms-item
-          label="走访类型:"
+          label="同行人:"
           class="mt42rpx pd42rpx border_bottom_ccc"
         >
-          <div style="height: 73rpx; line-height: 73rpx">
+          <div style="display: flex; justify-content: space-between">
+            <div style="margin-top: 15rpx">
+              <div v-for="(item, index) in isSelectPeers" class="isSelectPeers">
+                {{ item.name }}
+                <icon type="clear" size="18" @click="deletePeer(index)" />
+              </div>
+            </div>
             <picker
-              style="float: left; width: 100%; height: 40rpx; color: #777"
-              :range="dic_SelectList.interviewType"
-              :value="0"
-              @change="bindPickerChange"
-              range-key="label"
+              style="margin-top: 20rpx"
+              @change="selectPeers"
+              :value="index"
+              range-key="truename"
+              :range="peersList"
             >
-              {{
-                !form.interviewType
-                  ? "请选择"
-                  : dic_SelectList.interviewType[form.interviewTypeIndex].label
-              }}
+              <span style="color: #1d18bc">添加</span>
             </picker>
           </div>
         </uni-forms-item>
         <uni-forms-item
-          label="是否需要处理"
+          label="估值:"
+          v-if="form.interviewTypeIndex == 1"
           class="mt42rpx pd42rpx border_bottom_ccc"
         >
-          <div style="height: 73rpx; line-height: 73rpx">
-            <uni-data-checkbox
-              v-model="form.isStatus"
-              :localdata="range"
-              @change="change"
-            ></uni-data-checkbox>
+          <div style="height: 73rpx; display: flex; align-items: center">
+            <input
+              type="number"
+              v-model="form.valuation"
+              placeholder="请输入估值"
+            />
+          </div>
+        </uni-forms-item>
+        <uni-forms-item
+          v-if="form.interviewTypeIndex == 1"
+          label="融资情况"
+          class="mt42rpx pd42rpx border_bottom_ccc"
+        >
+          <div style="height: 73rpx; display: flex; align-items: center">
+            <input
+              type="text"
+              v-model="form.financingSituation"
+              placeholder="请输入融资情况"
+            />
           </div>
         </uni-forms-item>
       </uni-forms>
@@ -83,14 +114,26 @@
         <van-col :span="24"> 走访记录 </van-col>
         <van-col :span="24">
           <div class="margint16rpx">
-            <uni-easyinput
+            <textarea
               type="textarea"
               inputBorder
+              maxlength="5000"
               class="textarea_info"
-              style="background: #f9f9f9; margin-top: 16rpx"
+              autoHeight
+              style="
+                background: #f9f9f9;
+                margin-top: 16rpx;
+                margin-top: 16rpx;
+                border: 1px solid #cccccc;
+                border-radius: 4px;
+                padding: 10rpx;
+                height: auto;
+                min-height: 500rpx;
+                width: 100%;
+              "
               v-model="form.interviewRecord"
               placeholder="请输入"
-            />
+            ></textarea>
           </div>
         </van-col>
       </van-row>
@@ -102,6 +145,7 @@
       </div>
       <uni-easyinput
         v-model="companyName"
+        @input="filtedCompanyAllList"
         placeholder="请输入内容"
       ></uni-easyinput>
       <picker-view
@@ -112,7 +156,7 @@
       >
         <picker-view-column>
           <view
-            v-for="(item, index) in filtedCompanyAllList()"
+            v-for="(item, index) in companyAllList"
             :key="index"
             style="line-height: 50px; text-align: center"
             >{{ item.label }}</view
@@ -121,14 +165,13 @@
       </picker-view>
     </van-popup>
     <view class="btn-view">
-      <button class="btn" @click="takeParamsGoBack(0)">保存</button>
-      <button
+      <div
         class="btn"
         @click="takeParamsGoBack(1)"
-        style="margin-left: 10rpx"
+        style="margin-left: 10rpx; width: 80%"
       >
         添加
-      </button>
+      </div>
     </view>
   </div>
 </template>
@@ -142,6 +185,7 @@ import {
   getBySaveStatus,
   editInterview,
   getCompanyAll,
+  getQyList,
 } from "@/js_sdk/http.js";
 import vanRow from "../../../../wxcomponents/weapp/dist/row";
 import vanCol from "../../../../wxcomponents/weapp/dist/col";
@@ -159,6 +203,7 @@ const form = {
   interviewRecord: "",
   associationCompanyString: [],
 };
+const isSelectPeers = [];
 export default {
   components: {
     vanRow,
@@ -167,6 +212,8 @@ export default {
   },
   data() {
     return {
+      companyAllList: [],
+      isSelectPeers: [],
       companyName: "",
       value: 0,
       isSelectedIndex: null,
@@ -181,6 +228,7 @@ export default {
       companyIndex: null,
       companyAllList: [],
       show: false,
+      peersList: [],
       active: 0,
       form: { ...form },
       index: 0,
@@ -190,55 +238,108 @@ export default {
   mounted() {
     this.getCompanyAll();
     this.getByCodes();
+    this.getQyList();
   },
   methods: {
+    deletePeer(i) {
+      this.isSelectPeers.splice(i, 1);
+    },
+    selectPeers(e) {
+      console.log(this.peersList[e.detail.value]);
+      let data = this.peersList[e.detail.value];
+      console.log(e.detail.value);
+      for (let i = 0; i < this.isSelectPeers.length; i++) {
+        if (data.truename == this.isSelectPeers[i].name) {
+          this.$showToast("请勿重复添加");
+          return;
+        }
+      }
+      this.isSelectPeers.push({ name: data.truename, id: data.id });
+    },
+    async getQyList() {
+      let data = await getQyList();
+      this.peersList = data;
+      console.log("dataadataasfdsagd", data);
+    },
     closePopup() {
       this.show = false;
       this.form.companyIndex = null;
       this.form.companyId = null;
     },
-    filtedCompanyAllList() {
-      let companyAllList;
-      if (this.companyName && this.companyName.length > 0) {
-        companyAllList = this.companyAllList.filter((e) =>
-          e.label.includes(this.companyName)
-        );
-        if (companyAllList.length > 0 && companyAllList[0].value) {
-          let index = this.companyAllList.findIndex(
-            (e) => e.value == companyAllList[0].value
-          );
-          this.form.companyIndex = index;
-          this.form.companyId =
-            this.companyAllList[this.form.companyIndex].value;
-        } else {
-          this.form.companyIndex = null;
-          this.form.companyId = null;
-        }
-      } else {
-        companyAllList = this.companyAllList;
-      }
-      console.log(companyAllList);
+    async filtedCompanyAllList() {
+      // this.value = 0;
+      // this.isSelectedIndex = 0;
+
+      let companyAllList = await getCompanyAll(this.companyName);
+      this.companyAllList = companyAllList.map((e) => {
+        return {
+          label: e.qymc,
+          value: e.id,
+        };
+      });
+
+      console.log("当前的value", this.value);
+      console.log("companyAllList", this.companyAllList);
+      // if (this.companyName && this.companyName.length > 0) {
+      //   // companyAllList = this.companyAllList.filter((e) =>
+      //   //   e.label.includes(this.companyName)
+      //   // );
+
+      //   if (companyAllList.length > 0 && companyAllList[0].value) {
+      //     let index = this.companyAllList.findIndex(
+      //       (e) => e.value == companyAllList[0].value
+      //     );
+      //     this.form.companyIndex = index;
+      //   } else {
+      //     this.form.companyIndex = null;
+      //     this.form.companyId = null;
+      //   }
+      // } else {
+      //   companyAllList = this.companyAllList;
+      // }
       return companyAllList;
     },
     getRowValue(e) {
+      console.log(e);
+      // this.value = e.detail.value[0];
       this.isSelectedIndex = e.detail.value[0];
     },
     getSelectValue() {
-      console.log(this.value);
+      console.log(this.value, "this.value");
+      console.log("this.isSelectedIndex", this.isSelectedIndex);
       if (this.isSelectedIndex == null) {
         this.form.companyIndex = 0;
-        this.form.companyId = this.companyAllList[0].value;
+        this.form.companyId = this.companyAllList[this.value].value;
+        this.form.companyName = this.companyAllList[this.value].label;
+        console.log("11111111", this.form.companyName);
       } else {
-        this.form.companyIndex = this.isSelectedIndex;
-        this.form.companyId = this.companyAllList[this.form.companyIndex].value;
+        let index = this.companyAllList.findIndex(
+          (e) => e.value == this.companyAllList[this.isSelectedIndex].value
+        );
+        this.form.companyIndex = index;
+        this.form.companyId = this.companyAllList[index].value;
+        this.form.companyName = this.companyAllList[index].label;
+        console.log("企业名称", this.form.companyName);
+        console.log("企业id", this.form.companyId);
+        console.log();
       }
-      this.$forceUpdate();
+
       this.show = false;
     },
     changeLog(e) {},
     async getBySaveStatus() {
       const token = uni.getStorageSync("laocui_user_info");
       let data = await getBySaveStatus(JSON.parse(token).user.id);
+      console.log("this.companyAllList", this.companyAllList);
+      let companyIndex = this.companyAllList.findIndex(
+        (e) => e.value == data.companyId
+      );
+      console.log("companyIndex", companyIndex);
+      this.form.valuation = data.valuation;
+      this.form.financingSituation = data.financingSituation;
+
+      this.form.companyName =
+        companyIndex != -1 ? this.companyAllList[companyIndex].label : "";
       this.form.id = data.id ? data.id : null;
       this.form.isStatus = Number(data.isStatus);
       this.form.interviewTime = data.interviewTime ? data.interviewTime : "";
@@ -255,13 +356,22 @@ export default {
       if (data.id && data.companyId != null) {
         this.getCompanyIdByApiList(data);
       }
+      if (data.companionsUserName.length > 0) {
+        let isSelectPeers = data.companionsUserName.split(",").map((e) => {
+          return { name: e };
+        });
+        for (let i = 0; i < data.companionsUserId.split(",").length; i++) {
+          isSelectPeers[i].id = data.companionsUserId.split(",")[i];
+        }
+        console.log("isSelectPeers", isSelectPeers);
+        this.isSelectPeers = isSelectPeers;
+      } else {
+        this.isSelectPeers = [];
+      }
     },
     getCompanyIdByApiList(params) {
       this.form.companyId = params.companyId;
-      console.log(
-        "this.companyAllListthis.companyAllListthis.companyAllList",
-        this.companyAllList
-      );
+
       let companyIndex = this.companyAllList.findIndex(
         (e) => e.value == params.companyId
       );
@@ -279,6 +389,7 @@ export default {
       this.form.interviewTime = e.detail.value;
     },
     async takeParamsGoBack(e) {
+      console.log(this.form);
       const token = uni.getStorageSync("laocui_user_info");
       let data;
       if (e == 1) {
@@ -291,22 +402,62 @@ export default {
         if (this.form.interviewType == null) {
           return this.$showToast("请选择走访类型");
         }
-        if (this.form.isStatus == null) {
-          return this.$showToast("请选择是否需要处理");
-        }
       }
-
-      if (e == 0) {
+      // // console.log(this.form.interviewType);
+      // return;
+      // console.log("this.isSelectPeers", this.isSelectPeers);
+      if (!this.form.valuation) {
+        delete this.form.valuation;
+      }
+      if (!this.form.financingSituation) {
+        delete this.form.financingSituation;
+      }
+      let companionsUserName = this.isSelectPeers
+        .map((e) => {
+          return e.name;
+        })
+        .join();
+      let companionsUserId = this.isSelectPeers
+        .map((e) => {
+          return e.id;
+        })
+        .join();
+      console.log(companionsUserId);
+      // return;
+      if (e == 0 && !this.form.id) {
+        data = await addInterview({
+          ...this.form,
+          companionsUserName: companionsUserName,
+          companionsUserId: companionsUserId,
+          status: e,
+          id: this.form.id == "null" ? "" : this.form.id,
+          createdBy: JSON.parse(token).user.id,
+          InterviewUserId: JSON.parse(token).user.id,
+        });
+      } else if (e == 0 && this.form.id) {
         data = await editInterview({
           ...this.form,
           status: e,
+          companionsUserName: companionsUserName,
+          companionsUserId: companionsUserId,
           createdBy: JSON.parse(token).user.id,
           InterviewUserId: JSON.parse(token).user.id,
         });
-      } else {
+      } else if (e == 1 && this.form.id) {
+        data = await editInterview({
+          ...this.form,
+          status: e,
+          companionsUserName: companionsUserName,
+          companionsUserId: companionsUserId,
+          createdBy: JSON.parse(token).user.id,
+          InterviewUserId: JSON.parse(token).user.id,
+        });
+      } else if (e == 1 && !this.form.id) {
         data = await addInterview({
           ...this.form,
           status: e,
+          companionsUserName: companionsUserName,
+          companionsUserId: companionsUserId,
           createdBy: JSON.parse(token).user.id,
           InterviewUserId: JSON.parse(token).user.id,
         });
@@ -317,6 +468,7 @@ export default {
           this.$emit("changeActive");
           this.$showToast("提交成功");
           this.form = { ...form };
+          this.isSelectPeers = [...isSelectPeers];
         }
         if (e == 0) {
           this.$showToast("保存成功");
@@ -379,14 +531,23 @@ export default {
   left: 0;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 40%;
   height: 90rpx;
   border-radius: 8rpx 8rpx 8rpx 8rpx;
   background: #1d18bc;
   line-height: 90rpx;
   color: white;
+  text-align: center;
   float: left;
 }
+.isSelectPeers {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-bottom: 10rpx;
+  width: 372rpx;
+}
 .gaisideshurukuang {
   font-size: 26rpx !important;
   .is-input-border {
@@ -429,8 +590,8 @@ export default {
     }
     .uni-forms-item {
       border-bottom: 2rpx solid #cccccc !important;
-      margin-top: 42rpx !important;
-      padding-bottom: 42rpx !important;
+      margin-top: 0rpx !important;
+      padding-bottom: 0rpx !important;
     }
   }
 }

+ 237 - 100
pages/subPackages/companyreport/components/reportDetails.vue

@@ -5,7 +5,7 @@
         ref="baseForm"
         style="font-size: 26rpx"
         :modelValue="form"
-        label-width="170rpx"
+        label-width="150rpx"
       >
         <uni-forms-item
           label="走访公司"
@@ -15,18 +15,9 @@
             @click="chosseAboutCompany()"
             style="height: 73rpx; line-height: 73rpx"
           >
-            <picker
-              style="float: left; width: 440rpx; height: 40rpx; color: #777"
-              @change="getCompany"
-              range-key="label"
-              :range="companyAllList"
-            >
-              {{
-                !form.companyId
-                  ? "请选择走访公司"
-                  : companyAllList[form.companyIndex].label
-              }}
-            </picker>
+            <span>
+              {{ !form.companyName ? "请选择走访公司" : form.companyName }}
+            </span>
           </div>
         </uni-forms-item>
         <uni-forms-item
@@ -44,34 +35,52 @@
             </picker>
           </div>
         </uni-forms-item>
-
         <uni-forms-item
-          label="走访类型:"
+          label="同行人"
           class="mt42rpx pd42rpx border_bottom_ccc"
         >
-          <div style="height: 73rpx; line-height: 73rpx">
+          <div style="display: flex; justify-content: space-between">
+            <div style="margin-top: 15rpx">
+              <div v-for="(item, index) in isSelectPeers" class="isSelectPeers">
+                {{ item.name }}
+                <icon type="clear" size="18" @click="deletePeer(index)" />
+              </div>
+            </div>
             <picker
-              style="float: left; width: 100%; height: 40rpx; color: #777"
-              :range="dic_SelectList.interviewType"
-              :value="0"
-              @change="bindPickerChange"
-              range-key="label"
+              style="margin-top: 20rpx"
+              @change="selectPeers"
+              :value="index"
+              range-key="truename"
+              :range="peersList"
             >
-              {{
-                !form.interviewType
-                  ? "请选择"
-                  : dic_SelectList.interviewType[form.interviewTypeIndex].label
-              }}
+              <span style="color: #1d18bc">添加</span>
             </picker>
           </div>
         </uni-forms-item>
         <uni-forms-item
-          label="是否需要处理"
+          v-if="form.interviewType == '上市进展'"
+          label="估值:"
+          class="mt42rpx pd42rpx border_bottom_ccc"
+        >
+          <div style="height: 73rpx; display: flex; align-items: center">
+            <input
+              type="number"
+              v-model="form.valuation"
+              placeholder="请输入估值"
+            />
+          </div>
+        </uni-forms-item>
+        <uni-forms-item
+          v-if="form.interviewType == '上市进展'"
+          label="融资情况"
           class="mt42rpx pd42rpx border_bottom_ccc"
         >
-          <div style="height: 73rpx; line-height: 73rpx; width: 100%">
-            <span style="color: #777" v-if="form.isStatus == 2">是</span>
-            <span style="color: #777" v-if="form.isStatus == 1">否</span>
+          <div style="height: 73rpx; display: flex; align-items: center">
+            <input
+              type="text"
+              v-model="form.financingSituation"
+              placeholder="请输入融资情况"
+            />
           </div>
         </uni-forms-item>
       </uni-forms>
@@ -80,19 +89,28 @@
     <div class="form zoufangjilu" style="margin-bottom: 146rpx">
       <van-row>
         <van-col :span="24"> 走访记录 </van-col>
-        <van-col :span="24">
-          <div class="margint16rpx">
-            <uni-easyinput
-              type="textarea"
-              inputBorder
-              class="textarea_info"
-              style="margin-top: 16rpx"
-              v-model="form.interviewRecord"
-              placeholder="请输入"
-            />
-          </div>
-        </van-col>
       </van-row>
+      <div class="margint16rpx">
+        <textarea
+          type="textarea"
+          inputBorder
+          maxlength="5000"
+          autoHeight
+          class="textarea_info 666"
+          style="
+            margin-top: 16rpx;
+            border: 1px solid #cccccc;
+            border-radius: 4px;
+            padding: 10rpx;
+            min-height: 500rpx;
+            height: auto;
+            width: 97%;
+          "
+          v-model="form.interviewRecord"
+          placeholder="请输入"
+        >
+        </textarea>
+      </div>
       <uni-forms
         v-if="form.isStatus != 1"
         ref="baseForm"
@@ -100,49 +118,6 @@
         :modelValue="form"
         label-width="170rpx"
       >
-        <uni-forms-item
-          label="处理人"
-          class="mt42rpx mb42rpx border_bottom_ccc"
-        >
-          <div style="height: 73rpx; line-height: 73rpx; width: 100%">
-            <input
-              v-model="form.handleUserName"
-              style="
-                height: 73rpx;
-                line-height: 73rpx;
-                width: 100%;
-                color: #777;
-              "
-            />
-            <!-- <span style="color: #777">{{ form.handleUserName }}</span> -->
-          </div>
-        </uni-forms-item>
-        <div style="margin-top: 16rpx">
-          <van-row>
-            <van-col :span="24" style="margin-top: 15rpx"> 处理结果 </van-col>
-            <van-col :span="24">
-              <div class="margint16rpx">
-                <uni-easyinput
-                  type="textarea"
-                  inputBorder
-                  class="textarea_info"
-                  style="margin-top: 16rpx"
-                  v-model="form.handleResult"
-                  placeholder="请输入"
-                />
-              </div>
-            </van-col>
-          </van-row>
-        </div>
-
-        <uni-forms-item
-          label="处理时间"
-          class="mt42rpx pd42rpx border_bottom_ccc"
-        >
-          <div style="height: 73rpx; line-height: 73rpx; width: 100%">
-            <span style="color: #777">{{ form.handleTime }}</span>
-          </div>
-        </uni-forms-item>
       </uni-forms>
     </div>
     <!-- <multiple-select
@@ -154,14 +129,36 @@
         @confirm="confirm"
       ></multiple-select> -->
     <view class="btn-view">
-      <button
-        class="btn"
-        @click="dialogInputConfirm()"
-        style="margin-left: 10rpx"
-      >
+      <div class="btn" @click="dialogInputConfirm()" style="margin-left: 10rpx">
         编辑完成
-      </button>
+      </div>
     </view>
+    <van-popup :show="show" bind:close="onClose" round position="bottom">
+      <div style="display: flex; justify-content: space-between">
+        <div style="margin: 32rpx" @click="closePopup()">取消</div>
+        <div style="margin: 32rpx" @click="getSelectValue()">确认</div>
+      </div>
+      <uni-easyinput
+        v-model="companyName"
+        @input="filtedCompanyAllList"
+        placeholder="请输入内容"
+      ></uni-easyinput>
+      <picker-view
+        indicator-style="height: 50px;"
+        style="width: 100%; height: 300px"
+        @change="getRowValue"
+        :value="value"
+      >
+        <picker-view-column>
+          <view
+            v-for="(item, index) in companyAllList"
+            :key="index"
+            style="line-height: 50px; text-align: center"
+            >{{ item.label }}</view
+          >
+        </picker-view-column>
+      </picker-view>
+    </van-popup>
   </div>
 </template>
     
@@ -175,6 +172,7 @@ import {
   editInterview,
   getCompanyAll,
   getInterviewDetails,
+  getQyList,
 } from "@/js_sdk/http.js";
 import vanRow from "../../../../wxcomponents/weapp/dist/row";
 import vanCol from "../../../../wxcomponents/weapp/dist/col";
@@ -201,6 +199,7 @@ export default {
   data() {
     return {
       id: "",
+      isSelectPeers: [],
       isStatus: 2,
       range: [
         { value: 2, text: "是" },
@@ -216,16 +215,127 @@ export default {
       active: 0,
       form: { ...form },
       index: 0,
+      companyName: "",
+      value: 0,
+      peersList: [],
+      companyAllList: [],
     };
   },
   onLoad: function (option) {
     this.getCompanyAll();
     this.id = option.id; //打印出上个页面传递的参数。\
     this.getByCodes();
+    this.getQyList();
   },
   methods: {
+    getRowValue(e) {
+      console.log(e);
+      this.isSelectedIndex = e.detail.value[0];
+    },
+    closePopup() {
+      this.show = false;
+      this.form.companyIndex = null;
+      this.form.companyId = null;
+    },
+    getSelectValue() {
+      console.log(this.value, "this.value");
+      console.log("this.isSelectedIndex", this.isSelectedIndex);
+      if (this.isSelectedIndex == null) {
+        this.form.companyIndex = 0;
+        this.form.companyId = this.companyAllList[this.value].value;
+        this.form.companyName = this.companyAllList[this.value].label;
+        console.log("11111111", this.form.companyName);
+      } else {
+        let index = this.companyAllList.findIndex(
+          (e) => e.value == this.companyAllList[this.isSelectedIndex].value
+        );
+        this.form.companyIndex = index;
+        this.form.companyId = this.companyAllList[index].value;
+        this.form.companyName = this.companyAllList[index].label;
+        console.log("企业名称", this.form.companyName);
+        console.log("企业id", this.form.companyId);
+        console.log();
+      }
+
+      this.show = false;
+    },
+    async filtedCompanyAllList() {
+      // this.value = 0;
+      // this.isSelectedIndex = 0;
+
+      let companyAllList = await getCompanyAll(this.companyName);
+      this.companyAllList = companyAllList.map((e) => {
+        return {
+          label: e.qymc,
+          value: e.id,
+        };
+      });
+
+      console.log("当前的value", this.value);
+      console.log("companyAllList", this.companyAllList);
+      // if (this.companyName && this.companyName.length > 0) {
+      //   // companyAllList = this.companyAllList.filter((e) =>
+      //   //   e.label.includes(this.companyName)
+      //   // );
+
+      //   if (companyAllList.length > 0 && companyAllList[0].value) {
+      //     let index = this.companyAllList.findIndex(
+      //       (e) => e.value == companyAllList[0].value
+      //     );
+      //     this.form.companyIndex = index;
+      //   } else {
+      //     this.form.companyIndex = null;
+      //     this.form.companyId = null;
+      //   }
+      // } else {
+      //   companyAllList = this.companyAllList;
+      // }
+      return companyAllList;
+    },
+    async getQyList() {
+      let data = await getQyList();
+      this.peersList = data;
+      console.log("dataadataasfdsagd", data);
+    },
+    deletePeer(i) {
+      this.isSelectPeers.splice(i, 1);
+    },
+    selectPeers(e) {
+      console.log(this.peersList[e.detail.value]);
+      let data = this.peersList[e.detail.value];
+      console.log(e.detail.value);
+      for (let i = 0; i < this.isSelectPeers.length; i++) {
+        if (data.truename == this.isSelectPeers[i].name) {
+          this.$showToast("请勿重复添加");
+          return;
+        }
+      }
+      this.isSelectPeers.push({ name: data.truename, id: data.id });
+    },
     async dialogInputConfirm() {
-      let data = await editInterview({ ...this.form });
+      for (const key in this.form) {
+        console.log(this.form[key]);
+        if (!this.form[key]) {
+          delete this.form[key];
+        }
+      }
+      console.log("this.isSelectPeers", this.isSelectPeers);
+      let companionsUserName = this.isSelectPeers
+        .map((e) => {
+          return e.name;
+        })
+        .join();
+      let companionsUserId = this.isSelectPeers
+        .map((e) => {
+          return e.id;
+        })
+        .join();
+      console.log(companionsUserId);
+      let data = await editInterview({
+        ...this.form,
+        companionsUserName: companionsUserName,
+        companionsUserId: companionsUserId,
+      });
       if (data.code == 200) {
         this.$showToast("修改成功");
         uni.navigateBack({});
@@ -239,6 +349,23 @@ export default {
         interviewType: this.form.interviewType,
       });
       this.form.isStatus = detail.isStatus;
+      console.log(
+        "detail.companionsUserName.split()",
+        detail.companionsUserName.split()
+      );
+      if (detail.companionsUserName.length > 0) {
+        let isSelectPeers = detail.companionsUserName.split(",").map((e) => {
+          return { name: e };
+        });
+        console.log("isSelectPeers", isSelectPeers);
+        for (let i = 0; i < detail.companionsUserId.split(",").length; i++) {
+          isSelectPeers[i].id = detail.companionsUserId.split(",")[i];
+        }
+        console.log(this.isSelectPeers);
+        this.isSelectPeers = isSelectPeers;
+      } else {
+        this.isSelectPeers = [];
+      }
     },
 
     getCompanyIdByApiList(params) {
@@ -276,12 +403,7 @@ export default {
         if (this.form.interviewTime == null || this.form.interviewTime == "") {
           return this.$showToast("请选择走访时间");
         }
-        if (this.form.interviewType == null) {
-          return this.$showToast("请选择走访类型");
-        }
-        if (this.form.isStatus == null) {
-          return this.$showToast("请选择是否需要处理");
-        }
+
         data = await addInterview({
           ...this.form,
           status: e,
@@ -345,9 +467,20 @@ export default {
     
     <style lang="scss">
 .gaisideshurukuang {
+  .textheighet {
+    height: auto;
+  }
+  .isSelectPeers {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    margin-bottom: 10rpx;
+    width: 372rpx;
+  }
   .btn-view {
     width: 100%;
     height: 100rpx;
+
     padding: 20rpx 10%;
     background-color: #ffffff;
     position: fixed;
@@ -355,9 +488,11 @@ export default {
     left: 0;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
+    text-align: center;
+    // border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
     color: white;
@@ -385,9 +520,11 @@ export default {
   left: 0;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 80%;
   height: 90rpx;
-  border-radius: 50rpx 50rpx 50rpx 50rpx;
+  text-align: center;
+  // border-radius: 50rpx 50rpx 50rpx 50rpx;
   background: #1d18bc;
   line-height: 90rpx;
   color: white;

+ 35 - 14
pages/subPackages/companyreport/components/reportHistory.vue

@@ -10,17 +10,19 @@
         <div class="cell_1 width100">
           <div class="width100 height44rpx mb8rpx">
             <div class="report_title" @click="jumpDetailsPage(item, item.id)">
-              走访类型:
-
-              {{ getDicType(item.interviewType) }}
+              {{ item.companyName }}
             </div>
           </div>
-          <div class="width100 height40rpx mb8rpx border_bottom_f5f5f5">
-            <div class="second_title height40rpx">
-              是否需要处理:
-              {{ item.isStatus == "1" ? "否" : "是" }}
+          <div class="width100 height44rpx mb8rpx">
+            <div class="report_title" @click="jumpDetailsPage(item, item.id)">
+              走访类型:{{ getDicType(item.interviewType) }}
             </div>
           </div>
+          <!-- <div class="width100 height40rpx mb8rpx border_bottom_f5f5f5">
+            <div class="second_title height40rpx">
+              是否需要处理:{{ item.isStatus == "1" ? "否" : "是" }}
+            </div>
+          </div> -->
           <div
             class="width60 float_left list_date height40rpx lh40rpx margint8rpx"
           >
@@ -35,7 +37,7 @@
               )
             "
           >
-            <van-button
+            <!-- <van-button
               color="#1D18BC"
               class="colorfffff height40rpx float_right"
               size="mini"
@@ -43,7 +45,7 @@
               @click="openHandleReportDialog(item)"
             >
               处理登记
-            </van-button>
+            </van-button> -->
           </div>
         </div>
       </div>
@@ -66,7 +68,11 @@ import vanButton from "../../../../wxcomponents/weapp/dist/button/index";
 import vanEmpty from "../../../../wxcomponents/weapp/dist/empty/index";
 import vanDivider from "../../../../wxcomponents/weapp/dist/divider/index";
 import handleReport from "./handlereport.vue";
-import { getInterviewList, getByCodes } from "@/js_sdk/http.js";
+import {
+  getInterviewList,
+  getByCodes,
+  getUserLocalStorageInfo,
+} from "@/js_sdk/http.js";
 const form = {
   status: [],
   chaoxiang: [],
@@ -109,6 +115,10 @@ export default {
     };
   },
   mounted() {
+    this.search.interviewUserId =
+      getUserLocalStorageInfo().user.id == 1
+        ? ""
+        : getUserLocalStorageInfo().user.id;
     this.getInterviewList();
     this.getByCodes();
 
@@ -116,10 +126,16 @@ export default {
     // this.getByCodes()
   },
   onLoad() {
+    this.search.interviewUserId =
+      getUserLocalStorageInfo().user.id == 1
+        ? ""
+        : getUserLocalStorageInfo().user.id;
     this.getInterviewList();
   },
+
   methods: {
     jumpDetailsPage(item, id) {
+      console.log(item);
       if (item.isStatus == 2 && !item.handleUserName && !item.handleResult) {
         return;
       }
@@ -131,7 +147,8 @@ export default {
     changeActive() {
       this.$emit("changeActive");
       const token = uni.getStorageSync("laocui_user_info");
-      this.search.createdBy = JSON.parse(token).user.id;
+      this.search.createdBy =
+        JSON.parse(token).user.id == 1 ? "" : JSON.parse(token).user.id;
       this.getInterviewList();
       this.getByCodes();
     },
@@ -144,9 +161,12 @@ export default {
       if (!value) return;
 
       let interviewType = this.dic_SelectList.interviewType;
-      console.log(interviewType);
       let index = interviewType.findIndex((e) => e.value == value);
-      if (index != -1) return interviewType[index].label;
+      if (index != -1) {
+        return interviewType[index].label;
+      } else {
+        return "";
+      }
     },
     async getMoreListData() {
       let that = this;
@@ -165,7 +185,8 @@ export default {
 
     async getInterviewList() {
       const token = uni.getStorageSync("laocui_user_info");
-      this.search.createdBy = JSON.parse(token).user.id;
+      this.search.createdBy =
+        JSON.parse(token).user.id == 1 ? "" : JSON.parse(token).user.id;
       this.search.pageNum = 1;
       this.search.pageSize = 10;
       this.search.total = 0;

+ 234 - 96
pages/subPackages/housedetails/housedetails.vue

@@ -1,24 +1,5 @@
 <template>
   <div class="housedetails" style="padding-bottom: 500rpx">
-    <div class="content" v-if="planPictureList.length != 0">
-      <uni-swiper-dot
-        class="uni-swiper-dot-box"
-        @clickItem="clickItem"
-        :info="info"
-        :current="current"
-        :mode="mode"
-        :dots-styles="dotsStyles"
-        field="content"
-      >
-        <swiper class="swiper-box" @change="change" :current="swiperDotIndex">
-          <swiper-item v-for="(item, index) in planPictureList" :key="index">
-            <view class="swiper-item" :class="'swiper-item' + index">
-              <img :src="item.url" alt="" style="width: 100%; height: 100%" />
-            </view>
-          </swiper-item>
-        </swiper>
-      </uni-swiper-dot>
-    </div>
     <div class="list-row">
       <div class="cell_1">
         <div class="width100 mb8rpx">
@@ -28,37 +9,68 @@
             }}
           </div>
         </div>
-        <div class="width100 mb8rpx height50rpx chuzuborder">
-          <div class="float_left chuzu_label">出租指导价(元/㎡/月):</div>
-          <div class="float_left chuzu_vlaue">
-            {{ form.guidePrice }}
+        <div class="width100 mb8rpx chuzuborder">
+          <div style="display: flex">
+            <div class="float_left chuzu_label">出租指导价(元/㎡/月):</div>
+            <div class="float_left chuzu_vlaue">
+              {{ form.guidePrice ? form.guidePrice : "未知" }}
+            </div>
+          </div>
+          <div style="display: flex">
+            <div class="float_left">承重:</div>
+            <div class="float_left chuzu_vlaue">
+              {{ form.bearing ? form.bearing : "未知" }}
+            </div>
+          </div>
+          <div style="display: flex">
+            <div class="float_left">层高:</div>
+            <div
+              class="float_left chuzu_vlaue"
+              style="white-space: normal; width: auto"
+            >
+              {{ form.floorHeight ? form.floorHeight : "未知" }}
+            </div>
+          </div>
+          <div style="display: flex">
+            <div class="float_left">用电:</div>
+            <div class="float_left chuzu_vlaue">
+              {{ form.electricity ? form.electricity : "未知" }}
+            </div>
+          </div>
+          <div style="display: flex; margin: 20rpx 0">
+            <div class="roomstatus">
+              {{
+                form.propertyNature
+                  ? getDicType("zaiti", form.propertyNature)
+                  : "暂无"
+              }}
+            </div>
+            <div class="roomstatus" v-if="form.currentState == '1'">空置</div>
+            <div class="roomstatus" v-if="form.currentState == '2'">锁定</div>
+            <div class="roomstatus" v-if="form.currentState == '3'">预约</div>
+            <div class="roomstatus" v-if="form.currentState == '4'">临期</div>
+            <div class="roomstatus" v-if="form.currentState == '5'">已租</div>
+            <div class="roomstatus" v-if="form.currentState == '6'">到期</div>
           </div>
         </div>
         <div class="width100 pdt32 pdb32 chuzuborder">
           <van-row>
-            <van-col :span="6">
+            <van-col :span="8">
               <div class="yongtu_first_title">
-                {{ getDicType("roomUse", form.roomUse) }}
-              </div>
-              <div class="yongtu_second_title">用途</div>
-            </van-col>
-            <van-col :span="6">
-              <div class="yongtu_first_title over_hidden textflow">
                 {{
-                  form.decorationSituation ? form.decorationSituation : "暂无"
+                  form.roomUse ? getDicType("roomUse", form.roomUse) : "暂无"
                 }}
-
-                <!--							decorationSituation-->
               </div>
-              <div class="yongtu_second_title">装修情况</div>
+              <div class="yongtu_second_title">用途</div>
             </van-col>
-            <van-col :span="6">
+
+            <van-col :span="8">
               <div class="yongtu_first_title">
                 {{ form.direction ? form.direction : "暂无" }}
               </div>
               <div class="yongtu_second_title">朝向</div>
             </van-col>
-            <van-col :span="6">
+            <van-col :span="8">
               <div class="yongtu_first_title">
                 {{ form.size ? form.size : "暂无" }}
               </div>
@@ -66,33 +78,83 @@
             </van-col>
           </van-row>
         </div>
-        <div class="width100 pdt32 height50rpx pdb32 chuzuborder">
-          <div class="roomstatus">
-            {{ getDicType("zaiti", form.propertyNature) }}
-          </div>
-          <div class="roomstatus" v-if="form.currentState == '1'">空置</div>
-          <div class="roomstatus" v-if="form.currentState == '2'">锁定</div>
-          <div class="roomstatus" v-if="form.currentState == '3'">预约</div>
-          <div class="roomstatus" v-if="form.currentState == '4'">临期</div>
-          <div class="roomstatus" v-if="form.currentState == '5'">已租</div>
-          <div class="roomstatus" v-if="form.currentState == '6'">到期</div>
-        </div>
+        <!-- <div class="width100 pdt32 height50rpx pdb32 chuzuborder">
+
+        </div> -->
         <div class="width100 pdt32 pdb32 chuzuborder">
           <van-row>
-            <van-col :span="4">
-              <div style="white-space: nowrap">说明</div>
+            <van-col :span="5">
+              <div style="white-space: nowrap">装修情况</div>
             </van-col>
-            <van-col :span="20">
-              <span>{{ form.remark ? form.remark : "暂无" }}</span>
+            <van-col :span="19">
+              <span>
+                {{
+                  !form.decorationSituation ||
+                  form.decorationSituation == "暂无"
+                    ? "未知"
+                    : dic_SelectList.DECORATION_SITUATION[
+                        form.decorationSituation - 1
+                      ].label
+                }}
+              </span>
             </van-col>
           </van-row>
         </div>
       </div>
     </div>
+
     <div class="project-column pdt32 pdl32 pdr32">
-      <div class="pdb16 chuzuborder">关联项目</div>
+      <div class="pdb16 chuzuborder">房型图</div>
+    </div>
+    <div class="housepicture">
+      <img
+        class="picList"
+        v-if="planPictureList.length > 0"
+        @click="previewImage(item.url)"
+        v-for="(item, index) in planPictureList"
+        :key="index"
+        :src="item.url"
+        alt=""
+      />
+      <div class="housepicture">
+        <van-empty
+          v-if="planPictureList.length == 0"
+          style="width: 100%"
+          image="error"
+          description="暂无房型图"
+        />
+      </div>
     </div>
-    <div class="list-row" v-for="item in list">
+
+    <div class="project-column pdt32 pdl32 pdr32">
+      <div class="pdb16 chuzuborder">室外环境</div>
+    </div>
+    <div class="housepicture">
+      <img
+        class="picList"
+        v-if="environmentPictureList.length != 0"
+        @click="previewImage1(item.url)"
+        v-for="(item, index) in environmentPictureList"
+        :key="index"
+        :src="item.url"
+        alt=""
+      />
+      <van-empty
+        v-if="environmentPictureList.length == 0"
+        style="width: 100%"
+        image="error"
+        description="暂无室外环境图"
+      />
+    </div>
+
+    <div class="project-column pdt32 pdl32 pdr32">
+      <div class="pdb16 chuzuborder">已锁定项目</div>
+    </div>
+
+    <div class="list-row" v-if="list.length == 0">
+      <van-empty style="width: 100%" image="error" description="暂未锁定" />
+    </div>
+    <div v-if="list.length > 0" class="list-row" v-for="item in list">
       <div class="cell_1">
         <div class="width100 height44rpx mb8rpx">
           <div class="first_title float_left chaochuyincang">
@@ -101,15 +163,15 @@
           <div class="width20 float_left">
             <div
               class="button_primary float_right"
-              v-if="item.reservationStatus == '1'"
+              v-if="item.reservationStatus == 2"
             >
-              空置
+              锁定
             </div>
             <div
               class="button_primary float_right"
-              v-if="item.reservationStatus == '2'"
+              v-if="item.reservationStatus == 7"
             >
-              锁
+              已解
             </div>
             <div
               class="button_primary float_right"
@@ -137,18 +199,10 @@
             </div>
           </div>
         </div>
+
         <div class="width100 height44rpx mb8rpx">
           <div class="second_title width100">
-            企业名称:{{
-              !item.companyId || item.companyId == null
-                ? "未知"
-                : item.companyId
-            }}
-          </div>
-        </div>
-        <div class="width100 height44rpx mb8rpx">
-          <div class="second_title width100">
-            招商联系人:{{ item.projectManager }}
+            联系人:{{ item.projectManager }}
           </div>
         </div>
         <div class="width100 height44rpx mb8rpx">
@@ -164,12 +218,15 @@
       </div>
     </div>
     <view class="btn-view">
-      <button
+      <div
+        v-if="form.currentState == '1'"
         class="btn"
         @click="jumpCreatedProject()"
-        style="margin-left: 10rpx"
       >
-        创建项目
+        去预约
+      </div>
+      <button class="btn btn-disable" v-else @click="jumpCreatedProject()">
+        去预约
       </button>
     </view>
   </div>
@@ -181,7 +238,7 @@ export default {
   components: {},
   data() {
     return {
-      dic_key: ["PROPERTY_NATURE", "HOUSE_USAGE"],
+      dic_key: ["PROPERTY_NATURE", "HOUSE_USAGE", "DECORATION_SITUATION"],
       dic_SelectList: {},
       search: {
         pageSize: 10,
@@ -190,6 +247,7 @@ export default {
       form: {
         id: "",
       },
+      roomId: "",
       list: [],
       info: [
         {
@@ -237,6 +295,7 @@ export default {
       mode: "default",
       dotsStyles: {},
       planPictureList: [],
+      environmentPictureList: [],
       swiperDotIndex: 0,
     };
   },
@@ -245,30 +304,98 @@ export default {
     this.form.id = options.id;
     getRoomInfo(options.id).then((e) => {
       this.form = e;
+      this.roomId = e.id;
       this.form.currentState = options.currentState;
-      console.log(e.planPicture.split(","));
-      if (e.planPicture.length != 0) {
-        this.planPictureList = e.planPicture.split(",").map((e) => {
-          return {
-            url: this.$constant.BASE_URI + "/FileController/download/" + e,
-          };
-        });
+      console.log(e.planPicture);
+      if (e.planPicture && e.planPicture.length != 0) {
+        this.planPictureList = e.planPicture
+          .split(",")
+          .filter((e) => e.length > 0)
+          .map((e) => {
+            console.log(e.length);
+            return {
+              isShow: e.length == 0 ? false : true,
+              url: this.$constant.BASE_URI + "/FileController/download/" + e,
+            };
+          });
       } else {
         this.planPictureList = [];
       }
+      if (e.environmentPicture && e.environmentPicture.length != 0) {
+        this.environmentPictureList = e.environmentPicture
+          .split(",")
+          .filter((e) => e.length > 0)
+          .map((e) => {
+            return {
+              isShow: e.length == 0 ? false : true,
+              url: this.$constant.BASE_URI + "/FileController/download/" + e,
+            };
+          });
+      } else {
+        this.environmentPictureList = [];
+      }
+      listByModel({ parkRoomId: this.form.id, ...this.search }).then((e) => {
+        this.list = e;
+        console.log(this.list);
+      });
     });
     //
     console.log({ id: this.form.id, ...this.search });
-    listByModel({ id: options.id, ...this.search }).then((e) => {
-      this.list = e.rows;
-    });
   },
   methods: {
-    jumpCreatedProject() {
-      uni.navigateTo({
-        url: "/pages/subPackages/addintention/addintention?ids=" + this.form.id,
+    previewImage(url = null) {
+      let pictureList = [];
+      for (let i = 0; i < this.planPictureList.length; i++) {
+        if (this.planPictureList[i].isShow) {
+          pictureList.push(this.planPictureList[i].url);
+        }
+      }
+      console.log(pictureList);
+      uni.previewImage({
+        urls: pictureList, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+        current: url, // 当前显示图片的http链接,默认是第一个
+        success: function (res) {
+          console.log(res);
+        },
+        fail: function (res) {},
+        complete: function (res) {
+          console.log(res);
+        },
+      });
+    },
+    previewImage1(url = null) {
+      let pictureList = [];
+      for (let i = 0; i < this.environmentPictureList.length; i++) {
+        if (this.environmentPictureList[i].isShow) {
+          pictureList.push(this.environmentPictureList[i].url);
+        }
+      }
+      console.log(pictureList);
+      uni.previewImage({
+        urls: pictureList, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+        current: url, // 当前显示图片的http链接,默认是第一个
+        success: function (res) {
+          console.log(res);
+        },
+        fail: function (res) {},
+        complete: function (res) {
+          console.log(res);
+        },
       });
     },
+    jumpCreatedProject() {
+      if (this.form.currentState != 1) {
+        this.$showToast("该房源已锁定不能预约");
+      } else {
+        uni.navigateTo({
+          url:
+            "/pages/subPackages/addintention/addintention?ids=" +
+            this.form.id +
+            "&status=" +
+            this.form.currentState,
+        });
+      }
+    },
     getDicType(type, value) {
       if (type == "zaiti" && this.dic_SelectList.PROPERTY_NATURE) {
         let PROPERTY_NATURE = this.dic_SelectList.PROPERTY_NATURE;
@@ -285,16 +412,6 @@ export default {
       let data = await getByCodes(JSON.stringify(this.dic_key));
       this.dic_SelectList = this.$common.handleDicList(data);
     },
-    getMoreListByModel() {
-      listByModel({ id: this.form.id, ...this.search }).then((e) => {
-        this.list.push(...e.rows);
-      });
-    },
-    onReachBottom() {
-      this.search.pageNum += 1;
-      this.getMoreListByModel();
-      console.log("滑动到距离底部100px的时候触发,可以放 。。业务逻辑");
-    }, //下拉执行的时候触发 (下拉刷新)
 
     change(e) {
       this.current = e.detail.current;
@@ -346,14 +463,20 @@ export default {
     left: 0;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 75%;
     height: 90rpx;
+    text-align: center;
     border-radius: 8rpx 8rpx 8rpx 8rpx;
     background: #1d18bc;
     line-height: 90rpx;
+    margin-top: 10rpx;
     color: white;
     float: left;
   }
+  .btn-disable {
+    background: #cccccc;
+  }
   .over_hidden {
     overflow: hidden;
   }
@@ -410,7 +533,7 @@ export default {
     float: left;
   }
   .chuzu_label {
-    width: 312rpx;
+    // width: 312rpx;
     height: 36rpx;
     font-size: 26rpx;
     font-family: PingFang SC-Medium, PingFang SC;
@@ -419,7 +542,7 @@ export default {
     line-height: 36rpx;
   }
   .chuzuborder {
-    border-bottom: 2px solid #cccccc;
+    border-bottom: 1rpx solid #cccccc;
   }
   .chuzu_vlaue {
     width: 86rpx;
@@ -439,6 +562,21 @@ export default {
     //height: 278rpx;
     border-radius: 8rpx 8rpx 8rpx 8rpx;
   }
+  .housepicture {
+    width: calc(100% - 64rpx);
+    padding: 16rpx 32rpx 18rpx 32rpx;
+    background: #ffffff;
+    margin-bottom: 16rpx;
+    display: flex;
+    //height: 278rpx;
+    flex-wrap: wrap;
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
+    .picList {
+      height: 200rpx;
+      width: 600rpx;
+      flex: 0 0 calc(100% / 3);
+    }
+  }
   .mb8rpx {
     margin-bottom: 8rpx;
   }

+ 1 - 0
pages/subPackages/meetingroom/audit.vue

@@ -321,6 +321,7 @@ export default {
     -ms-flex-pack: center;
     justify-content: center;
     .btn {
+      border-radius: 8rpx 8rpx 8rpx 8rpx;
       height: 100%;
       line-height: 100rpx;
 

+ 1 - 0
pages/subPackages/meetingroom/confirm.vue

@@ -432,6 +432,7 @@ export default {
     -ms-flex-pack: center;
     justify-content: center;
     .btn {
+      border-radius: 8rpx 8rpx 8rpx 8rpx;
       height: 100%;
       line-height: 125rpx;
 

+ 162 - 71
pages/subPackages/merchants/components/housemanger.vue

@@ -1,7 +1,21 @@
 <template>
   <div class="housemange">
     <div class="form">
-      <van-row>
+      <div
+        class="closIcon"
+        @click="searchStatus = false"
+        v-if="searchStatus == true"
+      >
+        <van-icon name="arrow-up" />
+      </div>
+      <div
+        class="openIcon"
+        @click="searchStatus = true"
+        v-if="searchStatus == false"
+      >
+        <van-icon name="arrow-down" />
+      </div>
+      <!-- <van-row>
         <van-col :span="4">
           <div class="yuanqu_label">园区</div>
         </van-col>
@@ -16,14 +30,14 @@
           >
           </uni-data-checkbox>
         </van-col>
-      </van-row>
+      </van-row> -->
       <van-row v-if="form.groupIds != null">
         <van-col :span="4">
-          <div class="yuanqu_label">楼盘</div>
+          <div>楼盘</div>
         </van-col>
         <van-col class="labelcolmt26" :span="20">
           <uni-data-checkbox
-            v-model="form.loupan_value"
+            v-model="form.parkFloorDiscIds"
             mode="tag"
             :localdata="loupan_loacldata"
             selectedTextColor="#1D18BC"
@@ -35,14 +49,13 @@
       </van-row>
       <van-row>
         <van-col class="labelcolmt26" :span="4">
-          <div class="yuanqu_label" style="height: 37rpx; line-height: 37rpx">
-            状态
-          </div>
+          <div style="height: 37rpx; line-height: 37rpx">状态</div>
         </van-col>
         <van-col class="labelcolmt26 status" :span="20">
           <uni-data-checkbox
+            :map="{ text: 'label', value: 'value' }"
             v-model="form.statusArray"
-            :localdata="statusList"
+            :localdata="dic_SelectList.INVESTMENT_STATUS"
             :multiple="true"
             selectedTextColor="#1D18BC"
             selectedColor="#1D18BC"
@@ -51,7 +64,7 @@
           </uni-data-checkbox>
         </van-col>
       </van-row>
-      <van-row>
+      <van-row v-if="searchStatus">
         <van-col class="labelcolmt26" :span="4">
           <div class="yuanqu_label" style="height: 37rpx; line-height: 37rpx">
             朝向
@@ -69,9 +82,9 @@
           </uni-data-checkbox>
         </van-col>
       </van-row>
-      <van-row>
-        <van-col class="labelcolmt26" :span="6">
-          <div class="yuanqu_label">载体性质</div>
+      <van-row v-if="searchStatus">
+        <van-col class="labelcolmt26" :span="4">
+          <div class="yuanqu_label">性质</div>
         </van-col>
         <van-col class="labelcolmt26" :span="16">
           <uni-data-checkbox
@@ -85,15 +98,15 @@
           </uni-data-checkbox>
         </van-col>
       </van-row>
-      <van-row>
-        <van-col class="labelcolmt26" :span="5">
+      <van-row v-if="searchStatus">
+        <van-col class="labelcolmt26" :span="4">
           <div class="yuanqu_label">指导价</div>
         </van-col>
         <van-col class="labelcolmt26" :span="9">
           <input
             v-model="form.guidePrice1"
             type="number"
-            placeholder="最低价"
+            placeholder="元/㎡/月"
           />
         </van-col>
         <van-col :span="1">
@@ -103,30 +116,22 @@
           <input
             v-model="form.guidePrice2"
             type="number"
-            placeholder="最高价"
+            placeholder="元/㎡/月"
           />
         </van-col>
       </van-row>
-      <van-row>
-        <van-col class="labelcolmt26" :span="5">
+      <van-row v-if="searchStatus">
+        <van-col class="labelcolmt26" :span="4">
           <div class="yuanqu_label">面积</div>
         </van-col>
         <van-col class="labelcolmt26" :span="9">
-          <input
-            v-model="form.roomSize1"
-            type="number"
-            placeholder="最小面积"
-          />
+          <input v-model="form.roomSize1" type="number" placeholder="㎡" />
         </van-col>
         <van-col :span="1">
           <div class="width100 txt_center">-</div>
         </van-col>
         <van-col class="labelcolmt26" :span="9">
-          <input
-            v-model="form.roomSize2"
-            type="number"
-            placeholder="最大面积"
-          />
+          <input v-model="form.roomSize2" type="number" placeholder="㎡" />
         </van-col>
       </van-row>
       <div style="margin-top: 16rpx">
@@ -185,6 +190,11 @@
         :key="index"
         @click="jumpPage(item.id, item.currentState)"
       >
+        <div class="statusTag">
+          <div class="tagText">
+            {{ getCurrentState(item.currentState) }}
+          </div>
+        </div>
         <div class="cell_1">
           <div class="width100 height44rpx mb8rpx">
             <div class="first_title">
@@ -202,8 +212,13 @@
               }}
             </div>
             <div class="second_title_1 width50 chaochuyincang">
-              装修情况:{{
-                !item.decorationSituation ? "未知" : item.decorationSituation
+              装修情况:
+              {{
+                !item.decorationSituation && item.decorationSituation != "暂无"
+                  ? "未知"
+                  : dic_SelectList.DECORATION_SITUATION[
+                      item.decorationSituation - 1
+                    ].label
               }}
             </div>
           </div>
@@ -217,17 +232,6 @@
               朝向:{{ item.roomDirection ? item.roomDirection : "未知" }}
             </div>
           </div>
-          <div class="width100 height50rpx mb14rpx">
-            <div class="roomstatus" v-if="getDicType('zaiti', item.zaitiType)">
-              {{ getDicType("zaiti", item.zaitiType) }}
-            </div>
-            <div class="roomstatus" v-if="item.currentState == 1">空置</div>
-            <div class="roomstatus" v-if="item.currentState == 2">锁定</div>
-            <div class="roomstatus" v-if="item.currentState == 3">预约</div>
-            <div class="roomstatus" v-if="item.currentState == 4">临期</div>
-            <div class="roomstatus" v-if="item.currentState == 5">已租</div>
-            <div class="roomstatus" v-if="item.currentState == 6">到期</div>
-          </div>
           <div class="width100 height36rpx">
             <div class="float_left chuzu_label">出租指导价(元/㎡/月):</div>
             <span class="float_left chuzu_vlaue">{{
@@ -253,6 +257,7 @@
 <script>
 import vanTab from "../../../../wxcomponents/weapp/dist/tab/index";
 import vanTabs from "../../../../wxcomponents/weapp/dist/tabs/index";
+import common from "../../../utils/common";
 import vanEmpty from "../../../../wxcomponents/weapp/dist/empty/index";
 import {
   findYuanQuList,
@@ -264,7 +269,7 @@ import {
 const form = {
   status: [],
   chaoxiang: [],
-  statusArray: [],
+  statusArray: ["1"],
   chaoxiangArray: [],
   zaitiTypeArray: [],
   zaitiType: "",
@@ -272,11 +277,12 @@ const form = {
   roomSize2: "",
   guidePrice1: "",
   guidePrice2: "",
-  loupan_value: null,
+  parkFloorDiscIds: null,
   groupIds: null,
   pageNum: 1,
   pageSize: 10,
   total: 0,
+  currentState: "1",
   mnpBuildingIds: "",
 };
 
@@ -289,8 +295,15 @@ export default {
   name: "housemanger.vue",
   data() {
     return {
+      searchStatus: false,
       tabsStatus: true,
-      dic_key: ["PROPERTY_NATURE", "HOUSE_USAGE"],
+      dic_key: [
+        "PROPERTY_NATURE",
+        "HOUSE_USAGE",
+        "project_status",
+        "INVESTMENT_STATUS",
+        "DECORATION_SITUATION",
+      ],
       dic_SelectList: {},
       loudongList: [],
       activezhaoshang: "0",
@@ -362,12 +375,12 @@ export default {
         },
         {
           value: 2,
-          text: "锁定",
-        },
-        {
-          value: 3,
           text: "预约",
         },
+        // {
+        //   value: 3,
+        //   text: "预约",
+        // },
         {
           value: 4,
           text: "临期",
@@ -414,24 +427,36 @@ export default {
   },
   mounted() {
     this.findYuanQuList();
-    this.getByCodes();
+    this.getByCodes1();
   },
   methods: {
+    getCurrentState(currentState) {
+      if (
+        this.dic_SelectList.INVESTMENT_STATUS &&
+        this.dic_SelectList.INVESTMENT_STATUS.length > 0
+      ) {
+        let data = this.dic_SelectList.INVESTMENT_STATUS.find(
+          (e) => e.value == currentState
+        );
+        // console.log("datadatadatadatadatadata", data);
+        return data.label;
+      }
+    },
     reast() {
       this.loudongList = [];
       this.roomList = [];
       this.form = { ...form };
       this.findYuanQuList();
-      this.getByCodes();
+      this.getByCodes1();
     },
     async search() {
-      if (!this.form.groupIds && !this.form.loupan_value) {
+      if (!this.form.groupIds && !this.form.parkFloorDiscIds) {
         return this.$showToast("请选择园区和楼盘后重试");
       }
       if (!this.form.groupIds) {
         return this.$showToast("请选择园区后重试");
       }
-      if (!this.form.loupan_value) {
+      if (!this.form.parkFloorDiscIds) {
         return this.$showToast("请选择楼盘后重试");
       }
       this.form.pageNum = 1;
@@ -460,9 +485,19 @@ export default {
         return HOUSE_USAGE[index].label;
       }
     },
-    async getByCodes() {
-      let data = await getByCodes(JSON.stringify(this.dic_key));
+    async getByCodes1() {
+      let data = await getByCodes(
+        JSON.stringify([
+          "PROPERTY_NATURE",
+          "HOUSE_USAGE",
+          "project_status",
+          "INVESTMENT_STATUS",
+          "DECORATION_SITUATION",
+        ])
+      );
+      console.log("1111111111111111", data);
       this.dic_SelectList = this.$common.handleDicList(data);
+      console.log("this.dic_SelectList", this.dic_SelectList);
     },
     async getSelectedLoudong(event) {
       console.log(event);
@@ -476,7 +511,6 @@ export default {
     async getSelectedYuanqu() {
       let data = await findLongPanList(this.form.groupIds);
       this.roomList = [];
-
       this.loudongList = [];
       if (data.length > 0) {
         this.loupan_loacldata = data.map((e) => {
@@ -485,14 +519,15 @@ export default {
             text: e.name,
           };
         });
+        this.form.parkFloorDiscIds = this.loupan_loacldata[0].value;
       } else {
         this.loupan_loacldata = [{ value: null, text: "暂无" }];
       }
-      console.log(this.loupan_loacldata);
+      this.getSelectedLoupan();
     },
     async getSelectedLoupan() {
       try {
-        let data = await findLouDongList(this.form.loupan_value);
+        let data = await findLouDongList(this.form.parkFloorDiscIds);
         this.vamTabStatus = false;
         console.log(data);
         if (data.length == 0) {
@@ -501,12 +536,10 @@ export default {
           this.tabsStatus = !this.tabsStatus;
           return;
         } else {
-          console.log("我tm有数据的", data);
-          this.loudongList = [...data];
-          this.form.mnpBuildingIds = data[0].id;
+          this.loudongList = [{ ldmc: "全部", id: "" }, ...data];
           this.roomList = [];
+          this.form.mnpBuildingIds = "";
         }
-
         let row = await findRoomByCondition(this.form);
         console.log("我是row", row);
         this.roomList = row.rows;
@@ -527,6 +560,8 @@ export default {
           };
         });
         this.yuanqu_loacldata = yuanqu_loacldata;
+        this.form.groupIds = this.yuanqu_loacldata[0].value;
+        this.getSelectedYuanqu();
       });
 
       // console.log(yuanqu_loacldata)
@@ -554,14 +589,22 @@ export default {
       this.form.zaitiType = this.form.zaitiTypeArray;
     },
     onChange() {},
+    getMoreList() {
+      let that = this;
+      that.form.pageNum += 1;
+      findRoomByCondition(that.form).then((e) => {
+        console.log(that.roomList);
+        if (that.roomList.length == e.total) {
+          this.$showToast("没有更多数据");
+        }
+        that.roomList = [...that.roomList, ...e.rows];
+
+        console.log(that.roomList);
+        that.$forceUpdate();
+      });
+    },
   },
-  async getMoreList() {
-    this.form.pageNum += 1;
-    let data = await findRoomByCondition(this.form);
-    for (let i = 0; i < data.rows; i++) {
-      this.roomList.push(data.rows[i]);
-    }
-  },
+
   onPullDownRefresh: function () {
     // 加载数据
   },
@@ -577,6 +620,53 @@ export default {
   overflow: hidden;
   text-overflow: ellipsis;
 }
+.statusTag {
+  position: absolute;
+  background: #2527aa;
+  text-align: center;
+  color: white;
+  // clip-path: polygon(100% 100%, 100% 0%, 0% 0%);
+  // height: 100rpx;
+  right: 0rpx;
+  font-size: 20rpx;
+  top: 0rpx;
+  padding: 5rpx 20rpx;
+  .tagText {
+    // transform: rotate(38deg);
+    // position: absolute;
+    // right: 10rpx;
+    // top: 25rpx;
+    font-size: 24rpx;
+  }
+}
+.closIcon {
+  width: 40px;
+  height: 40px;
+  background: white;
+  position: absolute;
+  bottom: -40rpx;
+  z-index: 100;
+  right: 0;
+  left: 0;
+  margin: auto;
+  border-radius: 50%;
+  text-align: center;
+  line-height: 40px;
+}
+.openIcon {
+  width: 40px;
+  height: 40px;
+  background: white;
+  position: absolute;
+  bottom: -40rpx;
+  z-index: 100;
+  right: 0;
+  left: 0;
+  margin: auto;
+  border-radius: 50%;
+  text-align: center;
+  line-height: 40px;
+}
 /deep/.van-cell {
   padding: 0 0 0 28rpx !important;
 }
@@ -584,7 +674,6 @@ export default {
   padding: 0 0 0 28rpx !important;
 }
 .yuanqu_label {
-  font-size: 31rpx;
   height: 55rpx;
   line-height: 55rpx;
 }
@@ -614,6 +703,8 @@ export default {
     display: flex;
     //height: 278rpx;
     border-radius: 8rpx 8rpx 8rpx 8rpx;
+    align-items: center;
+    position: relative;
   }
   .second_title {
     float: left;
@@ -636,7 +727,7 @@ export default {
       height: 60rpx;
       width: 60rpx;
       float: right;
-      margin: 96rpx 0rpx 94rpx 0;
+      margin: 0;
     }
   }
   .list {
@@ -650,7 +741,7 @@ export default {
     margin: 32rpx;
     background: #ffffff;
     padding: 32rpx;
-
+    position: relative;
     .label {
       height: 53rpx;
       line-height: 53rpx;

+ 209 - 66
pages/subPackages/merchants/components/mymechants.vue

@@ -1,29 +1,52 @@
 <template>
   <div class="mymechants">
+    <div style="display: flex; padding-top: 20rpx; padding-bottom: 20rpx">
+      <div
+        style="margin-left: auto; margin-right: 40rpx"
+        class="addyixiang"
+        @click="addyixiang()"
+      >
+        +&nbsp;&nbsp;新增项目
+      </div>
+    </div>
     <div class="form">
-      <van-row>
-        <van-col :span="4">
-          <div class="yuanqu_label">园区</div>
-        </van-col>
-        <van-col :span="20">
-          <uni-data-checkbox
-            v-model="form.groupIds"
-            mode="tag"
-            :localdata="yuanqu_loacldata"
-            selectedTextColor="#1D18BC"
-            selectedColor="rgba(29,24,188,0.05);"
-            @change="getSelectedYuanqu"
-          >
-          </uni-data-checkbox>
-        </van-col>
-      </van-row>
-      <van-row>
-        <van-col :span="24">
-          <div class="addyixiang" @click="addyixiang()">
-            +&nbsp;&nbsp;新增意向
-          </div>
-        </van-col>
-      </van-row>
+      <div style="display: flex; align-items: center">
+        <div class="yuanqu_label">项目/企业名称</div>
+        <input
+          confirm-type="search"
+          @confirm="firstfindCompanyInfoList"
+          type="text"
+          v-model="form.projectName"
+          placeholder="请输入"
+          style="
+            display: block;
+            border: 1px solid #ccc;
+            padding: 5rpx 2rpx;
+
+            width: 420rpx;
+            font-size: 24rpx;
+          "
+        />
+      </div>
+      <div style="display: flex; align-items: center; margin-top: 5rpx">
+        <div class="yuanqu_label">招商负责人</div>
+        <input
+          confirm-type="search"
+          @confirm="firstfindCompanyInfoList"
+          type="text"
+          v-model="form.truename"
+          placeholder="请输入"
+          style="
+            display: block;
+
+            border: 1px solid #ccc;
+            padding: 5rpx 2rpx;
+
+            width: 420rpx;
+            font-size: 24rpx;
+          "
+        />
+      </div>
     </div>
     <div class="list">
       <van-tabs
@@ -33,52 +56,114 @@
         refs="tabsloudong"
         title-active-color="#1D18BC"
       >
-        <van-tab title="跟进中"></van-tab>
-        <van-tab title="已确认"></van-tab>
-        <van-tab title="已签约"></van-tab>
-        <van-tab title="关闭"></van-tab>
+        <van-tab title="全部" name="全部"></van-tab>
+        <van-tab
+          v-for="item in dic_SelectList.project_status"
+          :title="item.label"
+          :name="item.value"
+        ></van-tab>
       </van-tabs>
 
       <div
         class="list-row"
         v-if="companyList.length != 0"
         v-for="(item, index) in companyList"
-        @click="junmpMyMechantsDetails(item)"
         :key="index"
       >
         <div class="cell_1">
-          <div class="width100 height44rpx mb32rpx">
-            <div class="first_title">{{ item.companyId }}</div>
+          <div class="width100 height44rpx" style="margin-bottom: 14rpx">
+            <div class="first_title" @click="junmpMyMechantsDetails(item)">
+              {{ item.projectName }}
+            </div>
           </div>
-          <div class="width100 height40rpx">
-            <div class="second_title">{{ item.projectManager }}</div>
-            <div class="second_title_1" @click="fuckCall(item.managerPhone)">
-              {{ item.managerPhone }}
+          <div
+            class="width100 height40rpx"
+            style="display: flex; align-items: center"
+          >
+            <div class="second_title" @click="junmpMyMechantsDetails(item)">
+              企业联系人:{{
+                item.projectManager ? item.projectManager : "暂无"
+              }}
             </div>
-            <div class="call_icon" @click="fuckCall(item.managerPhone)">
-              <van-icon
-                name="phone"
-                color="#2527AA"
-                size="40rpx"
-                style="line-height: 40rpx"
-              />
+          </div>
+          <div class="second_title_1" @click="fuckCall(item.managerPhone)">
+            联系电话:{{ item.managerPhone ? item.managerPhone : "暂无" }}
+          </div>
+          <div
+            class="call_icon"
+            v-if="item.managerPhone"
+            @click="fuckCall(item.managerPhone)"
+          >
+            <van-icon
+              name="phone"
+              color="#2527AA"
+              size="40rpx"
+              style="line-height: 40rpx"
+            />
+          </div>
+          <div
+            style="
+              width: 100%;
+              display: flex;
+              justify-content: flex-end;
+              align-items: center;
+            "
+          >
+            <div class="width100" style="display: flex; align-items: center">
+              <div class="second_title" @click="junmpMyMechantsDetails(item)">
+                招商负责人:{{ item.truename ? item.truename : "暂无" }}
+              </div>
             </div>
-            <div class="second_title_2">
-              <span v-if="item.projectStatus == 1" style="color: #1d18bc"
-                >跟进中</span
-              >
-              <span v-if="item.projectStatus == 2" style="color: #18bc28"
-                >已确认</span
-              >
-              <span v-if="item.projectStatus == 3" style="color: #bc8e18"
-                >已签约</span
+
+            <div class="second_title_2"></div>
+          </div>
+          <div>
+            <picker
+              @change="bindPickerChange"
+              :range="dic_SelectList.project_status"
+              range-key="label"
+            >
+              <!-- {{ created_by + "," + item.created_by }} -->
+              <div
+                v-if="created_by == 1 || created_by == item.created_by"
+                @click="changeProjecStatus(item)"
+                style="
+                  border: 1px solid #2527aa;
+                  height: 28px;
+                  width: 120rpx;
+                  font-size: 24rpx;
+                  text-align: center;
+                  line-height: 28px;
+                  background: #2527aa;
+                  color: white;
+                  border-radius: 0.5rem;
+                "
               >
-              <span v-if="item.projectStatus == 4" style="color: #666666"
-                >已签约</span
+                项目状态
+              </div>
+
+              <div
+                v-else
+                style="
+                  border: 1px solid #cccccc;
+                  height: 28px;
+                  width: 120rpx;
+                  font-size: 24rpx;
+                  text-align: center;
+                  line-height: 28px;
+                  background: #cccccc;
+                  color: white;
+                  border-radius: 0.5rem;
+                "
               >
-            </div>
+                项目状态
+              </div>
+            </picker>
           </div>
         </div>
+        <div class="cell_2" @click="junmpMyMechantsDetails(item)">
+          <img src="../../../../static/mine/youjiantou.png" alt="" />
+        </div>
       </div>
       <div class="list-row" v-if="companyList.length == 0">
         <van-empty
@@ -99,14 +184,17 @@ import {
   findLongPanList,
   findYuanQuList,
   findCompanyInfoList,
+  changeProjectStatus,
+  getByCodes,
   findRoomByCondition,
+  getUserLocalStorageInfo,
 } from "@/js_sdk/http";
 
 const form = {
   pageNum: 1,
   pageSize: 10,
   total: 0,
-  projectStatus: 1,
+  projectStatus: "",
 };
 export default {
   components: {
@@ -116,11 +204,22 @@ export default {
 
   data() {
     return {
+      dic_key: ["project_status"],
+      dic_SelectList: {},
+      rowId: "",
+      created_by: getUserLocalStorageInfo().user.id,
+      projectStatusList: [
+        { name: "跟进中", value: 1 },
+        { name: "已确认", value: 2 },
+        { name: "已签约", value: 3 },
+        { name: "关闭", value: 4 },
+      ],
       yuanqu_loacldata: [],
       loudongTabsStatus: false,
       acitvy: 0,
       form: {
         ...form,
+        truename: getUserLocalStorageInfo().user.truename,
       },
       active: 0,
       formData: {},
@@ -240,10 +339,42 @@ export default {
   },
   onLoad() {},
   mounted() {
+    this.form.truename = getUserLocalStorageInfo().user.truename;
     this.findYuanQuList();
+    this.getByCodes();
     this.firstfindCompanyInfoList();
   },
   methods: {
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dic_key));
+      console.log(data);
+      this.dic_SelectList = this.$common.handleDicList(data);
+      console.log("this.dic_SelectList.project_status", this.dic_SelectList);
+      this.projectStatusList = this.$common.handleDicList(data).map((e) => {
+        return {
+          name: e.label,
+          value: e.value,
+        };
+      });
+    },
+    async bindPickerChange(e) {
+      console.log(e);
+      console.log(this.projectStatusList[e.detail.value].value);
+      let data = await changeProjectStatus({
+        id: this.rowId,
+        projectStatus: this.projectStatusList[e.detail.value].value,
+      });
+      console.log("你改好了吗", data);
+      if (data.code == 200) {
+        this.$showToast("状态修改成功");
+        this.firstfindCompanyInfoList();
+      }
+      console.log(data);
+    },
+    changeProjecStatus(item) {
+      this.rowId = item.id;
+      console.log(item);
+    },
     junmpMyMechantsDetails(item) {
       uni.navigateTo({
         url:
@@ -257,18 +388,17 @@ export default {
       });
     },
     onChange(e) {
-      this.form.projectStatus = e.detail.index + 1;
+      console.log(e);
+      this.form.projectStatus = e.detail.name == "全部" ? "" : e.detail.index;
       this.firstfindCompanyInfoList();
     },
     getSelectedYuanqu() {
       this.firstfindCompanyInfoList();
     },
     async firstfindCompanyInfoList() {
+      this.form.pageNum = 1;
       let data = await findCompanyInfoList({
         ...this.form,
-        pageNum: 1,
-        pageSize: 10,
-        total: 0,
       });
 
       this.companyList = data.rows;
@@ -281,9 +411,13 @@ export default {
     async getMoreList() {
       this.form.pageNum += 1;
       let data = await findCompanyInfoList(this.form);
-      for (let i = 0; i < data.rows; i++) {
-        this.companyList.push(data.rows[i]);
+      if (this.companyList.length == data.total) {
+        this.$showToast("没有更多数据");
+        return;
       }
+      this.companyList = [...this.companyList, ...data.rows];
+      this.$forceUpdate();
+      console.log(this.companyList.length);
     },
     async findYuanQuList() {
       findYuanQuList().then((data) => {
@@ -326,11 +460,17 @@ export default {
 </script>
 
 <style lang="scss">
+.yuanqu-checkbox {
+  label {
+    margin-right: 20rpx !important;
+    margin-top: 0 !important;
+    padding: 6rpx 16rpx !important;
+  }
+}
 .mymechants {
   .yuanqu_label {
-    font-size: 31rpx;
-    height: 71rpx;
-    line-height: 71rpx;
+    font-size: 28rpx;
+    width: 200rpx;
   }
   .uni-data-checklist {
     margin-top: 0rpx !important;
@@ -371,17 +511,19 @@ export default {
   }
   .second_title {
     float: left;
-    width: 30%;
+    width: 100%;
     font-size: 28rpx;
     font-family: PingFang SC-Medium, PingFang SC;
     font-weight: 500;
+    overflow: hidden;
+    margin-bottom: 14rpx;
     color: #777777;
   }
   .second_title_1 {
     float: left;
-    width: 25%;
+    width: 66%;
     font-size: 28rpx;
-
+    margin-bottom: 14rpx;
     font-family: PingFang SC-Medium, PingFang SC;
     font-weight: 500;
     color: #777777;
@@ -425,6 +567,7 @@ export default {
   .form {
     width: calc(100% - 128rpx);
     margin: 32rpx;
+    margin-top: 0px;
     background: #ffffff;
     padding: 32rpx;
     .uni-data-checklist {

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 473 - 319
pages/subPackages/merchants/components/mymechantsdetails.vue


+ 5 - 4
pages/subPackages/merchants/merchants.vue

@@ -7,7 +7,7 @@
       title-active-color="#1D18BC"
     >
       <van-tab title="房源查询" class="housemange">
-        <house-manger ref="houseManger" />
+        <housemanger ref="housemanger" />
       </van-tab>
       <van-tab title="我的招商">
         <my-mechants ref="mymechants" />
@@ -17,7 +17,7 @@
 </template>
 
 <script>
-import houseManger from "./components/housemanger.vue";
+import housemanger from "./components/housemanger.vue";
 import myMechants from "./components/mymechants.vue";
 import { findYuanQuList } from "@/js_sdk/http.js";
 const form = {
@@ -26,7 +26,7 @@ const form = {
 };
 export default {
   components: {
-    houseManger,
+    housemanger,
     myMechants,
   },
   data() {
@@ -53,7 +53,8 @@ export default {
   onReachBottom() {
     console.log(this.active);
     if (this.active == 0) {
-      this.$refs.houseManger.getMoreList();
+      console.log(this.$refs.housemanger);
+      this.$refs.housemanger.getMoreList();
     }
     if (this.active == 1) {
       console.log(this.$refs.mymechants);

+ 2 - 1
pages/subPackages/modifyHandle/handle.vue

@@ -510,9 +510,10 @@ export default {
   left: 0;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 80%;
   height: 90rpx;
-  border-radius: 50rpx 50rpx 50rpx 50rpx;
+  //  border-radius: 50rpx 50rpx 50rpx 50rpx;
   background: #1d18bc;
   line-height: 90rpx;
   color: white;

+ 2 - 1
pages/subPackages/modifyHandle/index.vue

@@ -406,9 +406,10 @@ export default {
     color: #6a6a6a;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
+    //  border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
     color: white;

+ 1 - 0
pages/subPackages/modifyReport/detail.vue

@@ -466,6 +466,7 @@ export default {
   left: 0;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 80%;
   height: 90rpx;
   border: none;

+ 2 - 1
pages/subPackages/modifySend/confirm.vue

@@ -521,9 +521,10 @@ export default {
   left: 0;
 }
 .btn {
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
   width: 80%;
   height: 90rpx;
-  border-radius: 50rpx 50rpx 50rpx 50rpx;
+  //  border-radius: 50rpx 50rpx 50rpx 50rpx;
   background: #1d18bc;
   line-height: 90rpx;
   color: white;

+ 2 - 1
pages/subPackages/modifySend/index.vue

@@ -480,9 +480,10 @@ export default {
     color: #6a6a6a;
   }
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     width: 80%;
     height: 90rpx;
-    border-radius: 50rpx 50rpx 50rpx 50rpx;
+    //  border-radius: 50rpx 50rpx 50rpx 50rpx;
     background: #1d18bc;
     line-height: 90rpx;
     color: white;

+ 1 - 1
pages/subPackages/password/index.vue

@@ -184,7 +184,7 @@ export default {
         width: 100%;
         .but {
           text-align: center;
-          background: rgba(102, 0, 255, 1);
+          background: #1d18bc;
           color: #fff;
           font-size: 30rpx;
           line-height: 100rpx;

+ 1 - 0
pages/subPackages/repairDispatch-app/add.vue

@@ -568,6 +568,7 @@ export default {
   justify-content: center;
   box-sizing: border-box;
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     height: 100%;
     line-height: 80rpx;
     width: 100%;

+ 1 - 0
pages/subPackages/repairDispatch-app/detail.vue

@@ -453,6 +453,7 @@ export default {
   justify-content: center;
   box-sizing: border-box;
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     height: 100%;
     line-height: 80rpx;
     width: 100%;

+ 1 - 0
pages/subPackages/repairprocessing-app/detail.vue

@@ -440,6 +440,7 @@ export default {
   justify-content: center;
   box-sizing: border-box;
   .btn {
+    border-radius: 8rpx 8rpx 8rpx 8rpx;
     height: 100%;
     line-height: 80rpx;
     width: 100%;

+ 0 - 0
pages/utils/common.js


Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů