Browse Source

手机端

yin_yu820 2 months ago
parent
commit
2d727188bd

+ 3 - 1
jp-mobile/App.vue

@@ -115,10 +115,12 @@
 	}
 </script>
 
-<style>
+<style lang="scss">
 	/* @import 'jeeplus-flowable/lib/jeeplus-flowable.css'; */
 	@import "colorui/main.css";
 	@import "colorui/icon.css";
+	// @import "@/uni_modules/uview-ui/index.scss";
+	// @import '@/uni_modules/uview-ui/theme.scss';
 
 	.nav-list {
 		display: flex;

+ 10 - 0
jp-mobile/api/auth/loginService.js

@@ -307,6 +307,16 @@ export default {
 			params: params
 		})
 	},
+	
+	//大走访
+	queryByUserName: function() {
+		return request({
+			url: '/enterpriseinfo/enterpriseInfo/queryByUserName',
+			method: 'get',
+			params: {
+			}
+		})
+	},
 
 
 }

+ 1 - 0
jp-mobile/main.js

@@ -8,6 +8,7 @@ import * as auth from "@/common/auth.js"
 import * as utils from "@/common/util.js"
 import cuCustom from './colorui/components/cu-custom.vue'
 import BASE_URL from '@/common/config.js'
+import uView from '@/uni_modules/uview-ui'
 import '@/common/filter'
 Vue.component('cu-custom',cuCustom)
 Vue.config.productionTip = false

+ 528 - 0
jp-mobile/package-lock.json

@@ -16,6 +16,10 @@
         "prettier": "^1.12.1",
         "qs": "^6.9.4",
         "weixin-js-sdk": "^1.6.5"
+      },
+      "devDependencies": {
+        "sass": "^1.86.3",
+        "sass-loader": "^16.0.5"
       }
     },
     "node_modules/@dcloudio/uni-ui": {
@@ -24,6 +28,315 @@
       "integrity": "sha512-rum85gViMdOsmbVlb+iWV7V0ZEczaefpCvNaUE8mKjYfgY5NA5XeDOdG+K2Ki4BJ0gAwz8r+2w2EW2lu8XLImg==",
       "deprecated": "@1.4.29"
     },
+    "node_modules/@parcel/watcher": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+      "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "dependencies": {
+        "detect-libc": "^1.0.3",
+        "is-glob": "^4.0.3",
+        "micromatch": "^4.0.5",
+        "node-addon-api": "^7.0.0"
+      },
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      },
+      "optionalDependencies": {
+        "@parcel/watcher-android-arm64": "2.5.1",
+        "@parcel/watcher-darwin-arm64": "2.5.1",
+        "@parcel/watcher-darwin-x64": "2.5.1",
+        "@parcel/watcher-freebsd-x64": "2.5.1",
+        "@parcel/watcher-linux-arm-glibc": "2.5.1",
+        "@parcel/watcher-linux-arm-musl": "2.5.1",
+        "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+        "@parcel/watcher-linux-arm64-musl": "2.5.1",
+        "@parcel/watcher-linux-x64-glibc": "2.5.1",
+        "@parcel/watcher-linux-x64-musl": "2.5.1",
+        "@parcel/watcher-win32-arm64": "2.5.1",
+        "@parcel/watcher-win32-ia32": "2.5.1",
+        "@parcel/watcher-win32-x64": "2.5.1"
+      }
+    },
+    "node_modules/@parcel/watcher-android-arm64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+      "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-darwin-arm64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+      "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-darwin-x64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+      "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-freebsd-x64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+      "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-arm-glibc": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+      "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-arm-musl": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+      "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-arm64-glibc": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+      "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-arm64-musl": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+      "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-x64-glibc": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+      "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-linux-x64-musl": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+      "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-win32-arm64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+      "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-win32-ia32": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+      "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/@parcel/watcher-win32-x64": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+      "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "fill-range": "^7.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/call-bind-apply-helpers": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
@@ -51,6 +364,34 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/chokidar": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+      "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+      "dev": true,
+      "dependencies": {
+        "readdirp": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 14.16.0"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/detect-libc": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+      "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+      "dev": true,
+      "optional": true,
+      "bin": {
+        "detect-libc": "bin/detect-libc.js"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
     "node_modules/dunder-proto": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -91,6 +432,19 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/fill-range": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/function-bind": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -167,6 +521,45 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/immutable": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz",
+      "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==",
+      "dev": true
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
     "node_modules/lodash": {
       "version": "4.17.21",
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@@ -250,6 +643,20 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/micromatch": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "braces": "^3.0.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
     "node_modules/moment": {
       "version": "2.29.4",
       "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
@@ -258,6 +665,19 @@
         "node": "*"
       }
     },
+    "node_modules/neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "node_modules/node-addon-api": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+      "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+      "dev": true,
+      "optional": true
+    },
     "node_modules/object-inspect": {
       "version": "1.13.4",
       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
@@ -269,6 +689,19 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+      "dev": true,
+      "optional": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
     "node_modules/prettier": {
       "version": "1.12.1",
       "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.12.1.tgz",
@@ -294,6 +727,79 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/readdirp": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+      "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 14.18.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/sass": {
+      "version": "1.86.3",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz",
+      "integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==",
+      "dev": true,
+      "dependencies": {
+        "chokidar": "^4.0.0",
+        "immutable": "^5.0.2",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      },
+      "bin": {
+        "sass": "sass.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "optionalDependencies": {
+        "@parcel/watcher": "^2.4.1"
+      }
+    },
+    "node_modules/sass-loader": {
+      "version": "16.0.5",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
+      "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
+      "dev": true,
+      "dependencies": {
+        "neo-async": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 18.12.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependencies": {
+        "@rspack/core": "0.x || 1.x",
+        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
+        "sass": "^1.3.0",
+        "sass-embedded": "*",
+        "webpack": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@rspack/core": {
+          "optional": true
+        },
+        "node-sass": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "webpack": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/side-channel": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
@@ -362,6 +868,28 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/source-map-js": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
     "node_modules/weixin-js-sdk": {
       "version": "1.6.5",
       "resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz",

+ 5 - 1
jp-mobile/package.json

@@ -17,5 +17,9 @@
   },
   "keywords": [],
   "author": "",
-  "license": "ISC"
+  "license": "ISC",
+  "devDependencies": {
+    "sass": "^1.86.3",
+    "sass-loader": "^16.0.5"
+  }
 }

+ 12 - 0
jp-mobile/pages.json

@@ -10,6 +10,18 @@
 			"path": "pages/dzf/questionDetail",
 			"style": {}
 		},
+		{
+			"path": "pages/question/questionList",
+			"style": {}
+		},
+		{
+			"path": "pages/question/questionAdd",
+			"style": {}
+		},
+		{
+			"path": "pages/question/questionInfo",
+			"style": {}
+		},
 		
 		//大走访end
 		{

+ 1 - 0
jp-mobile/pages/dzf/questionDetail.vue

@@ -4,6 +4,7 @@
 
 <script>
 	// import questionHandleItem from "@/pages/dzf/components/questionHandleItem.vue"	
+	//import problemAppealItem from "@/pages/dzf/components/problemAppealItem.vue"
 	import {Store} from "@/common/store.js";
 	import {enterpriseVisit} from "@/api/dzf/enterpriseVisit.js";
 	

+ 17 - 10
jp-mobile/pages/index/Tabindex.vue

@@ -63,7 +63,7 @@
 						@touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
 						
 						
-						<view class="item-box" @click="gotoBuildInfo(item.id)">
+						<view class="item-box" @click="gotoBuildInfo(item.name)">
 							
 							
 							<image v-if="item.name=='企业大走访'" src="/static/img/cd1.png" class="item-img"></image>
@@ -370,13 +370,21 @@
 				// })
 			},
 			
-			gotoBuildInfo(id) {
-				// uni.navigateTo({
-				// 	url: `/pages/comEdit/comEdit?id=${id}&ischeck=1`
-				// })
-				
-				window.location.href=`/yd_qycpfbH5/#/pages/comEdit/comEdit?id=${id}&ischeck=1`
-				
+			gotoBuildInfo(name) {
+				if(name=='企业大走访'){
+					uni.navigateTo({
+						url: '/pages/question/questionList'
+					})
+				}else if(name=='都企供需'){
+					uni.navigateTo({
+						url: '/pages/index/index'
+					})
+				}else{
+					uni.navigateTo({
+						url: '/pages/policy/policyList'
+					})
+				}
+								
 			},
 			
 			updateCities(newCities) {
@@ -422,8 +430,7 @@
 				})
 			},
 			totongxunlu5(){
-								
-				
+											
 				uni.navigateTo({
 					url: '/pages/policy/policyList'
 				})

+ 510 - 0
jp-mobile/pages/question/questionAdd.vue

@@ -0,0 +1,510 @@
+<template>
+	<view>
+		<cu-custom bgColor="bg-blue" :isBack="true" v-if="title == '问题诉求情况'">
+			<block slot="backText">返回</block>
+			<block slot="content">问题诉求情况</block>
+		</cu-custom>
+		<!-- <cu-custom bgColor="bg-blue" :isBack="true" v-if="title == '问题诉求情况'">
+			<block slot="backText">返回</block>
+			<block slot="content">问题诉求情况</block>
+		</cu-custom>
+		<cu-custom bgColor="bg-blue" :isBack="true" v-if="title == '问题诉求情况'">
+			<block slot="backText">返回</block>
+			<block slot="content">问题诉求情况</block>
+		</cu-custom> -->
+		
+		<form @submit="formSubmit" class="cu-list menu">
+			
+			<view class="titlebg2">
+				<view class="titlet1" ></view>
+				<view class="titlet2" >企业信息</view>								
+			</view>
+			
+			
+			<view class="textbg">
+				<view class="text12">
+					 企业名称
+				</view>
+				<view class="text22">
+					 {{inputForm.name}}
+				</view>				
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 属地
+				</view>
+				<view class="text22">
+					 {{inputForm.des1}}
+				</view>				
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 企业负责人
+				</view>
+				<view class="text22">
+					 {{inputForm.lxr}}
+				</view>				
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 负责人号码
+				</view>
+				<view class="text22">
+					 11{{inputForm.phone}}
+				</view>				
+			</view>
+			
+			<view style="height: 30rpx;background-color: white;"></view>
+			
+			<view class="titlebg2" style="margin-top:10rpx ;">
+				<view class="titlet1" ></view>
+				<view class="titlet2" >挂钩干部</view>								
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 姓名
+				</view>
+				<view class="text22">
+					 {{inputForm.bz5}}
+				</view>				
+			</view>
+			
+			<view style="height: 30rpx;background-color: white;"></view>
+			
+			<view class="titlebg2" style="margin-top:10rpx ;">
+				<view class="titlet1" ></view>
+				<view class="titlet2" >主要问题诉求</view>								
+			</view>
+			
+			
+			<view v-for="(item, index2) in questionList">
+				
+				<view style="display: flex;background-color: #ffffff;justify-content: space-between; align-items: center;">
+					<view class="titlebb">
+						问题{{index2+1}}
+					</view>
+					<icon v-if="index2!=0" @click="del(index2)" type="cancel" style="padding-right: 15rpx;padding-top: 5rpx;padding-left: 100rpx;"></icon>
+					<!-- <image s style="height: 10rpx;width: 10rpx;"></image> -->
+				</view>
+				
+				
+				<view class="input1">
+					<view class="title">
+						问题名称
+					</view>
+					<input v-model="item.qName" placeholder="请填写问题名称" :disabled="ischeck"></input>
+				</view>
+				
+				<view class="cu-form-group margin-top">
+					<view class="title">
+						问题类型
+					</view>					
+					<picker class="title2" @change="bindPickerChange($event, index2)" :value="index" :range="parkList">
+						<view class="input2">{{item.qType||'请选择问题类型'}}</view>
+					</picker>				
+				</view>								
+				
+				<view class="cu-form-group margin-top" v-if="item.t1!=''">
+					<view class="title">
+						{{item.t1}}
+					</view>
+					<input style="width: 200rpx;" v-model="item.gaps" :placeholder="item.t1s" :disabled="ischeck"></input>{{item.t1d}}
+				</view>
+
+				<view class="cu-form-group margin-top" style="border-bottom: 3px solid #eee;">
+					<view class="title">
+						问题描述
+					</view>
+					<textarea v-model="item.des" placeholder="请填写问题描述" :disabled="ischeck"></textarea>
+				</view>
+
+			</view>
+
+			<view  style="width: 400rpx;margin-left: 20rpx;">
+				<button @click="addp" style="height: 30px;" class="cu-btn block bg-blue margin-tb-sm lg">+增加问题</button>
+			</view>
+			
+
+			
+			<view style="height: 40rpx;"></view>
+			<view class="flexC" v-if="!ischeck">
+				<button @click="save" class="bt1  block  margin-tb-sm lg">暂存</button>
+				<button form-type="submit" class="bt1 cu-btn block bg-blue margin-tb-sm lg">提交</button>
+			</view>
+		</form>
+	</view>
+</template>
+
+<script>
+	var graceChecker = require("@/common/graceChecker.js");
+	import revenueListService from '@/api/revenue/revenueListService'
+	import loginService from '@/api/auth/loginService.js'
+	export default {
+		onShow() {
+			this.$auth.checkLogin()
+		},
+		data() {
+			return {
+				title: '问题诉求情况',
+				inputForm: {
+					id:'',
+					name: '',
+					industry: '',
+					lxr: '',
+					phone: '',
+					
+					bz1: '',
+					bz2: '',
+					bz3: '',
+					bz4: '',
+					bz5: '',
+					bz6: '',
+					
+					des1: '',
+					des2: '',
+					des3: '',
+					des4: '',
+					des6: '',			
+				},
+				t1: '可供产品',
+				t1s: '请填写可供产品',
+				t2: '可供数量',
+				t2s: '请填写可供数量',
+				t3: '详细描述',
+				t3s: '请填写详细描述',
+								
+				autoUpload: false,
+				picLists: [],
+				picUrl: [],
+				imageStyles: {
+					width: 90,
+					height: 90
+				},
+				parkList: [ "用工人才", "资金需求", "土地厂房", "订单及配套", "政策兑现", "创新及品牌", "审批手续", "水电气供应", "安全环保消防", "其他(需详细说明)"],
+				questionList:[{qName:"",qType:"",qTypeindex:"",gaps:"",des:"",t1:"",t1s:""}],
+				
+				index:0,
+				ischeck: false,
+			}
+		},
+		created() {
+			//this.getParkList()
+		},
+		mounted() {
+			
+		},
+		async onLoad(query) {
+			
+			let data2 = await loginService.queryByUserName()
+			console.log(data2.data.name);
+			this.inputForm = this.recover(this.inputForm, data2.data)
+		
+			if (query && query.id) {
+				let {data} = await loginService.queryByIdBuild(query.id)
+				console.log(data)
+				if (data.pic != null) {
+					data.pic = data.pic.split(",")
+					var list = data.pic
+					list.forEach(item => {
+						this.picUrl.push({
+							'url': item,
+							'uuid': item
+						})
+						this.picLists.push({
+							'url': item,
+							'uuid': item
+						})
+					})
+				} else {
+					data.pic = []
+				}
+				this.inputForm = this.recover(this.inputForm, data)
+			}
+		},
+		methods: {
+			addp(){
+				this.questionList.push({qName:"",qType:"",qTypeindex:"",gaps:"",des:"",t1:"",t1s:""})
+				
+			},
+			del(index2){
+				this.questionList.splice(index2, 1);
+			},
+			getParkList() {
+				loginService.parkList({
+					current: 1,
+					size: 1000000,
+				}).then(({
+					data
+				}) => {
+					this.parkList = data.records.map((item) => {
+						return {
+							label: item.parkName,
+							value: item.id
+						}
+					})
+					console.log(this.parkList, '=============>')
+				}).catch(e => {
+					console.log(e)
+				})
+			},
+			
+			bindPickerChange: function(e,index2) {
+				if(e.detail.value==0){
+					this.questionList[index2].t1='缺口数';
+					this.questionList[index2].t1s= '请填写缺口数';
+					this.questionList[index2].t1d= '人';
+					
+				}else if(e.detail.value==1){
+					this.questionList[index2].t1='缺口数';
+					this.questionList[index2].t1s= '请填写缺口数';
+					this.questionList[index2].t1d= '万元';
+
+				}else if(e.detail.value==2){
+					this.questionList[index2].t1='缺口数';
+					this.questionList[index2].t1s= '请填写缺口数';
+					this.questionList[index2].t1d= '';
+
+				}else{
+					this.questionList[index2].t1='';
+					this.questionList[index2].t1s= '';
+					this.questionList[index2].t1d= '';
+				}					
+				
+				this.questionList[index2].qTypeindex = e.detail.value;		
+				this.questionList[index2].qType=this.parkList[e.detail.value]
+				
+			},
+			
+			// 获取上传进度
+			progress(e) {
+				console.log('上传进度:', e)
+			},
+			// 上传成功
+			success(e) {
+				console.log('上传成功')
+			},
+			// 上传失败
+			fail(e) {
+				console.log('上传失败:', e)
+			},
+			deleteFile(e) {
+				this.picUrl.splice(e.index, 1)
+			},
+			// 获取上传状态
+			select(e) {
+				console.log('选择文件:', e)
+				var _this = this
+				var i = 0
+				upload()
+
+				function upload() {
+					if (i >= e.tempFiles.length) {
+						return;
+					}
+					var item = e.tempFiles[i]
+					uni.showLoading({
+						title: "上传中",
+						mask: true
+					});
+					uni.uploadFile({
+						url: '/yd_qycpfb/file/upload?uploadPath=userdir', // 仅为示例,非真实的接口地址
+						filePath: item.url,
+						name: 'file',
+						formData: {
+							'fileName': item.name
+						},
+						header: {
+							'token': _this.$auth.getUserToken()
+						},
+						success: (res) => {
+							var data = res.data
+							if (typeof data['error'] != "undefined") {
+								uni.showToast({
+									icon: 'none',
+									title: '上传失败,请联系开发!'
+								});
+								_this.$refs.picFile.clearFiles(_this.picLists.length)
+							} else {
+								_this.picUrl.push({
+									url: data,
+									uuid: item.uuid
+								})
+								i++;
+								upload()
+							}
+						},
+						fail: () => {
+							uni.hideLoading();
+							uni.showToast({
+								icon: 'none',
+								title: '上传失败,请联系开发!'
+							});
+							_this.$refs.picFile.clearFiles(_this.picLists.length)
+						},
+						complete: function() {
+							uni.hideLoading();
+						}
+					});
+				}
+			},
+			save(){
+				
+			},
+			formSubmit: function(e) {
+				
+				uni.showLoading()
+				this.inputForm.des6 = [];
+				this.picUrl.forEach(item => {
+					this.inputForm.des6.push(item.url)
+				})
+				this.inputForm.des6 = this.inputForm.des6.toString();
+				
+				loginService.productSave(this.inputForm).then(({
+					data
+				}) => {
+					uni.showToast({
+						title: "产品供需发布成功!",
+						icon: "success"
+					});
+					uni.navigateTo({
+						url: '/pages/product/productList?w=1'
+					})
+				}).catch((e) => {
+
+				})
+
+				
+			},
+			checkinput(){
+				let cou=0;
+				if(this.hasDuplicateQName(this.questionList)){
+					
+				}
+				
+				
+				//this.questionList:[{qName:"",qType:"",qTypeindex:"",gaps:"",des:"",t1:"",t1s:""}],
+				
+			},
+			hasDuplicateQName(array) {
+				const seen = new Set();
+				for (const item of array) {
+				  if (seen.has(item.qName)) {
+					return true; // 找到重复的 qName
+				  }
+				  seen.add(item.qName);
+				}
+				return false; // 没有重复的 qName
+			}
+			
+			
+		}
+	}
+</script>
+<style>
+	/* .file-title) {
+	    font-size: 17px !important;
+	} */
+	input,textarea{
+		color: #8799a3;
+	}
+	.input1{
+		background-color: #ffffff;
+		padding: 1upx 40upx;
+		display: flex;
+		align-items: center;
+		padding-top: 20upx;
+		border-bottom: 1px solid #eee;
+	}
+	.input1 .title {
+		text-align: justify;
+		padding-right: 30upx;
+		font-size: 30upx;
+		position: relative;
+		height: 60upx;
+		line-height: 60upx;
+		border: ;
+	}
+	.title2{
+		width: 75%;
+		text-align: left;
+	}
+	.input2 {
+		flex: 1;
+		font-size: 30upx;
+		color: #555;
+		padding-right: 20upx;
+		width: 500rpx;
+	}
+	.uni-input{
+		
+	}
+	
+	.textbg{
+		display: flex;
+		background-color: white;
+		padding-top: 29rpx;
+	}
+	.text12{
+		width: 200rpx;
+		margin-left: 30rpx;
+		color: #000000;
+		font-size: 29rpx;
+	}
+		
+	.text2{
+		flex: 1;
+		color: #000000;
+		font-size: 30rpx;
+		padding-bottom: 2rpx;
+	}
+	.text22{
+		flex: 1;
+		color: #666666;
+		font-size: 29rpx;
+		padding-bottom: 2rpx;
+		align-self: flex-end;
+	}
+	.titlebg2{
+		display: flex;
+		background-color: white;
+		padding-left: 22rpx;
+		padding-top: 35rpx;
+		padding-bottom: 25rpx;
+		margin-bottom: 2rpx;
+	}
+	.titlet1{
+		width: 7rpx;
+		margin-top: 7rpx;
+		margin-bottom: 7rpx;
+		background-color: #2752eb;
+		margin-right: 8rpx;
+	}
+	.titlet2{
+		font-weight: 800;
+		color: #2752eb;
+	}
+	
+	.titlebb{
+		color: #000000;
+		font-weight: 800;
+		padding-left: 40rpx;
+		background-color: #ffffff;
+		padding-top: 20rpx;
+		
+	}
+	.flexC{
+		display: flex;
+	}
+	.bt1{
+		flex:1;
+		margin: 30rpx;
+	}
+	.bt2{
+		flex:1;
+		margin: 30rpx;
+	}
+</style>

+ 622 - 0
jp-mobile/pages/question/questionInfo.vue

@@ -0,0 +1,622 @@
+<template>
+	<view>
+		<view class="overlay" v-if="showfx" @click="showwx">
+			<image style="height: 100%;width: 100%;" src="/static/img/zz.png"></image>
+		</view>
+		
+		
+		<view :class="['custom-header', { 'is-back': isBack }, bgColor]">
+			<view class="back-container" @click="handleBack">
+			  <view class="back-text">返回</view>
+			</view>
+			<view class="content-container">
+			  <view class="content-text">{{title}}</view>
+			</view>
+		  </view>
+
+			
+		<!-- <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="3000" :duration="800">
+		  <swiper-item v-for="(item, index) in swiperList" :key="index">
+		    <image :src="item.url" class="swiper-item"></image>
+		  </swiper-item>
+		</swiper> -->
+		
+		<form class="cu-list menu">
+			
+			<view class="titlebg2">
+				<view class="titlet1" ></view>
+				<view class="titlet2" >发布企业</view>								
+			</view>
+			
+			<view class="show1">
+				
+				<view class="textbg">
+					<view class="text1">
+						 企业名称
+					</view>
+					<view class="text2" >
+						 {{inputForm.des5}}
+					</view>				
+				</view>
+				
+				<view class="textbg">
+					<view class="text1">
+						 供需类型
+					</view>
+					<view class="text2" :class="inputForm.des1 === '需' ? 'text33' : 'text44'" >
+						 {{inputForm.des1}}
+					</view>				
+				</view>
+				
+				<view class="textbg">
+					<view class="text1">
+						 发布时间
+					</view>
+					<view class="text2" >
+						 {{inputForm.updateDate}}
+					</view>				
+				</view>
+			</view>
+
+			<view class="titlebg2">
+				<view class="titlet1" ></view>
+				<view class="titlet2" >供需基本信息</view>								
+			</view>
+			
+			
+			<view class="textbg">
+				<view class="text12">
+					 {{t1}}
+				</view>
+				<view class="text22">
+					 {{inputForm.des2}}
+				</view>				
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 {{t2}}
+				</view>
+				<view class="text22">
+					 {{inputForm.des3}}
+				</view>				
+			</view>
+			
+			<view class="textbg">
+				<view class="text12">
+					 {{t3}}
+				</view>
+				<view class="text221">
+					 {{inputForm.des4}}
+				</view>				
+			</view>
+			
+			<view style="height: 30rpx;background-color: white;"></view>
+			
+			<view class="titlebg2" v-if="swiperList.length>0" >
+				<view class="titlet1" ></view>
+				<view class="titlet2" >图文详情</view>								
+			</view>
+			
+			<view v-for="(item, index) in swiperList" :key="index" style="width: 100%;">
+				<image :src="item.url"  mode="widthFix" style="width: 100%;" >					
+				</image>
+			</view>
+			
+
+					
+			
+			<view style="height: 40rpx;"></view>
+
+
+			<view class="padding-xl" v-if="isadmin&&inputForm.des6=='1'">
+				<button @click="sharezz" class="cu-btn block bg-blue margin-tb-sm lg">分享此企业账号</button>
+			</view>
+		</form>
+	</view>
+</template>
+
+<script>
+	import loginService from '@/api/auth/loginService.js'
+	import { wxShare } from "@/common/wxutils.js";
+	export default {
+		onShow() {
+			//this.$auth.checkLogin()
+		},
+		data() {
+			return {
+				title: '产品供需详情',
+				isBack: true, // 是否显示返回按钮
+			    backText: '返回', // 返回按钮的文本
+			    bgColor: 'bg-blue', // 背景颜色
+				autoUpload: false,
+				swiperList: [],
+				inputForm: {
+					id: '',
+					name: '',
+					industry: '',
+					des1: '',
+					des2: '',
+					des3: '',
+					des4: '',
+					des5: '',					
+					des6: '',
+					des7: '',
+					des8: '',
+					des9: '',
+					updateDate: '',
+				},
+				t1: '产品名称',
+				t2: '产品产能',
+				t3: '详细描述',
+				text1:'',
+				text2:'',
+				parkList: [],
+				ischeck: false,
+				isLogin:"",
+				username:"",
+				isadmin:false,
+				lyIndex: '',
+				showLYList: [],
+				showfx:false,
+			}
+		},
+		created() {
+		},
+		mounted() {
+			
+		},
+		onLoad(query) {
+			this.isLogin=this.$auth.checkisLogin();
+			this.username=this.$auth.getUserInfo();
+			if(this.username!=undefined&&this.username!=''&&this.username!=null&&this.isLogin!=null){
+				if(this.username.loginName=='admin'){
+					this.isadmin=true;
+				}
+			}
+			
+			if (query && query.ischeck) {
+				this.ischeck = true
+			}
+			if (query && query.id && !query.ischeck) {
+				this.title = "修改企业信息";
+			}
+			this.getComById(query)
+			
+
+			
+		},
+		methods: {
+			getParkList(query) {
+				loginService.list({
+					current: 1,
+					size: 1000000,
+				}).then(({
+					data
+				}) => {
+					this.parkList = data.records.map((item) => {
+						return {
+							label: item.buildingName,
+							value: item.id
+						}
+					})
+					this.showLYList = this.parkList.map(item => item.label)
+					if (query && query.id) {
+						loginService.queryByIdPro(query.id).then(({
+							data
+						}) => {
+							this.inputForm = this.recover(this.inputForm, data)
+							this.lyIndex = this.parkList.findIndex(item => item.value == this.inputForm.des1)
+							console.log(this.lyIndex, '=====================>lyIndex')
+						}).catch((e) => {
+						
+						})
+						
+					}
+				}).catch(e => {
+					console.log(e)
+				})
+			},
+			
+			handleBack() {
+			      // 返回逻辑,比如跳转至上一页
+				  this.$router.go(-1);
+			      console.log('返回按钮被点击');
+			},
+			showwx() {
+			     this.showfx=false;
+			},
+			
+			getComById(query) {
+				loginService.queryByIdPro(query.id).then(({
+					data
+				}) => {
+					//未登录
+					// if(this.isLogin==null){
+					// 	console.log('未登录')
+					// 	//不做处理后台已做处理
+						
+						if(data.des1=='1'){
+							data.des1="供"
+						}else{
+							data.des1="需"
+						}
+						this.setData(data);						
+					// }else{
+					// 	this.setData(data);
+					// }
+					
+				}).catch((e) => {
+				
+				})
+			},
+			
+			
+			//账号分享
+			sharezz(){
+				var that=this;
+				setTimeout(function() {
+				  that.showfx=true;
+				  console.log("1"+ this.showfx);
+				}, 500); // 2000毫秒后执行
+				
+				loginService.getloginstr(this.inputForm.phone).then(({
+					data
+				}) => {
+					//未登录
+					if(data.Id=='0'){
+						uni.showModal({
+							title: '您无权限分享账号,请联系管!',
+							showCancel: true,
+							success: (res) => {
+								
+							}
+						});
+												
+					}else{
+						
+						this.weixin(data);
+						
+						// const textArea = document.createElement("textarea");
+						// textArea.value = 'https://miniapp.huidutech.com.cn/yd_qycpfbH5/#/pages/index/index?loginid='+data.Id;
+						// document.body.appendChild(textArea);
+						// textArea.focus();
+						// textArea.select();
+						// try {
+						//   document.execCommand('copy');
+						//   uni.showModal({
+						//   	title: '已将登录链接复制到剪切板,直接打开微信好友粘贴分享!',
+						//   	showCancel: true,
+						//   	success: (res) => {
+						  		
+						//   	}
+						//   });
+						// } catch (err) {
+						//   console.error('Could not copy text', err);
+						//   uni.showModal({
+						//   	title: '当前不支持分享功能!',
+						//   	showCancel: true,
+						//   	success: (res) => {
+						  		
+						//   	}
+						//   });
+						// } finally { 
+						//   document.body.removeChild(textArea); 
+						// }
+					}
+					
+				}).catch((e) => {
+				
+				})
+				
+				
+				
+
+				
+				  
+				
+				
+				
+				
+			},
+			
+			
+			    async weixin(data) {
+					
+
+			      try {
+
+			        if ( data) {
+			          //微信加签
+			          var obj = {
+			            appId: data.appid,
+			            nonceStr: data.nonceStr,
+			            signature: data.signature,
+			            timestamp: data.timestamp,
+						Id: data.Id,
+			          }
+			          //分享数据,这段主要是为了在hash模式下分享出去的链接不被浏览器截取,保证完全把链接分享出去(link的链接可以自己拼,无须与当前页面的后缀参数之类的内容完全一致)
+			          let shareData = {
+			            title: '‘都企供需’线上平台',
+			            desc: '点击直接登录',
+			            imgUrl: 'https://miniapp.huidutech.com.cn/yd_qycpfbH5/static/img/titlebg.jpg',
+			            link: 'https://miniapp.huidutech.com.cn/yd_qycpfbH5/#/pages/index/index?loginid='+data.Id + "&t=" + data.timestamp + "&Content=1", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致																		
+						
+			          };
+
+			          //引用
+			          wxShare(obj, shareData);
+					  
+			        } else {
+					  uni.showModal({
+					  	title: '获取sdk参数失败!',
+					  	showCancel: true,
+					  	success: (res) => {
+					  		
+					  	}
+					  });
+			        }
+			      } catch (err) {
+			        //
+			      } finally {
+			        //
+			      }
+			    },
+			
+			
+			setData(data){
+				this.inputForm = this.recover(this.inputForm, data)
+				
+				
+				if(this.inputForm.des1=='供'){
+					this.t1='可供产品';
+					this.t2= '可供数量';
+				}else{
+					this.t1='需求名称';
+					this.t2= '需求数量';
+				}
+				
+				
+				let pics=this.inputForm.des6.split(",");
+				console.log(pics)
+				pics.forEach(item => {
+					if(item!=''){
+						this.swiperList.push({
+							'url': "http://47.97.69.114:8089/yd_qycpfbWeb/"+item,
+						})
+					}
+					
+				})
+				
+				console.log(this.swiperList)
+
+			},
+			
+			goToCompany(companyName) {
+				  //https://www.qcc.com/web/search?key=
+					
+				  window.open("https://www.qcc.com/web/search?key="+companyName);
+			      //window.location.href = `https://www.qcc.com/company/${encodeURIComponent(companyName)}`;
+			},
+			
+			call1(){
+				
+				// uni.navigateTo({
+				// 	url: '/pages/index/AudioToWord'
+				// })
+				
+				// uni.navigateTo({
+				// 	url: '/pages/comList/comList'
+				// })
+				
+				//未登录
+				if(this.isLogin==null){
+					uni.showModal({
+						title: '您还未登录,是否跳转登录页面?',
+						showCancel: true,
+						success: (res) => {
+							if (res.confirm) {
+								
+								uni.reLaunch({
+									url: '/pages/login/login'
+								})
+								
+							}
+						}
+					});
+				}else{
+					window.location.href = 'tel:'+this.inputForm.phone;
+				}
+								
+			},
+			
+			call2(){
+				//未登录
+				if(this.isLogin==null){
+					uni.showModal({
+						title: '您还未登录,是否跳转登录页面?',
+						showCancel: true,
+						success: (res) => {
+							if (res.confirm) {
+								
+								uni.reLaunch({
+									url: '/pages/login/login'
+								})
+								
+							}
+						}
+					});
+				}else{
+					window.location.href = 'tel:'+this.inputForm.bz6;
+				}
+			},
+			
+
+
+
+
+
+			
+		}
+	}
+</script>
+<style>
+	/* .file-title) {
+	    font-size: 17px !important;
+	} */
+	input,textarea{
+		color: #8799a3;
+	}
+	
+	.swiper {
+		width: 750rpx;
+		height: 310rpx;
+	}
+	
+	.swiper-item {
+		width: 750rpx;
+		height: 310rpx;
+		background-color: aliceblue;
+	}
+	.show1{
+		background-color: #2752eb;
+		padding-left: 8rpx;
+	}
+	.textbg{
+		display: flex;
+		background-color: white;
+		padding-top: 29rpx;
+	}
+	.text1{
+		width: 200rpx;
+		margin-left: 30rpx;
+		color: #333333;
+		font-size: 30rpx;
+	}
+	.text12{
+		width: 200rpx;
+		margin-left: 30rpx;
+		color: #000000;
+		font-size: 29rpx;
+	}
+		
+	.text2{
+		flex: 1;
+		color: #000000;
+		font-size: 30rpx;
+		padding-bottom: 2rpx;
+	}
+	
+	.text33{
+		flex: 1;
+		color: #FF4500;
+		font-size: 30rpx;
+		padding-bottom: 2rpx;
+	}
+	
+	.text44{
+		flex: 1;
+		color: #2E8B57;
+		font-size: 30rpx;
+		padding-bottom: 2rpx;
+		
+	}
+	
+	.text22{
+		flex: 1;
+		color: #666666;
+		font-size: 29rpx;
+		padding-bottom: 2rpx;
+	}
+	
+	.text221{
+		flex: 1;
+		color: #666666;
+		font-size: 29rpx;
+		padding-right:15rpx ;
+		padding-bottom: 2rpx;
+	}
+	.text3{
+		display: flex;
+		color: #000000;
+	}
+	.phone{
+		display: flex;
+		color: #1E8AD7;
+		padding-left: 5rpx;
+		padding-right: 5rpx;
+		font-size: 30rpx;
+		align-items: center
+	}
+	.phoneimg{
+		margin-left: 10rpx;
+		width: 35rpx;
+		height: 35rpx;
+	}
+	.titlebg2{
+		display: flex;
+		background-color: white;
+		padding-left: 22rpx;
+		padding-top: 35rpx;
+		padding-bottom: 25rpx;
+		margin-bottom: 2rpx;
+	}
+	.titlet1{
+		width: 7rpx;
+		margin-top: 7rpx;
+		margin-bottom: 7rpx;
+		background-color: #2752eb;
+		margin-right: 8rpx;
+	}
+	.titlet2{
+		font-weight: 800;
+		color: #2752eb;
+	}
+	.overlay{
+	  position: fixed; /* 固定定位,覆盖整个页面 */
+	  top: 0;
+	  left: 0;
+	  width: 100%;
+	  height: 100%;
+	  background-color: rgba(255, 255, 255, 0.5); /* 半透明白色背景 */
+	  z-index: 1000; /* 确保遮罩在页面内容之上 */
+	}
+	
+	
+	.custom-header {
+	  display: flex;
+	  align-items: center;
+	  justify-content: center;
+	  padding: 10px;
+	  width: 100%;
+	}
+	
+	.is-back {
+	  position: relative;
+	}
+	
+	.back-container {
+	  position: absolute;
+	  left: 10px;
+	  cursor: pointer;
+	}
+	
+	.back-text {
+	  color: white; /* 返回按钮文本颜色 */
+	}
+	
+	.content-container {
+	  flex: 1;
+	  text-align: center;
+	}
+	
+	.content-text {
+	  color: white; /* 标题文本颜色 */
+	  font-weight: bold;
+	}
+	
+	/* 背景颜色 */
+	.bg-blue {
+	  background-color: #4285f4; /* 假设这是一个蓝色背景 */
+	}
+</style>

+ 850 - 0
jp-mobile/pages/question/questionList.vue

@@ -0,0 +1,850 @@
+<template >
+	<view>
+
+		<view :class="['custom-header', { 'is-back': isBack }, bgColor]">
+			<view class="back-container" @click="handleBack">
+			  <view class="back-text">返回</view>
+			</view>
+			<view class="content-container">
+			  <view class="content-text">{{title}}</view>
+			</view>
+		  </view>
+
+
+		<view class="line-box">
+					
+			
+			<view :style="[{top:CustomBar + 'px'}]">
+				
+			
+				<!-- <view class="tabs" v-if="md=='1'">
+				  <view 
+					v-for="(tab, index) in tabs" 
+					:key="index" 
+					class="tab-item" 
+					:class="{ active: activeTab === index }" 
+					@click="switchTab(index)"
+				  >
+					{{ tab.name }}
+				  </view>
+				</view>
+				
+							
+				<view class="search-box"  >
+					
+							
+					<view class="choose-box2" style="margin-top: 10rpx;">
+						<view style="width: 520rpx;">
+							<input type="text"  placeholder="输入关键词产品或企业名称" v-model="searchForm.qyName" confirm-type="search"
+							></input>
+						</view>
+						
+						<text style="padding-left: 40rpx;flex: 1;" class="cuIcon-search color-white" @click="doSearch"></text>
+					</view>
+														
+				</view> -->
+				
+				
+				
+				<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" :up="upOption" @up="upCallback">
+					<view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''"
+						v-for="(item, index) in dataList" :key="index" @touchstart="ListTouchStart"
+						@touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
+						
+						
+						<view class="item-box" @click="gotoBuildInfo(item.id)">
+							<view class="item-title">									
+									企业名称:{{item.des5}}
+							</view>
+							<view class="item-title">						
+									提交时间:{{item.des5}}
+							</view>
+							<view class="item-title">
+									提交人:{{item.des5}}
+							</view>
+							<view class="item-title">
+									办结时间:{{item.des5}}
+							</view>
+			
+						</view>
+											
+						
+					</view>
+				</mescroll-body>
+				<uni-fab :pattern=" {
+								color: '#7A7E83',
+								backgroundColor: '#fff',
+								selectedColor: '#007AFF',
+								buttonColor: '#007AFF'
+							}" horizontal="right" vertical="bottom" @fabClick="add" ></uni-fab>
+							
+				<!-- <view   @click="outlogin" class="fixed-bottom-right" v-if="isLogin!=null">
+					<image  class="center-img2" src="/static/img/icon_logout.png"></image>
+				</view> -->
+							
+			</view>
+			
+			
+			
+			
+		</view>
+
+
+	</view>
+</template>
+
+<script>
+	import loginService from "@/api/auth/loginService";
+	import uniFab from '@/components/uni-fab/uni-fab.vue';
+	import DoublePicker from '@/components/DoublePicker/DoublePicker.vue'
+	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
+	import MescrollMoreItemMixin from "@/components/mescroll-uni/mixins/mescroll-more-item.js";
+	import {mapActions} from 'vuex'
+	export default {
+		mixins: [MescrollMixin, MescrollMoreItemMixin], // 使用mixin (在main.js注册全局组件)
+		name: "apps",
+		components: {
+			uniFab,
+			DoublePicker
+		},
+		data() {
+			return {
+				isLogin:"",
+				pageInfo: {},
+				loginid:"",
+				title:"问题诉求",
+				isBack: true, // 是否显示返回按钮
+				bgColor: 'bg-blue', // 背景颜色
+				tabs: [
+				        { name: '全部' },
+				        { name: '供' },
+				        { name: '需' }
+				      ],
+				activeTab: 0,
+				stype: "", // 企业 => 3  楼宇 => 2  园区 => 1  zfadmin => 4  admin=> 5
+				md:"1",
+				searchForm: {
+					des1:"",
+					des10:"",
+					qyName:"",
+				},
+				
+				curWord: "", //当前搜索关键词
+				dataList: [], // 数据列表
+				modalName: null,
+				tablePage: {
+					total: 0,
+					currentPage: 1,
+					pageSize: 10,
+					orders: []
+				},
+				loading: false,
+				parkId: '',
+				parkList: [],
+				parkList2: [],
+				parkList3: [],
+				parkList4: [],
+				ddd1:"" ,
+			};
+		},
+		onLoad(query) {
+			if(query!=undefined&&query!=null&&query!=''){
+				if(query.loginid!=undefined){
+					this.loginid=query.loginid
+					this.autoLogin();
+				}		
+					
+				if (query && query.w=='1' ) {
+					this.md = "1";					
+					this.title="问题诉求";
+				}else if(query && query.w=='2'){
+					this.md = "2";
+					this.title="问题诉求";
+					this.searchForm.des10="1";
+				}	
+			}			
+		},
+		onShow() {
+			this.isLogin=this.$auth.checkisLogin();
+		},
+		
+		created() {
+			//this.getPageInfo();
+			//this.getParkList()
+			//this.getParkList2()	
+			//this.getParkList3()	
+		},
+
+
+		methods: {
+			...mapActions(['refreshUserInfo']),
+			
+					
+			
+			
+			/*获取数据列表 */
+			upCallback(page) {
+				this.loading = true
+				loginService.enterpriseother({
+					current: page.num,
+					size: page.size,
+					
+					orders: [{ column: 'a.create_date', asc: false }],
+					...this.searchForm
+				}).then(({
+					data
+				}) => {
+					let curPageData = data.records
+					this.mescroll.endBySize(curPageData.length, data.total);
+					//如果是第一页需手动制空列表
+					if (page.num == 1)
+						this.dataList = [];
+					//追加新数据
+					this.dataList = this.dataList.concat(curPageData);
+				}).catch(e => {
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			
+			gotoBuildInfo(id) {
+				uni.navigateTo({
+					url: `/pages/product/productInfo?id=${id}&ischeck=1`
+				})
+				
+				//window.location.href=`/yd_qycpfbH5/#/pages/comEdit/comEdit?id=${id}&ischeck=1`
+				
+			},
+			
+			updateCities(newCities) {
+			      this.cities = newCities;
+			},
+			
+			
+			// 搜索
+			doSearch() {				
+				
+				this.dataList = []; // 先清空列表,显示加载进度
+				this.mescroll.resetUpScroll();
+			},
+			
+			totongxunlu(){
+				uni.navigateTo({
+					url: '/pages/comList/comList'
+				})
+			},
+			
+			totongxunlu2(){
+				uni.showModal({
+					title: '功能暂未开放,请至后台导入!',
+					showCancel: true,
+					success: (res) => {
+						
+					}
+				});
+			},
+			
+			
+			
+			getPageInfo() {
+			  loginService.InfoStatistics({}).then(({ data }) => {
+			    this.pageInfo = data;
+			  });
+			
+			
+			},
+			
+			autoLogin(){
+			  	console.log("登录id"+this.loginid);			
+				loginService.loginid( this.loginid).then(({data}) => {
+				  this.$store.commit('SET_TOKEN',data.token);
+				  this.refreshUserInfo();
+				  
+				}).catch(e => {
+				  console.error(e)
+				})	
+			},
+
+			getRole() {
+				let userInfo = uni.getStorageSync('WMS-userinfo')
+				var officeId = userInfo.officeDTO.id;
+				var roleIds = userInfo.roleIds;
+				if (roleIds.indexOf("17bac1f980264e3e8193bc965538e2c6") != -1) {
+					//// 管理员
+					this.stype = 5
+					uni.setStorageSync('stype', this.stype);
+				} else if (roleIds.indexOf("ade960e8f02544998b07397304c059c1") != -1) {
+					// 政府管理员
+					this.stype = 4
+					uni.setStorageSync('stype', this.stype);
+				} else {
+					console.log('==================>这里走了么','================>存一个stape')
+					loginService
+						.getOtherIdByOffceid({
+							officeid: officeId,
+						})
+						.then(({
+							data
+						}) => {
+							console.log(data, "====================>getOtherIdByOffceid");
+							this.stype = data.stype;
+							uni.setStorageSync('stype', this.stype);
+						});
+				}
+				
+			},
+
+            outloginset(){				
+				loginService.logout().then(({
+					data
+				}) => {
+					this.$store.commit('logout');
+					uni.clearStorage();
+					
+				})
+				
+				this.$store.commit('logout');
+				uni.clearStorage();
+				this.isLogin=this.$auth.checkisLogin();
+				uni.hideLoading()
+			},
+
+			outlogin() {
+				uni.showModal({
+					title: '您确认退出么?',
+					showCancel: true,
+					success: (res) => {
+						if (res.confirm) {
+							uni.showLoading()
+							this.outloginset();
+							// uni.reLaunch({
+							// 	url: '/pages/login/login'
+							// })
+						}
+					}
+				});
+			},
+			tces() {
+				uni.navigateTo({
+					url: '/pages/index/AudioToWord'
+				})
+			},
+			
+			// ListTouch触摸开始
+			ListTouchStart(e) {
+				this.listTouchStart = e.touches[0].pageX
+			},
+			
+			// ListTouch计算方向
+			ListTouchMove(e) {
+				this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > -60 ? 'right' : 'left'
+			},
+			
+			// ListTouch计算滚动
+			ListTouchEnd(e) {
+				if (this.listTouchDirection == 'left') {
+					this.modalName = e.currentTarget.dataset.target
+				} else {
+					this.modalName = null
+				}
+				this.listTouchDirection = null
+			},
+			handleBack() {
+			      // 返回逻辑,比如跳转至上一页
+				  this.$router.go(-1);
+			},
+			
+			add(){
+				
+				if(this.isLogin==null){
+					uni.showModal({
+						title: '您还未登录,现在去登录?',
+						showCancel: true,
+						success: (res) => {
+							if (res.confirm) {
+								uni.showLoading()
+								uni.reLaunch({
+									url: '/pages/login/login'
+								})
+							}
+						}
+					});
+				}else{
+					uni.navigateTo({
+						url: '/pages/question/questionAdd'
+					})
+				}
+				
+				
+			},
+			switchTab(index) {
+			  this.activeTab = index;
+			  if(this.activeTab==0){
+				  this.searchForm.des1="";
+			  }else{
+				  this.searchForm.des1=this.activeTab;
+			  }
+			  
+			  this.doSearch();
+			  
+			}
+		}
+	}
+</script>
+
+<style>
+	.page {
+		height: 100vh;
+	}
+
+	.line-box {
+
+		padding-left: 20rpx;
+		padding-right: 20rpx;
+		margin-top: 20rpx;
+
+	}
+
+	.mart-t {
+		margin-top: 30rpx;
+	}
+	
+	.center-box{
+		margin-top: 20rpx;
+		width: 100%;
+		border-radius: 25rpx;
+		border-radius: 25rpx;		
+		background: #fff;
+		box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
+		padding-bottom: 30rpx;
+		display: flex;
+		flex-wrap: wrap;
+	}
+	
+	.center-left-box {
+		width: 100%;		
+		padding-bottom: 30rpx;
+		display: flex;
+		flex-wrap: wrap;
+	}
+	
+	.btn-box-text {
+		flex:1;
+		height: 20rpx;
+		text-align: center;
+		color: #000000;
+		font-size: 14px;
+		font-weight: 700;
+	}
+
+	.btn-box-1 {
+		flex:1;
+		height: 30rpx;
+		text-align: center;
+		color: #36A7F3;
+		font-size: x-large;
+		font-weight: 700;
+	}
+
+	.btn-box-2 {
+		flex:1;
+		height: 30rpx;
+		text-align: center;
+		color:#F3365A;
+		font-size: x-large;
+		font-weight: 700;
+	}
+
+	.btn-box-3 {
+		flex:1;
+		height: 30rpx;
+		text-align: center;
+		color:#15D578;
+		font-size: x-large;
+		font-weight: 700;
+	}
+
+	.btn-box-4 {
+		flex:1;
+		height: 30rpx;
+		text-align: center;
+		color:#F1A31B;
+		font-size: x-large;
+		font-weight: 700;
+	}
+	
+	.btn-Imbox {
+		flex:1;
+		height: 150rpx;
+		padding-top: 8rpx;
+		text-align: center;
+		display: flex;
+		flex-direction: column;
+		justify-content: center; /* 子元素内部内容竖向居中 */
+		align-items: center; /* 子元素内部内容水平居中 */
+		text-align: center; /* 文字居中 */
+		
+	}
+	.btn-Imbox p {
+	  font-size: 14px; /* 文字大小,可根据需要调整 */
+	  margin: 0; /* 去掉默认的外边距 */
+	  font-weight: 700;
+	}
+	
+	.center-img{
+		width: 90rpx;
+		height: 90rpx;
+		margin-bottom: 10rpx;
+		text-align: center;
+	}
+	
+	.center-img2{
+		width: 70rpx;
+		height: 70rpx;
+		margin-top: 10rpx;
+		margin-bottom: 20rpx;
+		text-align: center;
+	}
+	
+	.kuai-text{
+		color: #000000;
+		font-weight: 900;
+		font-size: 34rpx;
+		padding-top: 20rpx;
+		padding-left: 20rpx;
+	}
+
+	.btn-box-5 {
+		width: 337rpx;
+		height: 200rpx;
+		background-image: url('../../static/img/btn3.png');
+		background-size: 100% 100%;
+	}
+
+	.btn-box-6 {
+		width: 337rpx;
+		height: 200rpx;
+		background-image: url('../../static/img/btn6.png');
+		background-size: 100% 100%;
+	}
+
+	.h-200 {
+		height: 200rpx;
+	}
+
+	.swiper {
+		width: 750rpx;
+		height: 310rpx;
+	}
+
+	.swiper-item {
+		width: 750rpx;
+		height: 310rpx;
+		background-color: aliceblue;
+	}
+
+	.font-size-35 {
+		font-size: 35px !important;
+	}
+
+	.img-size {
+		width: 80rpx;
+		height: 80rpx;
+	}
+
+	.content-box {
+		width: 437rpx;
+		height: 200rpx;
+	}
+
+	.my-app .padding-sm {
+		padding: 6px;
+	}
+
+	.grid .padding-sm .bg-white {
+		box-shadow: 0 1px 4px #f9f9f9, 1px 1px 40px rgba(0, 0, 0, .06);
+	}
+
+	.bg-blue {
+		background: #fff;
+		color: #0081ff !important;
+	}
+
+	.text-white,
+	.line-white,
+	.lines-white {
+		color: #0081ff !important;
+	}
+	
+	
+	
+	
+	.cu-bar .search-form {
+		background-color: white;
+	}
+	
+	
+	.item-box{
+		width: 710rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 1px 3px 0px rgba(9,2,4,0.1);
+		border-radius: 10px;
+		padding-top: 12rpx;
+		padding-left: 38rpx;
+		padding-right: 10rpx;
+		padding-bottom: 15rpx;
+		margin-top: 20rpx;
+	}
+	
+	.item-title{
+
+
+
+		font-size: 30rpx;
+		margin-top: 12rpx;
+		color: #010101;
+	}
+	
+	.item-line{
+		display: flex;
+		height: 48rpx;
+		margin-top: 20rpx;
+
+	}
+	
+	.item-line2{
+		
+		height: 48rpx;
+		margin-top: 20rpx;
+	}
+	
+	.subtitle{
+		color: #E5880E;
+	}
+	
+	.item-name{
+		margin-top: 5rpx;
+		font-size: 29rpx;
+		color: #666666;
+	}
+	
+	.item-name2{
+		font-size: 29rpx;
+		color: #676D99;
+		height: 40rpx; /* 这里假设两行的高度是80rpx */
+		overflow: hidden; /* 超出部分隐藏 */
+		text-overflow: ellipsis; /* 超出部分显示省略号 */
+		display: -webkit-box; /* 使用Webkit的行盒模型 */
+		-webkit-line-clamp: 1; /* 限制最多显示2行 */
+		-webkit-box-orient: vertical; /* 垂直排列 */
+		
+	}
+
+	
+	.item-name3{
+		display: flex;
+		width: 100%;
+		padding-right: 30rpx;
+		flex: 1;
+		justify-content: flex-end;
+		font-size: 29rpx;
+		color: #FF4500;
+	}
+	
+	.item-name31{
+		display: flex;
+		width: 100%;
+		padding-right: 30rpx;
+		flex: 1;
+		justify-content: flex-end;
+		font-size: 29rpx;
+		color: #2E8B57;
+	}
+	
+	.item-content{
+		color: #1497EF;
+		font-size: 30rpx;
+	}
+	
+	.btn-box{
+		display: flex;
+	}
+	
+	.line-zs{
+		width: 2rpx;
+		height: 30rpx;
+		background: #36A7F3;
+	}
+	
+	.edit-botton{
+		width: 100rpx;
+		height: 48rpx;
+		line-height: 48rpx;
+		color: #fff;
+		font-size: 28rpx;
+		margin-right: 20rpx;
+		border-radius: 10rpx;
+		background: #5A9EE9;
+		text-align: center;
+	}
+	
+	.del-botton{
+		width: 100rpx;
+		height: 48rpx;
+		line-height: 48rpx;
+		color: #fff;
+		font-size: 28rpx;
+		margin-right: 20rpx;
+		border-radius: 10rpx;
+		background: #F27C85;
+		text-align: center;
+	}
+	
+	.color-white{
+		color: #808080;
+		font-size: 40rpx;
+		line-height: 60rpx;
+	}
+	
+	.search-box{
+
+		padding-left: 20rpx;
+		padding-right: 20rpx;	
+		padding-top: 20rpx;
+		margin-top: 20rpx;
+		width: 100%;
+		border-radius: 25rpx;
+		border-radius: 25rpx;		
+		background: #fff;
+		box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
+		padding-bottom: 30rpx;
+		display: flex;
+		flex-wrap: wrap;
+	}
+	
+	.search-box1{
+		display: flex;
+	}
+	
+	
+	
+	.input-box{
+		background: #fff;
+		height: 65rpx;
+		width: 640rpx;
+		display: flex;
+		align-items: center;
+		border-radius: 30rpx;
+		padding-left: 30rpx;
+		margin-right: 20rpx;
+	}
+	
+	.input-boxinput{
+		height: 75rpx;
+		font-size: 15rpx;
+	}
+	
+	
+	
+	.choose-box{
+		background: #fff;
+		width: 325rpx;
+		border-radius: 23rpx;
+		height: 70rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		margin-right: 20rpx;
+		border: 1rpx  solid #808080;
+	}
+	
+	.choose-box2{
+		background: #fff;
+		width: 100%;
+		border-radius: 23rpx;
+		height: 70rpx;
+		display: flex;
+		padding-left: 29rpx;
+		align-items: center;
+		border: 1rpx  solid #808080;
+	}
+	
+	.choose-box3{
+		display: flex;
+	}
+	
+	.choose-boxp{
+		font-size: 32rpx;
+		width: 80rpx;
+	}
+	
+	.fixed-bottom-right {
+		padding: 20rpx;
+	  position: fixed;
+	  bottom: 20px; /* 距离底部的距离 */
+	  right: 20px; /* 距离右侧的距离 */
+	}
+	
+	.tabs {
+	  display: flex;
+	  justify-content: space-around;
+	  margin-bottom: 10px;
+	}
+	
+	.tab-item {
+	  padding: 10px 10px;
+	  cursor: pointer;
+	  transition: all 0.3s;
+	}
+	.tab-item.active {
+	  color: #66b1ff;
+	  border-bottom: 2px solid #66b1ff;
+	}
+	
+	.tab-content {
+	  padding: 20px;
+	}
+	
+	.tab-item-content {
+	  display: none;
+	}
+	
+	.tab-item-content.v-if {
+	  display: block;
+	}
+	
+	
+	.custom-header {
+	  display: flex;
+	  align-items: center;
+	  justify-content: center;
+	  padding: 10px;
+	  width: 100%;
+	}
+	
+	.is-back {
+	  position: relative;
+	}
+	
+	.back-container {
+	  position: absolute;
+	  left: 10px;
+	  cursor: pointer;
+	}
+	
+	.back-text {
+	  color: white; /* 返回按钮文本颜色 */
+	}
+	/* 背景颜色 */
+	.bg-blue {
+	  background-color: #4285f4; /* 假设这是一个蓝色背景 */
+	}
+	.content-container {
+	  flex: 1;
+	  text-align: center;
+	}
+	.content-text {
+	  color: white; /* 标题文本颜色 */
+	  font-weight: bold;
+	}
+</style>