Commit 60fd9f0b authored by 黄媛媛's avatar 黄媛媛

111

parent d0c68c32
...@@ -85,3 +85,137 @@ ...@@ -85,3 +85,137 @@
text-align: center; text-align: center;
} }
.queryul li span>em{display: inline-block; min-width: 80px; text-align: right; font-style: normal; margin:0 15px 0 0;} .queryul li span>em{display: inline-block; min-width: 80px; text-align: right; font-style: normal; margin:0 15px 0 0;}
/* dialog */
.el-dialog{
background:rgba(248,250,251,1);
border-radius:20px;
}
.el-dialog__headerbtn .el-dialog__close{
color:#111111;
}
.el-dialog__title{
font-size: 12px;
}
/* form MyEditForm */
.MyEditForm .el-form-item{
display: inline-block;
margin-right:30px;
background: #fff;
padding:5px 0;
box-sizing: border-box;
border-radius:10px;
width: 235px;
box-shadow:0px 6px 14px 0px rgba(176,176,176,0.1);
position: relative;
min-height: 56px;
}
.MyEditForm .el-form-item .label{
font-size: 10px;
color:#888888;
padding-left: 15px;
}
.MyEditForm .el-form-item .el-form-item__content{
line-height: initial;
}
.MyEditForm .el-form-item .el-input__inner{
border: none;
outline: none;
width: 220px;
}
.MyEditForm .el-form-item .el-form-item__error{
top: 113%;
}
.vue-treeselect:not(.vue-treeselect--disabled):not(.vue-treeselect--focused) .vue-treeselect__control:hover{
border: none;
}
.vue-treeselect__control{
border: none;
height: 28px;
}
.vue-treeselect__menu{
border:none;
}
.MyEditForm .btnformItem{
display: block!important;
text-align: center;
font-size: 12px;
margin-top: 20px;
}
.MyEditForm .btnformItem span{
display: inline-block;
width:120px;
height:44px;
line-height:44px;
border-radius:22px;
}
.MyEditForm .btnformItem .submitBtn{
background:rgba(0,210,214,1);
color: #fff;
margin-right: 20px;
}
.MyEditForm .btnformItem .exitBtn{
border: 1px solid rgba(0,210,214,1);
color:rgba(0,210,214,1);
}
.MyEditForm .is-required::after, .is-required::before{
position: absolute;
left: -10px;
top: 10px;
content: '*';
color: #F56C6C;
margin-right: 4px;
}
/* 上传图片 */
.uploadDiv{
width:120px;
height:120px;
background:rgba(255,255,255,1);
box-shadow:0px 6px 14px 0px rgba(176,176,176,0.1);
border-radius:10px;
margin-top:6px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.uploadDiv .el-upload__text{
color:#A6C6C6;
font-size: 12px;
}
.uploadUl {
float: left;
}
.uploadUl li{
display: inline-block;
width:120px;
height:120px;
border-radius:10px;
margin-right: 30px;
overflow: hidden;
position: relative;
}
.uploadUl li img{
min-height: 100%;
border-radius:10px;
}
.uploadUl li .hoverDiv{
position: absolute;
width: 100%;
height: 100%;
top: 0;
background: rgba(0,0,0,0.2);
z-index: 20;
text-align: center;
display: none;
}
.uploadUl li:hover .hoverDiv{
display: block;
}
.uploadUl li .hoverDiv img{
margin-top:50px;
width:32px!important;min-height:32px!important;
cursor: pointer;
}
\ No newline at end of file
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<el-dialog <el-dialog
:title="dialogtitle" :title="dialogtitle"
:visible.sync="dialogState" :visible.sync="dialogState"
width="680px"> width="680px" style="height:700px">
<el-form class="Archivesform" :model="addMsg" :rules="rules" ref="addMsg" label-width="100px"> <el-form class="Archivesform" :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<el-form-item label="档案名称" prop="Name"> <el-form-item label="档案名称" prop="Name">
<el-input size="small" v-model="addMsg.Name"></el-input> <el-input size="small" v-model="addMsg.Name"></el-input>
......
...@@ -11,7 +11,10 @@ ...@@ -11,7 +11,10 @@
<span class="TreeSpan" slot-scope="{ node, data }"> <span class="TreeSpan" slot-scope="{ node, data }">
<span>{{ node.label}}</span> <span>{{ node.label}}</span>
<span class="spanIcon"> <span class="spanIcon">
<el-button <img @click="Add(data)" style="width:12px;height:12px;margin-left:15px" src="../../assets/img/add.png" alt="">
<img @click="Edit(data)" style="width:12px;height:12px;margin:0 15px" src="../../assets/img/treeedit.png" alt="">
<img @click="DeleteNode(data)" style="width:12px;height:12px" src="../../assets/img/treedelete.png" alt="">
<!-- <el-button
type="text" type="text"
size="mini" size="mini"
@click="() => Add(data)"> @click="() => Add(data)">
...@@ -28,7 +31,7 @@ ...@@ -28,7 +31,7 @@
size="mini" size="mini"
@click="() => DeleteNode(node, data)"> @click="() => DeleteNode(node, data)">
删除 删除
</el-button> </el-button> -->
</span> </span>
</span> </span>
</el-tree> </el-tree>
...@@ -212,7 +215,7 @@ export default { ...@@ -212,7 +215,7 @@ export default {
this.getflList(data.Tier) this.getflList(data.Tier)
}, },
DeleteNode(node,data){ DeleteNode(node,data){
this.Delete(data); this.Delete(node);
}, },
Delete(data) { Delete(data) {
let Id=data.Id; let Id=data.Id;
...@@ -334,10 +337,16 @@ export default { ...@@ -334,10 +337,16 @@ export default {
} }
</script> </script>
<style scoped> <style>
.Assetscation .TreeDiv .spanIcon { .Assetscation .TreeDiv .spanIcon {
display: none; display: none;
} }
.Assetscation .el-tree{
color:#111111;
}
.Assetscation .TreeDiv .el-tree-node__content:hover{
background: #fff;
}
.Assetscation .TreeDiv .el-tree-node__content:hover .spanIcon { .Assetscation .TreeDiv .el-tree-node__content:hover .spanIcon {
display: inline-block!important; display: inline-block!important;
} }
...@@ -360,11 +369,17 @@ export default { ...@@ -360,11 +369,17 @@ export default {
.Assetscation{ .Assetscation{
padding-top:30px; padding-top:30px;
position: relative; position: relative;
} }
.Assetscation .TreeDiv{ .Assetscation .TreeDiv{
width: 250px; width: 220px;
position: absolute; position: absolute;
left: 30px; left: 30px;
z-index: 10; z-index: 10;
background: #fff;
height:100%;
padding: 20px 10px;
box-sizing: border-box;
font-size:12px;
} }
</style> </style>
...@@ -123,31 +123,171 @@ ...@@ -123,31 +123,171 @@
<el-dialog <el-dialog
:title="dialogtitle" :title="dialogtitle"
:visible.sync="dialogState" :visible.sync="dialogState"
width="30%"> top="3%"
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px"> width="850px">
<el-form-item label="供应商名称" prop="Name"> <el-form class="MyEditForm" :model="addMsg" :rules="rules" ref="addMsg" label-width="0px">
<el-input v-model="addMsg.Name"></el-input> <el-form-item label="" prop="Name">
<span class="label">资产名称</span>
<el-input size="mini" v-model="addMsg.Name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人" prop="Contact"> <el-form-item label="" prop="SerialNumber">
<el-input v-model="addMsg.Contact"></el-input> <span class="label">序列号</span>
<el-input size="mini" v-model="addMsg.SerialNumber" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="Mobile"> <el-form-item label="" prop="CategoryId" style="float:left;padding:0 5px;">
<el-input v-model="addMsg.Mobile"></el-input> <span class="label">资产分类</span>
<treeselect style="height:28px;width:100%" :options="treedata" v-model="addMsg.CategoryId" placeholder="不限"
:normalizer="normalizer" @select='treeClick' />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item label="" prop="BrandName">
<el-button type="primary" @click="submitForm('addMsg')">确定</el-button> <span class="label">品牌</span>
<el-button @click="dialogState=false">取消</el-button> <el-input size="mini" v-model="addMsg.BrandName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="">
<span class="label">金额</span>
<el-input size="mini" v-model="addMsg.Money" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="" prop="BuyDate">
<p class="label">购置日期</p>
<el-date-picker size="mini"
v-model="addMsg.BuyDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="BuyType">
<span class="label">购置方式</span>
<el-input size="mini" v-model="addMsg.BuyType" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="">
<span class="label">单位</span>
<el-input size="mini" v-model="addMsg.Units" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="">
<span class="label">使用年份期限</span>
<el-input size="mini" v-model="addMsg.UseMonths" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="">
<span class="label">使用状态</span>
<el-select size="mini" v-model="addMsg.UseStatus" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<span class="label">型号</span>
<el-input size="mini" v-model="addMsg.PropertyModel" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="">
<span class="label">备注</span>
<el-input size="mini" v-model="addMsg.Remark" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="">
<span class="label">使用人</span>
<el-select size="mini" v-model="addMsg.EmployeeId" placeholder="请选择">
<el-option
v-for="item in EmployeeList"
:key="item.EmployeeId"
:label="item.EmName"
:value="item.EmployeeId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<span class="label">供应商</span>
<el-select size="mini" v-model="addMsg.SupplierId" placeholder="请选择">
<el-option
v-for="item in supplierList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<p class="label">领取时间</p>
<el-date-picker
size="mini"
v-model="addMsg.GetTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<div class="_addUpload_box">
<ul class="uploadUl">
<li>
<img src="../../assets/img/pic.png" alt="">
<div class="hoverDiv">
<img src="../../assets/img/imgdelete.png" alt="">
</div>
</li>
</ul>
<div class="uploadDiv">
<el-upload
:http-request="uploadFileBtn"
:multiple="false"
:show-file-list="false"
action
>
<img style="width:40px;height:36px" src="../../assets/img/pic.png" alt="">
<div class="el-upload__text">上传图片</div>
</el-upload>
</div>
</div>
<div class="btnformItem">
<span class="submitBtn" type="primary" @click="submitForm('addMsg')">确定</span>
<span class="exitBtn" @click="dialogState=false">取消</span>
</div>
</el-form> </el-form>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
name: 'assetsList', name: 'assetsList',
components: {
Treeselect
},
data(){ data(){
return{ return{
addMsg:{
Id:0,
Name:'',
BrandName:'',
SerialNumber:'',
CategoryId:null,
BuyDate:'',
BuyType:'',
Units:'',
UseMonths:'',
UseStatus:'',
PropertyStatus:'',
PropertyModel:'',
ImageList:[],
Remark:'',
EmployeeId:'',
SupplierId:'',
GetTime:'',
},
normalizer(node) {
var obj = {
id: node.Id,
label: node.Name,
};
if (node.ChildList != null && node.ChildList.length > 0) {
obj.children = node.ChildList;
}
return obj;
},
morequery:false, morequery:false,
dateList:[], dateList:[],
options: [{ options: [{
...@@ -183,26 +323,21 @@ export default { ...@@ -183,26 +323,21 @@ export default {
StartTime:'', StartTime:'',
EndTime:'', EndTime:'',
}, },
addMsg:{
Id:0,
Name:'',
PropertyNum:'',
SerialNumber:'',
CategoryId:'',
PropertyStatus:'',
EmployeeId:'',
SupplierId:'',
StartTime:'',
EndTime:'',
},
dialogtitle:'新增资产', dialogtitle:'新增资产',
dialogState:false, dialogState:true,
rules:{ rules:{
Name: [ Name: [
{ required: true, message: '请输入供应商名称', trigger: 'blur' } { required: true, message: '请输入供应商名称', trigger: 'blur' }
], ],
Contact: [ BrandName: [
{ required: true, message: '请输入联系人', trigger: 'blur' } { required: true, message: '请输入品牌', trigger: 'blur' }
],
BuyType: [
{ required: true, message: '请输入购置方式', trigger: 'blur' }
],
BuyDate: [
{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }
], ],
Mobile: [ Mobile: [
{ required: true, message: '请输入联系电话', trigger: 'blur' }, { required: true, message: '请输入联系电话', trigger: 'blur' },
...@@ -211,12 +346,20 @@ export default { ...@@ -211,12 +346,20 @@ export default {
}, },
supplierList:[], supplierList:[],
EmployeeList:[], EmployeeList:[],
nodemsg:{
ParentId:-1,
Tier:'',
Name:'',
Type:1,
},
treedata:[],
} }
}, },
mounted(){ mounted(){
this.getList(); this.getList();
this.getEmployee(); this.getEmployee();
this.getSupplierList1(); this.getSupplierList1();
this.getNode();
}, },
methods:{ methods:{
chongzhi(){ chongzhi(){
...@@ -235,6 +378,52 @@ export default { ...@@ -235,6 +378,52 @@ export default {
}; };
this.getList(); this.getList();
}, },
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.$message.warning("文件大小不能超过10M!")
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.$message.error("请上传图片!");
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary"
this.$message.info("上传中...")
this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.addMsg.ImageList = this.domainManager().ViittoFileUrl + x.data.FilePath;
console.log("this.addMsg.ImageList",this.addMsg.ImageList)
this.Success("上传成功");
});
},
treeClick(data){
this.msg.CategoryId=data.Id;
},
getNode(){
this.apiJavaPost("/api/property/CateporyGetTreeList",this.nodemsg,
res => {
if (res.data.resultCode === 1) {
this.treedata=res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
},
addSupplier(){ addSupplier(){
this.addMsg={ this.addMsg={
Id:0, Id:0,
...@@ -281,7 +470,7 @@ export default { ...@@ -281,7 +470,7 @@ export default {
submitForm(formName) { submitForm(formName) {
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
this.apiJavaPost("/api/property/SetSupplierInfo",this.addMsg, this.apiJavaPost("/api/property/SetPropertyInfo",this.addMsg,
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.getList(); this.getList();
......
...@@ -60,6 +60,7 @@ export default { ...@@ -60,6 +60,7 @@ export default {
padding-top: 70px; padding-top: 70px;
position: relative; position: relative;
box-sizing: border-box; box-sizing: border-box;
background: #F8FAFB;
} }
.nav{ .nav{
position: fixed; position: fixed;
...@@ -67,13 +68,13 @@ export default { ...@@ -67,13 +68,13 @@ export default {
top:0; top:0;
left: 0; left: 0;
height: 100%; height: 100%;
z-index: 9999; z-index: 100;
} }
.appContent .HeadDiv{ .appContent .HeadDiv{
position: absolute; position: absolute;
width: calc(100% - 214px); width: calc(100% - 214px);
top: 0; top: 0;
z-index: 200;
} }
.appContent{ .appContent{
width: 100%; width: 100%;
......
import md5 from 'js-md5' import md5 from 'js-md5'
import co from 'co'
export default { export default {
data: { data: {
loginUser: {}, loginUser: {},
...@@ -31,7 +31,7 @@ export default { ...@@ -31,7 +31,7 @@ export default {
javaUrl: "http://192.168.2.16:8087", javaUrl: "http://192.168.2.16:8087",
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://staticfile.oytour.com" : 'http://192.168.2.214:8130', ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://staticfile.oytour.com" : 'http://192.168.2.214:8130',
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://uploadfile.oytour.com" : "http://192.168.2.214:8130", UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://uploadfile.oytour.com" : "http://192.168.2.214:8120",
// UploadUrl: "http://uploadfile.oytour.com", // UploadUrl: "http://uploadfile.oytour.com",
LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi", LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi",
}; };
...@@ -284,6 +284,16 @@ export default { ...@@ -284,6 +284,16 @@ export default {
}); });
} }
} }
Vue.prototype.random_string = function (len) {
len = len || 32;
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var maxPos = chars.length;
var pwd = '';
for (let i = 0; i < len; i++) {
pwd += chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
},
//验证只能输入2位小数 //验证只能输入2位小数
Vue.prototype.checkPrice = function (item, filed) { Vue.prototype.checkPrice = function (item, filed) {
var value = ""; var value = "";
......
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