Files
UNION_NJUST/target/classes/views/platform/zcgl/addzcxx.html
T
2026-09-23 09:38:39 +08:00

661 lines
29 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<!--<link rel="stylesheet" type="text/css" href="http://unpkg.com/view-design/dist/styles/iview.css">-->
<!--<script type="text/javascript" src="http://unpkg.com/view-design/dist/iview.min.js"></script>-->
<!--<link rel="stylesheet" href="${base!}/assets/platform/plugins/iview/styles/iview.css">-->
<!--<script src="${base!}/assets/platform/plugins/iview/iview.min.js"></script>-->
<style>
.card-title {
margin-bottom: 20px;
letter-spacing: 2px;
display: flex;
justify-content: space-between;
height: 30px;
line-height: 30px;
}
.card-title .title-left {
font-size: 25px;
}
.card-title .title-right {
text-align: right;
font-size: 15px;
color: #0e78c5;
cursor: pointer;
}
.card-title .title-right:hover {
text-decoration: underline;
}
.el-date-editor.el-input, .el-select, .el-input-number {
width: 100%;
}
.excelCard {
min-height: 650px;
}
.excelBack {
font-size: 15px;
color: #0e78c5;
cursor: pointer;
}
.excelBack:hover {
text-decoration: underline;
}
.el-icon-loading {
font-size: 30px;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
.el-input-number .el-input__inner {
padding: 0 15px;
text-align: left;
}
.el-icon-eleme:before {
content: '元';
}
.submitClass {
text-align: right;
}
.ivu-upload {
display: inline;
}
.el-table th.gutter {
display: table-cell !important
}
</style>
<div id="app" v-cloak>
<guava ref="guava">
<el-card shadow="never">
<div class="card-title">
<span class="title-left">{{isEdit?'修改资产':'资产登记'}}</span>
</span>
</div>
<el-form :model="formData" :rules="ruleForm" label-width="100px" ref="AddForm">
<el-row>
<el-col :span="8">
<el-form-item label="资产名称" prop="zcmc">
<el-input v-model="formData.zcmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单&emsp;&emsp;价" prop="zcdj">
<el-input-number :precision="2" v-model="formData.zcdj">
</el-input-number>
<span style="position: absolute;right: 10px;color: #C0C4CC;">元</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="数&emsp;&emsp;量" prop="sl">
<el-input-number v-model="formData.sl">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="资产类型">
<el-radio label="1" v-model="formData.zcghlx">部门工会固定资产</el-radio>
<el-radio label="2" v-model="formData.zcghlx">工会固定资产</el-radio>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="资产型号" prop="zcxh">
<el-input v-model="formData.zcxh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="资产规格" prop="zcgg">
<el-input v-model="formData.zcgg"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="厂&emsp;&emsp;家" prop="zccj">
<el-input v-model="formData.zccj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出&ensp;厂&ensp;号" prop="zccch">
<el-input v-model="formData.zccch"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="购置日期" prop="zcgzrq">
<el-date-picker v-model="formData.zcgzrq" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入库日期" prop="zcrksj">
<el-date-picker v-model="formData.zcrksj" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="存放地点" prop="zccfdmc">
<el-input v-model="formData.zccfdmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="资产编号" prop="zcbh">
<el-input disabled placeholder="系统自动生成" v-model="formData.zcbh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="领用人" prop="zclyrname">
<el-select v-model="formData.zclyrname"
clearable
:loading="loading"
:remote-method="SearchJsr"
placeholder="可输入姓名或者工资号查询"
filterable
remote
@change="zclyrChange">
<el-option v-for="item in JsrOption" :label="item.username+'-'+item.loginname"
:value="item.username"></el-option>
</el-select>
<!-- <el-input v-model="formData.zclyrname" clearable></el-input>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="领用人工号" prop="zclyrgh">
<el-input disabled v-model="formData.zclyrgh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="经&ensp;手&ensp;人" prop="zcjsrname">
<el-select :loading="loading"
:remote-method="SearchJsr"
clearable
filterable
placeholder="可输入姓名或者工资号查询"
remote
v-model="formData.zcjsrname">
<el-option :label="item.username+'-'+item.loginname" :value="item.username"
v-for="item in JsrOption"></el-option>
</el-select>
<!-- <el-input v-model="formData.zcjsrname" clearable></el-input>-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="领用单位" prop="zclydwh">
<el-input disabled v-model="formData.zclydwh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="供&ensp;货&ensp;商" prop="zcghs">
<el-input v-model="formData.zcghs"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发&ensp;票&ensp;号" prop="zcfph">
<el-input v-model="formData.zcfph"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="单&ensp;据&ensp;号" prop="zcdjh">
<el-input v-model="formData.zcdjh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合&ensp;同&ensp;号" prop="zchth">
<el-input v-model="formData.zchth"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="经费卡号" prop="zcjfkh">
<el-input v-model="formData.zcjfkh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="卡上金额" prop="zcjfkje">
<el-input-number :precision="2" v-model="formData.zcjfkje">
</el-input-number>
<span style="position: absolute;right: 10px;color: #C0C4CC;">元</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="国&emsp;&emsp;别" prop="zcgb">
<el-input v-model="formData.zcgb"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="国标分类号" prop="zcgbflh">
<el-input v-model="formData.zcgbflh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分类号" prop="zcflh">
<el-input v-model="formData.zcflh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="状&emsp;&emsp;态" prop="zczt">
<el-select clearable filterable v-model="formData.zczt">
<el-option label="在用" value="在用"></el-option>
<el-option label="闲置" value="闲置"></el-option>
<el-option label="未使用" value="未使用"></el-option>
<el-option label="待报废" value="待报废"></el-option>
<el-option label="校外转入" value="校外转入"></el-option>
<el-option label="校内转入" value="校内转入"></el-option>
<el-option label="其它" value="其它"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="submitClass">
<!-- <el-button v-if="isEdit" @click="()=>{window.location.href = document.referrer}">返 回</el-button>-->
<el-button @click="doSubmit" type="primary">{{isEdit==false?'登 记':'确 定'}}</el-button>
</div>
</el-card>
<template #edit>
<div class="mb20">
<el-row>
<div class="text-right">
<el-button @click="downLoadTemp" class="mb10" size="small" type="primary">下载模板</el-button>
</div>
<div class="text-center">
<el-upload
:auto-upload="false"
:file-list="fileList"
:on-change="(f)=>{file = f}"
:on-remove="()=>{file=null}"
action="#"
drag
limit="1"
ref="upload">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
</el-upload>
</div>
<div class="text-center">
<el-button :disabled="!file" @click="readExcel" size="small" style="width: 360px"
type="primary">读取
</el-button>
</div>
</el-row>
</div>
<el-table :data="tableData" border empty-text="暂无数据 待上传文件" height="650px">
<el-table-column label="领用单位" width="250px">
<template slot-scope="scope">
<el-input v-model="scope.row.zclydwh" disabled></el-input>
</template>
</el-table-column>
<el-table-column label="编号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcbh"></el-input>
</template>
</el-table-column>
<el-table-column label="名称" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcmc"></el-input>
</template>
</el-table-column>
<el-table-column label="型号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcxh"></el-input>
</template>
</el-table-column>
<el-table-column label="规格" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcgg"></el-input>
</template>
</el-table-column>
<el-table-column label="单价(元)" width="150px">
<template slot-scope="scope">
<el-input-number :precision="2" v-model="scope.row.zcdj"></el-input-number>
</template>
</el-table-column>
<el-table-column label="厂家" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zccj"></el-input>
</template>
</el-table-column>
<el-table-column label="出厂号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zccch"></el-input>
</template>
</el-table-column>
<el-table-column label="购置日期" width="155px">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.zcgzrq" value-format="yyyy-MM-dd"></el-date-picker>
</template>
</el-table-column>
<el-table-column label="状态" width="120px">
<template slot-scope="scope">
<el-input v-model="scope.row.zczt" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="存放地" width="200px">
<template slot-scope="scope">
<el-input v-model="scope.row.zccfdmc"></el-input>
</template>
</el-table-column>
<el-table-column label="领用人" width="170px">
<template slot-scope="scope">
<el-input v-model="scope.row.zclyrname"></el-input>
</template>
</el-table-column>
<el-table-column label="领用人工号" width="170px">
<template slot-scope="scope">
<el-input v-model="scope.row.zclyrgh"></el-input>
</template>
</el-table-column>
<el-table-column label="经手人" width="170px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcjsrname"></el-input>
</template>
</el-table-column>
<el-table-column label="经手人工号" width="170px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcjsrgh"></el-input>
</template>
</el-table-column>
<el-table-column label="入库时间" width="155px">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.zcrksj" value-format="yyyy-MM-dd"></el-date-picker>
</template>
</el-table-column>
<el-table-column label="单据号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcdjh"></el-input>
</template>
</el-table-column>
<el-table-column label="合同号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zchth"></el-input>
</template>
</el-table-column>
<el-table-column label="经费卡号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcjfkh"></el-input>
</template>
</el-table-column>
<el-table-column label="卡金额(元)" width="150px">
<template slot-scope="scope">
<el-input-number :precision="2" v-model="scope.row.zcjfkje"></el-input-number>
</template>
</el-table-column>
<el-table-column label="分类号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcgbflh"></el-input>
</template>
</el-table-column>
<el-table-column label="国别" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcgb"></el-input>
</template>
</el-table-column>
<el-table-column label="发票号" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcfph"></el-input>
</template>
</el-table-column>
<el-table-column label="供货商" width="150px">
<template slot-scope="scope">
<el-input v-model="scope.row.zcghs"></el-input>
</template>
</el-table-column>
<el-table-column label="所属工会类型" width="150px">
<template slot-scope="scope">
<el-select v-model="scope.row.zcghlx" style="width: 100%">
<el-option label="部门工会固定资产" value="1"></el-option>
<el-option label="工会固定资产" value="2"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
align="center" width="100px">
<template slot-scope="scope">
<el-button @click="tableData.splice(scope.$index,1)" size="mini" type="danger">删除
</el-button>
</template>
</el-table-column>
</el-table>
<div class="submitClass mt20 mr10">
<el-button type="primary" @click="doSubExcel">上 传</el-button>
</div>
</template>
</guava>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
formData: {},
file: null,
loading: false,
JsrOption: [],
LyrOption: [],
LydwOption: [],
tableData: [],
isEdit: false,
ruleForm: {
zcmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcxh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcgg: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcdj: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zccj: [{required: true, message: '必填', trigger: ['blur', 'change']}],
// zccch:[{required: true, message: '必填', trigger: ['blur', 'change']}],
zcgzrq: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zccfdmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zclyrname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zclyrgh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcjsrname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcrksj: [{required: true, message: '必填', trigger: ['blur', 'change']}],
// zchth:[{required: true, message: '必填', trigger: ['blur', 'change']}],
zcjfkh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcjfkje: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcfph: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zcghs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zczt: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zclydwh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sl: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
fileList: []
}
},
methods: {
zclyrChange(val) {
const {loginname, unionname} = this.JsrOption.find(v => v.username == val)
this.formData.zclyrgh = loginname
this.formData.zclydwh = unionname
},
readExcel() {
const file_suffix = this.file.name.split('.').pop()
if (!['xls', 'xlsx'].includes(file_suffix)) {
this.$message.warning('请上传xls、xlsx文件')
return
}
const loading = this.$loading({
lock: true,
text: '读取中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
const fd = new FormData();
fd.append("file", this.file.raw);
$.ajax({
url: '/platform/zcgl/zcdj/readExcel',
dataType: 'json',
type: 'POST',
async: false,
data: fd,
processData: false, // 使数据不做处理
contentType: false, // 不要设置Content-Type请求头
success: (resp) => {
if (resp.code === 0) {
loading.close();
this.tableData = resp.data;
}
},
error: (resp) => {
loading.close();
}
});
},
async SearchJsr(query) {
var self = this;
if (query != '') {
self.loading = true;
const data = await searchUser(query)
self.JsrOption = data;
self.loading = false;
/* $.post(base + "/platform/zcgl/zcdj/SearchUserByName", {query: query}, function (data) {
self.JsrOption = data.data;
self.loading = false;
});*/
}
},
SearchLyr: function (query) {
var self = this;
if (query != '') {
self.loading = true;
$.post(base + "/platform/zcgl/zcdj/SearchUserByName", {query: query}, function (data) {
self.LyrOption = data.data;
self.loading = false;
});
}
},
SearchLydw: function (query) {
var self = this;
if (query != '') {
self.loading = true;
$.post(base + "/platform/zcgl/zcdj/SearchUnitByName", {query: query}, function (data) {
self.LydwOption = data.data;
self.loading = false;
});
}
},
async doSubmit() {
try {
const valid = await this.$refs["AddForm"].validate()
if (valid) {
const post_url = this.formData.zcid ? '/platform/zcgl/zcdj/doEdit' : '/platform/zcgl/zcdj/doSubmit'
const resp = await $.post(post_url, this.formData)
if (resp.code === 0) {
this.$notify({
title: '成功',
message: resp.msg,
type: 'success'
})
setTimeout(() => {
sublime.jumpPagePjax('/platform/zcgl/tzgl')
}, 300)
}
}
} catch (e) {
console.log(e)
}
},
async doSubExcel() {
if (!this.tableData.length > 0) {
this.$message.warning('请先上传excel')
return
}
const read_resp = await $.post('/platform/zcgl/zcdj/readExcelTable', {zxccList: JSON.stringify(this.tableData)})
this.tableData = read_resp.data
const error_index = this.tableData.findIndex(v => v.zclyrid == null || v.zclyrid === '' || v.zcjsrid == null || v.zcjsrid === '')
if (error_index > -1) {
this.$message.warning('第' + (error_index + 1) + '行数据领用人或经手人姓名与工号不匹配,请检查!')
return
}
const loading = this.$loading({
lock: true,
text: '上传中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
const resp = await $.post('/platform/zcgl/zcdj/doExcelSubmit', {zxccList: JSON.stringify(this.tableData)})
loading.close()
if (resp.code === 0) {
this.tableData = []
this.file = null
sublime.jumpPagePjax('/platform/zcgl/tzgl')
}
},
downLoadTemp() {
window.location.href = '/platform/zcgl/zcdj/downLoadTemp';
},
},
async created() {
const id = GetQueryString("id")
if (id !== '') {
this.isEdit = true
const resp = await $.get('/platform/zcgl/zcdj/findOne/' + id)
this.formData = resp.data
} else {
this.isEdit = false
}
const importType = GetQueryString("importType")
if (importType === 'excel') {
setTimeout(() => {
this.$refs.guava.edit()
}, 1500)
}
}
});
</script>
<!--#
}
#-->