Browse Source

修复package.json

master
parent
commit
b3c7271372
  1. 4
      pages/enterprise.vue
  2. 11
      pages/index.vue
  3. 13
      pages/owner.vue
  4. 4
      pages/task.vue
  5. 3
      sub/chat/index.vue
  6. 2
      sub/enterprise/detail.vue
  7. 115
      sub/enterprise/edit.vue
  8. 162
      sub/invite/addEnterprise.vue
  9. 2
      sub/invite/enterpriseTags.vue
  10. 33
      sub/invite/index.vue
  11. 37
      sub/invite/prove.vue
  12. 2
      sub/task/enforce.vue
  13. 2
      uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue

4
pages/enterprise.vue

@ -54,7 +54,7 @@
@refresherpulling="refresherpulling"
@scrolltolower="loadMore"
class="list"
:style="{ maxHeight: `${listHeight - sreachHeight}px` }"
:style="{ height: `${listHeight - sreachHeight}px` }"
>
<view
v-for="enterprise in list"
@ -166,7 +166,7 @@ export default {
query
.select('#page')
.boundingClientRect(data => {
this.listHeight = data.height - 35
this.listHeight = data.height - 35 - 25
})
.exec()
},

11
pages/index.vue

@ -156,7 +156,7 @@
</view>
</view>
</view>
<view class="">
<view style="min-height: 220px">
<view
v-for="(item, index) in list"
:key="index"
@ -221,6 +221,9 @@ export default {
animation: false
})
this.getDict()
if (!this.$roles.checkRole(['director'])) {
this.queryParams.deptId = this.$store.getters.deptId
}
this.init()
},
onReady() {
@ -283,9 +286,9 @@ export default {
]
},
async init() {
if (!this.$roles.checkRole(['director'])) {
this.queryParams.deptId = this.$store.getters.deptId
}
// if (!this.$roles.checkRole(['director'])) {
// this.queryParams.deptId = this.$store.getters.deptId
// }
const res = await HomeApi.getPieData(this.queryParams)
this.detail = res.data
let curIndex = 0

13
pages/owner.vue

@ -54,7 +54,7 @@
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="section wd-flex wd-flex-row wd-justify-between">
<!-- <view class="section wd-flex wd-flex-row wd-justify-between">
<view class="wd-flex wd-flex-row" style="gap: 8px">
<u--image
src="/static/images/owner/edit.png"
@ -73,8 +73,11 @@
></u-count-to>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="section wd-flex wd-flex-row wd-justify-between">
</view> -->
<view
class="section wd-flex wd-flex-row wd-justify-between"
@click="btnPolicy"
>
<view class="wd-flex wd-flex-row" style="gap: 8px">
<u--image
src="/static/images/owner/list.png"
@ -84,7 +87,7 @@
></u--image>
<text class="wd-font-800">政策法规</text>
</view>
<view class="wd-flex wd-flex-row wd-items-center" style="gap: 8px" @click="btnPolicy">
<view class="wd-flex wd-flex-row wd-items-center" style="gap: 8px">
<u-count-to
:startVal="0"
:endVal="policyTotal"
@ -163,7 +166,7 @@ export default {
pageNum: 1,
pageSize: 10
}).then(res => {
this.policyTotal = res.data.total
this.policyTotal = res.data.total
})
},
openSubMessage() {

4
pages/task.vue

@ -48,7 +48,7 @@
@scrolltolower="loadMore"
class="list"
:enable-flex="true"
:style="{ maxHeight: `${listHeight}px` }"
:style="{ height: `${listHeight}px` }"
>
<view
v-for="task in list"
@ -169,7 +169,7 @@ export default {
query
.select('.page')
.boundingClientRect(data => {
this.listHeight = data.height - 55
this.listHeight = data.height - 55 - 25
})
.exec()
},

3
sub/chat/index.vue

@ -1,5 +1,6 @@
<template>
<web-view src="https://mb.jzce.com/chat/f07644a8e53c750a"></web-view>
<!-- <web-view src="https://mb.jzce.com/chat/f07644a8e53c750a"></web-view> -->
<web-view src="https://chat.deepseek.com/"></web-view>
</template>
<script>

2
sub/enterprise/detail.vue

@ -30,7 +30,7 @@
<view class="wd-flex" style="align-items: center">
<text class="address" style="margin-right: 8px">环保负责人</text>
<text style="margin-right: 16px">
{{ detail.enterprisesName }}
{{ detail.contactName }}
</text>
<text class="address" style="margin-right: 8px">联系方式</text>
<text style="text-decoration: underline">

115
sub/enterprise/edit.vue

@ -188,22 +188,22 @@
<text class="placeholder" v-else>请选择到期日期</text>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<!-- 企业照片 -->
<u-form-item
label="资质照片"
prop="photo"
borderBottom
labelPosition="top"
labelWidth="80"
>
<u-upload
:fileList="prove.form.photo"
@afterRead="addEnterpriseProvePhoto"
@delete="delEnterpriseProvePhoto"
multiple
:maxCount="3"
></u-upload>
</u-form-item>
<!-- 企业照片 -->
<u-form-item
label="资质照片"
prop="photo"
borderBottom
labelPosition="top"
labelWidth="80"
>
<u-upload
:fileList="prove.form.photo"
@afterRead="addEnterpriseProvePhoto"
@delete="delEnterpriseProvePhoto"
multiple
:maxCount="3"
></u-upload>
</u-form-item>
<u-form-item
label="描述"
prop="qualificationDescription"
@ -386,21 +386,21 @@ export default {
qualificationDescription: '',
handleDate: '',
enterpriseAuth: '',
photo: []
photo: []
}
}
}
},
onLoad(res) {
if (res.invateId) {
console.log(res)
console.log(res)
this.invateId = res.invateId
}
this.getDict()
},
onReady() {
this.step.active == 0 &&
this.$refs.infoFormRef.setRules(this.info.rules)
this.$refs.infoFormRef.setRules(this.info.rules)
this.initProveList()
},
methods: {
@ -450,44 +450,43 @@ export default {
delEnterpriseProvePhoto(e) {
this.prove.form.photo.splice(e.index, 1)
},
/**
* 选择图片并上传
* @param {Object} e
*/
async addEnterprisePhoto(e) {
this.info.form.photo = e.file.map(p => {
console.log(p.url)
return {
...p,
status: 'uploading',
message: '上传中'
}
})
// 使promise.all()
await Promise.all(
this.info.form.photo.map(async (p, i) => {
const res = await uploadFile({ name: `file`, filePath: p.url })
return {
...res.data,
status: 'success',
message: ''
}
})
).then(res => {
this.info.form.photo = res
console.log('pthoto3', this.info.form.photo)
})
},
/**
* 删除图片
* @param {Object} e
*/
delEnterprisePhoto(e) {
this.info.form.photo.splice(e.index, 1)
},
/**
* 选择图片并上传
* @param {Object} e
*/
async addEnterprisePhoto(e) {
this.info.form.photo = e.file.map(p => {
console.log(p.url)
return {
...p,
status: 'uploading',
message: '上传中'
}
})
// 使promise.all()
await Promise.all(
this.info.form.photo.map(async (p, i) => {
const res = await uploadFile({ name: `file`, filePath: p.url })
return {
...res.data,
status: 'success',
message: ''
}
})
).then(res => {
this.info.form.photo = res
console.log('pthoto3', this.info.form.photo)
})
},
/**
* 删除图片
* @param {Object} e
*/
delEnterprisePhoto(e) {
this.info.form.photo.splice(e.index, 1)
},
/**
* 弹出选择器
* @param {String} type 字典类型
@ -629,7 +628,7 @@ export default {
let prove
let data = this.prove.form
data.enterpriseId = this.info.form.id
data.files = this.prove.form.photo.map(p => p.id)
data.files = this.prove.form.photo.map(p => p.id)
if (data.id) {
prove = await updateProve(data)
} else {

162
sub/invite/addEnterprise.vue

@ -117,14 +117,24 @@
负责人电话
</view>
<view class="value">
<input
<!-- <input
class="input-value"
type="text"
placeholder-class="txt"
placeholder="请输入负责人电话"
v-model="form.environmentalContactPhone"
@blur="proofName"
/>
/> -->
<uni-easyinput
type="text"
placeholder="请输入负责人电话"
:inputBorder="false"
style="text-align: center"
v-model="form.environmentalContactPhone"
@blur="proofName"
:clearable="false"
:autoHeight="true"
></uni-easyinput>
<u-icon name="arrow-right"></u-icon>
</view>
</view>
@ -150,44 +160,41 @@
<u-icon name="plus-circle" color="#17C653" size="14"></u-icon>
<text style="line-height: 1rem">新增资质</text>
</view>
<view
class="wd-flex"
style="justify-content: space-between"
v-for="(p, index) in prove"
:key="index"
v-if="prove.length > 0"
>
<image
src="@/static/images/enterprise/zz.png"
style="width: 90px; height: 70px"
mode="widthFix"
></image>
<view
style="flex: 1; justify-content: space-between"
class="wd-flex wd-flex-col"
>
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质名称</text>
<view>
{{
$dict.echoDicValue(
dictMap.enterprise_qua,
prove.qualificationName.toString()
)
}}
</view>
</view>
<view
class="prove"
v-for="(p, index) in prove"
:key="index"
v-if="prove.length > 0"
@tap="editProve(p)"
>
<image
:src="p.photo[0].url"
style="width: 90px; height: 70px"
mode="widthFix"
></image>
<view class="info">
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质名称</text>
<view class="wd-font-800">
{{
$dict.echoDicValue(
dictMap.enterprise_qua,
p.qualificationName.toString()
)
}}
</view>
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质编号</text>
<view>
{{ prove.enterpriseAuth }}
</view>
</view>
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质编号</text>
<view class="wd-font-800">
{{ p.enterpriseAuth }}
</view>
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质到期</text>
<view>
{{ $util.formatDate(prove.expiryDate, 'YYYY/M/D') }}
</view>
</view>
<view class="wd-flex" style="gap: 8px; align-items: center">
<text class="label">资质到期</text>
<view class="wd-font-800">
{{ $util.formatDate(p.expiryDate, 'YYYY/M/D') }}
</view>
</view>
</view>
@ -217,7 +224,22 @@ export default {
tags: {}
},
dictMap: {},
prove: [],
prove: [
{
enterpriseAuth: '123',
expiryDate: '2025-02-24',
id: '',
photo: [
{
id: 1890,
message: '',
status: 'success',
url: 'http://60.23.29.213:19001/huanbao/7f71a5ed324fd6d35d61c7b6d68d8e6e06f16557f3150af3dece8ab386f9f189.png'
}
],
qualificationName: '1'
}
],
inviteId: undefined
}
},
@ -309,6 +331,11 @@ export default {
uni.navigateTo({
url: '/sub/invite/prove'
})
},
editProve(prove) {
uni.navigateTo({
url: `/sub/invite/prove?prove=${JSON.stringify(prove)}`
})
}
}
}
@ -345,6 +372,12 @@ export default {
text-align: right;
white-space: nowrap;
text-overflow: ellipsis;
cursor: auto;
display: block;
font-family: UICTFontTextStyleBody;
height: 1.4rem;
min-height: 1.4rem;
overflow: hidden;
}
.input-textarea {
flex: 1;
@ -352,15 +385,38 @@ export default {
overflow: hidden;
text-align: right;
max-height: 3rem;
line-height: 1rem;
text-overflow: ellipsis;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
word-break: break-all;
cursor: auto;
display: block;
font-family: UICTFontTextStyleBody;
height: 1.4rem;
min-height: 1.4rem;
overflow: hidden;
}
}
}
.prove {
border-radius: var(--Number-12px, 12px);
border: 1px solid var(--LightMode-Grey-Grey-100, #f9f9f9);
background: var(--LightMode-Light-Light, #fff);
display: flex;
padding: var(--Number-12px, 12px);
align-items: center;
gap: var(--Number-12px, 12px);
font-size: 28rpx;
flex-flow: row nowrap;
.info {
height: 72px;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
}
}
.upload-wrapper {
display: flex;
flex-flow: column nowrap;
@ -370,6 +426,32 @@ export default {
gap: 12px;
}
::v-deep .uni-easyinput__content-input {
flex: 1;
text-align: right;
white-space: nowrap;
text-overflow: ellipsis;
cursor: auto;
display: block;
font-family: UICTFontTextStyleBody;
height: 1.4rem;
min-height: 1.4rem;
overflow: hidden;
padding-right: 0;
}
::v-deep .uni-easyinput__placeholder-class {
flex: 1;
text-align: right;
white-space: nowrap;
text-overflow: ellipsis;
cursor: auto;
display: block;
font-family: UICTFontTextStyleBody;
height: 1.4rem;
min-height: 1.4rem;
font-size: 14px;
overflow: hidden;
}
.operation {
padding: 12px;
display: flex;

2
sub/invite/enterpriseTags.vue

@ -27,7 +27,7 @@
></u-picker>
<cs-bottom-wrapper>
<view class="operation">
<button class="btn green" @tap="submit">提交审核</button>
<button class="btn green" @tap="submit">保存</button>
</view>
</cs-bottom-wrapper>
</view>

33
sub/invite/index.vue

@ -1,6 +1,14 @@
<template>
<view>
<scroll-view direction="vertical"></scroll-view>
<view class="view">
<view class="emty">
<image
src="/static/images/emty.png"
style="width: 79px; height: 79px"
mode="widthFix"
></image>
<text>暂无数据</text>
</view>
<cs-bottom-wrapper>
<view class="operation">
<button class="btn green" @tap="addEnterprise">新增企业</button>
@ -33,6 +41,27 @@ export default {
</script>
<style lang="scss" scoped>
.view {
padding: 12px;
display: flex;
flex-flow: column nowrap;
gap: 12px;
overflow: hidden;
overflow-y: scroll;
max-height: 100vh;
padding-bottom: 12vh;
}
.emty {
border-radius: 8px;
height: 550rpx;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
background-color: #fff;
gap: 12px;
color: #99a1b7;
}
.operation {
padding: 12px;
display: flex;

37
sub/invite/prove.vue

@ -151,8 +151,11 @@ export default {
},
onLoad(res) {
uni.setNavigationBarTitle({
title: !res ? '编辑资质' : '新增资质'
title: res.prove ? '编辑资质' : '新增资质'
})
if (res.prove) {
this.prove = JSON.parse(res.prove)
}
this.getDict()
},
onShow() {},
@ -173,28 +176,18 @@ export default {
* @param {Object} e
*/
async addPhoto(e) {
e.file.forEach(p => {
this.prove.photo.push({
...p,
status: 'uploading',
message: '上传中'
})
this.prove.photo.push({
...e.file,
status: 'uploading',
message: '上传中'
})
// 使promise.all()
await Promise.all(
this.prove.photo.map(async (p, i) => {
if (p.status == 'uploading') {
const res = await uploadFile({ name: `file`, filePath: p.url })
return {
...res.data,
status: 'success',
message: ''
}
}
return p
uploadFile({ name: `file`, filePath: e.file.url }).then(res => {
this.prove.photo = []
this.prove.photo.push({
...res.data,
status: 'success',
message: ''
})
).then(res => {
this.prove.photo = res
})
},
/**
@ -202,7 +195,7 @@ export default {
* @param {Object} e
*/
delPhoto(e) {
this.prove.photo.splice(e.index, 1)
this.prove.photo = {}
},
/**
* 选择器确认回调

2
sub/task/enforce.vue

@ -106,7 +106,7 @@ export default {
state: undefined,
inspectionsId: undefined,
advice: undefined,
photo: undefined,
photo: [],
date: ''
},
showModel: false

2
uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue

@ -419,7 +419,7 @@ export default {
const paddingRight =
this.type === 'password' || this.clearable || this.prefixIcon
? ''
: '10px'
: '0px'
return obj2strStyle({
'padding-right': paddingRight,
'padding-left': this.prefixIcon ? '' : '10px'

Loading…
Cancel
Save