Merge remote-tracking branch 'origin/dev'
This commit is contained in:
commit
0663aa6794
@ -1,208 +1,212 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
|
||||||
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
<title><%= webpackConfig.name %></title>
|
<title>
|
||||||
|
<%= webpackConfig.name %>
|
||||||
|
</title>
|
||||||
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
|
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
|
||||||
<style>
|
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=6b427d1f3e633c70e11ca6e304444a63"></script>
|
||||||
html,
|
<style>
|
||||||
body,
|
html,
|
||||||
#app {
|
body,
|
||||||
height: 100%;
|
#app {
|
||||||
margin: 0px;
|
height: 100%;
|
||||||
padding: 0px;
|
margin: 0px;
|
||||||
}
|
padding: 0px;
|
||||||
.chromeframe {
|
}
|
||||||
margin: 0.2em 0;
|
|
||||||
background: #ccc;
|
|
||||||
color: #000;
|
|
||||||
padding: 0.2em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loader-wrapper {
|
.chromeframe {
|
||||||
position: fixed;
|
margin: 0.2em 0;
|
||||||
top: 0;
|
background: #ccc;
|
||||||
left: 0;
|
color: #000;
|
||||||
width: 100%;
|
padding: 0.2em 0;
|
||||||
height: 100%;
|
}
|
||||||
z-index: 999999;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loader {
|
#loader-wrapper {
|
||||||
display: block;
|
position: fixed;
|
||||||
position: relative;
|
top: 0;
|
||||||
left: 50%;
|
left: 0;
|
||||||
top: 50%;
|
width: 100%;
|
||||||
width: 150px;
|
height: 100%;
|
||||||
height: 150px;
|
z-index: 999999;
|
||||||
margin: -75px 0 0 -75px;
|
}
|
||||||
border-radius: 50%;
|
|
||||||
border: 3px solid transparent;
|
|
||||||
border-top-color: #FFF;
|
|
||||||
-webkit-animation: spin 2s linear infinite;
|
|
||||||
-ms-animation: spin 2s linear infinite;
|
|
||||||
-moz-animation: spin 2s linear infinite;
|
|
||||||
-o-animation: spin 2s linear infinite;
|
|
||||||
animation: spin 2s linear infinite;
|
|
||||||
z-index: 1001;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loader:before {
|
#loader {
|
||||||
content: "";
|
display: block;
|
||||||
position: absolute;
|
position: relative;
|
||||||
top: 5px;
|
left: 50%;
|
||||||
left: 5px;
|
top: 50%;
|
||||||
right: 5px;
|
width: 150px;
|
||||||
bottom: 5px;
|
height: 150px;
|
||||||
border-radius: 50%;
|
margin: -75px 0 0 -75px;
|
||||||
border: 3px solid transparent;
|
border-radius: 50%;
|
||||||
border-top-color: #FFF;
|
border: 3px solid transparent;
|
||||||
-webkit-animation: spin 3s linear infinite;
|
border-top-color: #FFF;
|
||||||
-moz-animation: spin 3s linear infinite;
|
-webkit-animation: spin 2s linear infinite;
|
||||||
-o-animation: spin 3s linear infinite;
|
-ms-animation: spin 2s linear infinite;
|
||||||
-ms-animation: spin 3s linear infinite;
|
-moz-animation: spin 2s linear infinite;
|
||||||
animation: spin 3s linear infinite;
|
-o-animation: spin 2s linear infinite;
|
||||||
}
|
animation: spin 2s linear infinite;
|
||||||
|
z-index: 1001;
|
||||||
|
}
|
||||||
|
|
||||||
#loader:after {
|
#loader:before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 15px;
|
top: 5px;
|
||||||
left: 15px;
|
left: 5px;
|
||||||
right: 15px;
|
right: 5px;
|
||||||
bottom: 15px;
|
bottom: 5px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 3px solid transparent;
|
border: 3px solid transparent;
|
||||||
border-top-color: #FFF;
|
border-top-color: #FFF;
|
||||||
-moz-animation: spin 1.5s linear infinite;
|
-webkit-animation: spin 3s linear infinite;
|
||||||
-o-animation: spin 1.5s linear infinite;
|
-moz-animation: spin 3s linear infinite;
|
||||||
-ms-animation: spin 1.5s linear infinite;
|
-o-animation: spin 3s linear infinite;
|
||||||
-webkit-animation: spin 1.5s linear infinite;
|
-ms-animation: spin 3s linear infinite;
|
||||||
animation: spin 1.5s linear infinite;
|
animation: spin 3s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#loader:after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 15px;
|
||||||
|
left: 15px;
|
||||||
|
right: 15px;
|
||||||
|
bottom: 15px;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-top-color: #FFF;
|
||||||
|
-moz-animation: spin 1.5s linear infinite;
|
||||||
|
-o-animation: spin 1.5s linear infinite;
|
||||||
|
-ms-animation: spin 1.5s linear infinite;
|
||||||
|
-webkit-animation: spin 1.5s linear infinite;
|
||||||
|
animation: spin 1.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
@-webkit-keyframes spin {
|
@-webkit-keyframes spin {
|
||||||
0% {
|
0% {
|
||||||
-webkit-transform: rotate(0deg);
|
-webkit-transform: rotate(0deg);
|
||||||
-ms-transform: rotate(0deg);
|
-ms-transform: rotate(0deg);
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
-webkit-transform: rotate(360deg);
|
-webkit-transform: rotate(360deg);
|
||||||
-ms-transform: rotate(360deg);
|
-ms-transform: rotate(360deg);
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes spin {
|
@keyframes spin {
|
||||||
0% {
|
0% {
|
||||||
-webkit-transform: rotate(0deg);
|
-webkit-transform: rotate(0deg);
|
||||||
-ms-transform: rotate(0deg);
|
-ms-transform: rotate(0deg);
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
-webkit-transform: rotate(360deg);
|
-webkit-transform: rotate(360deg);
|
||||||
-ms-transform: rotate(360deg);
|
-ms-transform: rotate(360deg);
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#loader-wrapper .loader-section {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 51%;
|
||||||
|
height: 100%;
|
||||||
|
background: #7171C6;
|
||||||
|
z-index: 1000;
|
||||||
|
-webkit-transform: translateX(0);
|
||||||
|
-ms-transform: translateX(0);
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
#loader-wrapper .loader-section {
|
#loader-wrapper .loader-section.section-left {
|
||||||
position: fixed;
|
left: 0;
|
||||||
top: 0;
|
}
|
||||||
width: 51%;
|
|
||||||
height: 100%;
|
|
||||||
background: #7171C6;
|
|
||||||
z-index: 1000;
|
|
||||||
-webkit-transform: translateX(0);
|
|
||||||
-ms-transform: translateX(0);
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#loader-wrapper .loader-section.section-left {
|
#loader-wrapper .loader-section.section-right {
|
||||||
left: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#loader-wrapper .loader-section.section-right {
|
.loaded #loader-wrapper .loader-section.section-left {
|
||||||
right: 0;
|
-webkit-transform: translateX(-100%);
|
||||||
}
|
-ms-transform: translateX(-100%);
|
||||||
|
transform: translateX(-100%);
|
||||||
|
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
}
|
||||||
|
|
||||||
|
.loaded #loader-wrapper .loader-section.section-right {
|
||||||
|
-webkit-transform: translateX(100%);
|
||||||
|
-ms-transform: translateX(100%);
|
||||||
|
transform: translateX(100%);
|
||||||
|
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
||||||
|
}
|
||||||
|
|
||||||
.loaded #loader-wrapper .loader-section.section-left {
|
.loaded #loader {
|
||||||
-webkit-transform: translateX(-100%);
|
opacity: 0;
|
||||||
-ms-transform: translateX(-100%);
|
-webkit-transition: all 0.3s ease-out;
|
||||||
transform: translateX(-100%);
|
transition: all 0.3s ease-out;
|
||||||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
}
|
||||||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
|
||||||
}
|
|
||||||
|
|
||||||
.loaded #loader-wrapper .loader-section.section-right {
|
.loaded #loader-wrapper {
|
||||||
-webkit-transform: translateX(100%);
|
visibility: hidden;
|
||||||
-ms-transform: translateX(100%);
|
-webkit-transform: translateY(-100%);
|
||||||
transform: translateX(100%);
|
-ms-transform: translateY(-100%);
|
||||||
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
transform: translateY(-100%);
|
||||||
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
|
-webkit-transition: all 0.3s 1s ease-out;
|
||||||
}
|
transition: all 0.3s 1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
.loaded #loader {
|
.no-js #loader-wrapper {
|
||||||
opacity: 0;
|
display: none;
|
||||||
-webkit-transition: all 0.3s ease-out;
|
}
|
||||||
transition: all 0.3s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.loaded #loader-wrapper {
|
.no-js h1 {
|
||||||
visibility: hidden;
|
color: #222222;
|
||||||
-webkit-transform: translateY(-100%);
|
}
|
||||||
-ms-transform: translateY(-100%);
|
|
||||||
transform: translateY(-100%);
|
|
||||||
-webkit-transition: all 0.3s 1s ease-out;
|
|
||||||
transition: all 0.3s 1s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-js #loader-wrapper {
|
#loader-wrapper .load_title {
|
||||||
display: none;
|
font-family: 'Open Sans';
|
||||||
}
|
color: #FFF;
|
||||||
|
font-size: 19px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
z-index: 9999999999999;
|
||||||
|
position: absolute;
|
||||||
|
top: 60%;
|
||||||
|
opacity: 1;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
.no-js h1 {
|
#loader-wrapper .load_title span {
|
||||||
color: #222222;
|
font-weight: normal;
|
||||||
}
|
font-style: italic;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #FFF;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
#loader-wrapper .load_title {
|
<body>
|
||||||
font-family: 'Open Sans';
|
|
||||||
color: #FFF;
|
|
||||||
font-size: 19px;
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
z-index: 9999999999999;
|
|
||||||
position: absolute;
|
|
||||||
top: 60%;
|
|
||||||
opacity: 1;
|
|
||||||
line-height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#loader-wrapper .load_title span {
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: italic;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #FFF;
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<div id="loader-wrapper">
|
<div id="loader-wrapper">
|
||||||
<div id="loader"></div>
|
<div id="loader"></div>
|
||||||
<div class="loader-section section-left"></div>
|
<div class="loader-section section-left"></div>
|
||||||
<div class="loader-section section-right"></div>
|
<div class="loader-section section-right"></div>
|
||||||
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -56,13 +56,13 @@ export default {
|
|||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "url",
|
default: "url",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
|
uploadUrl: process.env.VUE_APP_BASE_API + "/common/richTextPictureUrl", // 上传的图片服务器地址
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: "Bearer " + getToken()
|
Authorization: "Bearer " + getToken(),
|
||||||
},
|
},
|
||||||
Quill: null,
|
Quill: null,
|
||||||
currentValue: "",
|
currentValue: "",
|
||||||
@ -73,16 +73,16 @@ export default {
|
|||||||
modules: {
|
modules: {
|
||||||
// 工具栏配置
|
// 工具栏配置
|
||||||
toolbar: [
|
toolbar: [
|
||||||
["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
|
["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
|
||||||
["blockquote", "code-block"], // 引用 代码块
|
["blockquote", "code-block"], // 引用 代码块
|
||||||
[{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表
|
[{ list: "ordered" }, { list: "bullet" }], // 有序、无序列表
|
||||||
[{ indent: "-1" }, { indent: "+1" }], // 缩进
|
[{ indent: "-1" }, { indent: "+1" }], // 缩进
|
||||||
[{ size: ["small", false, "large", "huge"] }], // 字体大小
|
[{ size: ["small", false, "large", "huge"] }], // 字体大小
|
||||||
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
||||||
[{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
|
[{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
|
||||||
[{ align: [] }], // 对齐方式
|
[{ align: [] }], // 对齐方式
|
||||||
["clean"], // 清除文本格式
|
["clean"], // 清除文本格式
|
||||||
["link", "image", "video"] // 链接、图片、视频
|
["link", "image", "video"], // 链接、图片、视频
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
placeholder: "请输入内容",
|
placeholder: "请输入内容",
|
||||||
@ -126,7 +126,7 @@ export default {
|
|||||||
const editor = this.$refs.editor;
|
const editor = this.$refs.editor;
|
||||||
this.Quill = new Quill(editor, this.options);
|
this.Quill = new Quill(editor, this.options);
|
||||||
// 如果设置了上传地址则自定义图片上传事件
|
// 如果设置了上传地址则自定义图片上传事件
|
||||||
if (this.type == 'url') {
|
if (this.type == "url") {
|
||||||
let toolbar = this.Quill.getModule("toolbar");
|
let toolbar = this.Quill.getModule("toolbar");
|
||||||
toolbar.addHandler("image", (value) => {
|
toolbar.addHandler("image", (value) => {
|
||||||
this.uploadType = "image";
|
this.uploadType = "image";
|
||||||
@ -176,7 +176,14 @@ export default {
|
|||||||
// 获取光标所在位置
|
// 获取光标所在位置
|
||||||
let length = quill.getSelection().index;
|
let length = quill.getSelection().index;
|
||||||
// 插入图片 res.url为服务器返回的图片地址
|
// 插入图片 res.url为服务器返回的图片地址
|
||||||
quill.insertEmbed(length, "image", process.env.VUE_APP_BASE_API + res.fileName);
|
quill.insertEmbed(
|
||||||
|
length,
|
||||||
|
"image",
|
||||||
|
process.env.VUE_APP_BASE_API + res.fileName
|
||||||
|
);
|
||||||
|
|
||||||
|
this.$emit("imgs", res.fileName);
|
||||||
|
|
||||||
// 调整光标到最后
|
// 调整光标到最后
|
||||||
quill.setSelection(length + 1);
|
quill.setSelection(length + 1);
|
||||||
} else {
|
} else {
|
||||||
@ -191,7 +198,8 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.editor, .ql-toolbar {
|
.editor,
|
||||||
|
.ql-toolbar {
|
||||||
white-space: pre-wrap !important;
|
white-space: pre-wrap !important;
|
||||||
line-height: normal !important;
|
line-height: normal !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -366,6 +366,7 @@
|
|||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
>
|
>
|
||||||
<editor
|
<editor
|
||||||
|
@imgs="imgs"
|
||||||
:min-height="100"
|
:min-height="100"
|
||||||
style="width: 90%; margin: 0 auto"
|
style="width: 90%; margin: 0 auto"
|
||||||
v-model="form.goodsRemark"
|
v-model="form.goodsRemark"
|
||||||
@ -506,8 +507,8 @@ export default {
|
|||||||
name: "OperateGoodsInfo",
|
name: "OperateGoodsInfo",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
imgsurl: { pictureUrlList: [] },
|
||||||
imgone: "",
|
imgone: "",
|
||||||
|
|
||||||
imageUrl: "", //商品图片
|
imageUrl: "", //商品图片
|
||||||
value: "",
|
value: "",
|
||||||
datas: null,
|
datas: null,
|
||||||
@ -627,6 +628,9 @@ export default {
|
|||||||
this.infos();
|
this.infos();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
imgs(item) {
|
||||||
|
this.imgsurl.pictureUrlList.push(item);
|
||||||
|
},
|
||||||
upwhetherShelf(row) {
|
upwhetherShelf(row) {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
if (row.whetherShelf == false) {
|
if (row.whetherShelf == false) {
|
||||||
@ -718,6 +722,10 @@ export default {
|
|||||||
console.log(res);
|
console.log(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (this.imgsurl.pictureUrlList.length > 0) {
|
||||||
|
updatePicture(this.imgsurl).then((res) => {});
|
||||||
|
}
|
||||||
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
this.StationName = "请选择所属护理站";
|
this.StationName = "请选择所属护理站";
|
||||||
|
|||||||
@ -18,6 +18,7 @@ export default {
|
|||||||
name: "OperateGoodsInfo",
|
name: "OperateGoodsInfo",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
imgsurl: { pictureUrlList: [] },
|
||||||
imgone: "",
|
imgone: "",
|
||||||
imageUrl: "", //商品图片
|
imageUrl: "", //商品图片
|
||||||
value: "",
|
value: "",
|
||||||
@ -53,22 +54,22 @@ export default {
|
|||||||
nursetotal: 0,
|
nursetotal: 0,
|
||||||
nurseStationId: null,
|
nurseStationId: null,
|
||||||
goods: [{
|
goods: [{
|
||||||
value: "BUSINESS",
|
value: "BUSINESS",
|
||||||
label: "买卖",
|
label: "买卖",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: "LEASE",
|
value: "LEASE",
|
||||||
label: "租赁",
|
label: "租赁",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
options: [{
|
options: [{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: "否",
|
label: "否",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: "是",
|
label: "是",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// goodAttributeDetailsLists:[],
|
// goodAttributeDetailsLists:[],
|
||||||
goodDetailsLists: [],
|
goodDetailsLists: [],
|
||||||
@ -138,6 +139,9 @@ export default {
|
|||||||
this.infos();
|
this.infos();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
imgs(item) {
|
||||||
|
this.imgsurl.pictureUrlList.push(item);
|
||||||
|
},
|
||||||
upwhetherShelf(row) {
|
upwhetherShelf(row) {
|
||||||
console.log(row);
|
console.log(row);
|
||||||
if (row.whetherShelf == false) {
|
if (row.whetherShelf == false) {
|
||||||
@ -229,6 +233,10 @@ export default {
|
|||||||
console.log(res);
|
console.log(res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (this.imgsurl.pictureUrlList.length > 0) {
|
||||||
|
updatePicture(this.imgsurl).then((res) => { });
|
||||||
|
}
|
||||||
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
this.StationName = "请选择所属护理站";
|
this.StationName = "请选择所属护理站";
|
||||||
@ -239,8 +247,8 @@ export default {
|
|||||||
goodsPrice: "",
|
goodsPrice: "",
|
||||||
goodsStock: "",
|
goodsStock: "",
|
||||||
sort: "",
|
sort: "",
|
||||||
}, ],
|
},],
|
||||||
}, ];
|
},];
|
||||||
},
|
},
|
||||||
|
|
||||||
handleQuery2() {
|
handleQuery2() {
|
||||||
@ -259,7 +267,7 @@ export default {
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
}),
|
}),
|
||||||
this.handleQuery2();
|
this.handleQuery2();
|
||||||
},
|
},
|
||||||
addcancel() {
|
addcancel() {
|
||||||
this.resetQuery2();
|
this.resetQuery2();
|
||||||
@ -292,7 +300,7 @@ export default {
|
|||||||
goodsStock: "",
|
goodsStock: "",
|
||||||
sort: "",
|
sort: "",
|
||||||
ids: 9999999,
|
ids: 9999999,
|
||||||
}, ];
|
},];
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
@ -335,7 +343,7 @@ export default {
|
|||||||
goodsStock: "",
|
goodsStock: "",
|
||||||
sort: "",
|
sort: "",
|
||||||
ids: 9999999,
|
ids: 9999999,
|
||||||
}, ];
|
},];
|
||||||
this.open = true;
|
this.open = true;
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
@ -366,9 +374,9 @@ export default {
|
|||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.goodsInfoId != null) {
|
if (this.form.goodsInfoId != null) {
|
||||||
this.form.goodDetailsLists.forEach((e) => {
|
this.form.goodDetailsLists.forEach((e) => {
|
||||||
e.goodsPrice = Number(e.goodsPrice);
|
e.goodsPrice = Number(e.goodsPrice);
|
||||||
});
|
});
|
||||||
this.form.id = this.form.goodsInfoId;
|
this.form.id = this.form.goodsInfoId;
|
||||||
updateGoodsInfo(this.form).then((response) => {
|
updateGoodsInfo(this.form).then((response) => {
|
||||||
var obj = { pictureUrlList: [] };
|
var obj = { pictureUrlList: [] };
|
||||||
@ -387,7 +395,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.form.goodDetailsLists.forEach((e) => {
|
this.form.goodDetailsLists.forEach((e) => {
|
||||||
e.goodsPrice = Number(e.goodsPrice);
|
e.goodsPrice = Number(e.goodsPrice);
|
||||||
});
|
});
|
||||||
addGoodsInfo(this.form).then((response) => {
|
addGoodsInfo(this.form).then((response) => {
|
||||||
console.log(this.form);
|
console.log(this.form);
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
@ -404,10 +412,10 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
console.log("row :>> ", row);
|
console.log("row :>> ", row);
|
||||||
this.$confirm("是否确认删除订单信息的数据项?", "提示", {
|
this.$confirm("是否确认删除订单信息的数据项?", "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
var obj = { pictureUrlList: [] };
|
var obj = { pictureUrlList: [] };
|
||||||
obj.pictureUrlList.push(row.goodsPictureUrl);
|
obj.pictureUrlList.push(row.goodsPictureUrl);
|
||||||
@ -421,7 +429,7 @@ export default {
|
|||||||
// console.log('this.OrderDetailsList :>> ', this.OrderDetailsList);
|
// console.log('this.OrderDetailsList :>> ', this.OrderDetailsList);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => { });
|
||||||
},
|
},
|
||||||
// handleDelete(row) {
|
// handleDelete(row) {
|
||||||
// const ids = row.id || this.ids;
|
// const ids = row.id || this.ids;
|
||||||
|
|||||||
@ -349,6 +349,7 @@
|
|||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
>
|
>
|
||||||
<editor
|
<editor
|
||||||
|
@imgs="imgs"
|
||||||
:min-height="100"
|
:min-height="100"
|
||||||
style="width: 90%; margin: 0 auto"
|
style="width: 90%; margin: 0 auto"
|
||||||
v-model="form.goodsRemark"
|
v-model="form.goodsRemark"
|
||||||
|
|||||||
@ -298,26 +298,23 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="下单方式" prop="buySource">
|
<el-form-item label="下单方式" prop="buySource">
|
||||||
<el-input
|
<el-input
|
||||||
:value="buySourceinfo(orderList.buySource)"
|
:value="orderChannelinfo(orderList.orderChannel)"
|
||||||
clearable
|
disabled
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
:disabled="true"
|
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="购买来源" prop="orderChannel">
|
<el-form-item label="购买来源" prop="orderChannel">
|
||||||
<el-input
|
<el-input
|
||||||
:value="orderChannelinfo(orderList.orderChannel)"
|
:value="buySourceinfo(orderList.buySource)"
|
||||||
clearable
|
disabled
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
:disabled="true"
|
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="综合评分" v-if="ratelist.compositeScore">
|
<el-form-item label="综合评分" v-if="orderList.compositeScore">
|
||||||
<div style="width: 240px">
|
<div style="width: 240px">
|
||||||
<el-rate
|
<el-rate
|
||||||
v-model="ratelist.compositeScore"
|
v-if="orderList.compositeScore"
|
||||||
|
v-model="orderList.compositeScore"
|
||||||
style="padding-top: 7px"
|
style="padding-top: 7px"
|
||||||
disabled
|
disabled
|
||||||
show-score
|
show-score
|
||||||
@ -325,20 +322,24 @@
|
|||||||
score-template="{value}"
|
score-template="{value}"
|
||||||
>
|
>
|
||||||
</el-rate>
|
</el-rate>
|
||||||
|
<el-input
|
||||||
|
v-else
|
||||||
|
type="text"
|
||||||
|
disabled
|
||||||
|
style="width: 240px"
|
||||||
|
placeholder="未评分"
|
||||||
|
></el-input>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="评价内容" v-if="ratelist.evaluateContent">
|
<el-form-item label="评价内容" v-if="orderList.evaluateContent">
|
||||||
<el-input
|
<el-input
|
||||||
type="textarea"
|
type="textarea"
|
||||||
disabled
|
disabled
|
||||||
style="width: 240px"
|
style="width: 610px"
|
||||||
v-model="ratelist.evaluateContent"
|
v-model="orderList.evaluateContent"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item label="评价图片" v-if="ratelist">
|
||||||
label="评价图片"
|
|
||||||
v-if="ratelist.orderEvaluatePictureInfoList"
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -347,8 +348,8 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
style="width: 240px"
|
style="width: 23%;height:100%;margin:1%"
|
||||||
v-for="(item, index) in ratelist.orderEvaluatePictureInfoList"
|
v-for="(item, index) in ratelist"
|
||||||
:src="baseurl + item.evaluatePictureUrl"
|
:src="baseurl + item.evaluatePictureUrl"
|
||||||
alt=""
|
alt=""
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -662,7 +663,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.baseurl = baseurl;
|
this.baseurl = baseurl;
|
||||||
this.getList();
|
|
||||||
this.info();
|
this.info();
|
||||||
this.infos();
|
this.infos();
|
||||||
},
|
},
|
||||||
@ -745,15 +745,10 @@ export default {
|
|||||||
getGoodsOrderlist(id).then((res) => {
|
getGoodsOrderlist(id).then((res) => {
|
||||||
this.orderList = res.data;
|
this.orderList = res.data;
|
||||||
this.innerorder = true;
|
this.innerorder = true;
|
||||||
|
this.ratelist = {};
|
||||||
if (row.orderStatus == "EVALUATED") {
|
if (row.orderStatus == "EVALUATED") {
|
||||||
this.ratelist = {};
|
this.ratelist = res.data.orderEvaluatePictureInfoList;
|
||||||
selectOrderEvaluate(id).then((res) => {
|
|
||||||
if (res.data) {
|
|
||||||
this.ratelist = res.data;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
this.ratelist = {};
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -297,7 +297,26 @@
|
|||||||
>
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<el-form-item
|
||||||
|
label="预约服务位置"
|
||||||
|
v-if="
|
||||||
|
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="query.serviceLocationName"
|
||||||
|
disabled
|
||||||
|
style="width: 250px"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<div
|
||||||
|
id="container"
|
||||||
|
v-if="
|
||||||
|
this.query.orderStatus == 'COMPLETE' ||
|
||||||
|
this.query.orderStatus == 'EVALUATED'
|
||||||
|
"
|
||||||
|
></div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 派单弹框 -->
|
<!-- 派单弹框 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@ -509,11 +528,12 @@ import {
|
|||||||
} from "@/api/system/order";
|
} from "@/api/system/order";
|
||||||
import { getListByUser } from "@/api/system/userlist.js";
|
import { getListByUser } from "@/api/system/userlist.js";
|
||||||
import baseurl from "@/api/baseurl.js";
|
import baseurl from "@/api/baseurl.js";
|
||||||
import { selectOrderEvaluate } from "@/api/system/goodsOrder";
|
|
||||||
export default {
|
export default {
|
||||||
name: "order",
|
name: "order",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
map: null,
|
||||||
baseurl: null,
|
baseurl: null,
|
||||||
orderStatuslist: [
|
orderStatuslist: [
|
||||||
{
|
{
|
||||||
@ -618,11 +638,54 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.baseurl = baseurl;
|
this.baseurl = baseurl;
|
||||||
this.getList();
|
|
||||||
this.info();
|
this.info();
|
||||||
this.infos();
|
this.infos();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
init(query) {
|
||||||
|
this.map = new AMap.Map("container", {
|
||||||
|
resizeEnable: true, //设置地图可缩放
|
||||||
|
zoom: 18, //设置地图的层级
|
||||||
|
center: [query.serveLocationLongitude, query.serveLocationLatitude], //设置地图中心点 更多配置项参照高德官网的配置
|
||||||
|
});
|
||||||
|
var layer = new AMap.LabelsLayer({
|
||||||
|
zooms: [3, 20],
|
||||||
|
zIndex: 1000,
|
||||||
|
// 开启标注避让,默认为开启,v1.4.15 新增属性
|
||||||
|
collision: true,
|
||||||
|
// 开启标注淡入动画,默认为开启,v1.4.15 新增属性
|
||||||
|
animation: true,
|
||||||
|
});
|
||||||
|
this.map.add(layer);
|
||||||
|
var labelMarker = new AMap.LabelMarker({
|
||||||
|
name: "",
|
||||||
|
position: [query.serveLocationLongitude, query.serveLocationLatitude],
|
||||||
|
icon: {
|
||||||
|
type: "image",
|
||||||
|
image: "https://a.amap.com/jsapi_demos/static/images/poi-marker.png",
|
||||||
|
clipOrigin: [280, 8],
|
||||||
|
clipSize: [50, 68],
|
||||||
|
size: [25, 34],
|
||||||
|
anchor: "bottom-center",
|
||||||
|
angel: 0,
|
||||||
|
retina: true,
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
content: query.serviceLocationName,
|
||||||
|
direction: "top",
|
||||||
|
offset: [0, 0],
|
||||||
|
style: {
|
||||||
|
fontSize: 13,
|
||||||
|
fontWeight: "normal",
|
||||||
|
fillColor: "#fff",
|
||||||
|
padding: "2, 5",
|
||||||
|
backgroundColor: "#22884f",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
layer.add(labelMarker);
|
||||||
|
},
|
||||||
//取消预约确定按钮
|
//取消预约确定按钮
|
||||||
ordercacenl() {
|
ordercacenl() {
|
||||||
var obj = {
|
var obj = {
|
||||||
@ -671,6 +734,7 @@ export default {
|
|||||||
seeLook(row) {
|
seeLook(row) {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
const id = row.orderNo;
|
const id = row.orderNo;
|
||||||
|
this.map = null;
|
||||||
appointmentOrderDetails(id).then((res) => {
|
appointmentOrderDetails(id).then((res) => {
|
||||||
res.data.forEach((e) => {
|
res.data.forEach((e) => {
|
||||||
if (e.serviceDate) {
|
if (e.serviceDate) {
|
||||||
@ -679,24 +743,33 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.query = res.data[0];
|
this.query = res.data[0];
|
||||||
this.innerVisible4 = true;
|
|
||||||
if (row.orderStatus == "EVALUATED") {
|
if (row.orderStatus == "EVALUATED") {
|
||||||
selectOrderEvaluate(id).then((res) => {
|
if (res.data) {
|
||||||
if (res.data) {
|
if (res.data[0].evaluateSatisfaction == "COMMONLY") {
|
||||||
if (res.data.evaluateSatisfaction == "COMMONLY") {
|
this.query.evaluateSatisfaction = "一般";
|
||||||
this.query.evaluateSatisfaction = "一般";
|
} else if (res.data[0].evaluateSatisfaction == "SATISFIED") {
|
||||||
} else if (res.data.evaluateSatisfaction == "SATISFIED") {
|
this.query.evaluateSatisfaction = "满意";
|
||||||
this.query.evaluateSatisfaction = "满意";
|
} else if (res.data[0].evaluateSatisfaction == "DISSATISFIED") {
|
||||||
} else if (res.data.evaluateSatisfaction == "DISSATISFIED") {
|
this.query.evaluateSatisfaction = "不满意";
|
||||||
this.query.evaluateSatisfaction = "不满意";
|
|
||||||
}
|
|
||||||
this.loading = false;
|
|
||||||
this.innerVisible4 = true;
|
|
||||||
} else {
|
|
||||||
this.loading = false;
|
|
||||||
this.innerVisible4 = true;
|
|
||||||
}
|
}
|
||||||
});
|
this.loading = false;
|
||||||
|
this.innerVisible4 = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.init(this.query);
|
||||||
|
}, 500);
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
this.innerVisible4 = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.init(this.query);
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
} else if (row.orderStatus == "COMPLETE") {
|
||||||
|
this.loading = false;
|
||||||
|
this.innerVisible4 = true;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.init(this.query);
|
||||||
|
}, 500);
|
||||||
} else {
|
} else {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.innerVisible4 = true;
|
this.innerVisible4 = true;
|
||||||
@ -868,5 +941,9 @@ export default {
|
|||||||
width: 250px;
|
width: 250px;
|
||||||
height: 250px;
|
height: 250px;
|
||||||
}
|
}
|
||||||
|
#container {
|
||||||
|
width: 100%;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@ -303,6 +303,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="护理站简介" prop="agencyIntroduce">
|
<el-form-item label="护理站简介" prop="agencyIntroduce">
|
||||||
<editor
|
<editor
|
||||||
|
@imgs="imgs"
|
||||||
:min-height="62"
|
:min-height="62"
|
||||||
style="width: 90%; margin: 0 auto"
|
style="width: 90%; margin: 0 auto"
|
||||||
v-model="form.agencyIntroduce"
|
v-model="form.agencyIntroduce"
|
||||||
@ -468,6 +469,7 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
|
imgsurl: { pictureUrlList: [] },
|
||||||
imageUrl: "",
|
imageUrl: "",
|
||||||
imageUrl2: "",
|
imageUrl2: "",
|
||||||
imgtwo: "",
|
imgtwo: "",
|
||||||
@ -604,6 +606,9 @@ export default {
|
|||||||
this.infos();
|
this.infos();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
imgs(item) {
|
||||||
|
this.imgsurl.pictureUrlList.push(item);
|
||||||
|
},
|
||||||
imgUrl(imgUrl) {
|
imgUrl(imgUrl) {
|
||||||
this.form.stationPictureUrl = imgUrl;
|
this.form.stationPictureUrl = imgUrl;
|
||||||
},
|
},
|
||||||
@ -693,6 +698,11 @@ export default {
|
|||||||
if (obj.pictureUrlList.length > 0) {
|
if (obj.pictureUrlList.length > 0) {
|
||||||
updatePicture(obj).then((res) => {});
|
updatePicture(obj).then((res) => {});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.imgsurl.pictureUrlList.length > 0) {
|
||||||
|
updatePicture(this.imgsurl).then((res) => {});
|
||||||
|
}
|
||||||
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
},
|
},
|
||||||
@ -898,8 +908,6 @@ export default {
|
|||||||
info() {
|
info() {
|
||||||
//加个所属区域
|
//加个所属区域
|
||||||
getListByUser(this.getListByUserquery).then((res) => {
|
getListByUser(this.getListByUserquery).then((res) => {
|
||||||
// 页面
|
|
||||||
// /所属区域
|
|
||||||
this.nurseStationlist = res.rows;
|
this.nurseStationlist = res.rows;
|
||||||
this.total2 = res.total;
|
this.total2 = res.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|||||||
@ -153,11 +153,11 @@
|
|||||||
align="center"
|
align="center"
|
||||||
prop="nurseItemName"
|
prop="nurseItemName"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<!-- <el-table-column
|
||||||
label="提前预约时长(h)"
|
label="提前预约时长(h)"
|
||||||
align="center"
|
align="center"
|
||||||
prop="advanceAppointDuration"
|
prop="advanceAppointDuration"
|
||||||
/>
|
/> -->
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
<el-table-column label="创建时间" align="center" prop="createTime" />
|
||||||
<el-table-column label="创建人" align="center" prop="createBy" />
|
<el-table-column label="创建人" align="center" prop="createBy" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
@ -251,7 +251,7 @@
|
|||||||
maxlength="50"
|
maxlength="50"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
label="提前预约时长"
|
label="提前预约时长"
|
||||||
prop="nurseStationItem.advanceAppointDuration"
|
prop="nurseStationItem.advanceAppointDuration"
|
||||||
>
|
>
|
||||||
@ -262,6 +262,15 @@
|
|||||||
type="number"
|
type="number"
|
||||||
min="0"
|
min="0"
|
||||||
/>
|
/>
|
||||||
|
</el-form-item> -->
|
||||||
|
|
||||||
|
<el-form-item label="排序" prop="nurseStationItem.sort">
|
||||||
|
<el-input
|
||||||
|
placeholder="请输入排序"
|
||||||
|
v-model="form.nurseStationItem.sort"
|
||||||
|
maxlength="10"
|
||||||
|
oninput="value=value.replace(/[^\d]/g,'')"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目头像" prop="nurseStationItem.itemPictureUrl">
|
<el-form-item label="项目头像" prop="nurseStationItem.itemPictureUrl">
|
||||||
<stationAcatar
|
<stationAcatar
|
||||||
@ -271,27 +280,18 @@
|
|||||||
:type="'itemPictureUrl'"
|
:type="'itemPictureUrl'"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="排序" prop="nurseStationItem.sort">
|
|
||||||
<el-input
|
|
||||||
placeholder="请输入排序"
|
|
||||||
v-model="form.nurseStationItem.sort"
|
|
||||||
maxlength="10"
|
|
||||||
oninput="value=value.replace(/[^\d]/g,'')"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="项目内容简介"
|
label="项目内容简介"
|
||||||
prop="nurseStationItem.nurseItemContent"
|
prop="nurseStationItem.nurseItemContent"
|
||||||
>
|
>
|
||||||
<el-input
|
<editor
|
||||||
|
@imgs="imgs"
|
||||||
|
:min-height="82"
|
||||||
|
style="width: 90%"
|
||||||
maxlength="300"
|
maxlength="300"
|
||||||
type="textarea"
|
|
||||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
|
||||||
placeholder="请输入内容"
|
|
||||||
style="width: 208px"
|
|
||||||
v-model="form.nurseStationItem.nurseItemContent"
|
v-model="form.nurseStationItem.nurseItemContent"
|
||||||
>
|
></editor>
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目时长和价格" required>
|
<el-form-item label="项目时长和价格" required>
|
||||||
<el-table
|
<el-table
|
||||||
@ -685,6 +685,7 @@ export default {
|
|||||||
name: "NurseItem",
|
name: "NurseItem",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
imgsurl: { pictureUrlList: [] },
|
||||||
imageUrl: "",
|
imageUrl: "",
|
||||||
imgone: "",
|
imgone: "",
|
||||||
handstationlist: [],
|
handstationlist: [],
|
||||||
@ -777,9 +778,9 @@ export default {
|
|||||||
"nurseStationItem.sort": [
|
"nurseStationItem.sort": [
|
||||||
{ required: true, message: "排序不能为空", trigger: "blur" },
|
{ required: true, message: "排序不能为空", trigger: "blur" },
|
||||||
],
|
],
|
||||||
"nurseStationItem.advanceAppointDuration": [
|
// "nurseStationItem.advanceAppointDuration": [
|
||||||
{ required: true, message: "提前预约时长不能为空", trigger: "blur" },
|
// { required: true, message: "提前预约时长不能为空", trigger: "blur" },
|
||||||
],
|
// ],
|
||||||
"nurseStationItem.itemPictureUrl": [
|
"nurseStationItem.itemPictureUrl": [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
@ -802,6 +803,10 @@ export default {
|
|||||||
// this.getList();
|
// this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
imgs(item) {
|
||||||
|
console.log(item)
|
||||||
|
this.imgsurl.pictureUrlList.push(item);
|
||||||
|
},
|
||||||
imgUrl(imgUrl) {
|
imgUrl(imgUrl) {
|
||||||
this.form.nurseStationItem.itemPictureUrl = imgUrl;
|
this.form.nurseStationItem.itemPictureUrl = imgUrl;
|
||||||
},
|
},
|
||||||
@ -943,7 +948,10 @@ export default {
|
|||||||
if (obj.pictureUrlList.length > 0) {
|
if (obj.pictureUrlList.length > 0) {
|
||||||
updatePicture(obj).then((res) => {});
|
updatePicture(obj).then((res) => {});
|
||||||
}
|
}
|
||||||
|
if (this.imgsurl.pictureUrlList.length > 0) {
|
||||||
|
updatePicture(this.imgsurl).then((res) => {});
|
||||||
|
}
|
||||||
|
this.imgsurl = { pictureUrlList: [] };
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
},
|
},
|
||||||
@ -1110,6 +1118,7 @@ export default {
|
|||||||
this.form.nurseStationItemPrices.forEach((e) => {
|
this.form.nurseStationItemPrices.forEach((e) => {
|
||||||
e.price = Number(e.price);
|
e.price = Number(e.price);
|
||||||
});
|
});
|
||||||
|
this.form.nurseStationItem.advanceAppointDuration = 0;
|
||||||
updateNurseItem(this.form).then((response) => {
|
updateNurseItem(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
@ -1119,6 +1128,7 @@ export default {
|
|||||||
this.form.nurseStationItemPrices.forEach((e) => {
|
this.form.nurseStationItemPrices.forEach((e) => {
|
||||||
e.price = Number(e.price);
|
e.price = Number(e.price);
|
||||||
});
|
});
|
||||||
|
this.form.nurseStationItem.advanceAppointDuration = 0;
|
||||||
addNurseItem(this.form).then((response) => {
|
addNurseItem(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
|
|||||||
@ -797,7 +797,12 @@ export default {
|
|||||||
const userId = row.userId || this.ids;
|
const userId = row.userId || this.ids;
|
||||||
getUser(userId).then((response) => {
|
getUser(userId).then((response) => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.form.nurseStationIds = Number(this.form.nurseStationIds);
|
if (!this.form.nurseStationIds) {
|
||||||
|
this.form.nurseStationIds = ''
|
||||||
|
} else {
|
||||||
|
this.form.nurseStationIds = Number(this.form.nurseStationIds);
|
||||||
|
|
||||||
|
}
|
||||||
// if (
|
// if (
|
||||||
// !this.form.nurseStationIds ||
|
// !this.form.nurseStationIds ||
|
||||||
// this.form.nurseStationIds == null ||
|
// this.form.nurseStationIds == null ||
|
||||||
@ -843,8 +848,7 @@ export default {
|
|||||||
this.$router.push("/system/user-auth/role/" + userId);
|
this.$router.push("/system/user-auth/role/" + userId);
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm: function () {
|
submitForm: function () {
|
||||||
console.log(this.form);
|
|
||||||
this.$refs["form"].validate((valid) => {
|
this.$refs["form"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
// this.form.nurseStationIds = this.form.nurseStationIds.join(",");
|
// this.form.nurseStationIds = this.form.nurseStationIds.join(",");
|
||||||
@ -853,13 +857,26 @@ export default {
|
|||||||
// obj.push(this.form.nurseStationIds);
|
// obj.push(this.form.nurseStationIds);
|
||||||
// console.log(obj)
|
// console.log(obj)
|
||||||
// this.form.nurseStationIds = obj;
|
// this.form.nurseStationIds = obj;
|
||||||
console.log(this.form);
|
|
||||||
if (this.form.userId != undefined) {
|
if (this.form.userId != undefined) {
|
||||||
updateUser(this.form).then((response) => {
|
if (!this.form.nurseStationIds) {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.form.nurseStationIds = null
|
||||||
this.open = false;
|
updateUser(this.form).then((response) => {
|
||||||
this.getList();
|
this.$modal.msgSuccess("修改成功");
|
||||||
});
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
// console.log('bbb',this.form)
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.form.nurseStationIds = Number(this.form.nurseStationIds);
|
||||||
|
updateUser(this.form).then((response) => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
// console.log('bbb',this.form)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
addUser(this.form).then((response) => {
|
addUser(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
|||||||
236
vue.config.js
236
vue.config.js
@ -2,7 +2,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
|
||||||
function resolve(dir) {
|
function resolve(dir) {
|
||||||
return path.join(__dirname, dir)
|
return path.join(__dirname, dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
const CompressionPlugin = require('compression-webpack-plugin')
|
const CompressionPlugin = require('compression-webpack-plugin')
|
||||||
@ -15,122 +15,124 @@ const port = process.env.port || process.env.npm_config_port || 81 // 端口
|
|||||||
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
|
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
|
||||||
// 这里只列一部分,具体配置参考文档
|
// 这里只列一部分,具体配置参考文档
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// 部署生产环境和开发环境下的URL。
|
// 部署生产环境和开发环境下的URL。
|
||||||
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
|
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
|
||||||
// 例如 https://www.xinyilu.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.xinyilu.vip/admin/,则设置 baseUrl 为 /admin/。
|
// 例如 https://www.xinyilu.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.xinyilu.vip/admin/,则设置 baseUrl 为 /admin/。
|
||||||
publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
|
publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
|
||||||
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
|
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
|
||||||
outputDir: 'dist',
|
outputDir: 'dist',
|
||||||
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
|
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
|
||||||
assetsDir: 'static',
|
assetsDir: 'static',
|
||||||
// 是否开启eslint保存检测,有效值:ture | false | 'error'
|
// 是否开启eslint保存检测,有效值:ture | false | 'error'
|
||||||
lintOnSave: process.env.NODE_ENV === 'development',
|
lintOnSave: process.env.NODE_ENV === 'development',
|
||||||
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
|
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
|
||||||
productionSourceMap: false,
|
productionSourceMap: false,
|
||||||
// webpack-dev-server 相关配置
|
// webpack-dev-server 相关配置
|
||||||
devServer: {
|
devServer: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
port: port,
|
port: port,
|
||||||
open: true,
|
open: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||||
[process.env.VUE_APP_BASE_API]: {
|
[process.env.VUE_APP_BASE_API]: {
|
||||||
target: `http://localhost:8080`,
|
target: `http://localhost:8080`,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
['^' + process.env.VUE_APP_BASE_API]: ''
|
['^' + process.env.VUE_APP_BASE_API]: ''
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
disableHostCheck: true
|
|
||||||
},
|
|
||||||
css: {
|
|
||||||
loaderOptions: {
|
|
||||||
sass: {
|
|
||||||
sassOptions: { outputStyle: "expanded" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
configureWebpack: {
|
|
||||||
name: name,
|
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'@': resolve('src')
|
|
||||||
}
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
// http://doc.xinyilu.vip/xinyilu-vue/other/faq.html#使用gzip解压缩静态文件
|
|
||||||
new CompressionPlugin({
|
|
||||||
cache: false, // 不启用文件缓存
|
|
||||||
test: /\.(js|css|html)?$/i, // 压缩文件格式
|
|
||||||
filename: '[path].gz[query]', // 压缩后的文件名
|
|
||||||
algorithm: 'gzip', // 使用gzip压缩
|
|
||||||
minRatio: 0.8 // 压缩率小于1才会压缩
|
|
||||||
})
|
|
||||||
],
|
|
||||||
},
|
|
||||||
chainWebpack(config) {
|
|
||||||
config.plugins.delete('preload') // TODO: need test
|
|
||||||
config.plugins.delete('prefetch') // TODO: need test
|
|
||||||
|
|
||||||
// set svg-sprite-loader
|
|
||||||
config.module
|
|
||||||
.rule('svg')
|
|
||||||
.exclude.add(resolve('src/assets/icons'))
|
|
||||||
.end()
|
|
||||||
config.module
|
|
||||||
.rule('icons')
|
|
||||||
.test(/\.svg$/)
|
|
||||||
.include.add(resolve('src/assets/icons'))
|
|
||||||
.end()
|
|
||||||
.use('svg-sprite-loader')
|
|
||||||
.loader('svg-sprite-loader')
|
|
||||||
.options({
|
|
||||||
symbolId: 'icon-[name]'
|
|
||||||
})
|
|
||||||
.end()
|
|
||||||
|
|
||||||
config
|
|
||||||
.when(process.env.NODE_ENV !== 'development',
|
|
||||||
config => {
|
|
||||||
config
|
|
||||||
.plugin('ScriptExtHtmlWebpackPlugin')
|
|
||||||
.after('html')
|
|
||||||
.use('script-ext-html-webpack-plugin', [{
|
|
||||||
// `runtime` must same as runtimeChunk name. default is `runtime`
|
|
||||||
inline: /runtime\..*\.js$/
|
|
||||||
}])
|
|
||||||
.end()
|
|
||||||
config
|
|
||||||
.optimization.splitChunks({
|
|
||||||
chunks: 'all',
|
|
||||||
cacheGroups: {
|
|
||||||
libs: {
|
|
||||||
name: 'chunk-libs',
|
|
||||||
test: /[\\/]node_modules[\\/]/,
|
|
||||||
priority: 10,
|
|
||||||
chunks: 'initial' // only package third parties that are initially dependent
|
|
||||||
},
|
|
||||||
elementUI: {
|
|
||||||
name: 'chunk-elementUI', // split elementUI into a single package
|
|
||||||
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
|
|
||||||
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
|
|
||||||
},
|
|
||||||
commons: {
|
|
||||||
name: 'chunk-commons',
|
|
||||||
test: resolve('src/components'), // can customize your rules
|
|
||||||
minChunks: 3, // minimum common number
|
|
||||||
priority: 5,
|
|
||||||
reuseExistingChunk: true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
config.optimization.runtimeChunk('single'),
|
disableHostCheck: true
|
||||||
{
|
},
|
||||||
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
|
css: {
|
||||||
to: './' //到根目录下
|
loaderOptions: {
|
||||||
}
|
sass: {
|
||||||
|
sassOptions: { outputStyle: "expanded" }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
)
|
},
|
||||||
}
|
configureWebpack: {
|
||||||
|
externals: {
|
||||||
|
'AMap': 'AMap'
|
||||||
|
},
|
||||||
|
name: name,
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
'@': resolve('src')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
// http://doc.xinyilu.vip/xinyilu-vue/other/faq.html#使用gzip解压缩静态文件
|
||||||
|
new CompressionPlugin({
|
||||||
|
cache: false, // 不启用文件缓存
|
||||||
|
test: /\.(js|css|html)?$/i, // 压缩文件格式
|
||||||
|
filename: '[path].gz[query]', // 压缩后的文件名
|
||||||
|
algorithm: 'gzip', // 使用gzip压缩
|
||||||
|
minRatio: 0.8 // 压缩率小于1才会压缩
|
||||||
|
})
|
||||||
|
],
|
||||||
|
},
|
||||||
|
chainWebpack(config) {
|
||||||
|
config.plugins.delete('preload') // TODO: need test
|
||||||
|
config.plugins.delete('prefetch') // TODO: need test
|
||||||
|
|
||||||
|
// set svg-sprite-loader
|
||||||
|
config.module
|
||||||
|
.rule('svg')
|
||||||
|
.exclude.add(resolve('src/assets/icons'))
|
||||||
|
.end()
|
||||||
|
config.module
|
||||||
|
.rule('icons')
|
||||||
|
.test(/\.svg$/)
|
||||||
|
.include.add(resolve('src/assets/icons'))
|
||||||
|
.end()
|
||||||
|
.use('svg-sprite-loader')
|
||||||
|
.loader('svg-sprite-loader')
|
||||||
|
.options({
|
||||||
|
symbolId: 'icon-[name]'
|
||||||
|
})
|
||||||
|
.end()
|
||||||
|
|
||||||
|
config
|
||||||
|
.when(process.env.NODE_ENV !== 'development',
|
||||||
|
config => {
|
||||||
|
config
|
||||||
|
.plugin('ScriptExtHtmlWebpackPlugin')
|
||||||
|
.after('html')
|
||||||
|
.use('script-ext-html-webpack-plugin', [{
|
||||||
|
// `runtime` must same as runtimeChunk name. default is `runtime`
|
||||||
|
inline: /runtime\..*\.js$/
|
||||||
|
}])
|
||||||
|
.end()
|
||||||
|
config
|
||||||
|
.optimization.splitChunks({
|
||||||
|
chunks: 'all',
|
||||||
|
cacheGroups: {
|
||||||
|
libs: {
|
||||||
|
name: 'chunk-libs',
|
||||||
|
test: /[\\/]node_modules[\\/]/,
|
||||||
|
priority: 10,
|
||||||
|
chunks: 'initial' // only package third parties that are initially dependent
|
||||||
|
},
|
||||||
|
elementUI: {
|
||||||
|
name: 'chunk-elementUI', // split elementUI into a single package
|
||||||
|
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
|
||||||
|
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
|
||||||
|
},
|
||||||
|
commons: {
|
||||||
|
name: 'chunk-commons',
|
||||||
|
test: resolve('src/components'), // can customize your rules
|
||||||
|
minChunks: 3, // minimum common number
|
||||||
|
priority: 5,
|
||||||
|
reuseExistingChunk: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
config.optimization.runtimeChunk('single'), {
|
||||||
|
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
|
||||||
|
to: './' //到根目录下
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user