This commit is contained in:
wjn 2024-07-11 17:10:18 +08:00
commit af4012bc4e
10 changed files with 1100 additions and 111 deletions

64
package-lock.json generated
View File

@ -74,9 +74,15 @@
}
},
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
@ -92,14 +98,28 @@
"peer": true
},
"node_modules/postcss": {
"version": "8.4.27",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz",
"integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"peer": true,
"dependencies": {
"nanoid": "^3.3.6",
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
"source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
@ -115,9 +135,9 @@
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"peer": true,
"engines": {
"node": ">=0.10.0"
@ -192,9 +212,9 @@
}
},
"nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"peer": true
},
"picocolors": {
@ -204,14 +224,14 @@
"peer": true
},
"postcss": {
"version": "8.4.27",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz",
"integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"peer": true,
"requires": {
"nanoid": "^3.3.6",
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
"source-map-js": "^1.2.0"
}
},
"source-map": {
@ -221,9 +241,9 @@
"peer": true
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"peer": true
},
"vue": {

View File

@ -788,6 +788,18 @@
"style": {
"navigationBarTitleText": "作业任务库查看"
}
},
{
"path": "SetContents",
"style": {
"navigationBarTitleText": "检查内容设置"
}
},
{
"path": "safeCheckSignDIY",
"style": {
"navigationBarTitleText": "新增检查登记"
}
}
]
},

View File

@ -0,0 +1,361 @@
<!-- 检查内容设置-->
<template>
<view class="page-wrap">
<view class="card">
<uni-card margin="0" :is-shadow="true">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules"
ref="wForm" errorType="border-bottom">
<!-- <u-form-item required label="检查范围" prop="CHECKOBJECT_DESCRIPTION" borderBottom
@click="handleShowSheet({title: '检查范围', name: 'CHECKOBJECT'})">
<u--input disabledColor="#fff" v-model="model.CHECKOBJECT_DESCRIPTION" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item> -->
<u-form-item required label="检查内容" prop="CHECKCONTENT" borderBottom>
<u--textarea autoHeight v-model="model.CHECKCONTENT" placeholder="检查内容"
border="surround"></u--textarea>
</u-form-item>
</u--form>
</uni-card>
</view>
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<view class="sub-form-btns">
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus-circle" color="#3c9cff" size="21"></u-icon>
<u--text type="primary" text="新增"></u--text>
</view>
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom"
ref="sForm">
<uni-collapse :border="false" accordion>
<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
v-for="(item, index) in model.Nav_ListCheckQuestion">
<uni-collapse-item :title="item.NUM + '. ' + item.DESCREPTION" name="1">
<view slot="value" class="row-action">
<text @click.stop="DetailDel(item)" class="enableTrue">
<u--text type="primary" class="btnCheck" text="删除"></u--text>
</text>
</view>
<u-form-item class="subRequired" required label="检查问题描述" prop="DESCREPTION"
borderBottom>
<u--textarea autoHeight v-model="item.DESCREPTION" placeholder="检查问题描述"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="整改建议与措施" prop="DEMAND"
borderBottom>
<u--textarea autoHeight v-model="item.DEMAND" placeholder="整改建议与措施"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="问题等级" prop="QUESTION_LEVEL_SHOW"
borderBottom
@click="handleShowSheet({title: '问题等级', name: 'QUESTION_LEVEL',itemData:item})">
<u--input disabledColor="#ffffff" v-model="item.QUESTION_LEVEL_SHOW"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
</uni-collapse-item>
</uni-card>
</uni-collapse>
</u--form>
</view>
</view>
</u-sticky>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" title="确认删除?"></u-modal>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup"
:defaultChecked="selectorInfo.defaultChecked" :title="selectorInfo.title" :lists="selectorInfo.dataLists"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" />
<view class="bottom-button">
<button type="primary" @click="FullCheckUpdate">提交</button>
</view>
</view>
</template>
<script>
import {
guid,
initFilter
} from '../../../../utils/common'
import {
FullUpdateContents
} from '../../../../services/apply/subPages/BS/safeCheck'
import {
getEnum
} from '../../../../services/common'
import {
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
} from '../../../../utils/enums'
export default {
data() {
return {
indexShow: 10, //
total: 0,
tableKey: '0',
TaskID: '',
listPropUpload: ['SAFE_CHECK_ID'],
listPropValUpload: [],
AUDIT_OPINION: '',
ORG_ID: '',
modelEdit: {},
model: {
ID: '',
ORG_ID: '',
CHECKOBJECT_DESCRIPTION: '',
CHECKOBJECT: '',
CHECKCONTENT: '',
// Nav_ListSafeCheckDetailShow
Nav_ListCheckQuestion: [{
ORG_ID: '',
CHECK_CONTENTS_ID: '',
DESCREPTION: '',
DEMAND: '',
QUESTION_LEVEL: '',
QUESTION_LEVEL_SHOW: '',
NUM: '1',
}] //
},
isAudit: true,
lists: [],
dateTimePickerInfo: {
showCheckDate: false,
dataIndex: undefined,
defaultDateTime: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM:ss'),
value: ''
},
selectorInfo: {
isSubShow: false,
isMultiple: false,
showPopup: false,
title: '检查人员',
itemData: {},
index: 0,
dataLists: [],
defaultText: '',
defaultValue: '',
name: '',
defaultChecked: []
},
showDelModalIndex: undefined,
rules: {
// 'CHECKOBJECT_DESCRIPTION': {
// type: 'string',
// required: true,
// trigger: ['blur', 'change']
// },
'CHECKCONTENT': {
type: 'string',
required: true,
trigger: ['blur', 'change']
}
},
}
},
onLoad(option) {
this.model.ID = guid()
this.model.TaskID = option.taskID
this.TaskID = option.taskID
this.tableKey = option.tableKey
this.ORG_ID = uni.getStorageSync('orgId')
this.model.ORG_ID = uni.getStorageSync('orgId')
},
methods: {
handleAdd() {
if (this.model.Nav_ListCheckQuestion == null) {
this.model.Nav_ListCheckQuestion = []
}
var NUM = this.model.Nav_ListCheckQuestion.length
this.model.Nav_ListCheckQuestion.unshift({
ID: guid(),
ORG_ID: this.ORG_ID,
NUM: NUM + 1,
CHECK_CONTENTS_ID: this.model.ID,
DESCREPTION: '',
DEMAND: '',
QUESTION_LEVEL: '',
QUESTION_LEVEL_SHOW: '',
})
},
//
DetailDel(item) {
//
item.IS_DELETED = true
let indexNotDel = 1
// this.ListApplyDetail = []
this.model.Nav_ListCheckQuestion.forEach((e, i) => {
if (!e.IS_DELETED) {
e.ROW_NO = indexNotDel
// this.ListApplyDetail.push(e)
indexNotDel++
}
})
},
confirmDel() {
this.model.Nav_ListCheckQuestion.splice(this.showDelModalIndex, 1)
this.showDelModalIndex = undefined
},
handleTab(t) {
this.currentTab = t
},
FullCheckUpdate() {
const ele = this.$refs
ele['wForm'].validate().then(res => {
if (this.model.Nav_ListCheckQuestion == null || this.model.Nav_ListCheckQuestion.length < 1) {
uni.$showErrorInfo('检查问题不能为空');
} else {
let index = 0
var isOK = true
this.model.Nav_ListCheckQuestion.forEach(item => {
if (item.ORG_ID == null||item.ORG_ID =='')
item.ORG_ID = this.ORG_ID
item.CHECK_CONTENTS_ID = this.model.ID
item.SERIOUS_RISK = (item.QUESTION_LEVEL == 10 ? 1 : 0)
index++
if (item.DESCREPTION == null || item.DESCREPTION == '') {
isOK = false
uni.$showErrorInfo('第【' + index + '】项检查问题描述不能为空');
}
if (isOK && (item.DEMAND == null || item.DEMAND == '')) {
isOK = false
uni.$showErrorInfo('第【' + index + '】项整改建议与措施不能为空');
}
if (isOK && (item.QUESTION_LEVEL == null || item.QUESTION_LEVEL == '')) {
isOK = false
uni.$showErrorInfo('请选择第【' + index + '】项的问题等级');
}
})
if (isOK) {
FullUpdateContents(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
uni.navigateBack()
}, 'success', 1000)
})
}
}
}).catch(err => {
uni.$showErrorInfo('校验失败');
})
},
//
async handleShowSheet(p) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0)
let dataSelect = []
var defaultChecked = []
if (p.name == 'CHECKOBJECT') {
this.selectorInfo.isMultiple = false
var dataParm = {
'name': "BSMineTypeEnum"
}
dataSelect = await getEnum(dataParm).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME
// res[i].code = res[i].ID
}
}
return res
})
} else if (p.name == 'QUESTION_LEVEL') {
this.selectorInfo.isMultiple = false
dataSelect = []
for (let i = 0; i < listBSQuestionLevelEnum.length; i++) {
dataSelect.push({
name: listBSQuestionLevelEnum[i],
ID: listBSQuestionLevelEnumVal[i]
})
}
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData,
isMultiple: this.selectorInfo.isMultiple,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
handleSelected(e) {
this.selectorInfo.showPopup = false
if (this.selectorInfo.name == "CHECKOBJECT") {
this.model.CHECKOBJECT_DESCRIPTION = e.NAME
this.model.CHECKOBJECT = e.ID
} else if (this.selectorInfo.name == 'QUESTION_LEVEL') {
this.selectorInfo.itemData.QUESTION_LEVEL = e.ID
this.selectorInfo.itemData.QUESTION_LEVEL_SHOW = e.name
}
},
closePicker() {
this.comPickerInfo = {
showSheet: false,
columns: [],
title: '',
name: '',
formIndex: undefined
}
},
//
handleSearch(val) {
var p = {
name: this.selectorInfo.name,
title: this.selectorInfo.title,
val: val
}
this.handleShowSheet(p)
},
},
computed: {},
onReachBottom() {
if (this.indexShow < this.total) {
var end = this.indexShow + 10
if (end >= this.total)
end = this.total
var tampAdd = this.model.Nav_ListCheckQuestion.slice(this.indexShow, end)
this.Nav_ListSafeCheckDetailShow = this.Nav_ListSafeCheckDetailShow.concat(tampAdd)
// this.$forceUpdate()
this.indexShow = end
}
},
}
</script>
<style scoped>
@import url("../../../../style/css/editTemplate.css");
</style>

View File

@ -82,8 +82,8 @@
</u-form-item>
<view class="label-title">检查问题描述</view>
<u-form-item prop="CHECKRESULT_DESCRIPTION" borderBottom>
<u--textarea disabled autoHeight v-model="item.CHECKRESULT_DESCRIPTION"
<u-form-item prop="DESCREPTION" borderBottom>
<u--textarea disabled autoHeight v-model="item.DESCREPTION"
placeholder="请输入检查问题描述" border="surround"></u--textarea>
</u-form-item>
@ -92,9 +92,9 @@
v-model="item.QUESTION_LEVEL_DESCRIPTION" border="none"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="整改建议与措施" prop="DEMAND" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.DEMAND" border="none"
inputAlign="right"></u--input>
<u-form-item label="整改建议与措施" prop="CHECKRESULT_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.CHECKRESULT_DESCRIPTION"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查人员" prop="checkerNames" borderBottom>
<u--input disabled disabledColor="#fff" v-model="item.checkerNames"
@ -203,6 +203,7 @@
checkerNames: '',
CHECKCONTENT: '',
CHECKRESULT_DESCRIPTION: '',
DESCREPTION: '',
QUESTION_LEVEL_DESCRIPTION: '',
DEMAND: '',
ADDRESS: '',
@ -305,11 +306,12 @@
let checkerNames = ''
let ProjectNAME = ''
let AreaNAME = ''
let DESCREPTION = ''
for (let i = 0; i < res.Nav_ListSafeCheckDetail.length; i++) {
checkerNames = ''
ProjectNAME = ''
AreaNAME = ''
DESCREPTION = ''
res.Nav_ListSafeCheckDetail[i].ISCHECK = false
for (let j = 0; j < res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailUser
@ -343,6 +345,13 @@
res.Nav_ListSafeCheckDetail[i].ISCHECK = false
}
if (res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion != null && res
.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion.length > 0) {
res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailQuestion.forEach(e => {
DESCREPTION += ' ' + e.Nav_Question.DESCREPTION
})
}
res.Nav_ListSafeCheckDetail[i].DESCREPTION = DESCREPTION
}
}

View File

@ -70,12 +70,15 @@
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<!-- wyw <view class="sub-form-btns">
<!-- wyw -->
<view class="sub-form-btns" v-if='isLoadOK'>
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus" color="#2979ff" size="14"></u-icon>
<u--text type="primary" text="新增"></u--text>
<u--text type="primary" text="检查登记"></u--text>
</view>
</view> -->
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="subDataModel"
errorType="border-bottom" ref="sForm">
<uni-collapse :border="false" accordion>
@ -96,7 +99,7 @@
<u--input disabled disabledColor="#fff" v-model="item['Nav_CheckProject'].NAME"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="检查问题描述" class="subRequired" required
<u-form-item v-if="item.ISAUTOLOAD" label="检查问题描述" class="subRequired" required
prop="listCheckDetailQuestion" borderBottom
@click="handleShowSheet({title: '检查问题描述', name: 'listCheckDetailQuestion', formIndex: index ,subData: item,data:model})">
<!-- 下拉图标 -->
@ -104,6 +107,12 @@
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item v-else label="检查问题描述" class="subRequired" required
prop="listCheckDetailQuestion" borderBottom>
<!-- 下拉图标 -->
<u--input disabledColor="#fff" v-model="item.listCheckDetailQuestion"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="问题等级" prop="QUESTION_LEVEL_DESCRIPTION" borderBottom>
<u--input disabled disabledColor="#fff"
v-model="item.QUESTION_LEVEL_DESCRIPTION" border="none"
@ -118,28 +127,32 @@
<u--input disabled disabledColor="#fff" v-model="item.checkerNames"
border="none" inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患地点" prop="ADDRESS" borderBottom>
<u-form-item v-if="item.ISAUTOLOAD" label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" placeholder='隐患地点' v-model="item.ADDRESS"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item v-else label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" border="none" disabled placeholder='隐患地点'
v-model="item.ADDRESS" inputAlign="right"></u--input>
</u-form-item>
<!-- <u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleShowSheet({title: '隐患原因', name: 'listCheckDetailReason', formIndex: index})">
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item> -->
<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleChange(item)">
<u-form-item v-if="item.ISAUTOLOAD" label="隐患原因" prop="listCheckDetailReason"
borderBottom @click="handleChange(item)">
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item label="备注" prop="REMARK" borderBottom>
<u--input disabledColor="#fff" placeholder='备注' v-model="item.REMARK"
inputAlign="right"></u--input>
<u-form-item v-else label="隐患原因" prop="listCheckDetailReason" borderBottom>
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='true'
<full-upload v-model="item.Nav_Files" :isShowBtn=item.ISAUTOLOAD
:listProp='listPropSubUpload'
:listPropVal='item.listPropValSubUpload'></full-upload>
</uni-collapse-item>
@ -304,7 +317,22 @@
this.showDelModalIndex = undefined
},
handleAdd() {
this.model.Nav_ListSafeCheckDetail.unshift(this.subDataModel)
//
var linkToUrl = 'safeCheckSignDIY?tableKey=' + this.tableKey + '&ID=' + this.model.ID + '&taskID=' + this
.TaskID //Url
// this.model.DEPARTMENT_ID = option.DEPARTMENT_ID
// this.model.CHECK_TYPE_LEVEL_ID = option.CHECK_TYPE_LEVEL_ID
//BS077
linkToUrl += '&ROW_NO=' + this.model.Nav_ListSafeCheckDetail.length + '&SAFE_CHECK_ID=' + this.model.ID +
'&CHECKOBJECT=' + this.model.CHECKOBJECT + '&CHECK_TYPE_ID=' + this.model.CHECK_TYPE_ID +
'&DEPARTMENT_ID=' + this.model.DEPARTMENTID + '&CHECK_TYPE_LEVEL_ID=' + this.model
.CHECK_TYPE_LEVEL_ID + '&Nav_ListUserCheck=' + encodeURIComponent(JSON.stringify(this.model
.Nav_ListSafeCheckDetail[0]
.Nav_ListCheckDetailUser))
uni.navigateTo({
url: linkToUrl
})
},
handleTab(t) {
this.currentTab = t
@ -315,7 +343,6 @@
const orgId = uni.getStorageSync('orgId')
this.model.Nav_ListSafeCheckDetail[0].Nav_ListCheckDetailUser[0].SAFECHECKSTATE = 80;
this.model.TaskID = this.TaskID
if (this.model.Nav_ListSafeCheckDetail != null && this.model.Nav_ListSafeCheckDetail.length >
0) {
this.model.Nav_ListSafeCheckDetail.forEach(e => {
@ -328,7 +355,6 @@
}
})
}
FullCheckUpdateBS057(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
if (this.tableKey == null || this.tableKey == 0) {
@ -336,7 +362,15 @@
url: 'safeCheckIndex'
})
} else {
uni.navigateBack()
// uni.navigateBack()//
// uni.switchTab({
// url: '../../../index/index2',
// })
uni.switchTab({
url: '/pages/index/index2'
})
}
}, 'success', 1000)
})
@ -437,6 +471,16 @@
res.Nav_ListSafeCheckDetail[i].DEMAND = DEMAND.substring(1)
}
}
if (!res.Nav_ListSafeCheckDetail[i].ISAUTOLOAD && res.Nav_ListSafeCheckDetail[i]
.Nav_ListCheckDetailReason != null && res.Nav_ListSafeCheckDetail[i]
.Nav_ListCheckDetailReason.length > 0) {
var listCheckDetailReason = ''
res.Nav_ListSafeCheckDetail[i].Nav_ListCheckDetailReason.forEach(e => {
listCheckDetailReason += ' ' + e.Nav_RiskReason?.NAME
})
res.Nav_ListSafeCheckDetail[i].listCheckDetailReason = listCheckDetailReason
}
}
}

View File

@ -0,0 +1,511 @@
<!-- 手动检查登记 -->
<template>
<view class="page-wrap">
<view class="card">
<uni-card margin="0" :is-shadow="true">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules"
ref="wForm" errorType="border-bottom">
<u-form-item required label="检查区域" prop="RiskAreaNAME"
@click="handleShowSheet({title: '检查区域', name: 'RiskAreaNAME'})" borderBottom>
<u--input disabledColor="#fff" v-model="model.RiskAreaNAME" border="none"
inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item required label="检查内容" prop="CHECKCONTENT" borderBottom>
<u--textarea autoHeight v-model="model.CHECKCONTENT" placeholder="检查内容"
border="surround"></u--textarea>
</u-form-item>
</u--form>
</uni-card>
</view>
<u-sticky offset-top="20">
<view class="sub-form">
<view class="sub-form-wrap">
<view class="sub-form-btns">
<view class="sub-form-btn" @click="handleAdd">
<u-icon class="icon" name="plus" color="#2979ff" size="14"></u-icon>
<u--text type="primary" text="检查信息"></u--text>
</view>
</view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom"
ref="sForm"><!-- :model="subDataModel" -->
<uni-collapse :border="false" accordion>
<uni-card style="margin-bottom: 16px;" margin="0" spacing="0" :is-shadow="false"
v-for=" item in model.Nav_ListCheckDetail">
<uni-collapse-item :title="item.ROW_NO+ '. ' + item.Nav_CheckProject.NAME">
<u-form-item class="subRequired" required label="检查项目" prop="Nav_CheckProject.NAME"
@click="handleShowSheet({title: '检查项目', name: 'CheckProjectNAME',itemData:item})"
borderBottom>
<u--input disabledColor="#fff" v-model="item['Nav_CheckProject'].NAME"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="检查项目分类"
prop="Nav_CheckProjectCategory.NAME"
@click="handleShowSheet({title: '检查项目分类', name: 'CheckProjectCategoryNAME',itemData:item})"
borderBottom>
<u--input disabledColor="#fff" v-model="item['Nav_CheckProjectCategory'].NAME"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="检查问题描述" prop="DESCREPTION"
borderBottom>
<u--textarea autoHeight v-model="item.DESCREPTION" placeholder="检查问题描述"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="整改建议与措施" prop="DEMAND"
borderBottom>
<u--textarea autoHeight v-model="item.DEMAND" placeholder="整改建议与措施"
border="surround"></u--textarea>
</u-form-item>
<u-form-item class="subRequired" required label="问题等级" prop="QUESTION_LEVEL_SHOW"
borderBottom
@click="handleShowSheet({title: '问题等级', name: 'QUESTION_LEVEL',itemData:item})">
<u--input disabledColor="#ffffff" v-model="item.QUESTION_LEVEL_SHOW"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<u-form-item class="subRequired" required label="隐患地点" prop="ADDRESS" borderBottom>
<u--input disabledColor="#fff" placeholder='隐患地点' v-model="item.ADDRESS"
inputAlign="right"></u--input>
</u-form-item>
<u-form-item label="隐患原因" prop="listCheckDetailReason" borderBottom
@click="handleShowSheet({title: '问题等级', name: 'listCheckDetailReason',itemData:item})">
<!-- @click="handleChange(item)" -->
<u--input disabledColor="#fff" v-model="item.listCheckDetailReason"
border="none" inputAlign="right"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down"></u-icon>
</u-form-item>
<view class="upload-title">附件</view>
<full-upload v-model="item.Nav_Files" :isShowBtn='true'
:listProp='listPropSubUpload'
:listPropVal='item.listPropValSubUpload'></full-upload>
</uni-collapse-item>
</uni-card>
</uni-collapse>
</u--form>
</view>
</view>
</u-sticky>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" title="确认删除?"></u-modal>
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup"
:defaultChecked="selectorInfo.defaultChecked" :title="selectorInfo.title" :lists="selectorInfo.dataLists"
@search="handleShowSheet" @select="handleSelected" @close="selectorInfo.showPopup=false" />
<view class="bottom-button">
<button type="primary" @click="FullCheckUpdate">提交</button>
</view>
</view>
</template>
<script>
import {
guid,
initFilter,
extendRule,
extendInclude,
extendGroupRule,
initFilterGroup,
extendFilterGroup,
extendFilterGroupGroupRules
} from '../../../../utils/common'
import {
AddCheckRecord,
CheckTypeOrderPaged,
CheckTypeLevelOrderPaged,
OrderPagedAreaMineType,
CheckProjectOrderPaged,
OrderPagedProjectCategory,
OrderPagedSafeCheckDetail,
OrderPagedSuitAll,
orderPagedRiskReason
} from '../../../../services/apply/subPages/BS/safeCheck'
import {
auditOptionShow,
getEnum
} from '../../../../services/common'
import {
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
} from '../../../../utils/enums'
export default {
data() {
return {
tableKey: '0',
TaskID: '',
listPropSubUpload: ['SAFE_CHECK_ID', 'SAFE_CHECK_DETAIL_ID'],
listPropValUpload: [],
AUDIT_OPINION: '',
model: {
ID: '',
ORG_ID: '',
SAFE_CHECK_ID: '',
DEPARTMENT_ID: '',
CHECKOBJECT: '',
CHECKOBJECT_DESCRIPTION: '',
RISK_AREA_ID: '',
RiskAreaNAME: '',
CHECK_TYPE_ID: '',
CHECK_TYPE_LEVEL_ID: '',
ROW_NO: '',
CHECKCONTENT: '',
Nav_ListUserCheck: [],
Nav_ListCheckDetail: [{
DESCREPTION: '',
DEMAND: '',
ID: '',
ORG_ID: '',
SAFE_CHECK_ID: '',
QUESTION_LEVEL: '',
ROW_NO: '1',
CHECK_PROJECT_ID: '',
Nav_CheckProject: {
NAME: ''
},
CHECK_PROJECT_CATEGORY_ID: '',
Nav_CheckProjectCategory: {
NAME: ''
},
ADDRESS: '',
Nav_ListCheckDetailReason: [],
Nav_Files: [],
listPropValSubUpload: []
}],
},
isAudit: true,
lists: [],
comPickerInfo: {
showSheet: false,
columns: [],
title: '',
dataIndex: undefined,
formIndex: undefined,
name: ''
},
selectorInfo: {
showPopup: false,
isMultiple: false,
title: '隐患原因',
itemData: {},
index: 0,
dataLists: [],
defaultText: '',
defaultValue: '',
name: '',
defaultChecked: []
},
showCheckDate: false,
showPopup: false,
showDelModalIndex: undefined,
rules: {
'CHECKOBJECT_DESCRIPTION': {
type: 'string',
required: true,
trigger: ['blur', 'change']
},
'CHECKCONTENT': {
type: 'string',
required: true,
trigger: ['blur', 'change']
}
},
}
},
onLoad(option) {
this.model.ID = option.ID
this.model.ORG_ID = uni.getStorageSync('orgId')
this.model.TaskID = option.taskID
this.TaskID = option.taskID
this.tableKey = option.tableKey
this.model.ROW_NO = option.ROW_NO
this.model.SAFE_CHECK_ID = option.SAFE_CHECK_ID
this.model.CHECKOBJECT = option.CHECKOBJECT
this.model.CHECK_TYPE_ID = option.CHECK_TYPE_ID
this.model.DEPARTMENT_ID = option.DEPARTMENT_ID
this.model.CHECK_TYPE_LEVEL_ID = option.CHECK_TYPE_LEVEL_ID
this.model.Nav_ListUserCheck = JSON.parse(decodeURIComponent(option.Nav_ListUserCheck))
this.model.Nav_ListCheckDetail[0].ROW_NO = parseInt(option.ROW_NO) + 1
this.model.Nav_ListCheckDetail[0].SAFE_CHECK_ID = this.model.SAFE_CHECK_ID
this.model.Nav_ListCheckDetail[0].ID = guid()
this.model.Nav_ListCheckDetail[0].ORG_ID = this.model.ORG_ID
this.model.Nav_ListCheckDetail[0].listPropValSubUpload.push(this.model.ID)
this.model.Nav_ListCheckDetail[0].listPropValSubUpload.push(this.model.Nav_ListCheckDetail[0].ID)
},
methods: {
handleOkRow() {
console.log('ok row')
},
handleDelRowBefore(index) {
this.showDelModalIndex = index
},
confirmDel() {
this.model.Nav_ListSafeCheckDetail.splice(this.showDelModalIndex, 1)
this.showDelModalIndex = undefined
},
handleAdd() {
if (this.model.Nav_ListCheckDetail == null) {
this.model.Nav_ListCheckDetail = []
}
var NUM = parseInt(this.model.ROW_NO) + this.model.Nav_ListCheckDetail.length + 1
var detailIDAdd = guid()
var detailTemp = {
ID: detailIDAdd,
ORG_ID: this.model.ORG_ID,
SAFE_CHECK_ID: this.model.SAFE_CHECK_ID,
QUESTION_LEVEL: '',
ROW_NO: NUM,
CHECK_PROJECT_ID: '',
Nav_CheckProject: {
NAME: ''
},
CHECK_PROJECT_CATEGORY_ID: '',
Nav_CheckProjectCategory: {
NAME: ''
},
ADDRESS: '',
Nav_ListCheckDetailReason: [],
Nav_Files: [],
listPropValSubUpload: [],
}
detailTemp.listPropValSubUpload.push(this.model.ID)
detailTemp.listPropValSubUpload.push(detailIDAdd)
this.model.Nav_ListCheckDetail.unshift(detailTemp)
},
handleTab(t) {
this.currentTab = t
},
FullCheckUpdate() {
const ele = this.$refs
if (this.model.Nav_ListCheckDetail == null || this.model.Nav_ListCheckDetail.length < 1) {
uni.$showErrorInfo('请新增检查信息后再提交');
} else if (this.model.Nav_ListCheckDetail[0].DESCREPTION == '' || this.model.Nav_ListCheckDetail[0]
.DEMAND == '') {
uni.$showErrorInfo('请完善检查信息');
} else {
ele['wForm'].validate().then(res => {
this.model.Nav_ListCheckDetail.forEach(e => {
e.Nav_CheckProject = null;
e.Nav_CheckProjectCategory = null
if (e.Nav_ListCheckDetailReason != null && e.Nav_ListCheckDetailReason.length >
0) {
e.Nav_ListCheckDetailReason.forEach(ec => {
ec.Nav_RiskReason = null
})
}
})
AddCheckRecord(this.model).then(res => {
uni.$showMsgFunc('操作成功!', () => {
var linkToUrl = 'safeCheckSign?tableKey=' + this.tableKey +
'&ID=' + this.model.ID + '&taskID=' + this.TaskID //Url
uni.navigateTo({
url: linkToUrl
})
}, 'success', 1000)
})
}).catch(err => {
console.log('校验失败', err)
})
}
},
//
async handleShowSheet(p) {
if (p.name == undefined) {
//
var val = p
p = this.selectorInfo
p.val = val
}
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", 0)
let dataSelect = []
var defaultChecked = []
if (p.name == 'RiskAreaNAME') {
this.selectorInfo.isMultiple = false
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
// this.selectorInfo.isMultiple = true
json.FilterGroup.Groups.push({
'IsAnd': false,
'Rules': [{
'Field': "CHECKOBJECT",
'Operate': 1,
'Value': this.model.CHECKOBJECT
}]
})
json.Sort = 'NAME'
// extendRule(json, 'CHECKOBJECT', 1, this.model.CHECKOBJECT);
dataSelect = await OrderPagedAreaMineType(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME
// res[i].code = res[i].CODE
}
}
return res
})
} else if (p.name == 'CheckProjectNAME') {
this.selectorInfo.isMultiple = false
extendRule(json, 'ENABLE_STATUS', 1, 0);
extendRule(json, 'IS_DELETED', 1, 'false');
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
dataSelect = await CheckProjectOrderPaged(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = res[i].CODE
}
}
return res
})
} else if (p.name == 'CheckProjectCategoryNAME') {
if (this.model.CHECKOBJECT == null || this.model.CHECKOBJECT.length < 1) {
uni.$showErrorInfo('请先选择检查范围!')
return false
} else if (this.model.CHECK_TYPE_ID == null || this.model.CHECK_TYPE_ID.length < 1) {
uni.$showErrorInfo('请先选择检查类型!')
return false
} else {
this.selectorInfo.isMultiple = false
extendRule(json, 'Nav_ListCategoryType.CHECK_TYPE_ID', 1, this.model.CHECK_TYPE_ID);
extendRule(json, 'CHECKOBJECT', 1, this.model.CHECKOBJECT);
if (p.val) {
extendRule(json, 'NAME', 9, p.val);
}
dataSelect = await OrderPagedProjectCategory(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = res[i].CODE
}
}
return res
})
}
} else if (p.name == 'QUESTION_LEVEL') {
this.selectorInfo.isMultiple = false
dataSelect = []
for (let i = 0; i < listBSQuestionLevelEnum.length; i++) {
dataSelect.push({
name: listBSQuestionLevelEnum[i],
ID: listBSQuestionLevelEnumVal[i]
})
}
} else if (p.name == 'listCheckDetailReason') {
this.selectorInfo.isMultiple = true
dataSelect = await orderPagedRiskReason(json).then(res => {
if (res != undefined && res.length > 0) {
for (let i = 0; i < res.length; i++) {
res[i].name = res[i].NAME,
res[i].code = '' // res[i].CODE
}
}
return res
})
}
if (defaultChecked == null)
defaultChecked = []
if (dataSelect.length) {
this.selectorInfo = {
itemData: p.itemData,
isMultiple: this.selectorInfo.isMultiple,
showPopup: true,
title: p.title,
name: p.name,
dataLists: dataSelect,
defaultChecked: defaultChecked
}
} else {
//
}
},
closePicker() {
this.comPickerInfo = {
showSheet: false,
columns: [],
title: '',
name: '',
formIndex: undefined
}
},
//
handleSelected(e) {
this.selectorInfo.showPopup = false
switch (this.selectorInfo.name) {
case 'QUESTION_LEVEL':
this.selectorInfo.itemData.QUESTION_LEVEL = e.ID
this.selectorInfo.itemData.QUESTION_LEVEL_SHOW = e.name
break;
case 'RiskAreaNAME':
this.model.RISK_AREA_ID = e.ID
this.model.RiskAreaNAME = e.name
break;
case 'CheckProjectNAME':
this.selectorInfo.itemData.CHECK_PROJECT_ID = e.ID
this.selectorInfo.itemData.Nav_CheckProject = e
break;
case 'CheckProjectCategoryNAME':
this.selectorInfo.itemData.CHECK_PROJECT_CATEGORY_ID = e.ID
this.selectorInfo.itemData.Nav_CheckProjectCategory = e
break;
case "listCheckDetailReason":
let listReason = []
let reasonShow = ''
if (e.length > 0) {
e.forEach((item, i) => {
if (i > 0) {
reasonShow += ' '
}
listReason.push({
ID: guid(),
CHECK_DETAIL_ID: this.selectorInfo.itemData.ID,
RISK_REASON_ID: item.ID,
ORG_ID: item.ORG_ID,
Nav_RiskReason: e[i]
})
reasonShow += item.NAME
})
}
this.selectorInfo.itemData.Nav_ListCheckDetailReason = listReason
this.selectorInfo.itemData.listCheckDetailReason = reasonShow
break;
default:
break;
}
}
},
computed: {},
}
</script>
<style scoped>
@import url("../../../../style/css/editTemplate.css");
</style>

View File

@ -21,12 +21,12 @@
inputAlign="left"></u--input> -->
<text>{{userInfo.ID_CARD}}</text>
</u-form-item>
<u-form-item label="部门" prop="department" border-bottom>
<u-form-item label="组织结构" prop="department" border-bottom>
<text>{{userInfo.DepartmentName}}</text>
</u-form-item>
<u-form-item label="班组" prop="post" border-bottom>
<!-- <u-form-item label="班组" prop="post" border-bottom>
<text>{{userInfo.TeamName}}</text>
</u-form-item>
</u-form-item> -->
<u-form-item label="岗位" prop="job">
<text>{{userInfo.PostName}}</text>
</u-form-item>

View File

@ -287,4 +287,30 @@ export function LawOrderPaged(params) {
reject(error)
})
})
}
}
//检查内容新增
export function FullUpdateContents(params) {
return new Promise((resolve, reject) => {
request.post("/BS/BSCheckContents/FullUpdateS", params).then((result) => {
if (result.IsSuccessful) {
resolve(result.Data);
}
}).catch((error) => {
reject(error)
})
})
}
//手动新增检查登记
export function AddCheckRecord(params) {
return new Promise((resolve, reject) => {
request.post("/BS/BSSafeCheck/AddCheckRecord", params).then((result) => {
if (result.IsSuccessful) {
resolve(result.Data);
}
}).catch((error) => {
reject(error)
})
})
}

View File

@ -9,9 +9,15 @@ let listTimeType = ['全部', '当天', '最近三天', '最近一周', '最近
let listPFStandardStatus = ['全部', '草稿', '确认中', '审核中', '已归档', '已驳回']
let listPFStandardStatusVal = [-1, 0, 10, 20, 30, 40]
let listBSQuestionLevelEnum=['重大','A','B','C','D']
let listBSQuestionLevelEnumVal=[10,20,30,40,50]
export {
listTimeType,
listPFStandardStatus,
listPFStandardStatusVal
listPFStandardStatusVal,
listBSQuestionLevelEnum,
listBSQuestionLevelEnumVal
}

126
yarn.lock
View File

@ -3,86 +3,86 @@
"@babel/parser@^7.18.4":
"integrity" "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q=="
"resolved" "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.7.tgz"
"version" "7.22.7"
version "7.22.7"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.7.tgz"
integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==
"@vue/compiler-sfc@2.7.14":
"integrity" "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz"
"version" "2.7.14"
version "2.7.14"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz"
integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==
dependencies:
"@babel/parser" "^7.18.4"
"postcss" "^8.4.14"
"source-map" "^0.6.1"
postcss "^8.4.14"
source-map "^0.6.1"
"charenc@0.0.2":
"integrity" "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
"resolved" "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz"
"version" "0.0.2"
charenc@0.0.2:
version "0.0.2"
resolved "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz"
integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==
"crypt@0.0.2":
"integrity" "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
"resolved" "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz"
"version" "0.0.2"
crypt@0.0.2:
version "0.0.2"
resolved "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz"
integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==
"csstype@^3.1.0":
"integrity" "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
"resolved" "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
"version" "3.1.2"
csstype@^3.1.0:
version "3.1.2"
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
"is-buffer@~1.1.6":
"integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"resolved" "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz"
"version" "1.1.6"
is-buffer@~1.1.6:
version "1.1.6"
resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
"md5@^2.3.0":
"integrity" "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g=="
"resolved" "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz"
"version" "2.3.0"
md5@^2.3.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz"
integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
dependencies:
"charenc" "0.0.2"
"crypt" "0.0.2"
"is-buffer" "~1.1.6"
charenc "0.0.2"
crypt "0.0.2"
is-buffer "~1.1.6"
"nanoid@^3.3.6":
"integrity" "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
"resolved" "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz"
"version" "3.3.6"
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
"picocolors@^1.0.0":
"integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
"resolved" "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz"
"version" "1.0.0"
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
"postcss@^8.4.14":
"integrity" "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ=="
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz"
"version" "8.4.27"
postcss@^8.4.14:
version "8.4.38"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
dependencies:
"nanoid" "^3.3.6"
"picocolors" "^1.0.0"
"source-map-js" "^1.0.2"
nanoid "^3.3.7"
picocolors "^1.0.0"
source-map-js "^1.2.0"
"source-map-js@^1.0.2":
"integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
"resolved" "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz"
"version" "1.0.2"
source-map-js@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
"source-map@^0.6.1":
"integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
"resolved" "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
"version" "0.6.1"
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
"vue@^2.0.0":
"integrity" "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ=="
"resolved" "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz"
"version" "2.7.14"
vue@^2.0.0:
version "2.7.14"
resolved "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz"
integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==
dependencies:
"@vue/compiler-sfc" "2.7.14"
"csstype" "^3.1.0"
csstype "^3.1.0"
"vuex@3":
"integrity" "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
"resolved" "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz"
"version" "3.6.2"
vuex@3:
version "3.6.2"
resolved "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz"
integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==