Commit 67fee88e authored by tanjunxin's avatar tanjunxin

feat: 增加品管责任页面及功能

parent 098679b2
import request from '@/utils/request'
// 查询质检用户列表
export function getListApi(query) {
return request({
url: '/md/qc/workstationqc/user/list',
method: 'get',
params: query
})
}
// 查询工作中心列表
export function getWorkListApi(query) {
return request({
url: '/mes/md/workstation/list',
method: 'get',
params: query
})
}
// 查询质检用户详情
export function getDetailApi(query) {
return request({
url: '/md/qc/workstationqc/user',
method: 'get',
params: query
})
}
// 新增用户权限
export function addWorkAuthApi(data) {
return request({
url: '/md/qc/workstationqc/',
method: 'post',
data: data
})
}
// 删除用户权限
export function deleteWorkAuthApi(id) {
console.log(id);
return request({
url: '/md/qc/workstationqc/' + id,
method: 'delete'
})
}
// 更改管理员权限
export function changeManagerApi(data) {
return request({
url: '/md/qc/workstationqc/changeManager',
method: 'post',
data: data
})
}
<template>
<div class="app-container">
<el-form
:model="queryParams"
@submit.native.prevent
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="账号" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入账号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="昵称" prop="nickName">
<el-input
v-model="queryParams.nickName"
placeholder="请输入昵称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="账号"
width="150"
align="center"
prop="userName"
/>
<el-table-column
label="昵称"
width="150"
align="center"
prop="nickName"
/>
<el-table-column
label="职责"
width="100"
align="center"
prop="postName"
/>
<el-table-column
label="创建人"
align="center"
prop="createBy"
width="100"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="150"
/>
<el-table-column
label="更新人"
align="center"
prop="updateBy"
width="100"
/>
<el-table-column
label="更新时间"
align="center"
prop="updateTime"
width="150"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="handleView(scope.row, '查看用户权限')"
v-hasPermi="['mes:qc:duty:view']"
>查看</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleView(scope.row, '修改用户权限')"
v-hasPermi="['mes:qc:duty:edit']"
>修改</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 查看或修改用户详情对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
label-position="right"
>
<el-row>
<el-col :span="12">
<el-form-item label="用户账号" prop="userName">
<el-input v-model="form.userName" disabled />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
<el-input v-model="form.nickName" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="管理员" prop="qcIdentity">
<el-radio-group
v-model="form.qcIdentity"
:disabled="title !== '修改用户权限'"
@input="handleRadioChange"
>
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-divider content-position="center" class="userdivider"
>用户权限分配</el-divider
>
<div>
<el-card shadow="always" class="usercard">
<div slot="header">
<span>权限分配</span>
<el-button
v-if="title === '修改用户权限'"
style="float: right; padding: 3px 0"
type="text"
@click="handleAdd"
>新增</el-button
>
</div>
<el-table :data="outerTableData" style="width: 100%">
<el-table-column prop="workstationCode" label="工作中心编码" />
<el-table-column prop="workstationName" label="工作中心名称" />
<el-table-column prop="processName" label="所属工序" />
<el-table-column label="操作" v-if="title === '修改用户权限'">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row, scope.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
<el-dialog
width="80%"
title="工作中心"
:visible.sync="visible"
v-loading="innerLoading"
append-to-body
>
<el-form
:model="queryInnerParams"
@submit.native.prevent
ref="queryInnerForm"
size="small"
:inline="true"
>
<el-form-item prop="workstationCode">
<el-input
v-model="queryInnerParams.workstationCode"
placeholder="请输入工作中心编码"
clearable
@keyup.enter.native="handleInnerQuery"
/>
</el-form-item>
<el-form-item prop="workstationName">
<el-input
v-model="queryInnerParams.workstationName"
placeholder="请输入工作中心名称"
clearable
@keyup.enter.native="handleInnerQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleInnerQuery"
>搜索</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetInnerQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table
:data="innerTableData"
style="width: 100%"
highlight-current-row
@current-change="handleCurrentChange"
>
<el-table-column prop="workstationCode" label="工作中心编码" />
<el-table-column prop="workstationName" label="工作中心名称" />
<el-table-column prop="processName" label="所属工序" />
</el-table>
</el-dialog>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getListApi,
getWorkListApi,
getDetailApi,
changeManagerApi,
addWorkAuthApi,
deleteWorkAuthApi,
} from "@/api/mes/qc/duty";
import { genCode } from "@/api/system/autocode/rule";
export default {
name: "Duty",
dicts: [
"mes_shift_method",
"mes_shift_type",
"mes_calendar_type",
"mes_order_status",
],
data() {
return {
// 遮罩层
loading: true,
innerLoading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 表格数据
tableData: [],
outerTableData: [],
innerTableData: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
visible: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
userName: null,
nickName: null,
},
queryInnerParams: {
pageNum: 1,
pageSize: 10,
workstationCode: null,
workstationName: null,
},
// 表单参数
form: {
userName: null,
nickName: null,
qcIdentity: 0,
},
// 表单校验
rules: {
planCode: [
{ required: true, message: "计划编号不能为空", trigger: "blur" },
],
planName: [
{ required: true, message: "计划名称不能为空", trigger: "blur" },
],
calendarType: [
{ required: true, message: "请选择班组类型", trigger: "blur" },
],
},
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
getListApi(this.queryParams).then((response) => {
this.tableData = response.rows;
this.total = response.total;
this.loading = false;
});
},
getWorkList() {
this.innerLoading = true;
getWorkListApi(this.queryInnerParams).then((response) => {
this.innerTableData = response.rows;
this.innerLoading = false;
});
},
// 表单重置
reset() {
this.form = {
id: null,
workstationId: null,
workstationCode: null,
workstationName: null,
userId: null,
userName: null,
nickName: "",
createBy: "",
createTime: null,
updateBy: null,
updateTime: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
handleInnerQuery() {
this.queryParams.pageNum = 1;
this.getWorkList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
resetInnerQuery() {
this.resetForm("queryInnerForm");
this.handleInnerQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.planId);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
// 查询明细按钮操作
handleView(row, title) {
this.reset();
const params = {
userId: row.userId || this.ids,
};
getDetailApi(params).then((response) => {
this.form = row;
this.outerTableData = response.rows;
this.open = true;
this.title = title;
});
},
/** 管理员权限更改 */
handleRadioChange() {
const params = {
userId: this.form.userId,
qcIdentity: this.form.qcIdentity,
};
changeManagerApi(params).then((response) => {
if (response.code == 200) {
return this.$message.success("切换管理员权限成功");
}
});
},
/** 新增按钮 */
handleAdd() {
this.visible = true;
this.getWorkList();
},
/** 删除按钮 */
handleDelete(row, index) {
deleteWorkAuthApi(row.id).then((response) => {
if (response.code == 200) {
getDetailApi({
userId: this.form.userId,
}).then((response) => {
this.outerTableData = response.rows;
});
return this.$message.success("删除成功");
}
});
},
handleCurrentChange(val) {
if (val) {
const params = {
workstationId: val.workstationId,
workstationCode: val.workstationCode,
workstationName: val.workstationName,
userId: this.form.userId,
userName: this.form.userName,
nickName: this.form.nickName,
};
addWorkAuthApi(params).then((response) => {
if (response.code == 200) {
this.visible = false;
getDetailApi({
userId: this.form.userId,
}).then((response) => {
this.outerTableData = response.rows;
});
return this.$message.success("添加成功");
}
});
}
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
this.getList();
},
},
};
</script>
......@@ -249,11 +249,21 @@
resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
"@babel/helper-string-parser@^7.25.9":
version "7.25.9"
resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c"
integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
"@babel/helper-validator-identifier@^7.25.9":
version "7.25.9"
resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
"@babel/helper-validator-option@^7.23.5":
version "7.23.5"
resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
......@@ -291,6 +301,13 @@
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b"
integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==
"@babel/parser@^7.23.5":
version "7.26.2"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11"
integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==
dependencies:
"@babel/types" "^7.26.0"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
version "7.23.3"
resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
......@@ -1026,6 +1043,14 @@
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
"@babel/types@^7.26.0":
version "7.26.0"
resolved "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff"
integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==
dependencies:
"@babel/helper-string-parser" "^7.25.9"
"@babel/helper-validator-identifier" "^7.25.9"
"@claviska/jquery-minicolors@^2.3.6":
version "2.3.6"
resolved "https://registry.npmmirror.com/@claviska/jquery-minicolors/-/jquery-minicolors-2.3.6.tgz#0f3dfe9baf11e93a3b1b1dcf2448177cf4c32e3e"
......@@ -1493,6 +1518,17 @@
semver "^6.1.0"
strip-ansi "^6.0.0"
"@vue/compiler-sfc@2.7.16":
version "2.7.16"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83"
integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==
dependencies:
"@babel/parser" "^7.23.5"
postcss "^8.4.14"
source-map "^0.6.1"
optionalDependencies:
prettier "^1.18.2 || ^2.0.0"
"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2":
version "3.3.0"
resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9"
......@@ -3436,6 +3472,11 @@ csso@^4.0.2:
dependencies:
css-tree "^1.1.2"
csstype@^3.1.0:
version "3.1.3"
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
cyclist@^1.0.1:
version "1.0.2"
resolved "https://registry.npmmirror.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3"
......@@ -3448,6 +3489,11 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
dayjs@^1.11.11:
version "1.11.13"
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c"
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
de-indent@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
......@@ -6688,6 +6734,11 @@ nan@^2.12.1:
resolved "https://registry.npmmirror.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
nanomatch@^1.2.1, nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
......@@ -7332,6 +7383,11 @@ picocolors@^1.0.0:
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
picocolors@^1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
......@@ -7760,6 +7816,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3
picocolors "^0.2.1"
source-map "^0.6.1"
postcss@^8.4.14:
version "8.4.49"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19"
integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==
dependencies:
nanoid "^3.3.7"
picocolors "^1.1.1"
source-map-js "^1.2.1"
posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
version "0.2.1"
resolved "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
......@@ -7921,6 +7986,11 @@ q@^1.1.2:
resolved "https://registry.npmmirror.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
qrcodejs2@^0.0.2:
version "0.0.2"
resolved "https://registry.npmmirror.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz#465afe5e39f19facecb932c11f7a186109146ae1"
integrity sha512-+Y4HA+cb6qUzdgvI3KML8GYpMFwB24dFwzMkS/yXq6hwtUGNUnZQdUnksrV1XGMc2mid5ROw5SAuY9XhI3ValA==
qs@6.11.0:
version "6.11.0"
resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
......@@ -8786,6 +8856,11 @@ source-list-map@^2.0.0:
resolved "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
source-map-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
......@@ -9928,6 +10003,13 @@ vue-plugin-hiprint@^0.0.56:
nzh "^1.0.8"
socket.io-client "^4.5.1"
vue-print-nb@^1.7.5:
version "1.7.5"
resolved "https://registry.npmmirror.com/vue-print-nb/-/vue-print-nb-1.7.5.tgz#0eaaf9317c233028458e8dbe8aa76603fef63b95"
integrity sha512-iNbNyUVRWz0Ha1UTiCKxMPtHLUDGgNI8e8xmD3xqm9RlXIUeX9bT7DgNAfY8vPzqyFRHqGjxLI1rycKH366ziQ==
dependencies:
vue "^2.6.11"
vue-ref@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/vue-ref/-/vue-ref-2.0.0.tgz#483084d732abed11da796778a8266a3af0ea1a9c"
......@@ -9964,6 +10046,14 @@ vue@2.6.12:
resolved "https://registry.npmmirror.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
vue@^2.6.11:
version "2.7.16"
resolved "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9"
integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==
dependencies:
"@vue/compiler-sfc" "2.7.16"
csstype "^3.1.0"
vuedraggable@2.24.3:
version "2.24.3"
resolved "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-2.24.3.tgz#43c93849b746a24ce503e123d5b259c701ba0d19"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment